{
    "pipes": [
        {
            "name": "ClassFilterPipe",
            "id": "pipe-ClassFilterPipe-1de77e37aa0b813aae17399396f7d46e58ab3e5b4bda74580b0e07df4426a74c5b8018d75987479ddf3a70a7427590ff3bcf9ef8f612aaedf2c957f800c735ab",
            "file": "packages/components/externals/eui-editor/eui-editor.component.ts",
            "type": "pipe",
            "deprecated": false,
            "deprecationMessage": "",
            "description": "<p>Pipe to remove classes from the editor</p>\n",
            "rawdescription": "\n\nPipe to remove classes from the editor\n",
            "properties": [],
            "methods": [
                {
                    "name": "transform",
                    "args": [
                        {
                            "name": "value",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 592,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "standalone": false,
            "ngname": "classFilter",
            "sourceCode": "import {\n    Component,\n    EventEmitter,\n    Input,\n    Output,\n    OnInit,\n    ViewEncapsulation,\n    ChangeDetectionStrategy,\n    HostBinding,\n    OnDestroy,\n    Directive,\n    ContentChild,\n    forwardRef,\n    ElementRef,\n    HostListener,\n    Pipe,\n    ChangeDetectorRef,\n    OnChanges,\n    SimpleChanges,\n    inject,\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormGroup, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { ContentChange, QuillModules, QuillModule } from '@eui/components/externals/quill';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n// eslint-disable-next-line @typescript-eslint/naming-convention,no-underscore-dangle,id-denylist,id-match\nconst QuillType: any = window['Quill'];\nimport { startWith, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport Delta from 'quill-delta';\n\nimport { EuiDialogConfig, EuiDialogService } from '@eui/components/eui-dialog';\n\nimport { LoaderService, BetterTableModule, Blur, EditorChangeSelection, Focus, SelectionChange, ToolbarItemConfig } from '@eui/components/externals/quill';\nimport { EuiEditorImageDialogComponent } from './image-url-dialog/image-url-dialog.component';\nimport { NgStyle } from '@angular/common';\nimport { EuiTooltipDirective } from '@eui/components/directives';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EuiEditorCountersComponent } from './counters/eui-editor-counters.component';\nimport { EuiEditorJsonViewComponent } from './json-view/eui-editor-json-view.component';\n// eslint-disable-next-line prefer-const\nlet QuillBetterTable = window['quillBetterTable'];\n\n/**\n * @description\n * Rich text editor component based on Quill with customizable toolbar and formatting options.\n * Provides WYSIWYG editing capabilities with support for text formatting, images, tables, links, and code blocks.\n * Implements ControlValueAccessor for seamless integration with Angular forms.\n * Supports both HTML and JSON output formats with character and word counting.\n * Commonly used for content management, document editing, comment systems, and rich text input fields.\n * Dependencies: Quill editor library, EuiDialogService for image URL dialogs.\n */\n@Component({\n    // eslint-disable-next-line\n    selector: 'eui-editor',\n    templateUrl: './eui-editor.component.html',\n    styleUrls: ['./styles/_index.scss'],\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [\n        // TODO: Check to change the providing way. Provide with injector reference\n        EuiDialogService,\n    ],\n    imports: [\n        QuillModule,\n        NgStyle,\n        ReactiveFormsModule,\n        EuiTooltipDirective,\n        EuiEditorCountersComponent,\n        EuiEditorJsonViewComponent,\n        TranslateModule,\n        forwardRef(() => ClassFilterPipe),\n        ...EUI_ICON,\n    ],\n})\nexport class EuiEditorComponent implements ControlValueAccessor, OnInit, OnDestroy, OnChanges {\n    @HostBinding('class')\n    get class(): string {\n        return [\n            'eui-editor',\n            this.isReadOnly ? 'eui-editor--readonly' : '',\n            this.isReadOnly && this.value ? '': 'eui-editor--empty',\n            !this.isReadOnly ? 'eui-editor-wrapper' : '',\n            this.isFocused ? 'eui-editor--focused' : '',\n            this.isEnabledOnFocus ? 'eui-editor--enabled-on-focus' : '',\n        ].join(' ').trim();\n    }\n    @Input() e2eAttr = 'eui-editor';\n    @Input() id: string;\n    @Input() placeholder = '';\n    @Input() format: 'html' | 'json' = 'html';\n    @Input() theme: 'snow' | 'bubble' = 'snow';\n    @Input() debug: 'warn' | 'log' | 'error' | false = false;\n    @Input() customToolbarPosition: 'top' | 'bottom' = 'top';\n    @HostBinding('attr.tabindex')\n    @Input() tabindex = '0';\n    @Input() modules: QuillModules;\n    @Input() formats?: string[] | null;\n    // NEW EUI INPUTS\n    @Input() customToolbarConfig: ToolbarItemConfig[];\n    @HostBinding('style.height')\n    @Input() height: string;\n    // NEW OUTPUTS => eUI13+ only\n    @Output() editorCreate = new EventEmitter<typeof QuillType>();\n    @Output() editorChange = new EventEmitter<EditorChangeSelection | ContentChange>();\n    @Output() contentChange = new EventEmitter<ContentChange>();\n    @Output() selectionChange = new EventEmitter<SelectionChange>();\n    @Output() focus = new EventEmitter<Focus>();\n    @Output() blur = new EventEmitter<Blur>();\n    @Output() charactersCountChange = new EventEmitter<number>();\n    @Output() wordsCountChange = new EventEmitter<number>();\n\n    @HostBinding('class.eui-editor') true: boolean;\n\n    @HostBinding('attr.readonly')\n    get readonly(): string {\n        return this.isReadOnly ? 'readonly' : null;\n    }\n\n    public value: string | any = '';\n    public charactersCount = 0;\n    public wordsCount = 0;\n    public bytesCount = 0;\n    public isFocused = false;\n    public generatedId: string;\n    public formControl: FormControl = new FormControl();\n    public jsonToHtmlContent: string;\n    public toolbarConfig: { [id: string]: { label: string; options: any[]; dialogMessage: string } };\n    protected readyToRender: boolean = false;\n\n    // eslint-disable-next-line max-len\n    @ContentChild(forwardRef(() => EuiEditorCustomToolbarTagDirective), { static: false })\n    euiEditorCustomToolbar: EuiEditorCustomToolbarTagDirective;\n\n    @Input()\n    get isReadOnly(): boolean {\n        return this._isReadOnly;\n    }\n    set isReadOnly(value: BooleanInput) {\n        this._isReadOnly = coerceBooleanProperty(value);\n    }\n    private _isReadOnly = false;\n    @Input()\n    get showCounters(): boolean {\n        return this._showCounters;\n    }\n    set showCounters(value: BooleanInput) {\n        this._showCounters = coerceBooleanProperty(value);\n    }\n    private _showCounters = true;\n    \n     /** @deprecated The input isEnabledOnFocus will be deprecated in next major version of eUI.\n     * Please check the showcase sample in order to replace this feature using the focus emitter.\n    */\n    @Input()\n    get isEnabledOnFocus(): boolean {\n        return this._isEnabledOnFocus;\n    }\n    set isEnabledOnFocus(value) {\n        this._isEnabledOnFocus = coerceBooleanProperty(value);\n    }\n    private _isEnabledOnFocus = false;\n    @Input()\n    get isMinimalToolbar(): boolean {\n        return this._isMinimalToolbar;\n    }\n    set isMinimalToolbar(value: BooleanInput) {\n        this._isMinimalToolbar = coerceBooleanProperty(value);\n    }\n    private _isMinimalToolbar = false;\n\n    @HostBinding('attr.aria-invalid')\n    get isInvalid(): boolean {\n        return this._isInvalid;\n    }\n    set isInvalid(value: BooleanInput) {\n        this._isInvalid = coerceBooleanProperty(value);\n    }\n    private _isInvalid = false;\n\n    private quill: typeof QuillType;\n    private minimalToolbarConfig: ToolbarItemConfig[] = [\n        { name: 'headings' },\n        { name: 'bold' },\n        { name: 'italic' },\n        { name: 'underline' },\n        { name: 'fontColor' },\n        { name: 'textAlign' },\n        { name: 'link' },\n        { name: 'image' },\n        { name: 'imageUrl' },\n        { name: 'clean' },\n        { name: 'delete' },\n        { name: 'undo' },\n        { name: 'redo' },\n        { name: 'counters' },\n    ];\n    private defaultToolbarConfig: ToolbarItemConfig[] = [\n        { name: 'headings', label: 'Style - Apply an HTML tag or CSS class to the selected text', options: [1, 2, 3, 4, 5, 6] },\n        { name: 'font', label: 'Font - Change the font face' },\n        { name: 'bold', label: 'Bold (Ctrl + B) - Make the selected text bold' },\n        { name: 'italic', label: 'Italic (Ctrl + I) - Italicize the selected text' },\n        { name: 'underline', label: 'Underline (Ctrl + U) - Underline the selected text' },\n        { name: 'strike', label: 'Strikethrough - Draw a line to the middle of the selected text' },\n        { name: 'fontColor', label: 'Font Color - Change the text color' },\n        { name: 'fontBackground', label: 'Font Background - Change the text background color' },\n        { name: 'subscript', label: 'Subscript - Create ssmall letters below the text baseline' },\n        { name: 'superscript', label: 'Superscript - Create small letters above the line of the text' },\n        { name: 'textAlign', label: 'Text Align - Align the text to the selected position: left (default), center, right or justify' },\n        { name: 'orderedList', label: 'Numbering - Start an ordered list' },\n        { name: 'bulletList', label: 'Bullets - Start a bulleted list' },\n        { name: 'indentLess', label: 'Decrease Indent - Decrease the indent level of the paragraph' },\n        { name: 'indentMore', label: 'Increase Indent - Increase the indent level of the paragraph' },\n        { name: 'blockquote', label: 'Blockquote - Create a quoted block of the selected text' },\n        { name: 'codeBlock', label: 'Insert Code Block - Insert a code block at the cursor row position' },\n        { name: 'link', label: 'Insert Hyperlink (Ctrl + K) - Create a link to a Web page, a picture, an e-mail address or a program' },\n        { name: 'image', label: 'Insert Picture - Insert a picture from a file' },\n        { name: 'imageUrl', label: 'Insert Picture from URL - Insert a picture from a remote URL', dialogMessage: 'Enter image link URL' },\n        { name: 'video', label: 'Insert Video - Insert a video from a file' },\n        { name: 'table', label: 'Insert Table - Insert a 3x3 rows/cols table' },\n        { name: 'clean', label: 'Remove Styles - Remove the styles of the selected text' },\n        { name: 'delete', label: \"Delete content - Permanently deletes editor's contents\" },\n        { name: 'undo', label: 'Undo (Ctrl + Z) - Cancels the previous action' },\n        { name: 'redo', label: 'Redo (Ctrl + Y) - Do the next history action again' },\n        {\n            name: 'counters',\n            label: 'Counters - Characters and words counters (stripped Html)',\n            options: [\n                { name: 'characters', label: 'Characters' },\n                { name: 'words', label: 'Words' },\n            ],\n        },\n    ];\n    private destroy$ = new Subject<boolean>();\n    private euiDialogService = inject(EuiDialogService);\n    private cdr = inject(ChangeDetectorRef);\n    private ngControl = inject(NgControl);\n    private loader = inject(LoaderService);\n\n    constructor() {\n        this.ngControl.valueAccessor = this;\n    }\n\n    ngOnChanges(c: SimpleChanges) {\n        if (!c.isReadOnly?.currentValue) {\n            this.calculateCounters(this.value);\n        }\n    }\n\n    ngOnInit(): void {\n        this.loader.load().subscribe({\n            complete: () => {\n                this.readyToRender = true;\n                this.ngControl.statusChanges.pipe(startWith(this.ngControl.control.status), takeUntil(this.destroy$)).subscribe((status) => {\n                    this.isInvalid = status !== 'VALID';\n                });\n\n                this.generatedId = this.id ? this.id : 'eui-editor-' + (Math.floor(Math.random() * 1000000) + 1).toString();\n\n                this.toolbarConfig = {};\n                if (!this.customToolbarConfig && !this.isMinimalToolbar) {\n                    this.defaultToolbarConfig.forEach((t) => {\n                        this.toolbarConfig = {\n                            ...this.toolbarConfig,\n                            [t.name]: { label: t.label, options: t.options, dialogMessage: t.dialogMessage },\n                        };\n                    });\n                }\n\n                if (this.customToolbarConfig && !this.isMinimalToolbar) {\n                    this.customToolbarConfig.forEach((t) => {\n                        const label = !t.label ? this.defaultToolbarConfig.find((c) => c.name === t.name).label : t.label;\n                        let options = !t.options ? this.defaultToolbarConfig.find((c) => c.name === t.name).options : t.options;\n                        const d = !t.dialogMessage ? this.defaultToolbarConfig.find((c) => c.name === t.name).dialogMessage : t.dialogMessage;\n\n                        if (t.name === 'counters') {\n                            if (!t.options) {\n                                options = this.defaultToolbarConfig.find((c) => c.name === t.name).options;\n                            } else {\n                                options = t.options.map((option) => {\n                                    const optionLabel = option.label\n                                        ? option.label\n                                        : this.defaultToolbarConfig\n                                            .find((dtc) => dtc.name === 'counters')\n                                            .options.find((o) => o.name === option.name).label;\n                                    return { name: option.name, label: optionLabel };\n                                });\n                            }\n                        }\n\n                        this.toolbarConfig = {\n                            ...this.toolbarConfig,\n                            [t.name]: { label, options, dialogMessage: d },\n                        };\n                    });\n                }\n\n                if (this.isMinimalToolbar) {\n                    this.minimalToolbarConfig.forEach((t) => {\n                        const label = !t.label ? this.defaultToolbarConfig.find((c) => c.name === t.name).label : t.label;\n                        const options = !t.options ? this.defaultToolbarConfig.find((c) => c.name === t.name).options : t.options;\n                        const d = !t.dialogMessage ? this.defaultToolbarConfig.find((c) => c.name === t.name).dialogMessage : t.dialogMessage;\n\n                        this.toolbarConfig = {\n                            ...this.toolbarConfig,\n                            [t.name]: { label, options, dialogMessage: d },\n                        };\n                    });\n                }\n                this.cdr.markForCheck();\n            }\n        });\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    public enableEditorOnFocus(event: any): void {\n        this.isReadOnly = false;\n        this.isFocused = true;\n    }\n\n    public imageUrlHandler(): void {\n        let imageUrlDialogForm: FormGroup = null;\n        this.euiDialogService.openDialog(\n            new EuiDialogConfig({\n                title: this.toolbarConfig.imageUrl.dialogMessage,\n                isHandleCloseOnAccept: true,\n                bodyComponent: {\n                    component: EuiEditorImageDialogComponent,\n                    config: {\n                        onFormValueChange: (form: FormGroup): void => {\n                            imageUrlDialogForm = form;\n                        },\n                    },\n                },\n                accept: (): void => {\n                    if (imageUrlDialogForm && imageUrlDialogForm.valid) {\n                        this.euiDialogService.closeDialog();\n\n                        const range = this.quill.getSelection() || { index: 0, length: 0 };\n                        this.quill.insertEmbed(range.index, 'image', imageUrlDialogForm.get('url').value, 'user');\n                    }\n                },\n            })\n        );\n    }\n\n    public editorUndo(): void {\n        this.quill['history'].undo();\n    }\n\n    public editorRedo(): void {\n        this.quill['history'].redo();\n    }\n\n    public editorDeleteContent(): void {\n        const config = new EuiDialogConfig({\n            title: 'Delete content',\n            content: \"<p>Are you sure you want to delete editor's content?</p>\",\n            hasCloseButton: false,\n            accept: (): void => {\n                this.quill.setContents(null);\n            },\n        });\n\n        this.euiDialogService.openDialog(config);\n    }\n\n    public insertTable(): void {\n        this.tableModule.insertTable(3, 3);\n    }\n\n    get hasImageFeature(): boolean {\n        return this.euiEditorCustomToolbar\n            ? this.euiEditorCustomToolbar?.elementRef.nativeElement.querySelector('.ql-image')\n            : !!this.toolbarConfig?.image;\n    }\n\n    public _onEditorCreated(quill: typeof QuillType): void {\n        this.quill = quill;\n\n        if (this.isEnabledOnFocus && !this.isReadOnly) {\n            this.quill.focus();     // places the focus cursor visible\n        }\n\n        if (this.format === 'html') {\n            const delta = this.quill.clipboard.convert({ html: this.value as string });\n            this.formControl.patchValue(delta);\n            this.quill.setContents(delta);\n        }\n\n        if (this.format === 'json') {\n            this.formControl.patchValue(this.value);\n            this.quill.setContents(JSON.parse(this.value));\n        }\n\n        if (!this.hasImageFeature) {\n            quill.clipboard.addMatcher('IMG', (element: Element, delta: Delta) => new Delta().insert(''));\n            quill.clipboard.addMatcher('PICTURE', (element: Element, delta: Delta) => new Delta().insert(''));\n        }\n\n        this.editorCreate.emit(quill);\n    }\n\n    private _internalChange = false;  // Add this property to the class\n\n    public _onContentChanged(event: ContentChange): void {\n        if (this.format === 'html') {\n            this.value = event.html;\n            this.calculateCounters(this.value as string);\n            // Only call onChange if it's not an internal change\n            if (!this._internalChange) {\n                this.onChange(this.htmlEntitiesDecode(this.value as string));\n            }\n        }\n        if (this.format === 'json') {\n            if (event.text !== '\\n') {\n                this.value = event.content;\n                this.calculateCounters(event.text);\n                this.jsonToHtmlContent = this.htmlEntitiesDecode(JSON.stringify(this.value));\n                // Only call onChange if it's not an internal change\n                if (!this._internalChange) {\n                    this.onChange(this.jsonToHtmlContent);\n                }\n            } else {\n                this.value = null;\n                this.calculateCounters('');\n                this.jsonToHtmlContent = '';\n                // Only call onChange if it's not an internal change\n                if (!this._internalChange) {\n                    this.onChange(null);\n                }\n            }\n        }\n        this.contentChange.emit(event); // New emitter\n    }\n\n    public _onSelectionChanged(event: SelectionChange): void {\n        this.selectionChange.emit(event);\n    }\n\n    public _onFocus(event: Focus): void {\n        this.isFocused = true;\n        this.calculateCounters(this.value);\n        this.focus.emit(event);\n    }\n\n    public _onBlur(event: Blur): void {\n        this.isFocused = false;\n        this.onTouch();\n        this.blur.emit(event);\n    }\n\n    public registerOnChange(fn: any): void {\n        this.onChange = fn;\n    }\n\n    public registerOnTouched(fn: any): void {\n        this.onTouch = fn;\n    }\n\n    public writeValue(value: string): void {\n        // Store the value\n        this.value = value || null;\n        this.jsonToHtmlContent = this.value;\n\n        // Skip triggering onChange during writeValue operations\n        if (this.quill) {\n            // Use a flag to prevent triggering onChange in _onContentChanged\n            this._internalChange = true;\n\n            if (this.format === 'html') {\n                const delta = this.quill.clipboard.convert({ html: this.value as string });\n                this.formControl.patchValue(delta, { emitEvent: false });\n                this.quill.setContents(delta);\n            }\n\n            if (this.format === 'json' && this.value) {\n                this.formControl.patchValue(this.value, { emitEvent: false });\n                // this.quill.setContents(JSON.parse(this.value));\n            }\n\n            this.calculateCounters(this.value);\n\n            // Reset the flag after a short delay to allow Quill to complete its operations\n            setTimeout(() => {\n                this._internalChange = false;\n            });\n        }\n    }\n\n    private get tableModule(): BetterTableModule {\n        return this.quill.getModule('better-table');\n    }\n\n    private onChange: any = () => {};\n\n    private onTouch: any = () => {};\n\n    private htmlEntitiesDecode(content: string): string {\n        let c = content;\n        if (c) {\n            c = c.replace('&amp;', '&');\n            c = c.replace('&nbsp;', ' ');\n        }\n\n        return c;\n    }\n\n    get hasCharactersCounter(): boolean {\n        return this.toolbarConfig.counters.options.find((o) => o.name === 'characters');\n    }\n\n    get charactersCounterLabel(): string {\n        return this.toolbarConfig.counters.options.find((o) => o.name === 'characters')?.label;\n    }\n\n    get hasWordsCounter(): boolean {\n        return this.toolbarConfig.counters.options.find((o) => o.name === 'words');\n    }\n\n    get wordsCounterLabel(): string {\n        return this.toolbarConfig.counters.options.find((o) => o.name === 'words')?.label;\n    }\n\n    private calculateCounters(content: string): void {\n        let text: string;\n        const regex = /[\\s\\n]+/;\n\n        if (this.format === 'html') {\n            if (content && content.length > 0) {\n                text = this.stripHtml(content);\n                this.charactersCount = text.length;\n\n                text = content.replace(/<\\/(p|div|br|li|h[1-6])>/gi, ' ').replace(/<[^>]+>/g, '');\n                this.wordsCount = !text ? 0 : text.trim().split(regex).filter(t => t !== '').length;\n            } else {\n                this.charactersCount = 0;\n                this.wordsCount = 0;\n                this.bytesCount = 0;\n            }\n        }\n\n        if (this.format === 'json') {\n            if (content && this.quill) {\n                text = this.stripHtml(this.quill.root.innerHTML);\n                this.charactersCount = text.length;\n\n                text = this.quill.root.innerHTML.replace(/<\\/(p|div|br|li|h[1-6])>/gi, ' ').replace(/<[^>]+>/g, '');\n                this.wordsCount = !text ? 0 : text.trim().split(regex).filter(t => t !== '').length;\n            } else {\n                this.charactersCount = 0;\n                this.wordsCount = 0;\n                this.bytesCount = 0;\n            }\n        }\n\n        this.charactersCountChange.emit(this.charactersCount);\n        this.wordsCountChange.emit(this.wordsCount);\n    }\n\n    private stripHtml(content: string): string {\n        const regex = /(<([^>]+)>)/gm;\n        const contentToReplace = content.replace(regex, '');\n        return contentToReplace.replace(/[\\u200B-\\u200D\\uFEFF]/g, '');\n    }\n\n    private cleanHtml(content: string): string {\n        const contentToReplace = content.replace(/<[^>]*>/g, '');\n        return contentToReplace.replace(/[\\u200B-\\u200D\\uFEFF]/g, '');\n    }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'euiEditorCustomToolbar', })\nexport class EuiEditorCustomToolbarTagDirective {\n    elementRef = inject(ElementRef);\n\n    @HostBinding('class') elementClass = 'eui-editor-custom-toolbar';\n}\n/* eslint-enable */\n\n/**\n * Pipe to remove classes from the editor\n */\n@Pipe({ name: 'classFilter', })\nexport class ClassFilterPipe {\n    transform(value: string): string {\n        return value\n            .replace(/eui-editor-wrapper/g, '')\n            .replace(/eui-editor--readonly/g, '')\n            .replace(/eui-editor--empty/g, '');\n    }\n}\n"
        },
        {
            "name": "EuiCoerceBooleanPipe",
            "id": "pipe-EuiCoerceBooleanPipe-f6f5fe55d101ca6537aacc482fa090795adfd69b2a13b1914cb2ce00766cdbee119c2072b533ca4faabc32895af966bf604be5b73d53578a126c35dacdc49b6a",
            "file": "packages/components/pipes/eui-is-empty.pipe.ts",
            "type": "pipe",
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "properties": [],
            "methods": [
                {
                    "name": "transform",
                    "args": [
                        {
                            "name": "value",
                            "type": "BooleanInput",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 9,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "BooleanInput",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "standalone": false,
            "pure": true,
            "ngname": "coerceBool",
            "sourceCode": "import { Pipe, PipeTransform } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\n@Pipe({\n    name: 'coerceBool',\n    pure: true,\n})\nexport class EuiCoerceBooleanPipe implements PipeTransform {\n    transform(value: BooleanInput): boolean {\n        return coerceBooleanProperty(value);\n    }\n}\n"
        },
        {
            "name": "EuiFileSizePipe",
            "id": "pipe-EuiFileSizePipe-448ca0e6ea2d28c32307cf8a91e9ec07bb14e6b48d925213113821cb3c2bb7cc7b8e3d355dcf601cd436c936c15fb47a32b15d6b0d40e7517001cd93d24de169",
            "file": "packages/components/eui-file-upload/pipes/filesize.pipe.ts",
            "type": "pipe",
            "deprecated": false,
            "deprecationMessage": "",
            "description": "<p>A pipe that transforms a file size in bytes into a human-readable format (e.g., KB, MB, GB).</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">{{ 1024 | filesize }}  // Outputs: &quot;1.00 KB&quot;\n{{ 1048576 | filesize:1 }}  // Outputs: &quot;1.0 MB&quot;</code></pre></div>",
            "rawdescription": "\n\nA pipe that transforms a file size in bytes into a human-readable format (e.g., KB, MB, GB).\n\n```html\n{{ 1024 | filesize }}  // Outputs: \"1.00 KB\"\n{{ 1048576 | filesize:1 }}  // Outputs: \"1.0 MB\"\n```\n",
            "properties": [],
            "methods": [
                {
                    "name": "transform",
                    "args": [
                        {
                            "name": "bytes",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "0"
                        },
                        {
                            "name": "precision",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "2"
                        }
                    ],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 27,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod used to format a size.\n\n",
                    "description": "<p>Method used to format a size.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 706,
                                "end": 711,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "bytes"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "0",
                            "tagName": {
                                "pos": 700,
                                "end": 705,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Bytes to format.</p>\n"
                        },
                        {
                            "name": {
                                "pos": 743,
                                "end": 752,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "precision"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "2",
                            "tagName": {
                                "pos": 737,
                                "end": 742,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Number of decimal</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 779,
                                "end": 786,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>String with formated size and unit.</p>\n"
                        }
                    ]
                }
            ],
            "standalone": false,
            "ngname": "filesize",
            "sourceCode": "import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * A pipe that transforms a file size in bytes into a human-readable format (e.g., KB, MB, GB).\n *\n * @example\n * {{ 1024 | filesize }}  // Outputs: \"1.00 KB\"\n * {{ 1048576 | filesize:1 }}  // Outputs: \"1.0 MB\"\n *\n * @param {number} bytes - The file size in bytes.\n * @param {number} [precision=2] - The number of decimal places to include in the output.\n * @returns {string} The formatted file size with the appropriate unit.\n */\n@Pipe({\n    name: 'filesize',\n})\nexport class EuiFileSizePipe implements PipeTransform {\n    private units = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB'];\n\n    /**\n     * Method used to format a size.\n     *\n     * @param bytes Bytes to format.\n     * @param precision Number of decimal\n     * @returns String with formated size and unit.\n     */\n    transform(bytes = 0, precision = 2): string {\n        if (isNaN(parseFloat(String(bytes))) || !isFinite(bytes)) {\n            return '?';\n        }\n\n        let unit = 0;\n\n        while (bytes >= 1024) {\n            bytes /= 1024;\n            unit++;\n        }\n\n        return bytes.toFixed(+precision) + ' ' + this.units[unit];\n    }\n}\n"
        },
        {
            "name": "EuiTableHighlightPipe",
            "id": "pipe-EuiTableHighlightPipe-00772222ded46fb9350df9c77b4aca50e979bfbe4624eda9f1be28919e0ea9b7273e6405b8b7eeac20ddf164c507882047ba39618a6c57b1be17a79845c8ef3c",
            "file": "packages/components/eui-table/pipes/eui-table-highlight.pipe.ts",
            "type": "pipe",
            "deprecated": false,
            "deprecationMessage": "",
            "description": "<p>Pipe used to highlight the matching string in the data of the table when used with filter feature.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">&lt;td&gt;&lt;span [innerHTML]=&quot;row.year | euiTableHighlight: strFilter&quot;&gt;&lt;/span&gt;&lt;/td&gt;\n___COMPODOC_EMPTY_LINE___\nstrFilter = &#39;19&#39;</code></pre></div>",
            "rawdescription": "\n\nPipe used to highlight the matching string in the data of the table when used with filter feature.\n\n```\n<td><span [innerHTML]=\"row.year | euiTableHighlight: strFilter\"></span></td>\n___COMPODOC_EMPTY_LINE___\nstrFilter = '19'\n```",
            "properties": [],
            "methods": [
                {
                    "name": "transform",
                    "args": [
                        {
                            "name": "value",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "strFilter",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "className",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "'eui-u-text-search'"
                        }
                    ],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 26,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nWrap a matching string with a span element with a class name in the data of the table\n\n",
                    "description": "<p>Wrap a matching string with a span element with a class name in the data of the table</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 538,
                                "end": 543,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "value"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 532,
                                "end": 537,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Data displayed in a cell.</p>\n"
                        },
                        {
                            "name": {
                                "pos": 584,
                                "end": 593,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "strFilter"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 578,
                                "end": 583,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Search string to highlight.</p>\n"
                        },
                        {
                            "name": {
                                "pos": 636,
                                "end": 645,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "className"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "'eui-u-text-search'",
                            "tagName": {
                                "pos": 630,
                                "end": 635,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>CSS class to add to the span element. Default: &#39;eui-u-text-search&#39;</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 721,
                                "end": 728,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": ""
                        }
                    ]
                }
            ],
            "standalone": false,
            "ngname": "euiTableHighlight",
            "sourceCode": "import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * @description\n * Pipe used to highlight the matching string in the data of the table when used with filter feature.\n *\n * @example\n * ```\n * <td><span [innerHTML]=\"row.year | euiTableHighlight: strFilter\"></span></td>\n *\n * strFilter = '19'\n * ```\n */\n@Pipe({\n    name: 'euiTableHighlight',\n})\nexport class EuiTableHighlightPipe implements PipeTransform {\n    /**\n     * Wrap a matching string with a span element with a class name in the data of the table\n     *\n     * @param value Data displayed in a cell.\n     * @param strFilter Search string to highlight.\n     * @param className CSS class to add to the span element. Default: 'eui-u-text-search'\n     * @returns\n     */\n    transform(value: string, strFilter: string, className = 'eui-u-text-search'): string {\n        if (!value) return '';\n        if (!strFilter || strFilter.length === 0) return value;\n\n        const generateVariants = (str: string): string[] => {\n            const variants: Set<string> = new Set([str]);\n\n            for (let j = 1; j <= 3; j++) {\n                for (const separator of ['.', ',', ' ']) {\n                    let newVariant = str;\n                    let i = j;\n\n                    while (i < newVariant.length) {\n                        newVariant = newVariant.slice(0, i) + separator + newVariant.slice(i);\n                        i += 4;\n                    }\n                    variants.add(newVariant);\n                }\n            }\n            return Array.from(variants);\n        };\n\n        const isNumber = (str: string): boolean => !isNaN(Number(str)) && str.trim() !== '';\n        const variants = isNumber(strFilter) ? generateVariants(strFilter) : [strFilter];\n        const regex = new RegExp(`(${variants.map(v => v.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')).join('|')})`, 'gi');\n\n        return value.toString().replace(regex, `<span class=\"${className}\">$1</span>`);\n    }\n\n}\n"
        },
        {
            "name": "EuiTruncatePipe",
            "id": "pipe-EuiTruncatePipe-de4af34870606cf80d7e9e8018d422b3c54e6ea09d878d49671639ca8888e905547a23389287b8ba19c7ba8672010180a940d00d8684f4bc46bd40995ebc9cb9",
            "file": "packages/components/pipes/eui-truncate.pipe.ts",
            "type": "pipe",
            "deprecated": false,
            "deprecationMessage": "",
            "description": "<p>Pipe for truncating strings to a specified length with trailing indicator.\nSupports both start and end truncation based on limit sign.\nPositive limit truncates from the end, negative limit truncates from the start.\nCommonly used for displaying long text in constrained spaces like tables, cards, or lists.</p>\n",
            "rawdescription": "\n\nPipe for truncating strings to a specified length with trailing indicator.\nSupports both start and end truncation based on limit sign.\nPositive limit truncates from the end, negative limit truncates from the start.\nCommonly used for displaying long text in constrained spaces like tables, cards, or lists.\n",
            "properties": [],
            "methods": [
                {
                    "name": "transform",
                    "args": [
                        {
                            "name": "value",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "limit",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "40"
                        },
                        {
                            "name": "trail",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "'\\u2026'"
                        }
                    ],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 18,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "limit",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "40",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "trail",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "'\\u2026'",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "standalone": false,
            "ngname": "euiTruncate",
            "sourceCode": "import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * @description\n * Pipe for truncating strings to a specified length with trailing indicator.\n * Supports both start and end truncation based on limit sign.\n * Positive limit truncates from the end, negative limit truncates from the start.\n * Commonly used for displaying long text in constrained spaces like tables, cards, or lists.\n * @param value - The string to truncate\n * @param limit - Maximum character length (positive for end truncation, negative for start truncation). Default: 40\n * @param trail - Trailing indicator appended to truncated text. Default: '…' (ellipsis character U+2026)\n * @returns Truncated string with trail indicator, or original string if within limit\n */\n@Pipe({\n    name: 'euiTruncate',\n})\nexport class EuiTruncatePipe implements PipeTransform {\n    transform(value: string, limit = 40, trail = '\\u2026'): string {\n        if (value) {\n            if (limit < 0) {\n                limit *= -1;\n                return value.length > limit ? trail + value.substring(value.length - limit, value.length) : value;\n            } else {\n                return value.length > limit ? value.substring(0, limit) + trail : value;\n            }\n        }\n        return;\n    }\n}\n"
        },
        {
            "name": "TranslateMockPipe",
            "id": "pipe-TranslateMockPipe-e3c844261cc3a1e10dba51814a8cf95ce5736d1d5116dc3caadbbf65259d92910963e3735a4fe0cc049f8361f818ef98c638c75bca1144acfcb3a5950d11b4f8",
            "file": "packages/components/testing/mocks/translate.module.mock.ts",
            "type": "pipe",
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "properties": [],
            "methods": [
                {
                    "name": "transform",
                    "args": [
                        {
                            "name": "text",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 68,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "text",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "standalone": false,
            "ngname": "translate",
            "sourceCode": "import { AfterViewChecked, Directive, ElementRef, Input, NgModule, Pipe, PipeTransform, inject } from '@angular/core';\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject, Observable, of, Subject } from 'rxjs';\n\nexport const TRANSLATED_STRING = 'i18n';\n\nexport class TranslateServiceMock {\n    onLangChangeSubject: Subject<LangChangeEvent> = new Subject();\n    onFallbackLangChangeSubject: Subject<LangChangeEvent> = new Subject();\n    onTranslationChangeSubject: Subject<string> = new Subject();\n    onDefaultLangChangeSubject: Subject<string> = new Subject();\n    isLoadedSubject: BehaviorSubject<boolean> = new BehaviorSubject(true);\n\n    onLangChange: Observable<LangChangeEvent> = this.onLangChangeSubject.asObservable();\n    onFallbackLangChange: Observable<LangChangeEvent> = this.onFallbackLangChangeSubject.asObservable();\n    onTranslationChange: Observable<string> = this.onTranslationChangeSubject.asObservable();\n    onDefaultLangChange: Observable<string> = this.onDefaultLangChangeSubject.asObservable();\n    isLoaded: Observable<boolean> = this.isLoadedSubject.asObservable();\n\n    currentLang: string;\n\n    languages: string[] = ['de'];\n\n    get(content: string): Observable<string> {\n        return of(TRANSLATED_STRING + content);\n    }\n\n    use(lang: string): void {\n        this.currentLang = lang;\n        this.onLangChangeSubject.next({ lang } as LangChangeEvent);\n    }\n\n    // stream(key: string | string[], interpolateParams?: InterpolationParameters): Observable<Translation>;\n    stream(content: string): Observable<string> {\n        return of(TRANSLATED_STRING + content);\n    }\n\n    addLangs(langs: string[]): void {\n        this.languages = [...this.languages, ...langs];\n    }\n\n    getBrowserLang(): string {\n        return '';\n    }\n\n    getLangs(): string[] {\n        return this.languages;\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    getTranslation(): Observable<any> {\n        return of({});\n    }\n\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    instant(key: string | string[], interpolateParams?: object): string {\n        return TRANSLATED_STRING + key.toString();\n    }\n\n    setDefaultLang(lang: string): void {\n        this.onDefaultLangChangeSubject.next(lang);\n    }\n}\n\n@Pipe({ name: 'translate' })\nexport class TranslateMockPipe implements PipeTransform {\n    transform(text: string): string {\n        return !text ? TRANSLATED_STRING : `${text}-${TRANSLATED_STRING}`;\n    }\n}\n\n@Directive({\n    // eslint-disable-next-line @angular-eslint/directive-selector\n    selector: '[translate]',\n})\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport class TranslateMockDirective implements AfterViewChecked {\n    @Input()\n    translateParams: any;\n    private readonly _element = inject(ElementRef);\n\n    ngAfterViewChecked(): void {\n        this._element.nativeElement.innerText += TRANSLATED_STRING;\n    }\n}\n\n@NgModule({\n    imports: [TranslateMockPipe, TranslateMockDirective],\n    exports: [TranslateMockPipe, TranslateMockDirective],\n    providers: [{ provide: TranslateService, useClass: TranslateServiceMock }],\n})\nexport class TranslateMockModule {}\n"
        }
    ],
    "interfaces": [
        {
            "name": "AnnotationLabel",
            "id": "interface-AnnotationLabel-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "borderColor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 286
                },
                {
                    "name": "borderRadius",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 288
                },
                {
                    "name": "borderWidth",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 287
                },
                {
                    "name": "click",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 298
                },
                {
                    "name": "mouseEnter",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 296
                },
                {
                    "name": "mouseLeave",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 297
                },
                {
                    "name": "offsetX",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 291
                },
                {
                    "name": "offsetY",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 292
                },
                {
                    "name": "orientation",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 295
                },
                {
                    "name": "position",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 294
                },
                {
                    "name": "style",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "AnnotationStyle",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 293
                },
                {
                    "name": "text",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 289
                },
                {
                    "name": "textAnchor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 290
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "AnnotationStyle",
            "id": "interface-AnnotationStyle-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "background",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 301
                },
                {
                    "name": "color",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 302
                },
                {
                    "name": "cssClass",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 306
                },
                {
                    "name": "fontFamily",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 304
                },
                {
                    "name": "fontSize",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 303
                },
                {
                    "name": "fontWeight",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string | number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 305
                },
                {
                    "name": "padding",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 307
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "ApexAnnotations",
            "id": "interface-ApexAnnotations-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "images",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ImageAnnotations[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 283
                },
                {
                    "name": "points",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "PointAnnotations[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 281
                },
                {
                    "name": "texts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TextAnnotations[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 282
                },
                {
                    "name": "xaxis",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "XAxisAnnotations[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 280
                },
                {
                    "name": "yaxis",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "YAxisAnnotations[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 279
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "ApexChart",
            "id": "interface-ApexChart-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "animations",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 172
                },
                {
                    "name": "background",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 45
                },
                {
                    "name": "brush",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 73
                },
                {
                    "name": "defaultLocale",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 83
                },
                {
                    "name": "dropShadow",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 48
                },
                {
                    "name": "events",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 52
                },
                {
                    "name": "fontFamily",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 44
                },
                {
                    "name": "foreColor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 43
                },
                {
                    "name": "group",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 80
                },
                {
                    "name": "height",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string | number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 41
                },
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 79
                },
                {
                    "name": "locales",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexLocale[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 82
                },
                {
                    "name": "nonce",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 81
                },
                {
                    "name": "offsetX",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 46
                },
                {
                    "name": "offsetY",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 47
                },
                {
                    "name": "parentHeightOffset",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 84
                },
                {
                    "name": "redrawOnParentResize",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 85
                },
                {
                    "name": "redrawOnWindowResize",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean | Function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 86
                },
                {
                    "name": "selection",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 150
                },
                {
                    "name": "sparkline",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 87
                },
                {
                    "name": "stacked",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 90
                },
                {
                    "name": "stackOnlyBar",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 91
                },
                {
                    "name": "stackType",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"normal\" | \"100%\"",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 92
                },
                {
                    "name": "toolbar",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 93
                },
                {
                    "name": "type",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ChartType",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 42
                },
                {
                    "name": "width",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string | number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 40
                },
                {
                    "name": "zoom",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 133
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Main Chart options\nSee <a href=\"https://apexcharts.com/docs/options/chart/\">https://apexcharts.com/docs/options/chart/</a></p>\n",
            "rawdescription": "\n\nMain Chart options\nSee https://apexcharts.com/docs/options/chart/\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "ApexDataLabels",
            "id": "interface-ApexDataLabels-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "background",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 788
                },
                {
                    "name": "distributed",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 779
                },
                {
                    "name": "dropShadow",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexDropShadow",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 798
                },
                {
                    "name": "enabled",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 776
                },
                {
                    "name": "enabledOnSeries",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "undefined | number[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 777
                },
                {
                    "name": "offsetX",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 780
                },
                {
                    "name": "offsetY",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 781
                },
                {
                    "name": "style",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 782
                },
                {
                    "name": "textAnchor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"start\" | \"middle\" | \"end\"",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 778
                }
            ],
            "indexSignatures": [],
            "kind": 174,
            "description": "<p>Chart Datalabels options\nSee <a href=\"https://apexcharts.com/docs/options/datalabels/\">https://apexcharts.com/docs/options/datalabels/</a></p>\n",
            "rawdescription": "\n\nChart Datalabels options\nSee https://apexcharts.com/docs/options/datalabels/\n",
            "methods": [
                {
                    "name": "formatter",
                    "args": [
                        {
                            "name": "val",
                            "type": "string | number | number[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "opts",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": true,
                    "returnType": "string | number | []",
                    "typeParameters": [],
                    "line": 799,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "val",
                            "type": "string | number | number[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "opts",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "extends": []
        },
        {
            "name": "ApexDiscretePoint",
            "id": "interface-ApexDiscretePoint-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "dataPointIndex",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1143
                },
                {
                    "name": "fillColor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1144
                },
                {
                    "name": "seriesIndex",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1142
                },
                {
                    "name": "shape",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexMarkerShape",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1147
                },
                {
                    "name": "size",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1146
                },
                {
                    "name": "strokeColor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1145
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "ApexDropShadow",
            "id": "interface-ApexDropShadow-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "blur",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 30
                },
                {
                    "name": "color",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 32
                },
                {
                    "name": "enabled",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 27
                },
                {
                    "name": "left",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 29
                },
                {
                    "name": "opacity",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 31
                },
                {
                    "name": "top",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 28
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "ApexFill",
            "id": "interface-ApexFill-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "colors",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 696
                },
                {
                    "name": "gradient",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 699
                },
                {
                    "name": "image",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 710
                },
                {
                    "name": "opacity",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number | number[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 697
                },
                {
                    "name": "pattern",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 715
                },
                {
                    "name": "type",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string | string[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 698
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "ApexForecastDataPoints",
            "id": "interface-ApexForecastDataPoints-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "count",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1071
                },
                {
                    "name": "dashArray",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1074
                },
                {
                    "name": "fillOpacity",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1072
                },
                {
                    "name": "strokeWidth",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "undefined | number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1073
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "ApexGrid",
            "id": "interface-ApexGrid-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "borderColor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1083
                },
                {
                    "name": "column",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1104
                },
                {
                    "name": "padding",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1108
                },
                {
                    "name": "position",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"front\" | \"back\"",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1085
                },
                {
                    "name": "row",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1100
                },
                {
                    "name": "show",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1082
                },
                {
                    "name": "strokeDashArray",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1084
                },
                {
                    "name": "xaxis",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1086
                },
                {
                    "name": "yaxis",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1093
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Plot X and Y grid options\nSee <a href=\"https://apexcharts.com/docs/options/grid/\">https://apexcharts.com/docs/options/grid/</a></p>\n",
            "rawdescription": "\n\nPlot X and Y grid options\nSee https://apexcharts.com/docs/options/grid/\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "ApexLegend",
            "id": "interface-ApexLegend-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "customLegendItems",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 743
                },
                {
                    "name": "floating",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 732
                },
                {
                    "name": "fontFamily",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 737
                },
                {
                    "name": "fontSize",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 736
                },
                {
                    "name": "fontWeight",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string | number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 738
                },
                {
                    "name": "height",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 740
                },
                {
                    "name": "horizontalAlign",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"left\" | \"center\" | \"right\"",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 735
                },
                {
                    "name": "inverseOrder",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 733
                },
                {
                    "name": "itemMargin",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 757
                },
                {
                    "name": "labels",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 744
                },
                {
                    "name": "markers",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 748
                },
                {
                    "name": "offsetX",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 741
                },
                {
                    "name": "offsetY",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 742
                },
                {
                    "name": "onItemClick",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 761
                },
                {
                    "name": "onItemHover",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 764
                },
                {
                    "name": "position",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"top\" | \"right\" | \"bottom\" | \"left\"",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 734
                },
                {
                    "name": "show",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 728
                },
                {
                    "name": "showForNullSeries",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 730
                },
                {
                    "name": "showForSingleSeries",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 729
                },
                {
                    "name": "showForZeroSeries",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 731
                },
                {
                    "name": "width",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 739
                }
            ],
            "indexSignatures": [],
            "kind": 174,
            "description": "<p>Chart Legend configuration options.\nSee <a href=\"https://apexcharts.com/docs/options/legend/\">https://apexcharts.com/docs/options/legend/</a></p>\n",
            "rawdescription": "\n\nChart Legend configuration options.\nSee https://apexcharts.com/docs/options/legend/\n",
            "methods": [
                {
                    "name": "formatter",
                    "args": [
                        {
                            "name": "legendName",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "opts",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": true,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 767,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "legendName",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "opts",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "tooltipHoverFormatter",
                    "args": [
                        {
                            "name": "legendName",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "opts",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": true,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 768,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "legendName",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "opts",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "extends": []
        },
        {
            "name": "ApexLocale",
            "id": "interface-ApexLocale-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "name",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 405
                },
                {
                    "name": "options",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 406
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Options for localization.\nSee <a href=\"https://apexcharts.com/docs/options/chart/locales\">https://apexcharts.com/docs/options/chart/locales</a></p>\n",
            "rawdescription": "\n\nOptions for localization.\nSee https://apexcharts.com/docs/options/chart/locales\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "ApexMarkers",
            "id": "interface-ApexMarkers-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "colors",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1152
                },
                {
                    "name": "discrete",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexDiscretePoint[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1158
                },
                {
                    "name": "fillOpacity",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number | number[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1157
                },
                {
                    "name": "hover",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1163
                },
                {
                    "name": "offsetX",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1160
                },
                {
                    "name": "offsetY",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1161
                },
                {
                    "name": "shape",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexMarkerShape",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1159
                },
                {
                    "name": "showNullDataPoints",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1162
                },
                {
                    "name": "size",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number | number[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1151
                },
                {
                    "name": "strokeColors",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string | string[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1153
                },
                {
                    "name": "strokeDashArray",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number | number[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1156
                },
                {
                    "name": "strokeOpacity",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number | number[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1155
                },
                {
                    "name": "strokeWidth",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number | number[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1154
                }
            ],
            "indexSignatures": [],
            "kind": 174,
            "methods": [
                {
                    "name": "onClick",
                    "args": [
                        {
                            "name": "e",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": true,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 1167,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "e",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onDblClick",
                    "args": [
                        {
                            "name": "e",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": true,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 1168,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "e",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "extends": []
        },
        {
            "name": "ApexNoData",
            "id": "interface-ApexNoData-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "align",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"left\" | \"right\" | \"center\"",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1173
                },
                {
                    "name": "offsetX",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1175
                },
                {
                    "name": "offsetY",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1176
                },
                {
                    "name": "style",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1177
                },
                {
                    "name": "text",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1172
                },
                {
                    "name": "verticalAlign",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"top\" | \"middle\" | \"bottom\"",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1174
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "ApexOptions",
            "id": "interface-ApexOptions-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "annotations",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexAnnotations",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 2
                },
                {
                    "name": "chart",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexChart",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 3
                },
                {
                    "name": "colors",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 4
                },
                {
                    "name": "dataLabels",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexDataLabels",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 5
                },
                {
                    "name": "fill",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexFill",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 10
                },
                {
                    "name": "forecastDataPoints",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexForecastDataPoints",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 18
                },
                {
                    "name": "grid",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexGrid",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 19
                },
                {
                    "name": "labels",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "legend",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexLegend",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 9
                },
                {
                    "name": "markers",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexMarkers",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 14
                },
                {
                    "name": "noData",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexNoData",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 15
                },
                {
                    "name": "plotOptions",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexPlotOptions",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 12
                },
                {
                    "name": "responsive",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexResponsive[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 13
                },
                {
                    "name": "series",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexAxisChartSeries | ApexNonAxisChartSeries",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 6
                },
                {
                    "name": "states",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexStates",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 20
                },
                {
                    "name": "stroke",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexStroke",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 7
                },
                {
                    "name": "subtitle",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexTitleSubtitle",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 22
                },
                {
                    "name": "theme",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexTheme",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 23
                },
                {
                    "name": "title",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexTitleSubtitle",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 21
                },
                {
                    "name": "tooltip",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexTooltip",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 11
                },
                {
                    "name": "xaxis",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexXAxis",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 16
                },
                {
                    "name": "yaxis",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexYAxis | ApexYAxis[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 17
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "ApexPlotOptions",
            "id": "interface-ApexPlotOptions-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "area",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 440
                },
                {
                    "name": "bar",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 443
                },
                {
                    "name": "boxPlot",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 501
                },
                {
                    "name": "bubble",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 487
                },
                {
                    "name": "candlestick",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 492
                },
                {
                    "name": "heatmap",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 507
                },
                {
                    "name": "line",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 432
                },
                {
                    "name": "pie",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 548
                },
                {
                    "name": "polarArea",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 595
                },
                {
                    "name": "radar",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 605
                },
                {
                    "name": "radialBar",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 618
                },
                {
                    "name": "treemap",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 527
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>PlotOptions for specifying chart-type-specific configuration.\nSee <a href=\"https://apexcharts.com/docs/options/plotoptions/bar/\">https://apexcharts.com/docs/options/plotoptions/bar/</a></p>\n",
            "rawdescription": "\n\nPlotOptions for specifying chart-type-specific configuration.\nSee https://apexcharts.com/docs/options/plotoptions/bar/\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "ApexResponsive",
            "id": "interface-ApexResponsive-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "breakpoint",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 806
                },
                {
                    "name": "options",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 807
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "ApexStates",
            "id": "interface-ApexStates-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "active",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 192
                },
                {
                    "name": "hover",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 187
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "ApexStroke",
            "id": "interface-ApexStroke-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "colors",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 272
                },
                {
                    "name": "curve",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\" | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 265
                },
                {
                    "name": "dashArray",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number | number[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 274
                },
                {
                    "name": "fill",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexFill",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 275
                },
                {
                    "name": "lineCap",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"butt\" | \"square\" | \"round\"",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 271
                },
                {
                    "name": "show",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 264
                },
                {
                    "name": "width",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number | number[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 273
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Options for the line drawn on line and area charts.\nSee <a href=\"https://apexcharts.com/docs/options/stroke/\">https://apexcharts.com/docs/options/stroke/</a></p>\n",
            "rawdescription": "\n\nOptions for the line drawn on line and area charts.\nSee https://apexcharts.com/docs/options/stroke/\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "ApexTheme",
            "id": "interface-ApexTheme-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "mode",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"light\" | \"dark\"",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1117
                },
                {
                    "name": "monochrome",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1119
                },
                {
                    "name": "palette",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1118
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "ApexTitleSubtitle",
            "id": "interface-ApexTitleSubtitle-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "align",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"left\" | \"center\" | \"right\"",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 206
                },
                {
                    "name": "floating",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 210
                },
                {
                    "name": "margin",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 207
                },
                {
                    "name": "offsetX",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 208
                },
                {
                    "name": "offsetY",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 209
                },
                {
                    "name": "style",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 211
                },
                {
                    "name": "text",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 205
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Chart Title options\nSee <a href=\"https://apexcharts.com/docs/options/title/\">https://apexcharts.com/docs/options/title/</a></p>\n",
            "rawdescription": "\n\nChart Title options\nSee https://apexcharts.com/docs/options/title/\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "ApexTooltip",
            "id": "interface-ApexTooltip-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "cssClass",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 830
                },
                {
                    "name": "custom",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown | (function)[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 827
                },
                {
                    "name": "enabled",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 821
                },
                {
                    "name": "enabledOnSeries",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "undefined | number[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 822
                },
                {
                    "name": "fillSeriesColor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 828
                },
                {
                    "name": "fixed",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 856
                },
                {
                    "name": "followCursor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 824
                },
                {
                    "name": "hideEmptySeries",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 831
                },
                {
                    "name": "intersect",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 825
                },
                {
                    "name": "inverseOrder",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 826
                },
                {
                    "name": "items",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 853
                },
                {
                    "name": "marker",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 849
                },
                {
                    "name": "onDatasetHover",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 836
                },
                {
                    "name": "shared",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 823
                },
                {
                    "name": "style",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 832
                },
                {
                    "name": "theme",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 829
                },
                {
                    "name": "x",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 839
                },
                {
                    "name": "y",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexTooltipY | ApexTooltipY[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 844
                },
                {
                    "name": "z",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 845
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Chart Tooltip options\nSee <a href=\"https://apexcharts.com/docs/options/tooltip/\">https://apexcharts.com/docs/options/tooltip/</a></p>\n",
            "rawdescription": "\n\nChart Tooltip options\nSee https://apexcharts.com/docs/options/tooltip/\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "ApexXAxis",
            "id": "interface-ApexXAxis-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "axisBorder",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 919
                },
                {
                    "name": "axisTicks",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 926
                },
                {
                    "name": "categories",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 870
                },
                {
                    "name": "crosshairs",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 955
                },
                {
                    "name": "decimalsInFloat",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 941
                },
                {
                    "name": "floating",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 940
                },
                {
                    "name": "group",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 909
                },
                {
                    "name": "labels",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 875
                },
                {
                    "name": "max",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 938
                },
                {
                    "name": "min",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 937
                },
                {
                    "name": "offsetX",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 872
                },
                {
                    "name": "offsetY",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 873
                },
                {
                    "name": "overwriteCategories",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number[] | string[] | undefined",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 871
                },
                {
                    "name": "position",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 942
                },
                {
                    "name": "range",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 939
                },
                {
                    "name": "sorted",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 874
                },
                {
                    "name": "stepSize",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 935
                },
                {
                    "name": "tickAmount",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number | \"dataPoints\"",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 936
                },
                {
                    "name": "tickPlacement",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 934
                },
                {
                    "name": "title",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 943
                },
                {
                    "name": "tooltip",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 978
                },
                {
                    "name": "type",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"category\" | \"datetime\" | \"numeric\"",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 869
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>X Axis options\nSee <a href=\"https://apexcharts.com/docs/options/xaxis/\">https://apexcharts.com/docs/options/xaxis/</a></p>\n",
            "rawdescription": "\n\nX Axis options\nSee https://apexcharts.com/docs/options/xaxis/\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "ApexYAxis",
            "id": "interface-ApexYAxis-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "axisBorder",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1028
                },
                {
                    "name": "axisTicks",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1035
                },
                {
                    "name": "crosshairs",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1055
                },
                {
                    "name": "decimalsInFloat",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1008
                },
                {
                    "name": "floating",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1007
                },
                {
                    "name": "forceNiceScale",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1004
                },
                {
                    "name": "labels",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1009
                },
                {
                    "name": "logarithmic",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1000
                },
                {
                    "name": "logBase",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1001
                },
                {
                    "name": "max",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number | unknown",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1006
                },
                {
                    "name": "min",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number | unknown",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1005
                },
                {
                    "name": "opposite",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 998
                },
                {
                    "name": "reversed",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 999
                },
                {
                    "name": "seriesName",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string | string[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 997
                },
                {
                    "name": "show",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 994
                },
                {
                    "name": "showAlways",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 995
                },
                {
                    "name": "showForNullSeries",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 996
                },
                {
                    "name": "stepSize",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1003
                },
                {
                    "name": "tickAmount",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1002
                },
                {
                    "name": "title",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1042
                },
                {
                    "name": "tooltip",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 1064
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Y Axis options\nSee <a href=\"https://apexcharts.com/docs/options/yaxis/\">https://apexcharts.com/docs/options/yaxis/</a></p>\n",
            "rawdescription": "\n\nY Axis options\nSee https://apexcharts.com/docs/options/yaxis/\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "BetterTableModule",
            "id": "interface-BetterTableModule-ac75c23e756525716e7c4a46e4b323ebc8e13d3b9fa4961eec040d13616f5de31ef44d89586c853c4fb6a8906068f7f04a1255b38303c83d2f54667be080cc23",
            "file": "packages/components/externals/quill/models/editor.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface BetterTableModule {\n    insertTable(rows: number, columns: number): void;\n}\n\nexport interface ToolbarItemConfig {\n    name: string;\n    label?: string;\n    options?: any[];\n    dialogMessage?: string;\n}\n\nexport type EditorChangeContent = ContentChange & { event: 'text-change' };\nexport type EditorChangeSelection = SelectionChange & { event: 'selection-change' };\n\nexport interface Focus {\n    editor: any;\n    source: string;\n}\n\nexport interface Range {\n    index: number;\n    length: number;\n}\n\nexport interface ContentChange {\n    content: any;\n    delta: any;\n    editor: any;\n    html: string | null;\n    oldDelta: any;\n    source: string;\n    text: string;\n}\n\nexport interface SelectionChange {\n    editor: any;\n    oldRange: Range | null;\n    range: Range | null;\n    source: string;\n}\n\nexport interface Blur {\n    editor: any;\n    source: string;\n}\n",
            "properties": [],
            "indexSignatures": [],
            "kind": 174,
            "methods": [
                {
                    "name": "insertTable",
                    "args": [
                        {
                            "name": "rows",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "columns",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 2,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "rows",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "columns",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "extends": []
        },
        {
            "name": "Blur",
            "id": "interface-Blur-ac75c23e756525716e7c4a46e4b323ebc8e13d3b9fa4961eec040d13616f5de31ef44d89586c853c4fb6a8906068f7f04a1255b38303c83d2f54667be080cc23",
            "file": "packages/components/externals/quill/models/editor.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface BetterTableModule {\n    insertTable(rows: number, columns: number): void;\n}\n\nexport interface ToolbarItemConfig {\n    name: string;\n    label?: string;\n    options?: any[];\n    dialogMessage?: string;\n}\n\nexport type EditorChangeContent = ContentChange & { event: 'text-change' };\nexport type EditorChangeSelection = SelectionChange & { event: 'selection-change' };\n\nexport interface Focus {\n    editor: any;\n    source: string;\n}\n\nexport interface Range {\n    index: number;\n    length: number;\n}\n\nexport interface ContentChange {\n    content: any;\n    delta: any;\n    editor: any;\n    html: string | null;\n    oldDelta: any;\n    source: string;\n    text: string;\n}\n\nexport interface SelectionChange {\n    editor: any;\n    oldRange: Range | null;\n    range: Range | null;\n    source: string;\n}\n\nexport interface Blur {\n    editor: any;\n    source: string;\n}\n",
            "properties": [
                {
                    "name": "editor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 43
                },
                {
                    "name": "source",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 44
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "CleaveEventOnChange",
            "id": "interface-CleaveEventOnChange-21c53e84e6e1d5d51456438f43b34c7f2356125a57b0c863cc12bfb104ad978779d3282722972943f0588b8828566ca1dbd23732892e85abfa082750329c1f66",
            "file": "packages/components/eui-input-number/models/cleave-event-onchange.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface CleaveEventOnChange {\n    target: {\n        name: string;\n        rawValue: string;\n        value: string;\n    };\n}\n",
            "properties": [
                {
                    "name": "target",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 3
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "CleaveInstance",
            "id": "interface-CleaveInstance-a65d8229df08120f4293d4860fe2c155cb1c83c38d5ff82c5b01aaa9912bb5074fb668829cd28dfd2ebbb4e0e8962000ba1faf90c942b0d3469b61fcb29f1762",
            "file": "packages/components/eui-input-number/eui-input-number.component.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import {\n    booleanAttribute,\n    Component,\n    computed,\n    DoCheck,\n    effect,\n    ElementRef,\n    HostBinding,\n    HostListener,\n    inject,\n    input,\n    InputSignal,\n    LOCALE_ID,\n    numberAttribute,\n    OnChanges,\n    OnDestroy,\n    OnInit,\n    PLATFORM_ID,\n    Renderer2,\n    Signal,\n    signal,\n    SimpleChanges,\n} from '@angular/core';\nimport { LocaleService, LocaleState, injectOptional } from '@eui/core';\nimport { BooleanInput, coerceBooleanProperty, NumberInput } from '@angular/cdk/coercion';\nimport { type CleaveOptions } from 'cleave.js/options';\nimport Cleave from 'cleave.js';\nimport { CleaveEventOnChange } from './models/cleave-event-onchange.model';\nimport { InputDirective } from '@eui/components/shared';\nimport { DOCUMENT, isPlatformBrowser, isPlatformServer } from '@angular/common';\nimport { EuiClearableDirective, EuiLoadingDirective } from '@eui/components/directives';\nimport { NgControl } from '@angular/forms';\n\nexport interface CleaveInstance extends Cleave {\n    initSwapHiddenInput?: () => void;\n    initNumeralFormatter?: () => void;\n    initTimeFormatter?: () => void;\n    initDateFormatter?: () => void;\n    initPhoneFormatter?: () => void;\n    updateCreditCardPropsByValue?: () => void;\n    updateValueState?: () => void;\n    callOnValueChanged?: () => void;\n    onChange?: (event?: Event) => void;\n    onCut?: (event?: Event) => void;\n    onFocus?: (event?: Event) => void;\n    onCopy?: (event?: Event) => void;\n    onKeyDown?: (event?: Event) => void;\n    onChangeListener?: (event?: Event) => void;\n    onKeyDownListener?: (event?: Event) => void;\n    onFocusListener?: (event?: Event) => void;\n    onCutListener?: (event?: Event) => void;\n    onCopyListener?: (event?: Event) => void;\n}\n\n/**\n * Get the decimal separator based on the locale\n *\n * @param locale value of the locale based on ISO 639-1\n */\nfunction getDecimal(locale: string): string {\n    return getLocaleConfig(locale).decimal;\n}\n\n/**\n * Get the group separator based on the locale\n *\n * @param locale value of the locale based on ISO 639-1\n */\nfunction getGroup(locale: string): string {\n    return getLocaleConfig(locale).group;\n}\n\n/**\n * Returns the decimal and group separators for a given locale\n *\n * @param locale value of the locale based on ISO 639-1\n */\nfunction getLocaleConfig(locale: string): { group: string; decimal: string } {\n    const parts = new Intl.NumberFormat(locale, { useGrouping: true }).formatToParts(10000.1);\n\n    return {\n        group: parts.find(p => p.type === 'group')?.value || '',\n        decimal: parts.find(p => p.type === 'decimal')?.value || '.',\n    };\n}\n\n/**\n * @description\n * Input number component that allows the user to enter a number. It supports number\n * formatting and validation. It uses Cleave.js to format the number. It depends on\n * the {@link LocaleService} to get the current locale and format the number accordingly.\n *\n * It supports the following attributes:\n * - {@link min}: The minimum number can be entered. Blocks user's input if not in range.\n * - {@link max}: The maximum number can be entered. Blocks user's input if not in range.\n * - {@link leadingZero}: Adds leading zero to a number. Formatting will not work.\n * - {@link isInvalid}: Sets the invalid state of the input element.\n * - {@link fractionDigits}: Determines how many digits to show after the decimal point.\n * - {@link digits}: Determines how many digits to show before the decimal point.\n * - {@link fillFraction}: Fills the decimal part with zeros in case it's less than the fractionDigits.\n * - {@link roundUp}: Rounds a number with more than two decimals UP.\n * - {@link noFormat}: Disables the number formatting. It will be treated as a plain number.\n * - {@link value}: The value of the input element.\n * - {@link placeholder}: The placeholder value of the input element.\n * - {@link euiClearable}: Adds a clear button to the input element.\n * - {@link euiLoading}: Adds a loading spinner to the input element.\n * - {@link readonly}: Disables the input element.\n * - {@link disabled}: Disables the input element.\n * - {@link euiDanger}: Sets the invalid state of the input element.\n * - {@link euiSuccess}: Sets the success state of the input element.\n * - {@link euiWarning}: Sets the warning state of the input element.\n * - {@link euiInfo}: Sets the info state of the input element.\n * - {@link euiPrimary}: Sets the primary state of the input element.\n * - {@link euiSecondary}: Sets the secondary state of the input element.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <input euiInputNumber [(ngModel)]=\"amount\" [fractionDigits]=\"2\" />\n * ```\n *\n * ### With Min/Max Range\n * ```html\n * <input euiInputNumber [min]=\"0\" [max]=\"100\" [(ngModel)]=\"percentage\" />\n * ```\n *\n * ### Currency Format\n * ```html\n * <input euiInputNumber [fractionDigits]=\"2\" [fillFraction]=\"true\" placeholder=\"0.00\" />\n * ```\n *\n * ### Accessibility\n * - Use associated `<label>` with `for` attribute\n * - Invalid state is communicated via `aria-invalid`\n * - Min/max constraints are enforced during input\n *\n * ### Notes\n * - Automatically formats numbers based on current locale\n * - Supports large numbers as strings to avoid precision loss\n * - Use `fillFraction` for consistent decimal display (e.g., currency)\n * - `roundUp` parameter controls decimal rounding behavior\n */\n@Component({\n    // eslint-disable-next-line @angular-eslint/component-selector\n    selector: 'input[euiInputNumber]',\n    styleUrls: ['./eui-input-number.scss'],\n    template: '',\n    hostDirectives: [\n        {\n            directive: EuiClearableDirective,\n            inputs: ['euiClearable', 'readonly', 'disabled'],\n        },\n        {\n            directive: EuiLoadingDirective,\n            inputs: ['euiLoading', 'readonly'],\n        },\n    ],\n    host: {\n        '(blur)': 'onTouched()',\n\t\t'[attr.type]': 'type',\n\t\t'(paste)': 'onPaste($event)',\n    },\n})\nexport class EuiInputNumberComponent extends InputDirective implements OnInit, OnDestroy, DoCheck, OnChanges {\n    /**\n     * The minimum number can be entered. Blocks user's input if not in range.\n     */\n    min = input<number, NumberInput>(undefined, { transform: numberAttribute });\n    /**\n     * The maximum number can be entered. Blocks user's input if not in range.\n     */\n    max = input<number, NumberInput>(undefined, { transform: numberAttribute });\n    /**\n     * Adds leading zero to a number. Formatting will not work.\n     *      e.g. with leadingZero=3 input number 5 => 005\n     * @default 0\n     */\n    leadingZero  = input<number, NumberInput>(0, { transform: (v: unknown) => numberAttribute(v, 0) });\n    isInvalid = input<boolean, BooleanInput>(undefined, { transform: this.invalidTransform });\n\n    /**\n     * CSS classes to be added to the host element.\n     */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [super.getCssClasses('eui-input-number'), this._isInvalid() ? 'eui-input-number--invalid' : ''].join(' ').trim();\n    }\n\n    /**\n     *  determines how many digits to show after the decimal point\n     *  @default 0\n     */\n    fractionDigits = input<number, NumberInput>(0, { transform: (v: unknown) => numberAttribute(v, 0) });\n    /**\n     * determines how many digits to show before the decimal point\n     */\n    digits = input<number, NumberInput>(undefined, { transform: numberAttribute });\n    /**\n     * fills the decimal part with zeros in case it's less than the fractionDigits\n     */\n    fillFraction = input<boolean, BooleanInput>(undefined, { transform: booleanAttribute });\n    /**\n     * rounds a number with more than two decimals UP\n     */\n    roundUp = input<number, NumberInput>(undefined, { transform: numberAttribute });\n    /**\n     * Disables the number formatting. It will be treated as a plain number.\n     * Will do a thousand grouping of number.\n     */\n    noFormat = input<boolean, BooleanInput>(undefined, { transform: booleanAttribute });\n    /**\n     * The type of the input element.\n     * @default 'eui-number'\n     */\n\tprotected type = 'eui-number';\n    /**\n     * The value of the input element.\n     */\n    value: InputSignal<string> = input();\n    public onChangeCallback: <T>(_: T) => void;\n    /**\n     * holds an instance of cleave.js\n     */\n    cleaveInstance: CleaveInstance;\n\n    protected _elementRef: ElementRef = inject(ElementRef);\n    protected _renderer: Renderer2 = inject(Renderer2);\n    /**\n     * holds an instance of cleave options for the Cleave instance\n     */\n    private options: CleaveOptions;\n    /**\n     * Signal that tracks the invalid state of the associated form control.\n     * Used to reactively update the component's visual state when the form control's validity changes.\n     * @internal\n     */\n    private controlInvalid = signal(false);\n    /**\n     * Signal that tracks whether the associated form control has been touched.\n     * Used to determine when to show validation messages.\n     * Initialized with the control's touched state if available.\n     * @internal\n     */\n    private controlTouched = signal(this.control?.touched);\n    /** @internal */\n    private _isInvalid: Signal<boolean> = signal(false);\n    private localeService = injectOptional(LocaleService);\n    private locale_id = inject(LOCALE_ID);\n    private document = inject<Document>(DOCUMENT);\n    private platformId = inject(PLATFORM_ID);\n\n    constructor() {\n        super();\n        const locale_id = this.locale_id;\n\n        // set default options\n        this.options = {\n            numeral: true,\n            delimiter: getGroup(locale_id || 'en'),\n            numeralDecimalMark: getDecimal(locale_id || 'en'),\n            numeralDecimalScale: this.fractionDigits(),\n            numeralIntegerScale: this.digits(),\n        };\n\n        effect(() => {\n            this.euiDanger = this._isInvalid();\n        });\n    }\n\n    ngOnInit(): void {\n        super.ngOnInit();\n\n        this.control = this.injector.get(NgControl, undefined, { optional: true });\n\n        // instantiate cleave\n        if (!this.control) {\n            this.initCleave();\n        }\n\n        // subscribe to localization service and listen for locale change. De-construction of locale should happen here!\n        this.localeService?.getState().subscribe((state: LocaleState) => {\n            this.options = this.getCleaveOptsBasedOnLocale(state?.id);\n\n            // update the options on the cleave instance\n            this.updateOptions(true);\n        });\n\n        this._renderer.setProperty(this._elementRef.nativeElement, 'rootClassName', 'eui-input-number');\n\n        this._isInvalid = computed(() => {\n            const controlTouched = this.controlTouched();\n            const controlInvalid = this.controlInvalid();\n            const isInvalid = this.isInvalid();\n            // Check if the control is invalid and touched\n            return this.control ? controlInvalid && controlTouched : isInvalid;\n        });\n\n    }\n\n    ngDoCheck(): void {\n        if (!this.control) {\n            this.control = this.injector.get(NgControl, undefined, { optional: true });\n        }\n        if(this.control) {\n            this.controlInvalid.set(this.control.invalid);\n            this.controlTouched.set(this.control.touched);\n        }\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (Object.hasOwn(changes, 'value')) {\n            this._elementRef.nativeElement.value = this.value();\n            if (this.cleaveInstance) {\n                this.cleaveInstance.setRawValue(this.value());\n            }\n        }\n        if (Object.hasOwn(changes, 'fractionDigits')) {\n            this.options = { ...this.options, numeralDecimalScale: this.fractionDigits() };\n            this.updateOptions();\n        }\n        if (Object.hasOwn(changes, 'noFormat')) {\n            this.options = { ...this.options, numeralThousandsGroupStyle: this.noFormat() ? 'none' : 'thousand' };\n            this.updateOptions();\n        }\n        if (Object.hasOwn(changes, 'fillFraction') && this.cleaveInstance) {\n            this.applyFractionFill(this.cleaveInstance.getRawValue());\n        }\n        if (Object.hasOwn(changes, 'digits')) {\n            this.options = { ...this.options, numeralIntegerScale: this.digits() };\n            this.updateOptions();\n        }\n        if (Object.hasOwn(changes, 'min')) {\n            if (changes['min'].currentValue >= 0) {\n                if (this.cleaveInstance) {\n                    // take care of the sign symbol\n                    this.cleaveInstance.setRawValue(Math.abs(Number(this.cleaveInstance.getRawValue())).toString());\n                }\n            }\n        }\n        if (Object.hasOwn(changes, 'max')) {\n            // check if current value is in range\n            if (this.cleaveInstance) {\n                const number = Number(this.cleaveInstance.getRawValue());\n                if (number > this.max()) {\n                    this.cleaveInstance.setRawValue(this.max().toString());\n                }\n            }\n        }\n        if (Object.hasOwn(changes, 'roundUp')) {\n            if (changes['roundUp'].currentValue > 0) {\n                if (this.cleaveInstance) {\n                    let number = this.parseNumber(this.cleaveInstance.getRawValue(), false, false);\n                    number = this.decimalAdjust(number, this.roundUp());\n                    this.cleaveInstance.setRawValue(number.toString());\n                }\n            }\n        }\n        if (Object.hasOwn(changes, 'placeholder')) {\n            // parse number\n            const number = this.parseNumber(changes['placeholder'].currentValue?.toString() || undefined);\n            // set placeholder in case none is provided\n            this.setPlaceholderAttribute(!this.isItaNumber(number.toString()) ? changes['placeholder'].currentValue : number);\n        }\n    }\n\n    ngOnDestroy(): void {\n        super.ngOnDestroy();\n        // destroy cleave instance\n        if (this.cleaveInstance) {\n            this.cleaveInstance.destroy();\n        }\n    }\n\n    onChange: <T>(_: T) => void = <T>(_: T): void => {\n        if (this.control && (_ !== null || _ !== undefined)) {\n            // parse number\n            // const value = Number(_);\n            // run on next MicroTask to avoid NG0100 error TODO: deeper investigation\n            // Promise.resolve().then(() => this.control.viewToModelUpdate(value));\n            // in case control is FormControl\n            // this.control?.control.setValue(isNaN(value) ? null : value, { emitEvent: false, emitModelToViewChange: false });\n        }\n    };\n    onTouched: () => void = (): void => {\n        this.control?.control.markAsTouched();\n    };\n\n    onPaste(event: ClipboardEvent): void {\n        // get the value from clipboard\n        const value = (event.clipboardData || window['clipboardData']).getData('text');\n        // in case round UP is enabled\n        if (this.roundUp() > 0) {\n            const div = this.document.createElement('input');\n            // create a clone of cleaveInstance\n            const cloneInstance: CleaveInstance = new Cleave(div, { ...this.options, numeralDecimalScale: 8 });\n            cloneInstance.setRawValue(value.toString());\n            let number = this.parseNumber(cloneInstance.getRawValue(), false, false);\n            number = this.decimalAdjust(number, this.roundUp());\n            if (this.isItaNumber(number.toString())) {\n                // TODO: investigate in the future how can this be avoided\n                setTimeout(() => {\n                    this.cleaveInstance.setRawValue(number.toString());\n                    // this.writeValue(number.toString());\n                }, 0);\n            }\n        }\n    }\n\n    @HostListener('keydown', ['$event'])\n    protected onKeyDown(e: KeyboardEvent): void {\n        // check if it's a single symbol and not Special like (Ctrl, backspace etc.)\n        if (e?.key?.length <= 1 && !e.ctrlKey && !e.altKey && !e.metaKey) {\n            // stop event propagation if key pressed is not a number or locale character or minus sign\n            if (\n                Number.isNaN(Number.parseInt(e.key, 10)) &&\n                this.isMinusAllowed(e.key) &&\n                e.key !== getDecimal(this.localeService?.currentLocale || this.locale_id)\n            ) {\n                e.stopPropagation();\n                e.preventDefault();\n                // stop event propagation if key pressed exceeds the min/max value range\n            } else if (!Number.isNaN(Number.parseInt(e.key, 10)) && this.isOutSideRange(e)) {\n                e.stopPropagation();\n                e.preventDefault();\n            } else if (this.isOutSideRange(e)) {\n                e.stopPropagation();\n                e.preventDefault();\n            }\n        }\n\n        // protect decimal symbol deletion in case fillFraction is on\n        if (e.key === 'Delete' || e.key === 'Backspace') {\n            const element = this._elementRef.nativeElement;\n            // position of caret\n            const pos = element.selectionStart;\n            // get character about to be deleted\n            const char = element.value.charAt(pos - 1);\n            // in case the char is the decimal symbol prevent deletion and move caret in front\n            if (this.fillFraction() &&\n                char === getDecimal(this.localeService?.currentLocale || this.locale_id)) {\n                e.stopPropagation();\n                e.preventDefault();\n                element.setSelectionRange(pos - 1, pos - 1);\n            } else if (this.isOutSideRange(e)) {\n                // don't allow insertion that will put number out of range\n                e.stopPropagation();\n                e.preventDefault();\n            }\n        }\n    }\n\n    @HostListener('focusout')\n    protected onFocusout(): void {\n        // in case fillFraction feature is on and there's no integer part add leading 0\n        if (this.fillFraction() && this.cleaveInstance.getRawValue().match(/^\\.[0-9]+/g)) {\n            this.cleaveInstance.setRawValue('0' + this.cleaveInstance.getRawValue());\n        }\n\n        // in case round UP is enabled\n        if (this.roundUp() > 0) {\n            const number = this.parseNumber(this.cleaveInstance.getRawValue(), false, false);\n            this.cleaveInstance.setRawValue(this.decimalAdjust(number, this.roundUp()).toString());\n        }\n\n        // in case min is set and value is less than min reset to the min value\n        if (this.min() !== null && this.min() !== undefined && Number.parseFloat(this.cleaveInstance.getRawValue()) < this.min()) {\n            this.cleaveInstance.setRawValue(this.min().toString());\n        }\n\n        // in case max is set and value is greater than max reset to the max value\n        if (this.max() !== null && this.max() !== undefined && Number.parseFloat(this.cleaveInstance.getRawValue()) > this.max()) {\n            this.cleaveInstance.setRawValue(this.max().toString());\n        }\n    }\n\n    /**\n     * @Override setPlaceholder setPlaceholderAttribute of InputDirective\n     * Updates the placeholder value based on current number format and given value.\n     * If value passed contains characters it doesn't format placeholder.\n     * */\n    protected setPlaceholderAttribute(value: string | number): void {\n        // if value is a number, format the value based on current number format\n        if (typeof value === 'number' && !isNaN(value) && isPlatformBrowser(this.platformId)) {\n            const div = this.document.createElement('input');\n            // create a clone of cleaveInstance\n            const cloneInstance: CleaveInstance = new Cleave(div, this.options);\n            // BEWARE: by the time your setRawValue cleave options have changed thus number formatting\n            cloneInstance.setRawValue(value.toString());\n            // set the value with current format as placeholder\n            super.setPlaceholderAttribute(cloneInstance.getFormattedValue());\n        } else if (typeof value === 'string') {\n            super.setPlaceholderAttribute(value.toString());\n        } else if (isNaN(value)) {\n            value = this._elementRef.nativeElement.placeholder;\n            super.setPlaceholderAttribute(value.toString());\n        }\n    }\n\n    /**\n     * instantiate Cleave.js\n     */\n    private initCleave<T, P>(onChangeCallback?: (obj: T) => P): void {\n        if(isPlatformServer(this.platformId)) {\n            // in case it's not a browser environment\n            return;\n        }\n        // change the cleave prototype function to intercept onCut callback\n        // and allow based on the event bubbling and disabled state\n        // TIP: change behavior of onCut to stop in case bubble is canceled\n        // TODO: See relevant issue https://github.com/nosir/cleave.js/issues/675\n        const _onCut = Cleave.prototype['onCut'];\n        Cleave.prototype['onCut'] = function (e: Event): void {\n            /* eslint-enable no-invalid-this */\n            // Check if the event is composed and stopPropagation hasn't been called\n            if (!e.composed && !e.defaultPrevented && !this.element.disabled) {\n                _onCut.call(this, e);\n            }\n            /* eslint-disable no-invalid-this */\n        };\n\n        // in case options is undefined\n        const opts: CleaveOptions = { ...this.options };\n\n        // set the onValue change listener to keep the value at readOnly element in sync\n        opts.onValueChanged = onChangeCallback || this.onValueChanged.bind(this);\n\n        // in case round UP is enabled\n        if (this.roundUp() > 0) {\n            const number = this.parseNumber(this._elementRef.nativeElement.value);\n            this._elementRef.nativeElement.value = this.decimalAdjust(number, this.roundUp());\n        }\n\n        // create the Cleave instance with the new or updated options\n        this.cleaveInstance = new Cleave(this._elementRef.nativeElement, opts);\n    }\n\n    /**\n     * Updates the cleave options by destroying the current instance and creating another one while keeping the previous\n     * value.\n     */\n    private updateOptions(localeUpdated = false): void {\n        if (this.cleaveInstance) {\n            // the value before destroying cleave instance\n            const previousValue = this.cleaveInstance.getRawValue();\n\n            // update the Cleave instance with the new or updated options\n            this.cleaveInstance.properties = {\n                ...this.cleaveInstance.properties,\n                ...this.options,\n                initValue: previousValue,\n            };\n\n            // init number formatter with updated options\n            this.cleaveInstance.initNumeralFormatter();\n\n            // In case previous settings where numeralDecimalMark='.' with value 1000.99, and they changed to\n            // numeralDecimalMark=','; set initValue to 1000.99 or even 1000,99 will not be reflected and cleave will\n            // remove the decimal part. Set of the value after initialization causes reformat of number and works.\n            this.cleaveInstance.setRawValue(previousValue);\n\n            // parse number\n            const number = this.parseNumber(this._elementRef.nativeElement.placeholder || undefined, localeUpdated);\n            // set placeholder in case none is provided\n            this.setPlaceholderAttribute(number);\n        }\n    }\n\n    /**\n     * Callback function of the Cleave instance that is invoked when value is changed.\n     *\n     * @param event type of CleaveEventOnChange\n     */\n    private onValueChanged(event: CleaveEventOnChange): void {\n        const { target } = event;\n\n        if (this.fillFraction()) {\n            this.applyFractionFill(target.rawValue);\n        }\n        this.onChange(this.parseNumber(target.rawValue, false, false));\n        // fill leading zero\n        if (this.leadingZero()) {\n            const size = this.leadingZero() > this.digits() && this.digits() > 0 ? this.digits() : this.leadingZero();\n            this._elementRef.nativeElement.value = this.padZero(event.target.rawValue, size);\n        }\n    }\n\n    /**\n     * responsible to extract all locale information needed to build CleaveOptions related to number format.\n     *\n     * @param id The id of the locale\n     */\n    private getCleaveOptsBasedOnLocale(id: string): CleaveOptions {\n        if (!id || id === '') {\n            throw new Error('Locale id cannot be empty or undefined');\n        }\n        const opts: CleaveOptions = {\n            numeral: true,\n            delimiter: getGroup(id),\n            numeralDecimalMark: getDecimal(id),\n            numeralDecimalScale: this.fractionDigits(),\n            numeralIntegerScale: this.digits(),\n            numeralThousandsGroupStyle: this.noFormat() ? 'none' : 'thousand', // TODO: implement based on locale\n        };\n\n        return { ...this.options, ...opts };\n    }\n\n    /**\n     * Applies the fill of decimal part with zeros in case decimal part of given number has\n     * size less than the max fraction digits.\n     *\n     * @param number\n     * @param cleaveInstance\n     * @private\n     */\n    private applyFractionFill(number: string, cleaveInstance: CleaveInstance = this.cleaveInstance): void {\n        // if fill fraction is enabled and there's cleave instance\n        if (this.fillFraction()) {\n            if (this.cleaveInstance) {\n                number = number?.toString();\n                if (number === '' || !number) {\n                    return;\n                }\n                const hasDecimal = number.split('.').length > 1;\n                // in case there's already decimal point in number\n                if (hasDecimal) {\n                    const decimalSize = number.split('.')[1].length;\n                    // if size of decimal part of number is less than the max fraction digits\n                    if (decimalSize < this.fractionDigits()) {\n                        number = number + new Array(this.fractionDigits() - decimalSize).fill(0).join('');\n                        const pos = this._elementRef.nativeElement.selectionStart;\n                        cleaveInstance.setRawValue(number);\n                        this._elementRef.nativeElement.setSelectionRange(pos, pos);\n                    }\n                    // in case there's not, force it by filling it as much zero as the fraction digits\n                } else if (this.fractionDigits() > 0) {\n                    number = `${number}.${new Array(this.fractionDigits()).fill(0).join('')}`;\n                    const pos = this._elementRef.nativeElement.selectionStart;\n                    cleaveInstance.setRawValue(number);\n                    this._elementRef.nativeElement.setSelectionRange(pos, pos);\n                }\n            }\n        }\n    }\n\n    /**\n     * Parses a given formatted number and returns it as a number.\n     *\n     * @param value The formatted number you want to parse e.g. 111,888.22\n     * @param userPrevLocaleState Use previous locale state to parse the value. By default, is false\n     * @param replaceSymbol Replace the decimal symbol with a dot. By default, is false\n     * @private\n     */\n    private parseNumber(value: string, userPrevLocaleState = false, replaceSymbol = true): number | string {\n        // locale state\n        const locale = userPrevLocaleState ? this.localeService?.previousLocale : this.localeService?.currentLocale || this.locale_id || 'en';\n        // get decimal and group symbols\n        const decimalSymbol = getDecimal(locale);\n        const groupSymbol = getGroup(locale);\n        // replace symbols to parse number\n        const parsedNumber = value?.split(groupSymbol).join('').split(decimalSymbol).join('.');\n        return this.parseBigNumber(replaceSymbol ? parsedNumber : value);\n    }\n\n    /**\n     * Pad leading zero to the number\n     *\n     * @param num The number to add leading zero to\n     * @param size Number of number's leading zero\n     * @private\n     */\n    private padZero(num: string, size: number): string {\n        num = num.toString();\n        // get integer and decimal part\n        // eslint-disable-next-line prefer-const\n        let [integer, decimal] = num.split('.');\n        while (integer.length < size) {\n            integer = '0' + integer;\n        }\n        return decimal ? `${integer}.${decimal}` : integer;\n    }\n\n    /**\n     * checks whether the min symbol is allowed. It is allowed when minus symbol\n     * provided and min input is undefined or min provided and is negative.\n     *\n     * @param key The key string coming from an event\n     */\n    private isMinusAllowed(key: string): boolean {\n        return !this.min() || this.min() < 0 ? key !== '-' : true;\n    }\n\n    /**\n     * check whether the key entered is inside the min and\n     * max range. Returns true if it's out of range.\n     *\n     * @param e A keyboard event\n     */\n    private isOutSideRange(e: KeyboardEvent): boolean {\n        if (!this.cleaveInstance) {\n            return false;\n        }\n        // get caret position\n        const pos = e.target['selectionStart'];\n        // get caret position (in case there's text selected)\n        const endPos = e.target['selectionEnd'];\n        // get current value (formatted)\n        let value = e.target['value'];\n        // remove key from value\n        if (e.key === 'Delete' || e.key === 'Backspace') {\n            // check if there's selection of text to be removed\n            if (pos !== endPos) {\n                value = e.target['value'].substring(0, pos) + e.target['value'].substring(endPos, e.target['value'].length);\n            } else {\n                value = e.target['value'].substring(0, pos - 1) + e.target['value'].substring(endPos, e.target['value'].length);\n            }\n        } else {\n            // add key to the value\n            value = [value.slice(0, pos), e.key, value.slice(endPos)].join('');\n        }\n\n        // create a Cleave instance to extract the number from formatted value\n        const cleave: CleaveInstance = new Cleave(this.document.createElement('input'), { ...this.options });\n        cleave.setRawValue(value);\n        const number = Number(cleave.getRawValue());\n        // destroy cleave instance\n        cleave.destroy();\n        return !isNaN(number) &&\n            this.min() >= 0 ? (this.isDefined(this.max()) && this.max() < number) : (this.min() > number || this.max() < number) &&\n            this.max() <= 0 ? (this.isDefined(this.min()) && this.min() > number) : (this.min() > number || this.max() < number);\n    }\n\n    /**\n     * Decimal adjustment of a number.\n     *\n     * @param value The number or string representation of a number.\n     * @param exp   The exponent (the 10 logarithm of the adjustment base).\n     * @returns The adjusted value.\n     */\n    private decimalAdjust(value: number | string, exp: number): string {\n        // Ensure exp is a number\n        exp = +Number(exp);\n\n        // Convert input to string if it's a number\n        const valueStr = typeof value === 'number' ? value.toString() : String(value);\n\n        // Handle empty or invalid inputs\n        if (!valueStr || isNaN(Number(valueStr))) {\n            return '';\n        }\n\n        try {\n            // Check if the value is negative\n            const isNegative = valueStr.startsWith('-');\n            // Get the absolute value string\n            const absoluteValueStr = isNegative ? valueStr.substring(1) : valueStr;\n\n            // Split the number into integer and decimal parts\n            const parts = absoluteValueStr.split('.');\n            let integerPart = parts[0] || '0';  // Default to '0' if empty\n            let decimalPart = parts.length > 1 ? parts[1] : '';\n\n            // If there's no decimal part and exp > 0, we should add zeros\n            if (decimalPart === '' && exp > 0) {\n                decimalPart = '0'.repeat(exp);\n            }\n\n            // Pad decimal part with zeros if needed\n            if (decimalPart.length < exp) {\n                decimalPart = decimalPart.padEnd(exp, '0');\n            }\n\n            // Determine if we need to round up\n            let roundUp = false;\n            if (decimalPart.length > exp) {\n                const nextDigit = parseInt(decimalPart.charAt(exp), 10);\n                roundUp = nextDigit >= 5;\n            }\n\n            // Trim the decimal part to the required precision\n            decimalPart = decimalPart.substring(0, exp);\n\n            // Handle rounding\n            if (roundUp) {\n                if (exp === 0) {\n                    // If exp is 0, we need to round the integer part\n                    integerPart = (BigInt(integerPart) + 1n).toString();\n                } else {\n                    // Create a number from the decimal part\n                    let decimalNum = parseInt(decimalPart, 10);\n\n                    // Add 1 to the decimal part\n                    decimalNum += 1;\n\n                    // Check if we need to carry over to the integer part\n                    if (decimalNum.toString().length > exp) {\n                        integerPart = (BigInt(integerPart) + 1n).toString();\n                        decimalNum = 0;\n                    }\n\n                    // Convert back to string and pad with leading zeros if needed\n                    decimalPart = decimalNum.toString().padStart(exp, '0');\n                }\n            }\n\n            // Combine the parts\n            let result: string;\n            if (exp > 0) {\n                // Remove trailing zeros if they're not significant\n                let trimmedDecimalPart = decimalPart;\n                while (trimmedDecimalPart.length > 0 && trimmedDecimalPart.charAt(trimmedDecimalPart.length - 1) === '0') {\n                    trimmedDecimalPart = trimmedDecimalPart.substring(0, trimmedDecimalPart.length - 1);\n                }\n\n                result = trimmedDecimalPart.length > 0 ? `${integerPart}.${trimmedDecimalPart}` : integerPart;\n            } else {\n                result = integerPart;\n            }\n\n            // Restore the negative sign if needed\n            return isNegative ? '-' + result : result;\n        } catch (error) {\n            console.error('Error in decimalAdjust:', error);\n            // If there's an error, return a formatted original value or '0'\n            return valueStr || '0';\n        }\n    }\n\n    /**\n     * Checks whether a value is defined or not\n     *\n     * @param value\n     */\n    private isDefined(value: number): boolean {\n        return value !== undefined && value !== null;\n    }\n\n    /**\n     * Check if the value is a valid number. Take into account the Big numbers\n     * more than 16 digits. Check if string contains only digits and dots.\n     * The number value must not be formatted.\n     * @param value the value to check\n     * @private\n     */\n    private isItaNumber(value: string): boolean {\n        const length = value?.split('.')[0].length\n        return length > 15 ? /^\\d+(\\.\\d+)?$/.test(value) : !isNaN(Number(value));\n    }\n\n    /**\n     * Parse the value to a number. For large numbers, the value is a string.\n     * The number value must not be formatted.\n     * @param value the value to parse\n     * @private\n     */\n    private parseBigNumber(value: string): number | string {\n        // for large numbers, the value is a string\n        const length = value?.split('.')[0].length\n        return length > 15 ? value : Number.parseFloat(value);\n    }\n\n    /**\n     * @description\n     * Transforms the invalid state input to a boolean value\n     *\n     * @param state\n     * @private\n     */\n    private invalidTransform(state: BooleanInput): boolean {\n        // in case it's controlled by NgControl override\n        const value = coerceBooleanProperty(state);\n\n        // set BaseDirective Attribute\n        this.euiDanger = value;\n\n        return value;\n    }\n}\n",
            "properties": [
                {
                    "name": "callOnValueChanged",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 42
                },
                {
                    "name": "initDateFormatter",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 38
                },
                {
                    "name": "initNumeralFormatter",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 36
                },
                {
                    "name": "initPhoneFormatter",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 39
                },
                {
                    "name": "initSwapHiddenInput",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 35
                },
                {
                    "name": "initTimeFormatter",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 37
                },
                {
                    "name": "onChange",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 43
                },
                {
                    "name": "onChangeListener",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 48
                },
                {
                    "name": "onCopy",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 46
                },
                {
                    "name": "onCopyListener",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 52
                },
                {
                    "name": "onCut",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 44
                },
                {
                    "name": "onCutListener",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 51
                },
                {
                    "name": "onFocus",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 45
                },
                {
                    "name": "onFocusListener",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 50
                },
                {
                    "name": "onKeyDown",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 47
                },
                {
                    "name": "onKeyDownListener",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 49
                },
                {
                    "name": "updateCreditCardPropsByValue",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 40
                },
                {
                    "name": "updateValueState",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 41
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [
                "Cleave"
            ]
        },
        {
            "name": "CompoDocConfig",
            "id": "interface-CompoDocConfig-adc0097964f185f2079637fe50fb71cc9bfa4e1abd1a0de21565f9554688ae342f997cbff2cc1ffb32d52a0d45c76482a9d8c59ad2d031250418b7e4304a527c",
            "file": "packages/components/dist/docs/template-playground/template-playground.component.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Component, OnInit, ViewChild, ElementRef, OnDestroy } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { TemplateEditorService } from './template-editor.service';\nimport { ZipExportService } from './zip-export.service';\nimport { HbsRenderService } from './hbs-render.service';\n\ninterface Template {\n  name: string;\n  path: string;\n  type: 'template' | 'partial';\n}\n\ninterface Session {\n  sessionId: string;\n  success: boolean;\n  message: string;\n}\n\ninterface CompoDocConfig {\n  hideGenerator?: boolean;\n  disableSourceCode?: boolean;\n  disableGraph?: boolean;\n  disableCoverage?: boolean;\n  disablePrivate?: boolean;\n  disableProtected?: boolean;\n  disableInternal?: boolean;\n  disableLifeCycleHooks?: boolean;\n  disableConstructors?: boolean;\n  disableRoutesGraph?: boolean;\n  disableSearch?: boolean;\n  disableDependencies?: boolean;\n  disableProperties?: boolean;\n  disableDomTree?: boolean;\n  disableTemplateTab?: boolean;\n  disableStyleTab?: boolean;\n  disableMainGraph?: boolean;\n  disableFilePath?: boolean;\n  disableOverview?: boolean;\n  hideDarkModeToggle?: boolean;\n  minimal?: boolean;\n  customFavicon?: string;\n  includes?: string;\n  includesName?: string;\n}\n\n@Component({\n  selector: 'template-playground-root',\n  template: `\n    <div class=\"template-playground\">\n      <div class=\"template-playground-header\">\n        <h2>Template Playground</h2>\n        <div class=\"template-playground-status\">\n          <span *ngIf=\"sessionId\" class=\"session-info\">Session: {{sessionId.substring(0, 8)}}...</span>\n          <span *ngIf=\"saving\" class=\"saving-indicator\">Saving...</span>\n          <span *ngIf=\"lastSaved\" class=\"last-saved\">Last saved: {{lastSaved | date:'short'}}</span>\n        </div>\n        <div class=\"template-playground-actions\">\n          <button class=\"btn btn-secondary\" (click)=\"toggleConfigPanel()\">⚙️ Config</button>\n          <button class=\"btn btn-primary\" (click)=\"resetToDefault()\">Reset to Default</button>\n          <button class=\"btn btn-success\" (click)=\"exportZip()\">Download Templates</button>\n        </div>\n      </div>\n\n      <!-- Configuration Panel -->\n      <div class=\"config-panel\" [class.collapsed]=\"!showConfigPanel\">\n        <h3>CompoDoc Configuration</h3>\n        <div class=\"config-options\">\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.hideGenerator\" (change)=\"updateConfig()\"> Hide Generator</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.hideDarkModeToggle\" (change)=\"updateConfig()\"> Hide Dark Mode Toggle</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.minimal\" (change)=\"updateConfig()\"> Minimal Mode</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableOverview\" (change)=\"updateConfig()\"> Disable Overview</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableFilePath\" (change)=\"updateConfig()\"> Disable File Path</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableSourceCode\" (change)=\"updateConfig()\"> Disable Source Code</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableGraph\" (change)=\"updateConfig()\"> Disable Graph</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableMainGraph\" (change)=\"updateConfig()\"> Disable Main Graph</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableRoutesGraph\" (change)=\"updateConfig()\"> Disable Routes Graph</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableCoverage\" (change)=\"updateConfig()\"> Disable Coverage</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableSearch\" (change)=\"updateConfig()\"> Disable Search</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableDependencies\" (change)=\"updateConfig()\"> Disable Dependencies</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disablePrivate\" (change)=\"updateConfig()\"> Disable Private</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableProtected\" (change)=\"updateConfig()\"> Disable Protected</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableInternal\" (change)=\"updateConfig()\"> Disable Internal</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableLifeCycleHooks\" (change)=\"updateConfig()\"> Disable Lifecycle Hooks</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableConstructors\" (change)=\"updateConfig()\"> Disable Constructors</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableProperties\" (change)=\"updateConfig()\"> Disable Properties</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableDomTree\" (change)=\"updateConfig()\"> Disable DOM Tree</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableTemplateTab\" (change)=\"updateConfig()\"> Disable Template Tab</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableStyleTab\" (change)=\"updateConfig()\"> Disable Style Tab</label>\n        </div>\n      </div>\n\n      <div class=\"template-playground-body\">\n        <div class=\"template-playground-sidebar\">\n          <div class=\"template-file-list\">\n            <h3>Templates</h3>\n            <ul class=\"file-list\">\n              <li *ngFor=\"let template of templates; trackBy: trackByName\"\n                  [class.active]=\"selectedFile === template\"\n                  (click)=\"selectFile(template)\">\n                <i class=\"file-icon ion-document-text\"></i>\n                {{template.name}}\n                <span class=\"file-type\">{{template.type}}</span>\n              </li>\n            </ul>\n\n            <div *ngIf=\"templates.length === 0\" class=\"loading-templates\">\n              Loading templates...\n            </div>\n          </div>\n        </div>\n\n        <div class=\"template-playground-main\">\n          <div class=\"template-playground-editor\">\n            <div class=\"editor-header\" *ngIf=\"selectedFile\">\n              <h4>{{selectedFile.path}}</h4>\n              <span class=\"file-type-badge\">{{selectedFile.type}}</span>\n            </div>\n            <div #editorContainer class=\"editor-container\"></div>\n          </div>\n\n          <div class=\"template-playground-preview\">\n            <div class=\"preview-header\">\n              <h4>Live Preview</h4>\n              <button class=\"btn btn-sm btn-secondary\" (click)=\"refreshPreview()\">🔄 Refresh</button>\n            </div>\n            <iframe #previewFrame class=\"preview-frame\" [src]=\"previewUrl\"></iframe>\n          </div>\n        </div>\n      </div>\n    </div>\n  `,\n  styles: [`\n    .template-playground {\n      display: flex;\n      flex-direction: column;\n      height: 100vh;\n      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n    }\n\n    .template-playground-header {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      padding: 1rem 2rem;\n      background: #f8f9fa;\n      border-bottom: 1px solid #dee2e6;\n    }\n\n    .template-playground-status {\n      display: flex;\n      align-items: center;\n      gap: 1rem;\n      font-size: 0.875rem;\n    }\n\n    .session-info {\n      color: #6c757d;\n      font-family: monospace;\n    }\n\n    .saving-indicator {\n      color: #ffc107;\n      font-weight: bold;\n    }\n\n    .last-saved {\n      color: #28a745;\n    }\n\n    .template-playground-actions {\n      display: flex;\n      gap: 0.5rem;\n    }\n\n    .config-panel {\n      background: #e9ecef;\n      padding: 1rem 2rem;\n      border-bottom: 1px solid #dee2e6;\n      transition: all 0.3s ease;\n      max-height: 200px;\n      overflow: hidden;\n    }\n\n    .config-panel.collapsed {\n      max-height: 0;\n      padding: 0 2rem;\n    }\n\n    .config-options {\n      display: grid;\n      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n      gap: 0.5rem;\n      margin-top: 0.5rem;\n    }\n\n    .config-options label {\n      display: flex;\n      align-items: center;\n      gap: 0.5rem;\n      font-size: 0.875rem;\n    }\n\n    .template-playground-body {\n      display: flex;\n      flex: 1;\n      overflow: hidden;\n    }\n\n    .template-playground-sidebar {\n      width: 250px;\n      background: #f8f9fa;\n      border-right: 1px solid #dee2e6;\n      overflow-y: auto;\n    }\n\n    .template-file-list {\n      padding: 1rem;\n    }\n\n    .template-file-list h3 {\n      margin: 0 0 0.5rem 0;\n      font-size: 0.875rem;\n      font-weight: 600;\n      color: #495057;\n      text-transform: uppercase;\n      letter-spacing: 0.5px;\n    }\n\n    .file-list {\n      list-style: none;\n      padding: 0;\n      margin: 0 0 1.5rem 0;\n    }\n\n    .file-list li {\n      display: flex;\n      align-items: center;\n      padding: 0.5rem;\n      cursor: pointer;\n      border-radius: 4px;\n      font-size: 0.875rem;\n      transition: background-color 0.15s ease;\n    }\n\n    .file-list li:hover {\n      background: #e9ecef;\n    }\n\n    .file-list li.active {\n      background: #007bff;\n      color: white;\n    }\n\n    .file-icon {\n      margin-right: 0.5rem;\n      opacity: 0.7;\n    }\n\n    .file-type {\n      margin-left: auto;\n      font-size: 0.75rem;\n      opacity: 0.7;\n      text-transform: uppercase;\n    }\n\n    .loading-templates {\n      text-align: center;\n      color: #6c757d;\n      font-style: italic;\n      padding: 2rem;\n    }\n\n    .template-playground-main {\n      flex: 1;\n      display: flex;\n      overflow: hidden;\n    }\n\n    .template-playground-editor {\n      width: 50%;\n      display: flex;\n      flex-direction: column;\n      border-right: 1px solid #dee2e6;\n    }\n\n    .editor-header {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      padding: 0.75rem 1rem;\n      background: #f8f9fa;\n      border-bottom: 1px solid #dee2e6;\n    }\n\n    .editor-header h4 {\n      margin: 0;\n      font-size: 0.875rem;\n      font-weight: 600;\n    }\n\n    .file-type-badge {\n      background: #6c757d;\n      color: white;\n      padding: 0.125rem 0.5rem;\n      border-radius: 12px;\n      font-size: 0.75rem;\n      text-transform: uppercase;\n    }\n\n    .editor-container {\n      flex: 1;\n      position: relative;\n    }\n\n    .template-playground-preview {\n      width: 50%;\n      display: flex;\n      flex-direction: column;\n    }\n\n    .preview-header {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      padding: 0.75rem 1rem;\n      background: #f8f9fa;\n      border-bottom: 1px solid #dee2e6;\n    }\n\n    .preview-header h4 {\n      margin: 0;\n      font-size: 0.875rem;\n      font-weight: 600;\n    }\n\n    .preview-frame {\n      flex: 1;\n      border: none;\n      background: white;\n    }\n\n    .btn {\n      padding: 0.375rem 0.75rem;\n      border: 1px solid transparent;\n      border-radius: 0.25rem;\n      font-size: 0.875rem;\n      font-weight: 500;\n      text-decoration: none;\n      cursor: pointer;\n      transition: all 0.15s ease;\n    }\n\n    .btn-primary {\n      background: #007bff;\n      border-color: #007bff;\n      color: white;\n    }\n\n    .btn-primary:hover {\n      background: #0056b3;\n      border-color: #004085;\n    }\n\n    .btn-secondary {\n      background: #6c757d;\n      border-color: #6c757d;\n      color: white;\n    }\n\n    .btn-secondary:hover {\n      background: #545b62;\n      border-color: #4e555b;\n    }\n\n    .btn-success {\n      background: #28a745;\n      border-color: #28a745;\n      color: white;\n    }\n\n    .btn-success:hover {\n      background: #1e7e34;\n      border-color: #1c7430;\n    }\n\n    .btn-sm {\n      padding: 0.25rem 0.5rem;\n      font-size: 0.75rem;\n    }\n  `]\n})\nexport class TemplatePlaygroundComponent implements OnInit, OnDestroy {\n  @ViewChild('editorContainer', { static: true }) editorContainer!: ElementRef;\n  @ViewChild('previewFrame', { static: true }) previewFrame!: ElementRef;\n\n  sessionId: string = '';\n  templates: Template[] = [];\n  selectedFile: Template | null = null;\n  config: CompoDocConfig = {};\n  showConfigPanel: boolean = false;\n  saving: boolean = false;\n  lastSaved: Date | null = null;\n\n  private saveTimeout?: number;\n  private readonly SAVE_DELAY = 300; // 300ms debounce\n\n  get previewUrl(): string {\n    return this.sessionId ? `/api/session/${this.sessionId}/docs/` : '';\n  }\n\n  constructor(\n    private http: HttpClient,\n    private editorService: TemplateEditorService,\n    private zipService: ZipExportService,\n    private hbsService: HbsRenderService\n  ) {}\n\n  async ngOnInit() {\n    try {\n      await this.createSession();\n      await this.loadSessionTemplates();\n      await this.loadSessionConfig();\n      this.initializeEditor();\n    } catch (error) {\n      console.error('Error initializing template playground:', error);\n    }\n  }\n\n  ngOnDestroy() {\n    if (this.saveTimeout) {\n      clearTimeout(this.saveTimeout);\n    }\n  }\n\n  private async createSession(): Promise<void> {\n    const response = await this.http.post<Session>('/api/session/create', {}).toPromise();\n    if (response && response.success) {\n      this.sessionId = response.sessionId;\n      console.log('Session created:', this.sessionId);\n    } else {\n      throw new Error('Failed to create session');\n    }\n  }\n\n  private async loadSessionTemplates(): Promise<void> {\n    if (!this.sessionId) return;\n\n    const response = await this.http.get<{templates: Template[], success: boolean}>(`/api/session/${this.sessionId}/templates`).toPromise();\n    if (response && response.success) {\n      this.templates = response.templates;\n\n      // Auto-select the first template\n      if (this.templates.length > 0 && !this.selectedFile) {\n        this.selectFile(this.templates[0]);\n      }\n    }\n  }\n\n  private async loadSessionConfig(): Promise<void> {\n    if (!this.sessionId) return;\n\n    const response = await this.http.get<{config: CompoDocConfig, success: boolean}>(`/api/session/${this.sessionId}/config`).toPromise();\n    if (response && response.success) {\n      this.config = response.config;\n    }\n  }\n\n  initializeEditor() {\n    this.editorService.initializeEditor(this.editorContainer.nativeElement);\n\n    // Set up debounced save on content change\n    this.editorService.setOnChangeCallback((content: string) => {\n      this.scheduleAutoSave(content);\n    });\n  }\n\n  async selectFile(template: Template) {\n    this.selectedFile = template;\n\n    if (!this.sessionId) return;\n\n    try {\n      const response = await this.http.get<{content: string, success: boolean}>(`/api/session/${this.sessionId}/template/${template.path}`).toPromise();\n      if (response && response.success) {\n        this.editorService.setEditorContent(response.content, template.type === 'template' ? 'handlebars' : 'handlebars');\n      }\n    } catch (error) {\n      console.error('Error loading template:', error);\n    }\n  }\n\n  private scheduleAutoSave(content: string): void {\n    if (!this.selectedFile || !this.sessionId) return;\n\n    // Clear existing timeout\n    if (this.saveTimeout) {\n      clearTimeout(this.saveTimeout);\n    }\n\n    // Set saving indicator\n    this.saving = true;\n\n    // Schedule new save\n    this.saveTimeout = window.setTimeout(async () => {\n      try {\n        await this.saveTemplate(content);\n        this.saving = false;\n        this.lastSaved = new Date();\n      } catch (error) {\n        console.error('Error saving template:', error);\n        this.saving = false;\n      }\n    }, this.SAVE_DELAY);\n  }\n\n  private async saveTemplate(content: string): Promise<void> {\n    if (!this.selectedFile || !this.sessionId) return;\n\n    const response = await this.http.post<{success: boolean}>(`/api/session/${this.sessionId}/template/${this.selectedFile.path}`, {\n      content\n    }).toPromise();\n\n    if (!response || !response.success) {\n      throw new Error('Failed to save template');\n    }\n  }\n\n  async updateConfig(): Promise<void> {\n    if (!this.sessionId) return;\n\n    try {\n      const response = await this.http.post<{success: boolean}>(`/api/session/${this.sessionId}/config`, {\n        config: this.config\n      }).toPromise();\n\n      if (response && response.success) {\n        // Config updated, documentation will be regenerated automatically\n      }\n    } catch (error) {\n      console.error('Error updating config:', error);\n    }\n  }\n\n  toggleConfigPanel(): void {\n    this.showConfigPanel = !this.showConfigPanel;\n  }\n\n  refreshPreview(): void {\n    if (this.previewFrame?.nativeElement) {\n      this.previewFrame.nativeElement.src = this.previewFrame.nativeElement.src;\n    }\n  }\n\n  resetToDefault(): void {\n    // Implementation for resetting to default templates\n    if (confirm('Are you sure you want to reset all templates to their default values? This action cannot be undone.')) {\n      // TODO: Implement reset functionality\n      console.log('Reset to default templates');\n    }\n  }\n\n  async exportZip(): Promise<void> {\n    try {\n      if (!this.sessionId) {\n        console.error('No active session. Please refresh the page and try again.');\n        return;\n      }\n\n      console.log('Creating template package...');\n\n      // Call server-side ZIP creation endpoint for all templates\n      const response = await this.http.post(`/api/session/${this.sessionId}/download-all-templates`, {}, {\n        responseType: 'blob',\n        observe: 'response'\n      }).toPromise();\n\n      if (!response || !response.body) {\n        throw new Error('Failed to create template package');\n      }\n\n      // Get the ZIP file as a blob\n      const zipBlob = response.body;\n\n      // Get filename from response headers or construct it\n      const contentDisposition = response.headers.get('Content-Disposition');\n      let filename = `compodoc-templates-${this.sessionId}.zip`;\n\n      if (contentDisposition) {\n        const filenameMatch = contentDisposition.match(/filename=\"([^\"]+)\"/);\n        if (filenameMatch) {\n          filename = filenameMatch[1];\n        }\n      }\n\n      // Create download link and trigger download\n      const url = URL.createObjectURL(zipBlob);\n      const a = document.createElement('a');\n      a.href = url;\n      a.download = filename;\n      document.body.appendChild(a);\n      a.click();\n      document.body.removeChild(a);\n      URL.revokeObjectURL(url);\n\n      console.log('Template package downloaded successfully!');\n    } catch (error) {\n      console.error('Error downloading template package:', error);\n    }\n  }\n\n  trackByName(index: number, item: Template): string {\n    return item.name;\n  }\n}\n",
            "properties": [
                {
                    "name": "customFavicon",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 41
                },
                {
                    "name": "disableConstructors",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 28
                },
                {
                    "name": "disableCoverage",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 23
                },
                {
                    "name": "disableDependencies",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 31
                },
                {
                    "name": "disableDomTree",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 33
                },
                {
                    "name": "disableFilePath",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 37
                },
                {
                    "name": "disableGraph",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 22
                },
                {
                    "name": "disableInternal",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 26
                },
                {
                    "name": "disableLifeCycleHooks",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 27
                },
                {
                    "name": "disableMainGraph",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 36
                },
                {
                    "name": "disableOverview",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 38
                },
                {
                    "name": "disablePrivate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 24
                },
                {
                    "name": "disableProperties",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 32
                },
                {
                    "name": "disableProtected",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 25
                },
                {
                    "name": "disableRoutesGraph",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 29
                },
                {
                    "name": "disableSearch",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 30
                },
                {
                    "name": "disableSourceCode",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 21
                },
                {
                    "name": "disableStyleTab",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 35
                },
                {
                    "name": "disableTemplateTab",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 34
                },
                {
                    "name": "hideDarkModeToggle",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 39
                },
                {
                    "name": "hideGenerator",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 20
                },
                {
                    "name": "includes",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 42
                },
                {
                    "name": "includesName",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 43
                },
                {
                    "name": "minimal",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 40
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "ContentChange",
            "id": "interface-ContentChange-ac75c23e756525716e7c4a46e4b323ebc8e13d3b9fa4961eec040d13616f5de31ef44d89586c853c4fb6a8906068f7f04a1255b38303c83d2f54667be080cc23",
            "file": "packages/components/externals/quill/models/editor.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface BetterTableModule {\n    insertTable(rows: number, columns: number): void;\n}\n\nexport interface ToolbarItemConfig {\n    name: string;\n    label?: string;\n    options?: any[];\n    dialogMessage?: string;\n}\n\nexport type EditorChangeContent = ContentChange & { event: 'text-change' };\nexport type EditorChangeSelection = SelectionChange & { event: 'selection-change' };\n\nexport interface Focus {\n    editor: any;\n    source: string;\n}\n\nexport interface Range {\n    index: number;\n    length: number;\n}\n\nexport interface ContentChange {\n    content: any;\n    delta: any;\n    editor: any;\n    html: string | null;\n    oldDelta: any;\n    source: string;\n    text: string;\n}\n\nexport interface SelectionChange {\n    editor: any;\n    oldRange: Range | null;\n    range: Range | null;\n    source: string;\n}\n\nexport interface Blur {\n    editor: any;\n    source: string;\n}\n",
            "properties": [
                {
                    "name": "content",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 26
                },
                {
                    "name": "delta",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 27
                },
                {
                    "name": "editor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 28
                },
                {
                    "name": "html",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string | null",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 29
                },
                {
                    "name": "oldDelta",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 30
                },
                {
                    "name": "source",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 31
                },
                {
                    "name": "text",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 32
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "ConvertToNumberResult",
            "id": "interface-ConvertToNumberResult-cdf60ab62aeb9f9e950e2a1e0accabcd4617ad23b32593eb0b119c69195a0d115f4fad7035e986d98b35a7c627e7be548cedaf70bdbfc87a940f7347b4471564",
            "file": "packages/components/eui-input-number/eui-number-control.directive.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Directive, ElementRef, forwardRef, OnInit, PLATFORM_ID, inject } from '@angular/core';\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\nimport { CleaveInstance, EuiInputNumberComponent } from './eui-input-number.component';\nimport Cleave from 'cleave.js';\nimport { DOCUMENT, isPlatformServer } from '@angular/common';\n\ninterface ConvertToNumberResult {\n\tcanConvert: boolean;\n\treason: string;\n\tvalue: number | null;\n\toriginal?: string;\n\tconverted?: number;\n}\n\n/**\n * @description\n * Directive for the {@link EuiInputNumberComponent}. This directive is used to\n * handle the value changes of the input element and update the value of the\n * directive and the form control. It also implements the ControlValueAccessor\n * interface to allow the directive to be used with reactive forms.\n *\n * @usageNotes\n * ### With Reactive Forms\n * ```typescript\n * form = new FormGroup({\n *   price: new FormControl(0)\n * });\n * ```\n *\n * ```html\n * <input euiInputNumber formControlName=\"price\" [fractionDigits]=\"2\" />\n * ```\n *\n * ### Accessibility\n * - Integrates with Angular Forms validation\n * - Automatically handles disabled state\n *\n * ### Notes\n * - Automatically applied when using formControl, formControlName, or ngModel\n * - Handles large number precision by returning strings when needed\n */\n@Directive({\n    selector: 'input[euiInputNumber][formControl],input[euiInputNumber][formControlName],input[euiInputNumber][ngModel]',\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => EuiInputNumberDirective),\n            multi: true,\n        },\n        {\n            provide: NG_VALIDATORS,\n            useExisting: forwardRef(() => EuiInputNumberDirective),\n            multi: true,\n        },\n    ],\n})\nexport class EuiInputNumberDirective implements ControlValueAccessor, Validator, OnInit {\n    private onValidatorChange: () => void;\n    private wasIncomplete = false;\n    /**\n     * holds a copy of the value\n     */\n    private value: number | string;\n    private onChange: (t: number | string) => void;\n    private elementRef = inject(ElementRef);\n    private euiNumberComponent = inject(EuiInputNumberComponent, { optional: true })!;\n    private document = inject<Document>(DOCUMENT);\n    private platformId = inject(PLATFORM_ID);\n\n    ngOnInit(): void {\n        this.euiNumberComponent['initCleave'](this.valueChanges.bind(this));\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    writeValue(obj: any): void {\n        if (isPlatformServer(this.platformId)) {\n            return;\n        }\n        const cleave: CleaveInstance = new Cleave(this.document.createElement('input'), { ...this.euiNumberComponent['options'] });\n        cleave.setRawValue(obj);\n        if (this.euiNumberComponent.fillFraction() && obj !== '' && obj) {\n            this.euiNumberComponent['applyFractionFill'](obj, cleave);\n        }\n        let valueOfElement: string;\n        // fill leading zero\n        if (this.euiNumberComponent.leadingZero()) {\n            const size =\n                this.euiNumberComponent.leadingZero() > this.euiNumberComponent.digits() && this.euiNumberComponent.digits() > 0\n                    ? this.euiNumberComponent.digits()\n                    : this.euiNumberComponent.leadingZero();\n            valueOfElement = this.euiNumberComponent['padZero'](cleave.getFormattedValue(), size);\n        } else {\n            valueOfElement = cleave.getFormattedValue();\n        }\n        this.elementRef.nativeElement.value = valueOfElement;\n\t\tconst { canConvert } = this.canSafelyConvertToNumber(cleave.getRawValue())\n\t\tthis.value = !canConvert ? cleave.getRawValue() : Number.parseFloat(cleave.getRawValue());\n\t\tcleave.destroy();\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    registerOnChange(fn: any): void {\n        this.onChange = (t): void => {\n            this.value = t;\n            fn(t);\n        };\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    registerOnTouched(fn: any): void {\n        this.onTouched = fn;\n    }\n\n    /**\n     * Set the disabled state of the input element.\n     *\n     * @param isDisabled\n     */\n    setDisabledState(isDisabled: boolean): void {\n        this.euiNumberComponent.disabled = isDisabled;\n    }\n\n    validate(control: AbstractControl): ValidationErrors | null {\n        const raw = this.elementRef.nativeElement.value;\n        return raw !== '' && !/\\d/.test(raw) ? { incomplete: true } : null;\n    }\n\n    registerOnValidatorChange(fn: () => void): void {\n        this.onValidatorChange = fn;\n    }\n\n    private onTouched(): void {\n        // this.euiNumberComponent.isInvalid = this.control.invalid;\n    }\n\n    /**\n     * Handle the value changes of the input element and update the value of the\n     * directive and the form control. For large numbers, the value is a string.\n     *\n     * @param event\n     */\n    private valueChanges(event): void {\n        const { target } = event;\n\n        this.euiNumberComponent['onValueChanged'](event);\n\n        // Skip intermediate/incomplete values that contain no digit yet\n        const isIncomplete = target.rawValue !== '' && !/\\d/.test(target.rawValue);\n        if (isIncomplete !== this.wasIncomplete) {\n            this.wasIncomplete = isIncomplete;\n            this.onValidatorChange?.();\n        }\n        if (isIncomplete) {\n            return;\n        }\n\n\t\tconst { canConvert, value } = this.canSafelyConvertToNumber(target.rawValue);\n\t\t// Only emit change if the value has actually changed\n\t\tif (this.value !== target.rawValue && this.onChange) {\n\t\t\tthis.onChange(!canConvert ? target.rawValue: value);\n\t\t}\n    }\n\n\t/**\n\t * Check if a numeric string can be safely converted to a number without\n\t * losing precision or exceeding JavaScript's maximum safe integer limit.\n\t * This is important for very large numbers that may be represented\n\t * as strings to avoid precision loss.\n\t *\n\t * @param numString The numeric string to check\n\t * @return An object indicating if conversion is safe, the reason if not, and the converted value if safe\n\t */\n\tprivate canSafelyConvertToNumber(numString: string): ConvertToNumberResult {\n\t\t// Remove whitespace\n\t\tconst trimmed = numString.trim();\n\n\t\tif (trimmed === '') {\n\t\t\treturn {\n\t\t\t\tcanConvert: false,\n\t\t\t\treason: 'Empty string converts to null',\n\t\t\t\tvalue: null,\n\t\t\t};\n\t\t}\n\n\t\t// Convert to number\n\t\tconst numValue = Number(trimmed);\n\n\t\t// Check if it's infinity (exceeds MAX_VALUE)\n\t\tif (!isFinite(numValue)) {\n\t\t\treturn {\n\t\t\t\tcanConvert: false,\n\t\t\t\treason: 'Number exceeds maximum value',\n\t\t\t\tvalue: null,\n\t\t\t};\n\t\t}\n\n\t\t// Convert back to string\n\t\tconst convertedBack = numValue.toString();\n\n\t\t// Normalize BOTH strings without converting to number\n\t\tconst normalizedOriginal = this.normalizeStringOnly(trimmed);\n\t\tconst normalizedConverted = this.normalizeStringOnly(convertedBack);\n\n\t\tif (normalizedOriginal !== normalizedConverted) {\n\t\t\treturn {\n\t\t\t\tcanConvert: false,\n\t\t\t\treason: 'Precision loss detected',\n\t\t\t\tvalue: null,\n\t\t\t\toriginal: trimmed,\n\t\t\t\tconverted: numValue,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tcanConvert: true,\n\t\t\treason: 'Safe to convert',\n\t\t\tvalue: numValue,\n\t\t};\n\t}\n\n\t/**\n\t * Normalize a numeric string by removing leading/trailing zeros and signs,\n\t * without converting to a number. This helps compare the original and converted\n\t * strings for equivalence.\n\t *\n\t * @param str The numeric string to normalize\n\t * @returns The normalized string\n\t */\n\tprivate normalizeStringOnly(str: string): string {\n\t\tlet s = str.trim();\n\n\t\t// Remove leading + sign\n\t\tif (s.startsWith('+')) {\n\t\t\ts = s.substring(1);\n\t\t}\n\n\t\t// Handle decimal numbers\n\t\tif (s.includes('.')) {\n\t\t\tlet [intPart, decPart] = s.split('.');\n\n\t\t\t// Remove leading zeros from integer part (but keep at least one zero)\n\t\t\tintPart = intPart.replace(/^0+/, '') || '0';\n\n\t\t\t// Remove trailing zeros from decimal part\n\t\t\tdecPart = decPart.replace(/0+$/, '');\n\n\t\t\t// If no decimal digits left, return just integer\n\t\t\tif (decPart === '') {\n\t\t\t\treturn intPart;\n\t\t\t}\n\n\t\t\treturn intPart + '.' + decPart;\n\t\t} else {\n\t\t\t// Integer - remove leading zeros\n\t\t\treturn s.replace(/^0+/, '') || '0';\n\t\t}\n\t}\n\n}\n",
            "properties": [
                {
                    "name": "canConvert",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "converted",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 12
                },
                {
                    "name": "original",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 11
                },
                {
                    "name": "reason",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 9
                },
                {
                    "name": "value",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number | null",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "CustomOption",
            "id": "interface-CustomOption-7b90ce49ab23b45741b18fd255660a40d9769c37f4e2f385674174aedf08351c185304ddb3e58aaadd5643af789aecf98a989921452c89152b024d29df613198",
            "file": "packages/components/externals/quill/quill-editor.component.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { isPlatformServer } from '@angular/common';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport {\n    QUILL_CONFIG_TOKEN,\n    QuillConfig,\n    QuillFormat,\n    QuillModules,\n} from './quill-editor.interfaces';\n\nimport {\n    AfterViewInit,\n    booleanAttribute,\n    Component,\n    ElementRef,\n    EventEmitter,\n    forwardRef,\n    Input,\n    NgZone,\n    OnChanges,\n    OnDestroy,\n    Output,\n    PLATFORM_ID,\n    Renderer2,\n    SecurityContext,\n    SimpleChanges,\n    ViewEncapsulation,\n    inject,\n} from '@angular/core';\n\nimport { ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\n\nimport { DOCUMENT } from '@angular/common';\nimport { defaultModules } from './quill-defaults';\nimport { ContentChange, SelectionChange, Range } from './models/editor.model';\nimport { LoaderService } from './loader.service';\n\n// Because quill uses `document` directly, we cannot `import` during SSR\n// instead, we load dynamically via `require('quill')` in `ngAfterViewInit()`\n// eslint-disable-next-line no-var\ndeclare var require: any;\n// eslint-disable-next-line no-var\ndeclare var Quill: any;\n// let Quill: any = window['Quill'];\n\nexport interface CustomOption {\n    import: string;\n    whitelist: any[];\n}\n\nconst getFormat = (format?: QuillFormat, configFormat?: QuillFormat): QuillFormat => {\n    const passedFormat = format || configFormat;\n    return passedFormat || 'html';\n};\n\n@Component({\n    encapsulation: ViewEncapsulation.None,\n    providers: [\n        {\n            multi: true,\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => QuillEditorComponent),\n        },\n        {\n            multi: true,\n            provide: NG_VALIDATORS,\n            useExisting: forwardRef(() => QuillEditorComponent),\n        },\n    ],\n    // eslint-disable-next-line @angular-eslint/component-selector\n    selector: 'quill-editor',\n    template: `<ng-content select=\"[quill-editor-toolbar]\" />`,\n})\nexport class QuillEditorComponent implements AfterViewInit, ControlValueAccessor, OnChanges, OnDestroy, Validator {\n    quillEditor: any;\n    editorElem: HTMLElement | undefined;\n    content: any;\n    protected loaded = false;\n\n    @Input() id: string;\n    @Input() format?: 'object' | 'html' | 'text' | 'json';\n    @Input() theme?: string;\n    @Input() modules?: QuillModules;\n    @Input() debug?: 'warn' | 'log' | 'error' | false;\n    @Input() placeholder?: string;\n    @Input() maxLength?: number;\n    @Input() minLength?: number;\n    @Input() formats?: string[] | null;\n    @Input() customToolbarPosition: 'top' | 'bottom' = 'top';\n    @Input() styles: any = null;\n    @Input() scrollingContainer?: HTMLElement | string | null;\n    @Input() bounds?: HTMLElement | string;\n    @Input() customOptions: CustomOption[] = [];\n    @Input() trackChanges?: 'user' | 'all';\n    @Input() hasImageFeature: boolean;\n\n    // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n    @Output() onEditorCreated: EventEmitter<any> = new EventEmitter();\n    // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n    @Output() onContentChanged: EventEmitter<ContentChange> = new EventEmitter();\n    // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n    @Output() onSelectionChanged: EventEmitter<SelectionChange> = new EventEmitter();\n    // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n    @Output() onFocus: EventEmitter<{\n        editor: any;\n        source: string;\n    }> = new EventEmitter();\n    // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n    @Output() onBlur: EventEmitter<{\n        editor: any;\n        source: string;\n    }> = new EventEmitter();\n\n    @Input({ transform: booleanAttribute }) readOnly?: boolean;\n    @Input({ transform: booleanAttribute }) required = false;\n    @Input({ transform: booleanAttribute }) sanitize = false;\n    @Input({ transform: booleanAttribute }) strict = true;\n    @Input({ transform: booleanAttribute }) preserveWhitespace = false;\n\n    private disabled = false;\n    private elementRef = inject(ElementRef);\n    private domSanitizer = inject(DomSanitizer);\n    private doc = inject(DOCUMENT);\n    private platformId = inject(PLATFORM_ID);\n    private renderer = inject(Renderer2);\n    private zone = inject(NgZone);\n    private config = inject<QuillConfig>(QUILL_CONFIG_TOKEN);\n    private loader = inject(LoaderService);\n\n    // eslint-disable-next-line no-empty,no-empty-function,@typescript-eslint/no-empty-function, @typescript-eslint/explicit-function-return-type\n    onModelChange(_modelValue?: any) {}\n    // eslint-disable-next-line no-empty, no-empty-function, @typescript-eslint/no-empty-function, @typescript-eslint/explicit-function-return-type\n    onModelTouched() {}\n\n    @Input()\n    valueGetter = (quillEditor: any, editorElement: HTMLElement): string | any => {\n        let html: string | null = editorElement.querySelector('.ql-editor')?.innerHTML;\n        if (html === '<p><br></p>' || html === '<div><br><div>') {\n            html = null;\n        }\n        let modelValue = html;\n        const format = getFormat(this.format, this.config.format);\n\n        if (format === 'text') {\n            modelValue = quillEditor.getText();\n        } else if (format === 'object') {\n            modelValue = quillEditor.getContents();\n        } else if (format === 'json') {\n            try {\n                modelValue = JSON.stringify(quillEditor.getContents());\n            } catch (e) {\n                modelValue = quillEditor.getText();\n            }\n        }\n\n        return modelValue;\n    };\n\n    @Input()\n    valueSetter = (quillEditor: any, value: any): any => {\n        const format = getFormat(this.format, this.config.format);\n        if (format === 'html') {\n            if (this.sanitize) {\n                value = this.domSanitizer.sanitize(SecurityContext.HTML, value);\n            }\n            return quillEditor.clipboard.convert({ html: value });\n        } else if (format === 'json') {\n            try {\n                return JSON.parse(value);\n            } catch (e) {\n                return [{ insert: value }];\n            }\n        }\n\n        return value;\n    };\n\n    ngAfterViewInit(): void {\n        // const loader = new LoaderService();\n        this.loader.load().subscribe({\n            complete: () => {\n                // setup keyboard bindings from BetterTable if present\n                const QuillBetterTable = window['quillBetterTable'];\n                if(QuillBetterTable) {\n                    // check if already registered\n                    if(!window['Quill'].imports.hasOwnProperty('modules/better-table')) {\n                        window['Quill'].register({ 'modules/better-table': QuillBetterTable });\n                    }\n                    if(!this.config.modules.keyboard) {\n                        this.config.modules.keyboard = {\n                            bindings: QuillBetterTable?.keyboardBindings,\n                        };\n                    }\n                }\n\n                if (isPlatformServer(this.platformId)) {\n                    return;\n                }\n                if (!Quill) {\n                    // Quill = require('quill')\n                    Quill = window['Quill'];\n                }\n\n                // The formats feature has changed since prod version 2.0.0.rc-3 and is now reflecting the allowed formats (white list)\n                // We no more need this function. See: https://github.com/slab/quill/releases/tag/v2.0.0-rc.3\n                // this.overrideScrollBehavior(Quill);\n\n                this.loaded = true;\n\n                this.elementRef.nativeElement.insertAdjacentHTML(\n                    this.customToolbarPosition === 'top' ? 'beforeend' : 'afterbegin',\n                    this.preserveWhitespace ? '<pre quill-editor-element></pre>' : '<div quill-editor-element></div>'\n                );\n\n                this.editorElem = this.elementRef.nativeElement.querySelector('[quill-editor-element]');\n\n                const toolbarElem = this.elementRef.nativeElement.querySelector('[quill-editor-toolbar]');\n                let modules = this.modules || this.config.modules || defaultModules;\n                if (modules.toolbar === undefined) {\n                    modules.toolbar = defaultModules.toolbar;\n                }\n\n                let placeholder = this.placeholder !== undefined ? this.placeholder : this.config.placeholder;\n                if (placeholder === undefined) {\n                    placeholder = 'Insert text here ...';\n                }\n\n                if (toolbarElem) {\n                    // eslint-disable-next-line dot-notation,@typescript-eslint/dot-notation\n                    modules['toolbar'] = toolbarElem;\n                }\n\n                if (!this.hasImageFeature) {\n                    modules['uploader'] = { handler: () => false };\n                } else {\n                    modules['uploader'] = { mimetypes: ['image/png', 'image/jpeg'] };\n                }\n\n                if (this.styles) {\n                    Object.keys(this.styles).forEach((key: string) => {\n                        this.renderer.setStyle(this.editorElem, key, this.styles[key]);\n                    });\n                }\n\n                this.customOptions.forEach((customOption) => {\n                    const newCustomOption = Quill.import(customOption.import);\n                    newCustomOption.whitelist = customOption.whitelist;\n                    Quill.register(newCustomOption, true);\n                });\n\n                let bounds = this.bounds && this.bounds === 'self' ? this.editorElem : this.bounds;\n                if (!bounds) {\n                    bounds = this.config.bounds ? this.config.bounds : this.doc.body;\n                }\n\n                let debug = this.debug;\n                if (!debug && debug !== false && this.config.debug) {\n                    debug = this.config.debug;\n                }\n\n                let readOnly = this.readOnly;\n                if (!readOnly && this.readOnly !== false) {\n                    readOnly = this.config.readOnly !== undefined ? this.config.readOnly : false;\n                }\n\n                let scrollingContainer = this.scrollingContainer;\n                if (!scrollingContainer && this.scrollingContainer !== null) {\n                    scrollingContainer =\n                        this.config.scrollingContainer === null || this.config.scrollingContainer ? this.config.scrollingContainer : null;\n                }\n\n                let formats = this.formats;\n                if (!formats && formats === undefined) {\n                    formats = this.config.formats || this.config.formats === null ? this.config.formats : undefined;\n                }\n                Quill.formats = { ...Quill.formats, [this.id]: formats };\n\n                if (formats && formats.indexOf('table') !== -1) {\n                    modules = {\n                        ...modules,\n                        'better-table': false,\n                    }\n                }\n\n                this.quillEditor = new Quill(this.editorElem, {\n                    bounds,\n                    debug,\n                    formats,\n                    modules,\n                    placeholder,\n                    readOnly,\n                    scrollingContainer,\n                    strict: this.strict,\n                    theme: this.theme || (this.config.theme ? this.config.theme : 'snow'),\n                });\n                this.quillEditor.container.firstChild.id = this.id;\n\n                if (this.content) {\n                    const format = getFormat(this.format, this.config.format);\n                    if (format === 'object') {\n                        this.quillEditor.setContents(this.content, 'silent');\n                    } else if (format === 'text') {\n                        this.quillEditor.setText(this.content, 'silent');\n                    } else if (format === 'json') {\n                        try {\n                            this.quillEditor.setContents(JSON.parse(this.content), 'silent');\n                        } catch (e) {\n                            this.quillEditor.setText(this.content, 'silent');\n                        }\n                    } else {\n                        if (this.sanitize) {\n                            this.content = this.domSanitizer.sanitize(SecurityContext.HTML, this.content);\n                        }\n                        const contents = this.quillEditor.clipboard.convert(this.content);\n                        this.quillEditor.setContents(contents, 'silent');\n                    }\n\n                    this.quillEditor.history.clear();\n                }\n\n                // initialize disabled status based on this.disabled as default value\n                this.setDisabledState();\n\n                this.onEditorCreated.emit(this.quillEditor);\n\n                // mark model as touched if editor lost focus\n                this.quillEditor.on('selection-change', this.selectionChangeHandler);\n\n                // update model if text changes\n                this.quillEditor.on('text-change', this.textChangeHandler);\n            }\n        });\n    }\n\n    selectionChangeHandler = (range: Range | null, oldRange: Range | null, source: string): void => {\n        this.zone.run(() => {\n            if (range === null) {\n                this.onBlur.emit({\n                    editor: this.quillEditor,\n                    source,\n                });\n            } else if (oldRange === null) {\n                this.onFocus.emit({\n                    editor: this.quillEditor,\n                    source,\n                });\n            }\n\n            this.onSelectionChanged.emit({\n                editor: this.quillEditor,\n                oldRange,\n                range,\n                source,\n            });\n\n            if (!range && this.onModelTouched) {\n                this.onModelTouched();\n            }\n        });\n    };\n\n    textChangeHandler = (delta: any, oldDelta: any, source: string): void => {\n        // only emit changes emitted by user interactions\n\n        const text = this.quillEditor.getText();\n        const content = this.quillEditor.getContents();\n\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n        let html: string | null = this.editorElem!.querySelector('.ql-editor')!.innerHTML;\n        if (html === '<p><br></p>' || html === '<div><br><div>') {\n            html = null;\n        }\n\n        this.zone.run(() => {\n            const trackChanges = this.trackChanges || this.config.trackChanges;\n            if ((source === Quill.sources.USER || (trackChanges && trackChanges === 'all')) && this.onModelChange) {\n                this.onModelChange(\n                    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n                    this.valueGetter(this.quillEditor, this.editorElem!)\n                );\n            }\n\n            this.onContentChanged.emit({\n                content,\n                delta,\n                editor: this.quillEditor,\n                html,\n                oldDelta,\n                source,\n                text,\n            });\n        });\n    };\n\n    ngOnDestroy(): void {\n        if (this.quillEditor) {\n            this.quillEditor.off('selection-change', this.selectionChangeHandler);\n            this.quillEditor.off('text-change', this.textChangeHandler);\n        }\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (!this.quillEditor) {\n            return;\n        }\n        if (changes.id) {\n            this.quillEditor.container.firstChild.id = changes.id.currentValue;\n            Quill.formats = { ...Quill.formats, [this.id]: this.formats };\n        }\n        if (changes['readOnly']) {\n            this.quillEditor.enable(!changes['readOnly'].currentValue);\n        }\n        if (changes['placeholder']) {\n            this.quillEditor.root.dataset.placeholder = changes['placeholder'].currentValue;\n        }\n        if (changes['styles']) {\n            const currentStyling = changes['styles'].currentValue;\n            const previousStyling = changes['styles'].previousValue;\n\n            if (previousStyling) {\n                Object.keys(previousStyling).forEach((key: string) => {\n                    this.renderer.removeStyle(this.editorElem, key);\n                });\n            }\n            if (currentStyling) {\n                Object.keys(currentStyling).forEach((key: string) => {\n                    this.renderer.setStyle(this.editorElem, key, this.styles[key]);\n                });\n            }\n        }\n        if (changes['formats']) {\n            const currentFormats = changes['formats'].currentValue;\n            Quill.formats = { ...Quill.formats, [this.id]: currentFormats };\n        }\n    }\n\n    writeValue(currentValue: any): void {\n        this.content = currentValue;\n        const format = getFormat(this.format, this.config.format);\n\n        if (this.quillEditor) {\n            if (currentValue) {\n                if (format === 'text') {\n                    this.quillEditor.setText(currentValue);\n                } else {\n                    this.quillEditor.setContents(this.valueSetter(this.quillEditor, this.content));\n                }\n                return;\n            }\n            this.quillEditor.setText('');\n        }\n    }\n\n    setDisabledState(isDisabled: boolean = this.disabled): void {\n        // store initial value to set appropriate disabled status after ViewInit\n        this.disabled = isDisabled;\n        if (this.quillEditor) {\n            if (isDisabled) {\n                this.quillEditor.disable();\n                this.renderer.setAttribute(this.elementRef.nativeElement, 'disabled', 'disabled');\n            } else {\n                if (!this.readOnly) {\n                    this.quillEditor.enable();\n                }\n                this.renderer.removeAttribute(this.elementRef.nativeElement, 'disabled');\n            }\n        }\n    }\n\n    registerOnChange(fn: (modelValue: any) => void): void {\n        this.onModelChange = fn;\n    }\n\n    registerOnTouched(fn: () => void): void {\n        this.onModelTouched = fn;\n    }\n\n    validate(): any {\n        if (!this.quillEditor) {\n            return null;\n        }\n\n        const err: {\n            minLengthError?: {\n                given: number;\n                minLength: number;\n            };\n            maxLengthError?: {\n                given: number;\n                maxLength: number;\n            };\n            requiredError?: { empty: boolean };\n        } = {};\n        let valid = true;\n\n        const textLength = this.quillEditor.getText().trim().length;\n\n        if (this.minLength && textLength && textLength < this.minLength) {\n            err.minLengthError = {\n                given: textLength,\n                minLength: this.minLength,\n            };\n\n            valid = false;\n        }\n\n        if (this.maxLength && textLength > this.maxLength) {\n            err.maxLengthError = {\n                given: textLength,\n                maxLength: this.maxLength,\n            };\n\n            valid = false;\n        }\n\n        if (this.required && !textLength) {\n            err.requiredError = {\n                empty: true,\n            };\n\n            valid = false;\n        }\n\n        return valid ? null : err;\n    }\n\n    /**\n     * Override the default Quill scroll behavior to take into account the formats array and skip non-found ones. Then\n     * registers the plugin to the Quill editor.\n     *\n     * @param QuillInstance The Quill class (not the instance)\n     * @private\n     */\n    private overrideScrollBehavior(QuillInstance: any): void {\n        // the Built-in Scroll Class is not exported, so we need to import it\n        const BuiltinScroll = QuillInstance.import('blots/scroll');\n        /**\n         * Override the default Quill scroll behavior to take into account the formats array and skip non-found ones.\n         */\n        class Scroll extends BuiltinScroll {\n            formatAt(index: number, length: number, format: string, value: any): void {\n                const elementId = this.domNode.id;\n                const instanceFormats = QuillInstance.formats[elementId];\n                // checks the formats array to see if the format is blacklisted\n                if (instanceFormats && instanceFormats.find((f) => f === format)) {\n                    return;\n                }\n                // continue with default behavior\n                super.formatAt(index, length, format, value);\n            }\n        }\n        /** register the Scroll override */\n        QuillInstance.register('blots/scroll', Scroll, true);\n    }\n}\n",
            "properties": [
                {
                    "name": "import",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 47
                },
                {
                    "name": "whitelist",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 48
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "EuiAutoCompleteItem",
            "id": "interface-EuiAutoCompleteItem-d0bbb25fdec4c978ece8d2b2c39156532f37ef5af0d3a8bbb7eb527d5471f4fa020472ffffb248506d560c81d8b6d03cd0a4b7d72ab6918787f1c96f63c65f50",
            "file": "packages/components/eui-autocomplete/models/eui-autocomplete-item.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { EuiChipTooltip } from '@eui/components/eui-chip';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface EuiAutoCompleteItem<METADATA = any> {\n    id?: string | number;\n    euiInternalId?: string;\n    label: string;\n    typeClass?: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent';\n    variant?: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent';\n    sizeClass?: 'euiSizeS' | 'euiSizeM' | 'euiSizeL' | 'euiSizeXL' | 'euiSize2XL';\n    iconClass?: string;\n    isRemovable?: boolean;\n    isOutline?: boolean;\n    isRounded?: boolean;\n    dragAndDropSource?: string;\n    isDisabled?: boolean;\n    iconSvgName?: string;\n    tooltip?: EuiChipTooltip;\n    metadata?: METADATA;\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    [id: string]: any;\n}",
            "properties": [
                {
                    "name": "dragAndDropSource",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 15
                },
                {
                    "name": "euiInternalId",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 6
                },
                {
                    "name": "iconClass",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 11
                },
                {
                    "name": "iconSvgName",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 17
                },
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string | number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 5
                },
                {
                    "name": "isDisabled",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 16
                },
                {
                    "name": "isOutline",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 13
                },
                {
                    "name": "isRemovable",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 12
                },
                {
                    "name": "isRounded",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 14
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 7
                },
                {
                    "name": "metadata",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "METADATA",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 19
                },
                {
                    "name": "sizeClass",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"euiSizeS\" | \"euiSizeM\" | \"euiSizeL\" | \"euiSizeXL\" | \"euiSize2XL\"",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 10
                },
                {
                    "name": "tooltip",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiChipTooltip",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 18
                },
                {
                    "name": "typeClass",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"primary\" | \"secondary\" | \"info\" | \"success\" | \"warning\" | \"danger\" | \"accent\"",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "variant",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"primary\" | \"secondary\" | \"info\" | \"success\" | \"warning\" | \"danger\" | \"accent\"",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 9
                }
            ],
            "indexSignatures": [
                {
                    "id": "index-declaration-d0bbb25fdec4c978ece8d2b2c39156532f37ef5af0d3a8bbb7eb527d5471f4fa020472ffffb248506d560c81d8b6d03cd0a4b7d72ab6918787f1c96f63c65f50",
                    "args": [
                        {
                            "name": "id",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "any",
                    "line": 19,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "kind": 182,
            "methods": [],
            "extends": []
        },
        {
            "name": "EuiCalendarDay",
            "id": "interface-EuiCalendarDay-c0756ba43a63b1c32dcb9915b1a5a78519fd5751e7b03d78519812612f12129cb67dd18ffb05e0be3e777f3ea0c1d7bbfc9183f4d6f0a010693745e798af493a",
            "file": "packages/components/eui-calendar/models.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Signal, WritableSignal } from '@angular/core';\n\n/**\n * Enum for days of the week\n * @readonly\n * @enum {number}\n */\nexport const EuiCalendarDayOfWeek = {\n\tMONDAY: 0,\n\tTUESDAY: 1,\n\tWEDNESDAY: 2,\n\tTHURSDAY: 3,\n\tFRIDAY: 4,\n\tSATURDAY: 5,\n\tSUNDAY: 6,\n};\n\n/**\n * @description\n * Interface for defining action options in the day header.\n */\nexport interface EuiCalendarDayHeaderActionOption {\n\tlabel: string;\n\tcallback: (e) => void;\n\tid: string;\n}\n\n/**\n * @description\n * Interface for defining a day in the calendar.\n */\nexport interface EuiCalendarDay {\n\t/** Unique identifier for the day */\n\tid: number;\n\t/** Date object representing the day */\n\tdate: Date;\n\t/** Indicates if the day is today (based on user's Machine day) */\n\tisToday?: boolean;\n\t/** Indicates if the day a weekend (Saturday, Sunday) */\n\tisWeekend?: boolean;\n\t/** Metadata associated with the day */\n\tmetadata: Signal<EuiCalendarEvent[]>;\n}\n\n/**\n * @description\n * Interface for defining an event in the calendar.\n */\nexport interface EuiCalendarEvent {\n\tid: string;\n\tdate: WritableSignal<Date>;\n\tlabel: WritableSignal<string>;\n\tsubLabel?: WritableSignal<string>;\n\ttype?: WritableSignal<string>;\n}\n\n/**\n * Defines the direction of calendar navigation.\n */\nexport enum EuiCalendarNavigationDirection {\n\tPrevious = 'previous',\n\tNext = 'next',\n}\n\n/**\n * Event emitted when the calendar navigation buttons are clicked.\n */\nexport interface EuiCalendarNavigationEvent {\n\t/**\n\t * The direction of navigation, either 'previous' or 'next'.\n\t */\n\tdirection: EuiCalendarNavigationDirection;\n\t/**\n\t * The current date before navigation.\n\t */\n\tcurrent: Date;\n\t/**\n\t * The new date after navigation.\n\t */\n\tnew: Date;\n\t/**\n\t * The current mode of the calendar (monthly, weekly, or daily).\n\t */\n\tmode: EuiCalendarMode;\n}\n\n/**\n * Defines the mode of the calendar header.\n */\nexport enum EuiCalendarMode {\n\tMonthly = 'monthly',\n\tWeekly = 'weekly',\n\tDaily = 'daily',\n}\n\nexport interface EuiCalendarHeaderContext {\n\t/**\n\t * Mode of the calendar header (monthly, weekly, or daily).\n\t */\n\tcurrentDate: Date;\n\t/**\n\t * Mode of the calendar header (monthly, weekly, or daily).\n\t */\n\tmode: EuiCalendarMode;\n\t/**\n\t * Callback function when navigate to the previous month/week/day.\n\t */\n\tprevious: () => void;\n\t/**\n\t * Callback function when navigate to the next month/week/day.\n\t */\n\tnext: () => void;\n\t/**\n\t * Callback function when navigate to today's date.\n\t */\n\tcbToday: () => void;\n\t/**\n\t * Formatted date string for display in the header (e.g., \"September 2023\" or \"Week 36, 2023\").\n\t * It is formatted based on the current mode.\n\t */\n\tformattedDate: string;\n\t/**\n\t * True if the current date is today.\n\t */\n\tisToday: boolean;\n}\n\nexport enum EuiCalendarEventType {\n\tprimary = 'primary',\n\tsuccess = 'success',\n\twarning = 'warning',\n\tdanger = 'danger',\n\tinfo = 'info',\n}",
            "properties": [
                {
                    "name": "date",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Date",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Date object representing the day</p>\n",
                    "line": 36,
                    "rawdescription": "\nDate object representing the day"
                },
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Unique identifier for the day</p>\n",
                    "line": 34,
                    "rawdescription": "\nUnique identifier for the day"
                },
                {
                    "name": "isToday",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>Indicates if the day is today (based on user&#39;s Machine day)</p>\n",
                    "line": 38,
                    "rawdescription": "\nIndicates if the day is today (based on user's Machine day)"
                },
                {
                    "name": "isWeekend",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>Indicates if the day a weekend (Saturday, Sunday)</p>\n",
                    "line": 40,
                    "rawdescription": "\nIndicates if the day a weekend (Saturday, Sunday)"
                },
                {
                    "name": "metadata",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Signal<EuiCalendarEvent[]>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Metadata associated with the day</p>\n",
                    "line": 42,
                    "rawdescription": "\nMetadata associated with the day"
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Interface for defining a day in the calendar.</p>\n",
            "rawdescription": "\n\nInterface for defining a day in the calendar.\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "EuiCalendarDayCell",
            "id": "interface-EuiCalendarDayCell-43246d0830ae2d534a178f7cbfae6a57c76011f70477829daf3ea3e51605f10cbdcd268c47d9dee79670cb967102e8c1f05c3b3eb4aa53cd2dbf6e15dad03474",
            "file": "packages/components/eui-calendar/eui-calendar-monthly.component.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import {\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tinject,\n\tinput,\n\toutput,\n\tSignal,\n\tTemplateRef,\n} from '@angular/core';\nimport { EuiCalendarDayComponent } from './eui-calendar-day.component';\nimport { EuiCalendarEvent } from './models';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { LocaleService } from '@eui/core';\nimport { EuiCalendarDayOfWeek } from './models';\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion';\n\nexport interface EuiCalendarDayCell {\n\tday: number;\n\tmonth: number;\n\tyear: number;\n\tisCurrentMonth: boolean;\n\tisToday?: boolean;\n\tisFuture?: boolean;\n\tisPast?: boolean;\n\tisWeekend?: boolean;\n\tdayOfWeek: number;\n\tdateString: string; // YYYY-MM-DD\n\tweekNumber?: number;\n\tisFirstDayOfMonth?: boolean;\n\tisLastDayOfMonth?: boolean;\n\tisDisabled?: boolean;\n\tevents?: EuiCalendarEvent[];\n}\n\nexport interface EuiCalendarMonthlyCalendarOptions {\n\tyear?: number,\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\temptyValue?: any,\n\tfillPreviousMonth?: boolean,\n\tfillNextMonth?: boolean,\n\tincludeMetadata?: boolean,\n\tincludeToday?: boolean,\n\tincludeTemporalFlags?: boolean,\n\tincludeWeekends?: boolean,\n\tincludeWeekNumbers?: boolean,\n\tweekendDays?: number[]\n}\n\n/**\n * @description\n */\n@Component({\n\ttemplateUrl: './eui-calendar-monthly.component.html',\n\tselector: 'eui-calendar-monthly',\n\tstyleUrl: './eui-calendar-monthly.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [\n\t\tEuiCalendarDayComponent,\n\t\tNgClass,\n\t\tNgTemplateOutlet,\n\t],\n})\nexport class EuiCalendarMonthlyComponent {\n\tevents = input<EuiCalendarEvent[]>([]);\n\thasEmptyValue = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\t/**\n\t * Template for rendering each day cell\n\t */\n\t// eslint-disable-next-line\n\tdayTemplate = input<TemplateRef<any>>();\n\t/**\n\t * Template for rendering each day cell\n\t */\n\theaderTemplate = input<TemplateRef<{ date: Date }>>();\n\t/**\n\t * Display mode of the calendar ('compact' or 'truncated')\n\t */\n\tmode = input<'compact' | 'truncated'>('truncated');\n\t/**\n\t * Starting day of the week (0=Monday, 1=Tuesday, ..., 6=Sunday or 'monday', 'tue', 'wed', etc.)\n\t */\n\tstartingDay = input<number, NumberInput>(EuiCalendarDayOfWeek.MONDAY, { transform: this.startingDayTransformer });\n\t/**\n\t * The reference date for the month. The component will display the month that contains this date.\n\t */\n\tdate = input<Date>(new Date());\n\t/**\n\t * Fill with previous month days\n\t */\n\tfillPreviousMonth = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\t/**\n\t * Fill with next month days\n\t */\n\tfillNextMonth = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\t/**\n\t * Disable selection of future dates\n\t */\n\tdisableFutureDates = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\t/**\n\t * Disable selection of past dates\n\t */\n\tdisablePastDates = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\t/**\n\t * Disable selection of weekend dates\n\t */\n\tdisableWeekends = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\t/**\n\t * Disable days that are not in the current selected month\n\t */\n\tdisabledDaysNotInMonth = input<boolean, BooleanInput>(true, { transform: booleanAttribute });\n\tnewEventAddClicked = output<EuiCalendarDayCell>();\n\n\tmonthlyCalendar: Signal<EuiCalendarDayCell[][]> = computed(() => {\n\t\tconst currentEvents = this.events(); // Access the signal directly in computed\n\n\t\t// take into account the disableFutureDates, disablePastDates, disableWeekends and isCurrentMonth flags\n\t\t// to set the isDisabled flag on the DayCell objects\n\t\treturn this.generateCalendarGrid(this.date().getMonth() + 1, this.startingDay(), {\n\t\t\tyear: this.date().getFullYear(),\n\t\t\temptyValue: this.hasEmptyValue() ? null : undefined,\n\t\t\tfillPreviousMonth: this.fillPreviousMonth(),\n\t\t\tfillNextMonth: this.fillNextMonth(),\n\t\t})\n\t\t\t.filter(week => week.some(day => (typeof day === 'number') || (typeof day === 'object' && day?.isCurrentMonth)))\n\t\t\t.map(week => week.map(day => {\n\t\t\t\tif (day && typeof day === 'object') {\n\t\t\t\t\t// Determine if the day should be disabled\n\t\t\t\t\tlet isDisabled = false;\n\t\t\t\t\tif (this.disableFutureDates() && day.isFuture) {\n\t\t\t\t\t\tisDisabled = true;\n\t\t\t\t\t}\n\t\t\t\t\tif (this.disablePastDates() && day.isPast) {\n\t\t\t\t\t\tisDisabled = true;\n\t\t\t\t\t}\n\t\t\t\t\tif (this.disableWeekends() && day.isWeekend) {\n\t\t\t\t\t\tisDisabled = true;\n\t\t\t\t\t}\n\t\t\t\t\tif (this.disabledDaysNotInMonth() && !day.isCurrentMonth) {\n\t\t\t\t\t\tisDisabled = true;\n\t\t\t\t\t}\n\t\t\t\t\tday.isDisabled = isDisabled;\n\t\t\t\t\tconst dayEvents: EuiCalendarEvent[] = currentEvents.filter(event => {\n\t\t\t\t\t\t// More complex filtering logic\n\t\t\t\t\t\treturn event.date().getDate() === day.day &&\n\t\t\t\t\t\t\t(event.date().getMonth() + 1) === day.month &&\n\t\t\t\t\t\t\tevent.date().getFullYear() === day.year;\n\t\t\t\t\t}).map(v => ({\n\t\t\t\t\t\tlabel: v.label,\n\t\t\t\t\t\tid: v.id,\n\t\t\t\t\t\ttype: v?.type,\n\t\t\t\t\t\tdate: v.date,\n\t\t\t\t\t\t...v,\n\t\t\t\t\t}));\n\t\t\t\t\tif (dayEvents.length > 0) {\n\t\t\t\t\t\tday.events = dayEvents;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn day;\n\t\t\t}));\n\t});\n\tprivate locale = inject(LocaleService).getSignal();\n\t// eslint-disable-next-line @typescript-eslint/member-ordering\n\tdaysHeaderArray = computed(() => {\n\t\tconst days = Array.from({ length: 7 }, (_, i) => {\n\t\t\tconst date = new Date(2024, 0, 1 + i);\n\t\t\t// Start from Monday (Jan 1, 2024 was a Monday)\n\t\t\treturn date;\n\t\t});\n\t\t// Rotate array based on startingDay\n\t\treturn days.slice(this.startingDay()).concat(days.slice(0, this.startingDay())).map(day => ({\n\t\t\tshort: day.toLocaleDateString(this.locale(), { weekday: 'short' }),\n\t\t\tdate: day,\n\t\t}));\n\t});\n\t/**\n\t * Map day names to enum values for flexible input\n\t * @type {Object.<string, number>}\n\t */\n\tprivate DayNameMap: { [s: string]: number; } = {\n\t\tmonday: EuiCalendarDayOfWeek.MONDAY,\n\t\tmon: EuiCalendarDayOfWeek.MONDAY,\n\t\ttuesday: EuiCalendarDayOfWeek.TUESDAY,\n\t\ttue: EuiCalendarDayOfWeek.TUESDAY,\n\t\twednesday: EuiCalendarDayOfWeek.WEDNESDAY,\n\t\twed: EuiCalendarDayOfWeek.WEDNESDAY,\n\t\tthursday: EuiCalendarDayOfWeek.THURSDAY,\n\t\tthu: EuiCalendarDayOfWeek.THURSDAY,\n\t\tfriday: EuiCalendarDayOfWeek.FRIDAY,\n\t\tfri: EuiCalendarDayOfWeek.FRIDAY,\n\t\tsaturday: EuiCalendarDayOfWeek.SATURDAY,\n\t\tsat: EuiCalendarDayOfWeek.SATURDAY,\n\t\tsunday: EuiCalendarDayOfWeek.SUNDAY,\n\t\tsun: EuiCalendarDayOfWeek.SUNDAY,\n\t};\n\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tonMouseEnterDay(day: any): void {\n\t\t/** empty */\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tonMouseLeaveDay(day: any): void {\n\t\t/** empty */\n\t}\n\n\taddNewItemClicked(day: EuiCalendarDayCell): void {\n\t\tthis.newEventAddClicked.emit(day);\n\t}\n\n\t/**\n\t * Calculates the number of days in a given month\n\t * @param {number} month - Month (1-12)\n\t * @param {number} year - Year (optional, defaults to current year)\n\t * @returns {number} Number of days in the month\n\t */\n\tgetDaysInMonth(month: number, year: number = new Date().getFullYear()): number {\n\t\treturn new Date(year, month, 0).getDate();\n\t}\n\n\t/**\n\t * Calculates the day of week for the first day of a month\n\t * @param {number} month - Month (1-12)\n\t * @param {number} year - Year (optional, defaults to current year)\n\t * @returns {number} Day of week (0=Sunday, 1=Monday, ..., 6=Saturday)\n\t */\n\tgetFirstDayOfMonth(month: number, year: number = new Date().getFullYear()): number {\n\t\treturn new Date(year, month - 1, 1).getDay();\n\t}\n\n\t/**\n\t * Calculates the ISO week number for a given date\n\t * @param {Date} date - Date object\n\t * @returns {number} ISO week number (1-53)\n\t */\n\tgetISOWeekNumber(date: Date): number {\n\t\tconst tempDate = new Date(date.getTime());\n\t\ttempDate.setHours(0, 0, 0, 0);\n\t\ttempDate.setDate(tempDate.getDate() + 3 - (tempDate.getDay() + 6) % 7);\n\t\tconst week1 = new Date(tempDate.getFullYear(), 0, 4);\n\t\treturn 1 + Math.round(((tempDate.getTime() - week1.getTime()) / 86400000 - 3 + (week1.getDay() + 6) % 7) / 7);\n\t}\n\n\t/**\n\t * Compares two dates at day precision\n\t * @param {Date} date1 - First date\n\t * @param {Date} date2 - Second date\n\t * @returns {number} -1 if date1 < date2, 0 if equal, 1 if date1 > date2\n\t */\n\tcompareDatesAtDayPrecision(date1: Date, date2: Date): 0 | 1 | -1 {\n\t\tconst d1 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate());\n\t\tconst d2 = new Date(date2.getFullYear(), date2.getMonth(), date2.getDate());\n\n\t\tif (d1 < d2) return -1;\n\t\tif (d1 > d2) return 1;\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Creates an enhanced day cell object with comprehensive metadata\n\t * @param {number} day - Day of the month\n\t * @param {number} month - Month (1-12)\n\t * @param {number} year - Year\n\t * @param {boolean} isCurrentMonth - Whether this day belongs to the displayed month\n\t * @param {Object} options - Configuration options\n\t * @returns {DayCell} Enhanced day cell object\n\t */\n\tcreateEnhancedDayCell(day: number, month: number, year: number, isCurrentMonth: boolean, options: object = {}): EuiCalendarDayCell {\n\t\tconst {\n\t\t\tincludeToday = true,\n\t\t\tincludeTemporalFlags = true,\n\t\t\tincludeWeekends = true,\n\t\t\tincludeWeekNumbers = false,\n\t\t\tweekendDays = [0, 6], // Sunday and Saturday by default\n\t\t} = options as {\n\t\t\tincludeToday?: boolean,\n\t\t\tincludeTemporalFlags?: boolean,\n\t\t\tincludeWeekends?: boolean,\n\t\t\tincludeWeekNumbers?: boolean,\n\t\t\tweekendDays?: number[]\n\t\t};\n\n\t\t// Create base date object for this cell\n\t\tconst cellDate = new Date(year, month - 1, day);\n\t\tconst today = new Date();\n\n\t\t// Initialize cell with required properties\n\t\tconst cell = {\n\t\t\tday,\n\t\t\tmonth,\n\t\t\tyear,\n\t\t\tisCurrentMonth,\n\t\t\tdayOfWeek: cellDate.getDay(),\n\t\t\tdateString: `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')}`,\n\t\t} as EuiCalendarDayCell;\n\n\t\t// Add temporal comparison flags\n\t\tif (includeToday || includeTemporalFlags) {\n\t\t\tconst comparison = this.compareDatesAtDayPrecision(cellDate, today);\n\n\t\t\tif (includeToday) {\n\t\t\t\tcell.isToday = comparison === 0;\n\t\t\t}\n\n\t\t\tif (includeTemporalFlags) {\n\t\t\t\tcell.isPast = comparison === -1;\n\t\t\t\tcell.isFuture = comparison === 1;\n\t\t\t}\n\t\t}\n\n\t\t// Add weekend detection\n\t\tif (includeWeekends) {\n\t\t\tcell.isWeekend = weekendDays.includes(cellDate.getDay());\n\t\t}\n\n\t\t// Add week number calculation\n\t\tif (includeWeekNumbers) {\n\t\t\tcell.weekNumber = this.getISOWeekNumber(cellDate);\n\t\t}\n\n\t\t// Add boundary flags\n\t\tconst daysInMonth = this.getDaysInMonth(month, year);\n\t\tcell.isFirstDayOfMonth = isCurrentMonth && day === 1;\n\t\tcell.isLastDayOfMonth = isCurrentMonth && day === daysInMonth;\n\n\t\treturn cell;\n\t}\n\n\t/**\n\t * Generates a calendar grid for a given month\n\t * @param {number} month - Month (1-12)\n\t * @param {string|number} startingDay - First day of the week (configurable)\n\t * @param {Object} options - Additional options\n\t * @param {number} options.year - Year (defaults to current year)\n\t * @param {*} options.emptyValue - Value for empty cells (defaults to null)\n\t * @param {boolean} options.fillPreviousMonth - Fill with previous month days\n\t * @param {boolean} options.fillNextMonth - Fill with next month days\n\t * @returns {Array<Array>} 6x7 grid representing the calendar month\n\t */\n\tgenerateCalendarGrid(month: number, startingDay: number, options: EuiCalendarMonthlyCalendarOptions = {}): EuiCalendarDayCell[][] {\n\t\t// Input validation\n\t\tif (!Number.isInteger(month) || month < 1 || month > 12) {\n\t\t\tthrow new Error('Month must be an integer between 1 and 12.');\n\t\t}\n\n\t\t// Extract and set default options\n\t\tconst {\n\t\t\tyear = new Date().getFullYear(),\n\t\t\temptyValue = null,\n\t\t\tfillPreviousMonth = false,\n\t\t\tfillNextMonth = false,\n\t\t\tincludeMetadata = true,\n\t\t\tincludeToday = true,\n\t\t\tincludeTemporalFlags = true,\n\t\t\tincludeWeekends = true,\n\t\t\tincludeWeekNumbers = false,\n\t\t\tweekendDays = [5, 6],\n\t\t} = options;\n\n\t\t// Initialize 6x7 grid\n\t\tconst grid = Array(6).fill(null).map(() => Array(7).fill(emptyValue));\n\n\t\t// Calculate month parameters\n\t\tconst daysInMonth = this.getDaysInMonth(month, year);\n\t\tconst firstDayOfMonth = this.getFirstDayOfMonth(month, year);\n\n\t\t// Convert JS day (0=Sunday, 1=Monday, ..., 6=Saturday) to ISO/custom format (0=Monday, ..., 6=Sunday)\n\t\tconst firstDayISO = (firstDayOfMonth + 6) % 7;\n\n\t\t// Calculate starting column offset\n\t\tconst columnOffset = (firstDayISO - startingDay + 7) % 7;\n\n\t\t// Determine if we should return enhanced objects\n\t\tconst shouldReturnObjects = includeMetadata || fillPreviousMonth || fillNextMonth ||\n\t\t\tincludeToday || includeTemporalFlags || includeWeekends;\n\n\t\t// Cell creation options\n\t\tconst cellOptions = {\n\t\t\tincludeToday,\n\t\t\tincludeTemporalFlags,\n\t\t\tincludeWeekends,\n\t\t\tincludeWeekNumbers,\n\t\t\tweekendDays,\n\t\t};\n\n\t\t// Fill previous month days if requested\n\t\tif (fillPreviousMonth && columnOffset > 0) {\n\t\t\tconst prevMonth = month === 1 ? 12 : month - 1;\n\t\t\tconst prevYear = month === 1 ? year - 1 : year;\n\t\t\tconst daysInPrevMonth = this.getDaysInMonth(prevMonth, prevYear);\n\n\t\t\tfor (let i = columnOffset - 1; i >= 0; i--) {\n\t\t\t\tconst day = daysInPrevMonth - (columnOffset - 1 - i);\n\t\t\t\tgrid[0][i] = this.createEnhancedDayCell(day, prevMonth, prevYear, false, cellOptions);\n\t\t\t}\n\t\t}\n\n\t\t// Fill current month days\n\t\tlet currentDay = 1;\n\t\tlet row = 0;\n\t\tlet col = columnOffset;\n\n\t\twhile (currentDay <= daysInMonth) {\n\t\t\tif (shouldReturnObjects) {\n\t\t\t\tgrid[row][col] = this.createEnhancedDayCell(currentDay, month, year, true, cellOptions);\n\t\t\t} else {\n\t\t\t\tgrid[row][col] = currentDay;\n\t\t\t}\n\n\t\t\tcurrentDay++;\n\t\t\tcol++;\n\n\t\t\tif (col === 7) {\n\t\t\t\tcol = 0;\n\t\t\t\trow++;\n\t\t\t}\n\t\t}\n\n\t\t// Fill next month days if requested\n\t\tif (fillNextMonth && (row < 6 || col > 0)) {\n\t\t\tconst nextMonth = month === 12 ? 1 : month + 1;\n\t\t\tconst nextYear = month === 12 ? year + 1 : year;\n\t\t\tlet nextMonthDay = 1;\n\n\t\t\twhile (row < 6) {\n\t\t\t\twhile (col < 7) {\n\t\t\t\t\tif (grid[row][col] === emptyValue) {\n\t\t\t\t\t\tgrid[row][col] = this.createEnhancedDayCell(\n\t\t\t\t\t\t\tnextMonthDay,\n\t\t\t\t\t\t\tnextMonth,\n\t\t\t\t\t\t\tnextYear,\n\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\tcellOptions,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tnextMonthDay++;\n\t\t\t\t\t}\n\t\t\t\t\tcol++;\n\t\t\t\t}\n\t\t\t\tcol = 0;\n\t\t\t\trow++;\n\t\t\t}\n\t\t}\n\n\t\treturn grid as EuiCalendarDayCell[][];\n\t}\n\n\ttrackByDay(index: number, day: EuiCalendarDayCell): string | number {\n\t\tif (!day) return `empty-${index}`;\n\t\treturn new Date(day.year, day.month, day.day).getTime();\n\t}\n\n\t/**\n\t * Transforms and validates the month input\n\t * @param value\n\t * @private\n\t */\n\tprivate monthTransformer(value: number | string): number {\n\t\tlet transformedMonth: number;\n\t\tif (typeof value === 'string') {\n\t\t\ttransformedMonth = parseInt(value, 10);\n\t\t} else {\n\t\t\ttransformedMonth = value;\n\t\t}\n\t\tif (transformedMonth < 0 || transformedMonth > 11) {\n\t\t\tthrow new Error(`Invalid month: ${value}. Must be an integer between 0 (January) and 11 (December).`);\n\t\t}\n\t\treturn transformedMonth;\n\t}\n\n\t/**\n\t * Transforms and validates the year input\n\t * @param value\n\t * @throws {Error} If the starting day is invalid\n\t */\n\tprivate yearTransformer(value: number | string): number {\n\t\tlet transformedYear: number;\n\t\tif (typeof value === 'string') {\n\t\t\ttransformedYear = parseInt(value, 10);\n\t\t} else {\n\t\t\ttransformedYear = value;\n\t\t}\n\t\tif (transformedYear < 1970 || transformedYear > 2100) {\n\t\t\tthrow new Error(`Invalid year: ${value}. Must be an integer between 1970 and 2100.`);\n\t\t}\n\t\treturn transformedYear;\n\t}\n\n\t/**\n\t * Normalizes the starting day input to a DayOfWeek enum value\n\t * @param {string|number} startingDay - Day name, abbreviation, or number\n\t * @returns {number} Normalized day index (0-6)\n\t * @throws {Error} If the starting day is invalid\n\t */\n\tprivate startingDayTransformer(startingDay: string | number): number {\n\t\tif (typeof startingDay === 'number' || /^\\d+$/.test(startingDay)) {\n\t\t\tstartingDay = typeof startingDay === 'string' ? parseInt(startingDay, 10) : startingDay;\n\t\t\tif (startingDay >= 0 && startingDay <= 6) {\n\t\t\t\treturn startingDay;\n\t\t\t}\n\t\t\tthrow new Error(`Invalid starting day number: ${startingDay}. Must be 0-6.`);\n\t\t}\n\n\t\tif (typeof startingDay === 'string') {\n\t\t\tconst normalized = startingDay.toLowerCase().trim();\n\t\t\tif (normalized in this.DayNameMap) {\n\t\t\t\treturn this.DayNameMap[normalized];\n\t\t\t}\n\t\t\tthrow new Error(`Invalid starting day: \"${startingDay}\". Use day name or abbreviation.`);\n\t\t}\n\n\t\tthrow new Error('Starting day must be a string (day name) or number (0-6).');\n\t}\n\n}",
            "properties": [
                {
                    "name": "dateString",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 29
                },
                {
                    "name": "day",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 20
                },
                {
                    "name": "dayOfWeek",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 28
                },
                {
                    "name": "events",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiCalendarEvent[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 34
                },
                {
                    "name": "isCurrentMonth",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 23
                },
                {
                    "name": "isDisabled",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 33
                },
                {
                    "name": "isFirstDayOfMonth",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 31
                },
                {
                    "name": "isFuture",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 25
                },
                {
                    "name": "isLastDayOfMonth",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 32
                },
                {
                    "name": "isPast",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 26
                },
                {
                    "name": "isToday",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 24
                },
                {
                    "name": "isWeekend",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 27
                },
                {
                    "name": "month",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 21
                },
                {
                    "name": "weekNumber",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 30
                },
                {
                    "name": "year",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 22
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "EuiCalendarDayHeaderActionOption",
            "id": "interface-EuiCalendarDayHeaderActionOption-c0756ba43a63b1c32dcb9915b1a5a78519fd5751e7b03d78519812612f12129cb67dd18ffb05e0be3e777f3ea0c1d7bbfc9183f4d6f0a010693745e798af493a",
            "file": "packages/components/eui-calendar/models.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Signal, WritableSignal } from '@angular/core';\n\n/**\n * Enum for days of the week\n * @readonly\n * @enum {number}\n */\nexport const EuiCalendarDayOfWeek = {\n\tMONDAY: 0,\n\tTUESDAY: 1,\n\tWEDNESDAY: 2,\n\tTHURSDAY: 3,\n\tFRIDAY: 4,\n\tSATURDAY: 5,\n\tSUNDAY: 6,\n};\n\n/**\n * @description\n * Interface for defining action options in the day header.\n */\nexport interface EuiCalendarDayHeaderActionOption {\n\tlabel: string;\n\tcallback: (e) => void;\n\tid: string;\n}\n\n/**\n * @description\n * Interface for defining a day in the calendar.\n */\nexport interface EuiCalendarDay {\n\t/** Unique identifier for the day */\n\tid: number;\n\t/** Date object representing the day */\n\tdate: Date;\n\t/** Indicates if the day is today (based on user's Machine day) */\n\tisToday?: boolean;\n\t/** Indicates if the day a weekend (Saturday, Sunday) */\n\tisWeekend?: boolean;\n\t/** Metadata associated with the day */\n\tmetadata: Signal<EuiCalendarEvent[]>;\n}\n\n/**\n * @description\n * Interface for defining an event in the calendar.\n */\nexport interface EuiCalendarEvent {\n\tid: string;\n\tdate: WritableSignal<Date>;\n\tlabel: WritableSignal<string>;\n\tsubLabel?: WritableSignal<string>;\n\ttype?: WritableSignal<string>;\n}\n\n/**\n * Defines the direction of calendar navigation.\n */\nexport enum EuiCalendarNavigationDirection {\n\tPrevious = 'previous',\n\tNext = 'next',\n}\n\n/**\n * Event emitted when the calendar navigation buttons are clicked.\n */\nexport interface EuiCalendarNavigationEvent {\n\t/**\n\t * The direction of navigation, either 'previous' or 'next'.\n\t */\n\tdirection: EuiCalendarNavigationDirection;\n\t/**\n\t * The current date before navigation.\n\t */\n\tcurrent: Date;\n\t/**\n\t * The new date after navigation.\n\t */\n\tnew: Date;\n\t/**\n\t * The current mode of the calendar (monthly, weekly, or daily).\n\t */\n\tmode: EuiCalendarMode;\n}\n\n/**\n * Defines the mode of the calendar header.\n */\nexport enum EuiCalendarMode {\n\tMonthly = 'monthly',\n\tWeekly = 'weekly',\n\tDaily = 'daily',\n}\n\nexport interface EuiCalendarHeaderContext {\n\t/**\n\t * Mode of the calendar header (monthly, weekly, or daily).\n\t */\n\tcurrentDate: Date;\n\t/**\n\t * Mode of the calendar header (monthly, weekly, or daily).\n\t */\n\tmode: EuiCalendarMode;\n\t/**\n\t * Callback function when navigate to the previous month/week/day.\n\t */\n\tprevious: () => void;\n\t/**\n\t * Callback function when navigate to the next month/week/day.\n\t */\n\tnext: () => void;\n\t/**\n\t * Callback function when navigate to today's date.\n\t */\n\tcbToday: () => void;\n\t/**\n\t * Formatted date string for display in the header (e.g., \"September 2023\" or \"Week 36, 2023\").\n\t * It is formatted based on the current mode.\n\t */\n\tformattedDate: string;\n\t/**\n\t * True if the current date is today.\n\t */\n\tisToday: boolean;\n}\n\nexport enum EuiCalendarEventType {\n\tprimary = 'primary',\n\tsuccess = 'success',\n\twarning = 'warning',\n\tdanger = 'danger',\n\tinfo = 'info',\n}",
            "properties": [
                {
                    "name": "callback",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 24
                },
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 25
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 23
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Interface for defining action options in the day header.</p>\n",
            "rawdescription": "\n\nInterface for defining action options in the day header.\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "EuiCalendarEvent",
            "id": "interface-EuiCalendarEvent-c0756ba43a63b1c32dcb9915b1a5a78519fd5751e7b03d78519812612f12129cb67dd18ffb05e0be3e777f3ea0c1d7bbfc9183f4d6f0a010693745e798af493a",
            "file": "packages/components/eui-calendar/models.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Signal, WritableSignal } from '@angular/core';\n\n/**\n * Enum for days of the week\n * @readonly\n * @enum {number}\n */\nexport const EuiCalendarDayOfWeek = {\n\tMONDAY: 0,\n\tTUESDAY: 1,\n\tWEDNESDAY: 2,\n\tTHURSDAY: 3,\n\tFRIDAY: 4,\n\tSATURDAY: 5,\n\tSUNDAY: 6,\n};\n\n/**\n * @description\n * Interface for defining action options in the day header.\n */\nexport interface EuiCalendarDayHeaderActionOption {\n\tlabel: string;\n\tcallback: (e) => void;\n\tid: string;\n}\n\n/**\n * @description\n * Interface for defining a day in the calendar.\n */\nexport interface EuiCalendarDay {\n\t/** Unique identifier for the day */\n\tid: number;\n\t/** Date object representing the day */\n\tdate: Date;\n\t/** Indicates if the day is today (based on user's Machine day) */\n\tisToday?: boolean;\n\t/** Indicates if the day a weekend (Saturday, Sunday) */\n\tisWeekend?: boolean;\n\t/** Metadata associated with the day */\n\tmetadata: Signal<EuiCalendarEvent[]>;\n}\n\n/**\n * @description\n * Interface for defining an event in the calendar.\n */\nexport interface EuiCalendarEvent {\n\tid: string;\n\tdate: WritableSignal<Date>;\n\tlabel: WritableSignal<string>;\n\tsubLabel?: WritableSignal<string>;\n\ttype?: WritableSignal<string>;\n}\n\n/**\n * Defines the direction of calendar navigation.\n */\nexport enum EuiCalendarNavigationDirection {\n\tPrevious = 'previous',\n\tNext = 'next',\n}\n\n/**\n * Event emitted when the calendar navigation buttons are clicked.\n */\nexport interface EuiCalendarNavigationEvent {\n\t/**\n\t * The direction of navigation, either 'previous' or 'next'.\n\t */\n\tdirection: EuiCalendarNavigationDirection;\n\t/**\n\t * The current date before navigation.\n\t */\n\tcurrent: Date;\n\t/**\n\t * The new date after navigation.\n\t */\n\tnew: Date;\n\t/**\n\t * The current mode of the calendar (monthly, weekly, or daily).\n\t */\n\tmode: EuiCalendarMode;\n}\n\n/**\n * Defines the mode of the calendar header.\n */\nexport enum EuiCalendarMode {\n\tMonthly = 'monthly',\n\tWeekly = 'weekly',\n\tDaily = 'daily',\n}\n\nexport interface EuiCalendarHeaderContext {\n\t/**\n\t * Mode of the calendar header (monthly, weekly, or daily).\n\t */\n\tcurrentDate: Date;\n\t/**\n\t * Mode of the calendar header (monthly, weekly, or daily).\n\t */\n\tmode: EuiCalendarMode;\n\t/**\n\t * Callback function when navigate to the previous month/week/day.\n\t */\n\tprevious: () => void;\n\t/**\n\t * Callback function when navigate to the next month/week/day.\n\t */\n\tnext: () => void;\n\t/**\n\t * Callback function when navigate to today's date.\n\t */\n\tcbToday: () => void;\n\t/**\n\t * Formatted date string for display in the header (e.g., \"September 2023\" or \"Week 36, 2023\").\n\t * It is formatted based on the current mode.\n\t */\n\tformattedDate: string;\n\t/**\n\t * True if the current date is today.\n\t */\n\tisToday: boolean;\n}\n\nexport enum EuiCalendarEventType {\n\tprimary = 'primary',\n\tsuccess = 'success',\n\twarning = 'warning',\n\tdanger = 'danger',\n\tinfo = 'info',\n}",
            "properties": [
                {
                    "name": "date",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "WritableSignal<Date>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 51
                },
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 50
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "WritableSignal<string>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 52
                },
                {
                    "name": "subLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "WritableSignal<string>",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 53
                },
                {
                    "name": "type",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "WritableSignal<string>",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 54
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Interface for defining an event in the calendar.</p>\n",
            "rawdescription": "\n\nInterface for defining an event in the calendar.\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "EuiCalendarHeaderContext",
            "id": "interface-EuiCalendarHeaderContext-c0756ba43a63b1c32dcb9915b1a5a78519fd5751e7b03d78519812612f12129cb67dd18ffb05e0be3e777f3ea0c1d7bbfc9183f4d6f0a010693745e798af493a",
            "file": "packages/components/eui-calendar/models.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Signal, WritableSignal } from '@angular/core';\n\n/**\n * Enum for days of the week\n * @readonly\n * @enum {number}\n */\nexport const EuiCalendarDayOfWeek = {\n\tMONDAY: 0,\n\tTUESDAY: 1,\n\tWEDNESDAY: 2,\n\tTHURSDAY: 3,\n\tFRIDAY: 4,\n\tSATURDAY: 5,\n\tSUNDAY: 6,\n};\n\n/**\n * @description\n * Interface for defining action options in the day header.\n */\nexport interface EuiCalendarDayHeaderActionOption {\n\tlabel: string;\n\tcallback: (e) => void;\n\tid: string;\n}\n\n/**\n * @description\n * Interface for defining a day in the calendar.\n */\nexport interface EuiCalendarDay {\n\t/** Unique identifier for the day */\n\tid: number;\n\t/** Date object representing the day */\n\tdate: Date;\n\t/** Indicates if the day is today (based on user's Machine day) */\n\tisToday?: boolean;\n\t/** Indicates if the day a weekend (Saturday, Sunday) */\n\tisWeekend?: boolean;\n\t/** Metadata associated with the day */\n\tmetadata: Signal<EuiCalendarEvent[]>;\n}\n\n/**\n * @description\n * Interface for defining an event in the calendar.\n */\nexport interface EuiCalendarEvent {\n\tid: string;\n\tdate: WritableSignal<Date>;\n\tlabel: WritableSignal<string>;\n\tsubLabel?: WritableSignal<string>;\n\ttype?: WritableSignal<string>;\n}\n\n/**\n * Defines the direction of calendar navigation.\n */\nexport enum EuiCalendarNavigationDirection {\n\tPrevious = 'previous',\n\tNext = 'next',\n}\n\n/**\n * Event emitted when the calendar navigation buttons are clicked.\n */\nexport interface EuiCalendarNavigationEvent {\n\t/**\n\t * The direction of navigation, either 'previous' or 'next'.\n\t */\n\tdirection: EuiCalendarNavigationDirection;\n\t/**\n\t * The current date before navigation.\n\t */\n\tcurrent: Date;\n\t/**\n\t * The new date after navigation.\n\t */\n\tnew: Date;\n\t/**\n\t * The current mode of the calendar (monthly, weekly, or daily).\n\t */\n\tmode: EuiCalendarMode;\n}\n\n/**\n * Defines the mode of the calendar header.\n */\nexport enum EuiCalendarMode {\n\tMonthly = 'monthly',\n\tWeekly = 'weekly',\n\tDaily = 'daily',\n}\n\nexport interface EuiCalendarHeaderContext {\n\t/**\n\t * Mode of the calendar header (monthly, weekly, or daily).\n\t */\n\tcurrentDate: Date;\n\t/**\n\t * Mode of the calendar header (monthly, weekly, or daily).\n\t */\n\tmode: EuiCalendarMode;\n\t/**\n\t * Callback function when navigate to the previous month/week/day.\n\t */\n\tprevious: () => void;\n\t/**\n\t * Callback function when navigate to the next month/week/day.\n\t */\n\tnext: () => void;\n\t/**\n\t * Callback function when navigate to today's date.\n\t */\n\tcbToday: () => void;\n\t/**\n\t * Formatted date string for display in the header (e.g., \"September 2023\" or \"Week 36, 2023\").\n\t * It is formatted based on the current mode.\n\t */\n\tformattedDate: string;\n\t/**\n\t * True if the current date is today.\n\t */\n\tisToday: boolean;\n}\n\nexport enum EuiCalendarEventType {\n\tprimary = 'primary',\n\tsuccess = 'success',\n\twarning = 'warning',\n\tdanger = 'danger',\n\tinfo = 'info',\n}",
            "properties": [
                {
                    "name": "cbToday",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Callback function when navigate to today&#39;s date.</p>\n",
                    "line": 116,
                    "rawdescription": "\n\nCallback function when navigate to today's date.\n"
                },
                {
                    "name": "currentDate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Date",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Mode of the calendar header (monthly, weekly, or daily).</p>\n",
                    "line": 100,
                    "rawdescription": "\n\nMode of the calendar header (monthly, weekly, or daily).\n"
                },
                {
                    "name": "formattedDate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Formatted date string for display in the header (e.g., &quot;September 2023&quot; or &quot;Week 36, 2023&quot;).\nIt is formatted based on the current mode.</p>\n",
                    "line": 121,
                    "rawdescription": "\n\nFormatted date string for display in the header (e.g., \"September 2023\" or \"Week 36, 2023\").\nIt is formatted based on the current mode.\n"
                },
                {
                    "name": "isToday",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>True if the current date is today.</p>\n",
                    "line": 125,
                    "rawdescription": "\n\nTrue if the current date is today.\n"
                },
                {
                    "name": "mode",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiCalendarMode",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Mode of the calendar header (monthly, weekly, or daily).</p>\n",
                    "line": 104,
                    "rawdescription": "\n\nMode of the calendar header (monthly, weekly, or daily).\n"
                },
                {
                    "name": "next",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Callback function when navigate to the next month/week/day.</p>\n",
                    "line": 112,
                    "rawdescription": "\n\nCallback function when navigate to the next month/week/day.\n"
                },
                {
                    "name": "previous",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Callback function when navigate to the previous month/week/day.</p>\n",
                    "line": 108,
                    "rawdescription": "\n\nCallback function when navigate to the previous month/week/day.\n"
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "EuiCalendarMonthlyCalendarOptions",
            "id": "interface-EuiCalendarMonthlyCalendarOptions-43246d0830ae2d534a178f7cbfae6a57c76011f70477829daf3ea3e51605f10cbdcd268c47d9dee79670cb967102e8c1f05c3b3eb4aa53cd2dbf6e15dad03474",
            "file": "packages/components/eui-calendar/eui-calendar-monthly.component.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import {\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tinject,\n\tinput,\n\toutput,\n\tSignal,\n\tTemplateRef,\n} from '@angular/core';\nimport { EuiCalendarDayComponent } from './eui-calendar-day.component';\nimport { EuiCalendarEvent } from './models';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { LocaleService } from '@eui/core';\nimport { EuiCalendarDayOfWeek } from './models';\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion';\n\nexport interface EuiCalendarDayCell {\n\tday: number;\n\tmonth: number;\n\tyear: number;\n\tisCurrentMonth: boolean;\n\tisToday?: boolean;\n\tisFuture?: boolean;\n\tisPast?: boolean;\n\tisWeekend?: boolean;\n\tdayOfWeek: number;\n\tdateString: string; // YYYY-MM-DD\n\tweekNumber?: number;\n\tisFirstDayOfMonth?: boolean;\n\tisLastDayOfMonth?: boolean;\n\tisDisabled?: boolean;\n\tevents?: EuiCalendarEvent[];\n}\n\nexport interface EuiCalendarMonthlyCalendarOptions {\n\tyear?: number,\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\temptyValue?: any,\n\tfillPreviousMonth?: boolean,\n\tfillNextMonth?: boolean,\n\tincludeMetadata?: boolean,\n\tincludeToday?: boolean,\n\tincludeTemporalFlags?: boolean,\n\tincludeWeekends?: boolean,\n\tincludeWeekNumbers?: boolean,\n\tweekendDays?: number[]\n}\n\n/**\n * @description\n */\n@Component({\n\ttemplateUrl: './eui-calendar-monthly.component.html',\n\tselector: 'eui-calendar-monthly',\n\tstyleUrl: './eui-calendar-monthly.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [\n\t\tEuiCalendarDayComponent,\n\t\tNgClass,\n\t\tNgTemplateOutlet,\n\t],\n})\nexport class EuiCalendarMonthlyComponent {\n\tevents = input<EuiCalendarEvent[]>([]);\n\thasEmptyValue = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\t/**\n\t * Template for rendering each day cell\n\t */\n\t// eslint-disable-next-line\n\tdayTemplate = input<TemplateRef<any>>();\n\t/**\n\t * Template for rendering each day cell\n\t */\n\theaderTemplate = input<TemplateRef<{ date: Date }>>();\n\t/**\n\t * Display mode of the calendar ('compact' or 'truncated')\n\t */\n\tmode = input<'compact' | 'truncated'>('truncated');\n\t/**\n\t * Starting day of the week (0=Monday, 1=Tuesday, ..., 6=Sunday or 'monday', 'tue', 'wed', etc.)\n\t */\n\tstartingDay = input<number, NumberInput>(EuiCalendarDayOfWeek.MONDAY, { transform: this.startingDayTransformer });\n\t/**\n\t * The reference date for the month. The component will display the month that contains this date.\n\t */\n\tdate = input<Date>(new Date());\n\t/**\n\t * Fill with previous month days\n\t */\n\tfillPreviousMonth = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\t/**\n\t * Fill with next month days\n\t */\n\tfillNextMonth = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\t/**\n\t * Disable selection of future dates\n\t */\n\tdisableFutureDates = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\t/**\n\t * Disable selection of past dates\n\t */\n\tdisablePastDates = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\t/**\n\t * Disable selection of weekend dates\n\t */\n\tdisableWeekends = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\t/**\n\t * Disable days that are not in the current selected month\n\t */\n\tdisabledDaysNotInMonth = input<boolean, BooleanInput>(true, { transform: booleanAttribute });\n\tnewEventAddClicked = output<EuiCalendarDayCell>();\n\n\tmonthlyCalendar: Signal<EuiCalendarDayCell[][]> = computed(() => {\n\t\tconst currentEvents = this.events(); // Access the signal directly in computed\n\n\t\t// take into account the disableFutureDates, disablePastDates, disableWeekends and isCurrentMonth flags\n\t\t// to set the isDisabled flag on the DayCell objects\n\t\treturn this.generateCalendarGrid(this.date().getMonth() + 1, this.startingDay(), {\n\t\t\tyear: this.date().getFullYear(),\n\t\t\temptyValue: this.hasEmptyValue() ? null : undefined,\n\t\t\tfillPreviousMonth: this.fillPreviousMonth(),\n\t\t\tfillNextMonth: this.fillNextMonth(),\n\t\t})\n\t\t\t.filter(week => week.some(day => (typeof day === 'number') || (typeof day === 'object' && day?.isCurrentMonth)))\n\t\t\t.map(week => week.map(day => {\n\t\t\t\tif (day && typeof day === 'object') {\n\t\t\t\t\t// Determine if the day should be disabled\n\t\t\t\t\tlet isDisabled = false;\n\t\t\t\t\tif (this.disableFutureDates() && day.isFuture) {\n\t\t\t\t\t\tisDisabled = true;\n\t\t\t\t\t}\n\t\t\t\t\tif (this.disablePastDates() && day.isPast) {\n\t\t\t\t\t\tisDisabled = true;\n\t\t\t\t\t}\n\t\t\t\t\tif (this.disableWeekends() && day.isWeekend) {\n\t\t\t\t\t\tisDisabled = true;\n\t\t\t\t\t}\n\t\t\t\t\tif (this.disabledDaysNotInMonth() && !day.isCurrentMonth) {\n\t\t\t\t\t\tisDisabled = true;\n\t\t\t\t\t}\n\t\t\t\t\tday.isDisabled = isDisabled;\n\t\t\t\t\tconst dayEvents: EuiCalendarEvent[] = currentEvents.filter(event => {\n\t\t\t\t\t\t// More complex filtering logic\n\t\t\t\t\t\treturn event.date().getDate() === day.day &&\n\t\t\t\t\t\t\t(event.date().getMonth() + 1) === day.month &&\n\t\t\t\t\t\t\tevent.date().getFullYear() === day.year;\n\t\t\t\t\t}).map(v => ({\n\t\t\t\t\t\tlabel: v.label,\n\t\t\t\t\t\tid: v.id,\n\t\t\t\t\t\ttype: v?.type,\n\t\t\t\t\t\tdate: v.date,\n\t\t\t\t\t\t...v,\n\t\t\t\t\t}));\n\t\t\t\t\tif (dayEvents.length > 0) {\n\t\t\t\t\t\tday.events = dayEvents;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn day;\n\t\t\t}));\n\t});\n\tprivate locale = inject(LocaleService).getSignal();\n\t// eslint-disable-next-line @typescript-eslint/member-ordering\n\tdaysHeaderArray = computed(() => {\n\t\tconst days = Array.from({ length: 7 }, (_, i) => {\n\t\t\tconst date = new Date(2024, 0, 1 + i);\n\t\t\t// Start from Monday (Jan 1, 2024 was a Monday)\n\t\t\treturn date;\n\t\t});\n\t\t// Rotate array based on startingDay\n\t\treturn days.slice(this.startingDay()).concat(days.slice(0, this.startingDay())).map(day => ({\n\t\t\tshort: day.toLocaleDateString(this.locale(), { weekday: 'short' }),\n\t\t\tdate: day,\n\t\t}));\n\t});\n\t/**\n\t * Map day names to enum values for flexible input\n\t * @type {Object.<string, number>}\n\t */\n\tprivate DayNameMap: { [s: string]: number; } = {\n\t\tmonday: EuiCalendarDayOfWeek.MONDAY,\n\t\tmon: EuiCalendarDayOfWeek.MONDAY,\n\t\ttuesday: EuiCalendarDayOfWeek.TUESDAY,\n\t\ttue: EuiCalendarDayOfWeek.TUESDAY,\n\t\twednesday: EuiCalendarDayOfWeek.WEDNESDAY,\n\t\twed: EuiCalendarDayOfWeek.WEDNESDAY,\n\t\tthursday: EuiCalendarDayOfWeek.THURSDAY,\n\t\tthu: EuiCalendarDayOfWeek.THURSDAY,\n\t\tfriday: EuiCalendarDayOfWeek.FRIDAY,\n\t\tfri: EuiCalendarDayOfWeek.FRIDAY,\n\t\tsaturday: EuiCalendarDayOfWeek.SATURDAY,\n\t\tsat: EuiCalendarDayOfWeek.SATURDAY,\n\t\tsunday: EuiCalendarDayOfWeek.SUNDAY,\n\t\tsun: EuiCalendarDayOfWeek.SUNDAY,\n\t};\n\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tonMouseEnterDay(day: any): void {\n\t\t/** empty */\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tonMouseLeaveDay(day: any): void {\n\t\t/** empty */\n\t}\n\n\taddNewItemClicked(day: EuiCalendarDayCell): void {\n\t\tthis.newEventAddClicked.emit(day);\n\t}\n\n\t/**\n\t * Calculates the number of days in a given month\n\t * @param {number} month - Month (1-12)\n\t * @param {number} year - Year (optional, defaults to current year)\n\t * @returns {number} Number of days in the month\n\t */\n\tgetDaysInMonth(month: number, year: number = new Date().getFullYear()): number {\n\t\treturn new Date(year, month, 0).getDate();\n\t}\n\n\t/**\n\t * Calculates the day of week for the first day of a month\n\t * @param {number} month - Month (1-12)\n\t * @param {number} year - Year (optional, defaults to current year)\n\t * @returns {number} Day of week (0=Sunday, 1=Monday, ..., 6=Saturday)\n\t */\n\tgetFirstDayOfMonth(month: number, year: number = new Date().getFullYear()): number {\n\t\treturn new Date(year, month - 1, 1).getDay();\n\t}\n\n\t/**\n\t * Calculates the ISO week number for a given date\n\t * @param {Date} date - Date object\n\t * @returns {number} ISO week number (1-53)\n\t */\n\tgetISOWeekNumber(date: Date): number {\n\t\tconst tempDate = new Date(date.getTime());\n\t\ttempDate.setHours(0, 0, 0, 0);\n\t\ttempDate.setDate(tempDate.getDate() + 3 - (tempDate.getDay() + 6) % 7);\n\t\tconst week1 = new Date(tempDate.getFullYear(), 0, 4);\n\t\treturn 1 + Math.round(((tempDate.getTime() - week1.getTime()) / 86400000 - 3 + (week1.getDay() + 6) % 7) / 7);\n\t}\n\n\t/**\n\t * Compares two dates at day precision\n\t * @param {Date} date1 - First date\n\t * @param {Date} date2 - Second date\n\t * @returns {number} -1 if date1 < date2, 0 if equal, 1 if date1 > date2\n\t */\n\tcompareDatesAtDayPrecision(date1: Date, date2: Date): 0 | 1 | -1 {\n\t\tconst d1 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate());\n\t\tconst d2 = new Date(date2.getFullYear(), date2.getMonth(), date2.getDate());\n\n\t\tif (d1 < d2) return -1;\n\t\tif (d1 > d2) return 1;\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Creates an enhanced day cell object with comprehensive metadata\n\t * @param {number} day - Day of the month\n\t * @param {number} month - Month (1-12)\n\t * @param {number} year - Year\n\t * @param {boolean} isCurrentMonth - Whether this day belongs to the displayed month\n\t * @param {Object} options - Configuration options\n\t * @returns {DayCell} Enhanced day cell object\n\t */\n\tcreateEnhancedDayCell(day: number, month: number, year: number, isCurrentMonth: boolean, options: object = {}): EuiCalendarDayCell {\n\t\tconst {\n\t\t\tincludeToday = true,\n\t\t\tincludeTemporalFlags = true,\n\t\t\tincludeWeekends = true,\n\t\t\tincludeWeekNumbers = false,\n\t\t\tweekendDays = [0, 6], // Sunday and Saturday by default\n\t\t} = options as {\n\t\t\tincludeToday?: boolean,\n\t\t\tincludeTemporalFlags?: boolean,\n\t\t\tincludeWeekends?: boolean,\n\t\t\tincludeWeekNumbers?: boolean,\n\t\t\tweekendDays?: number[]\n\t\t};\n\n\t\t// Create base date object for this cell\n\t\tconst cellDate = new Date(year, month - 1, day);\n\t\tconst today = new Date();\n\n\t\t// Initialize cell with required properties\n\t\tconst cell = {\n\t\t\tday,\n\t\t\tmonth,\n\t\t\tyear,\n\t\t\tisCurrentMonth,\n\t\t\tdayOfWeek: cellDate.getDay(),\n\t\t\tdateString: `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')}`,\n\t\t} as EuiCalendarDayCell;\n\n\t\t// Add temporal comparison flags\n\t\tif (includeToday || includeTemporalFlags) {\n\t\t\tconst comparison = this.compareDatesAtDayPrecision(cellDate, today);\n\n\t\t\tif (includeToday) {\n\t\t\t\tcell.isToday = comparison === 0;\n\t\t\t}\n\n\t\t\tif (includeTemporalFlags) {\n\t\t\t\tcell.isPast = comparison === -1;\n\t\t\t\tcell.isFuture = comparison === 1;\n\t\t\t}\n\t\t}\n\n\t\t// Add weekend detection\n\t\tif (includeWeekends) {\n\t\t\tcell.isWeekend = weekendDays.includes(cellDate.getDay());\n\t\t}\n\n\t\t// Add week number calculation\n\t\tif (includeWeekNumbers) {\n\t\t\tcell.weekNumber = this.getISOWeekNumber(cellDate);\n\t\t}\n\n\t\t// Add boundary flags\n\t\tconst daysInMonth = this.getDaysInMonth(month, year);\n\t\tcell.isFirstDayOfMonth = isCurrentMonth && day === 1;\n\t\tcell.isLastDayOfMonth = isCurrentMonth && day === daysInMonth;\n\n\t\treturn cell;\n\t}\n\n\t/**\n\t * Generates a calendar grid for a given month\n\t * @param {number} month - Month (1-12)\n\t * @param {string|number} startingDay - First day of the week (configurable)\n\t * @param {Object} options - Additional options\n\t * @param {number} options.year - Year (defaults to current year)\n\t * @param {*} options.emptyValue - Value for empty cells (defaults to null)\n\t * @param {boolean} options.fillPreviousMonth - Fill with previous month days\n\t * @param {boolean} options.fillNextMonth - Fill with next month days\n\t * @returns {Array<Array>} 6x7 grid representing the calendar month\n\t */\n\tgenerateCalendarGrid(month: number, startingDay: number, options: EuiCalendarMonthlyCalendarOptions = {}): EuiCalendarDayCell[][] {\n\t\t// Input validation\n\t\tif (!Number.isInteger(month) || month < 1 || month > 12) {\n\t\t\tthrow new Error('Month must be an integer between 1 and 12.');\n\t\t}\n\n\t\t// Extract and set default options\n\t\tconst {\n\t\t\tyear = new Date().getFullYear(),\n\t\t\temptyValue = null,\n\t\t\tfillPreviousMonth = false,\n\t\t\tfillNextMonth = false,\n\t\t\tincludeMetadata = true,\n\t\t\tincludeToday = true,\n\t\t\tincludeTemporalFlags = true,\n\t\t\tincludeWeekends = true,\n\t\t\tincludeWeekNumbers = false,\n\t\t\tweekendDays = [5, 6],\n\t\t} = options;\n\n\t\t// Initialize 6x7 grid\n\t\tconst grid = Array(6).fill(null).map(() => Array(7).fill(emptyValue));\n\n\t\t// Calculate month parameters\n\t\tconst daysInMonth = this.getDaysInMonth(month, year);\n\t\tconst firstDayOfMonth = this.getFirstDayOfMonth(month, year);\n\n\t\t// Convert JS day (0=Sunday, 1=Monday, ..., 6=Saturday) to ISO/custom format (0=Monday, ..., 6=Sunday)\n\t\tconst firstDayISO = (firstDayOfMonth + 6) % 7;\n\n\t\t// Calculate starting column offset\n\t\tconst columnOffset = (firstDayISO - startingDay + 7) % 7;\n\n\t\t// Determine if we should return enhanced objects\n\t\tconst shouldReturnObjects = includeMetadata || fillPreviousMonth || fillNextMonth ||\n\t\t\tincludeToday || includeTemporalFlags || includeWeekends;\n\n\t\t// Cell creation options\n\t\tconst cellOptions = {\n\t\t\tincludeToday,\n\t\t\tincludeTemporalFlags,\n\t\t\tincludeWeekends,\n\t\t\tincludeWeekNumbers,\n\t\t\tweekendDays,\n\t\t};\n\n\t\t// Fill previous month days if requested\n\t\tif (fillPreviousMonth && columnOffset > 0) {\n\t\t\tconst prevMonth = month === 1 ? 12 : month - 1;\n\t\t\tconst prevYear = month === 1 ? year - 1 : year;\n\t\t\tconst daysInPrevMonth = this.getDaysInMonth(prevMonth, prevYear);\n\n\t\t\tfor (let i = columnOffset - 1; i >= 0; i--) {\n\t\t\t\tconst day = daysInPrevMonth - (columnOffset - 1 - i);\n\t\t\t\tgrid[0][i] = this.createEnhancedDayCell(day, prevMonth, prevYear, false, cellOptions);\n\t\t\t}\n\t\t}\n\n\t\t// Fill current month days\n\t\tlet currentDay = 1;\n\t\tlet row = 0;\n\t\tlet col = columnOffset;\n\n\t\twhile (currentDay <= daysInMonth) {\n\t\t\tif (shouldReturnObjects) {\n\t\t\t\tgrid[row][col] = this.createEnhancedDayCell(currentDay, month, year, true, cellOptions);\n\t\t\t} else {\n\t\t\t\tgrid[row][col] = currentDay;\n\t\t\t}\n\n\t\t\tcurrentDay++;\n\t\t\tcol++;\n\n\t\t\tif (col === 7) {\n\t\t\t\tcol = 0;\n\t\t\t\trow++;\n\t\t\t}\n\t\t}\n\n\t\t// Fill next month days if requested\n\t\tif (fillNextMonth && (row < 6 || col > 0)) {\n\t\t\tconst nextMonth = month === 12 ? 1 : month + 1;\n\t\t\tconst nextYear = month === 12 ? year + 1 : year;\n\t\t\tlet nextMonthDay = 1;\n\n\t\t\twhile (row < 6) {\n\t\t\t\twhile (col < 7) {\n\t\t\t\t\tif (grid[row][col] === emptyValue) {\n\t\t\t\t\t\tgrid[row][col] = this.createEnhancedDayCell(\n\t\t\t\t\t\t\tnextMonthDay,\n\t\t\t\t\t\t\tnextMonth,\n\t\t\t\t\t\t\tnextYear,\n\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\tcellOptions,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tnextMonthDay++;\n\t\t\t\t\t}\n\t\t\t\t\tcol++;\n\t\t\t\t}\n\t\t\t\tcol = 0;\n\t\t\t\trow++;\n\t\t\t}\n\t\t}\n\n\t\treturn grid as EuiCalendarDayCell[][];\n\t}\n\n\ttrackByDay(index: number, day: EuiCalendarDayCell): string | number {\n\t\tif (!day) return `empty-${index}`;\n\t\treturn new Date(day.year, day.month, day.day).getTime();\n\t}\n\n\t/**\n\t * Transforms and validates the month input\n\t * @param value\n\t * @private\n\t */\n\tprivate monthTransformer(value: number | string): number {\n\t\tlet transformedMonth: number;\n\t\tif (typeof value === 'string') {\n\t\t\ttransformedMonth = parseInt(value, 10);\n\t\t} else {\n\t\t\ttransformedMonth = value;\n\t\t}\n\t\tif (transformedMonth < 0 || transformedMonth > 11) {\n\t\t\tthrow new Error(`Invalid month: ${value}. Must be an integer between 0 (January) and 11 (December).`);\n\t\t}\n\t\treturn transformedMonth;\n\t}\n\n\t/**\n\t * Transforms and validates the year input\n\t * @param value\n\t * @throws {Error} If the starting day is invalid\n\t */\n\tprivate yearTransformer(value: number | string): number {\n\t\tlet transformedYear: number;\n\t\tif (typeof value === 'string') {\n\t\t\ttransformedYear = parseInt(value, 10);\n\t\t} else {\n\t\t\ttransformedYear = value;\n\t\t}\n\t\tif (transformedYear < 1970 || transformedYear > 2100) {\n\t\t\tthrow new Error(`Invalid year: ${value}. Must be an integer between 1970 and 2100.`);\n\t\t}\n\t\treturn transformedYear;\n\t}\n\n\t/**\n\t * Normalizes the starting day input to a DayOfWeek enum value\n\t * @param {string|number} startingDay - Day name, abbreviation, or number\n\t * @returns {number} Normalized day index (0-6)\n\t * @throws {Error} If the starting day is invalid\n\t */\n\tprivate startingDayTransformer(startingDay: string | number): number {\n\t\tif (typeof startingDay === 'number' || /^\\d+$/.test(startingDay)) {\n\t\t\tstartingDay = typeof startingDay === 'string' ? parseInt(startingDay, 10) : startingDay;\n\t\t\tif (startingDay >= 0 && startingDay <= 6) {\n\t\t\t\treturn startingDay;\n\t\t\t}\n\t\t\tthrow new Error(`Invalid starting day number: ${startingDay}. Must be 0-6.`);\n\t\t}\n\n\t\tif (typeof startingDay === 'string') {\n\t\t\tconst normalized = startingDay.toLowerCase().trim();\n\t\t\tif (normalized in this.DayNameMap) {\n\t\t\t\treturn this.DayNameMap[normalized];\n\t\t\t}\n\t\t\tthrow new Error(`Invalid starting day: \"${startingDay}\". Use day name or abbreviation.`);\n\t\t}\n\n\t\tthrow new Error('Starting day must be a string (day name) or number (0-6).');\n\t}\n\n}",
            "properties": [
                {
                    "name": "emptyValue",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 40
                },
                {
                    "name": "fillNextMonth",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 42
                },
                {
                    "name": "fillPreviousMonth",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 41
                },
                {
                    "name": "includeMetadata",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 43
                },
                {
                    "name": "includeTemporalFlags",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 45
                },
                {
                    "name": "includeToday",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 44
                },
                {
                    "name": "includeWeekends",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 46
                },
                {
                    "name": "includeWeekNumbers",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 47
                },
                {
                    "name": "weekendDays",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 48
                },
                {
                    "name": "year",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 38
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "EuiCalendarNavigationEvent",
            "id": "interface-EuiCalendarNavigationEvent-c0756ba43a63b1c32dcb9915b1a5a78519fd5751e7b03d78519812612f12129cb67dd18ffb05e0be3e777f3ea0c1d7bbfc9183f4d6f0a010693745e798af493a",
            "file": "packages/components/eui-calendar/models.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Signal, WritableSignal } from '@angular/core';\n\n/**\n * Enum for days of the week\n * @readonly\n * @enum {number}\n */\nexport const EuiCalendarDayOfWeek = {\n\tMONDAY: 0,\n\tTUESDAY: 1,\n\tWEDNESDAY: 2,\n\tTHURSDAY: 3,\n\tFRIDAY: 4,\n\tSATURDAY: 5,\n\tSUNDAY: 6,\n};\n\n/**\n * @description\n * Interface for defining action options in the day header.\n */\nexport interface EuiCalendarDayHeaderActionOption {\n\tlabel: string;\n\tcallback: (e) => void;\n\tid: string;\n}\n\n/**\n * @description\n * Interface for defining a day in the calendar.\n */\nexport interface EuiCalendarDay {\n\t/** Unique identifier for the day */\n\tid: number;\n\t/** Date object representing the day */\n\tdate: Date;\n\t/** Indicates if the day is today (based on user's Machine day) */\n\tisToday?: boolean;\n\t/** Indicates if the day a weekend (Saturday, Sunday) */\n\tisWeekend?: boolean;\n\t/** Metadata associated with the day */\n\tmetadata: Signal<EuiCalendarEvent[]>;\n}\n\n/**\n * @description\n * Interface for defining an event in the calendar.\n */\nexport interface EuiCalendarEvent {\n\tid: string;\n\tdate: WritableSignal<Date>;\n\tlabel: WritableSignal<string>;\n\tsubLabel?: WritableSignal<string>;\n\ttype?: WritableSignal<string>;\n}\n\n/**\n * Defines the direction of calendar navigation.\n */\nexport enum EuiCalendarNavigationDirection {\n\tPrevious = 'previous',\n\tNext = 'next',\n}\n\n/**\n * Event emitted when the calendar navigation buttons are clicked.\n */\nexport interface EuiCalendarNavigationEvent {\n\t/**\n\t * The direction of navigation, either 'previous' or 'next'.\n\t */\n\tdirection: EuiCalendarNavigationDirection;\n\t/**\n\t * The current date before navigation.\n\t */\n\tcurrent: Date;\n\t/**\n\t * The new date after navigation.\n\t */\n\tnew: Date;\n\t/**\n\t * The current mode of the calendar (monthly, weekly, or daily).\n\t */\n\tmode: EuiCalendarMode;\n}\n\n/**\n * Defines the mode of the calendar header.\n */\nexport enum EuiCalendarMode {\n\tMonthly = 'monthly',\n\tWeekly = 'weekly',\n\tDaily = 'daily',\n}\n\nexport interface EuiCalendarHeaderContext {\n\t/**\n\t * Mode of the calendar header (monthly, weekly, or daily).\n\t */\n\tcurrentDate: Date;\n\t/**\n\t * Mode of the calendar header (monthly, weekly, or daily).\n\t */\n\tmode: EuiCalendarMode;\n\t/**\n\t * Callback function when navigate to the previous month/week/day.\n\t */\n\tprevious: () => void;\n\t/**\n\t * Callback function when navigate to the next month/week/day.\n\t */\n\tnext: () => void;\n\t/**\n\t * Callback function when navigate to today's date.\n\t */\n\tcbToday: () => void;\n\t/**\n\t * Formatted date string for display in the header (e.g., \"September 2023\" or \"Week 36, 2023\").\n\t * It is formatted based on the current mode.\n\t */\n\tformattedDate: string;\n\t/**\n\t * True if the current date is today.\n\t */\n\tisToday: boolean;\n}\n\nexport enum EuiCalendarEventType {\n\tprimary = 'primary',\n\tsuccess = 'success',\n\twarning = 'warning',\n\tdanger = 'danger',\n\tinfo = 'info',\n}",
            "properties": [
                {
                    "name": "current",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Date",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The current date before navigation.</p>\n",
                    "line": 76,
                    "rawdescription": "\n\nThe current date before navigation.\n"
                },
                {
                    "name": "direction",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiCalendarNavigationDirection",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The direction of navigation, either &#39;previous&#39; or &#39;next&#39;.</p>\n",
                    "line": 72,
                    "rawdescription": "\n\nThe direction of navigation, either 'previous' or 'next'.\n"
                },
                {
                    "name": "mode",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiCalendarMode",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The current mode of the calendar (monthly, weekly, or daily).</p>\n",
                    "line": 84,
                    "rawdescription": "\n\nThe current mode of the calendar (monthly, weekly, or daily).\n"
                },
                {
                    "name": "new",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Date",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The new date after navigation.</p>\n",
                    "line": 80,
                    "rawdescription": "\n\nThe new date after navigation.\n"
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Event emitted when the calendar navigation buttons are clicked.</p>\n",
            "rawdescription": "\n\nEvent emitted when the calendar navigation buttons are clicked.\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "EuiChipDragDrop",
            "id": "interface-EuiChipDragDrop-100484769be2ba9729710ac21259c8ecbf14ade52ca4f7d58c6356824cb4b1627c7ac8177b8add07d4f18740d82e6a96aa6d0b11f8a6085d5040f304b17d63fe",
            "file": "packages/components/eui-autocomplete/models/eui-chip-drag-drop.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { EuiChip } from '@eui/components/eui-chip';\n\nexport interface EuiChipDragDrop {\n    type: string;\n    chip: EuiChip;\n    chips: EuiChip[];\n}\n",
            "properties": [
                {
                    "name": "chip",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiChip",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 5
                },
                {
                    "name": "chips",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiChip[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 6
                },
                {
                    "name": "type",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 4
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "EuiDateRangeSelectorDates",
            "id": "interface-EuiDateRangeSelectorDates-ac6e5269e7b315ae2852dec430fb7220de1cf0bd76b94e950a89fff87f4b2d352a49eb687a3ab01e03c54eabf3373c5d8aaaee093e70536f14a3bdd39b1bb2f1",
            "file": "packages/components/eui-date-range-selector/models/eui-date-range-selector-dates.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface EuiDateRangeSelectorDates {\n    /**\n     * The starting boundary of the date range.\n     * Accepts Date objects, ISO date strings, or framework-specific date types (e.g., Luxon DateTime, Day.js).\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    startRange: any;\n    /**\n     * The ending boundary of the date range.\n     * Accepts Date objects, ISO date strings, or framework-specific date types (e.g., Luxon DateTime, Day.js).\n     * Must represent a date equal to or after startRange for a valid range.\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    endRange: any;\n}\n",
            "properties": [
                {
                    "name": "endRange",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The ending boundary of the date range.\nAccepts Date objects, ISO date strings, or framework-specific date types (e.g., Luxon DateTime, Day.js).\nMust represent a date equal to or after startRange for a valid range.</p>\n",
                    "line": 21,
                    "rawdescription": "\n\nThe ending boundary of the date range.\nAccepts Date objects, ISO date strings, or framework-specific date types (e.g., Luxon DateTime, Day.js).\nMust represent a date equal to or after startRange for a valid range.\n"
                },
                {
                    "name": "startRange",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The starting boundary of the date range.\nAccepts Date objects, ISO date strings, or framework-specific date types (e.g., Luxon DateTime, Day.js).</p>\n",
                    "line": 13,
                    "rawdescription": "\n\nThe starting boundary of the date range.\nAccepts Date objects, ISO date strings, or framework-specific date types (e.g., Luxon DateTime, Day.js).\n"
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Represents a date range with start and end boundaries.\nUsed by the date range selector component to encapsulate selected date intervals.\nSupports flexible date types including Date objects, ISO strings, or custom date representations.</p>\n",
            "rawdescription": "\n\nRepresents a date range with start and end boundaries.\nUsed by the date range selector component to encapsulate selected date intervals.\nSupports flexible date types including Date objects, ISO strings, or custom date representations.\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "EuiDateTimePickerConfig",
            "id": "interface-EuiDateTimePickerConfig-b1ec6100203f17837d0f9fa5fe6d07c11468ffa79dd19c5bc2ac9b351e5ec4123a2a956ee65913b936de2c9cad4298a2353c7a5ce80552e58ac19dcce487764f",
            "file": "packages/components/eui-timepicker/models/eui-date-time-picker.config.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface EuiDateTimePickerConfig {\n    /**\n     * Initial hours value (0-23)\n     */\n    hours: number;\n\n    /**\n     * Initial minutes value (0-59)\n     */\n    mins: number;\n\n    /**\n     * Optional initial seconds value (0-59)\n     */\n    secs?: number;\n\n    /**\n     * Indicates if the component is used as a datetime picker\n     */\n    isDatetimepicker: boolean;\n\n    /**\n     * Controls whether seconds selection is enabled\n     */\n    hasSeconds: boolean;\n\n    /**\n     * When true, displays a single input field for time entry instead of separate inputs\n     */\n    isOneInputField: boolean;\n\n    /**\n     * Step interval for hours increment/decrement\n     */\n    stepHours: number;\n\n    /**\n     * Step interval for minutes increment/decrement\n     */\n    stepMinutes: number;\n\n    /**\n     * Step interval for seconds increment/decrement\n     */\n    stepSeconds: number;\n\n    /**\n     * Controls whether the timepicker buttons are disabled\n     */\n    isDisabled?: boolean;\n\n    /**\n     * Callback function triggered when time value changes\n     *\n     * @param hours - The selected hours value\n     * @param mins - The selected minutes value\n     * @param secs - The selected seconds value (if enabled)\n     */\n    callbackFn: (hours: number, mins: number, secs?: number) => void;\n}\n",
            "properties": [
                {
                    "name": "callbackFn",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Callback function triggered when time value changes</p>\n",
                    "line": 65,
                    "rawdescription": "\n\nCallback function triggered when time value changes\n\n",
                    "jsdoctags": [
                        {
                            "pos": 1260,
                            "end": 1307,
                            "kind": 342,
                            "id": 0,
                            "flags": 16777216,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1261,
                                "end": 1266,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The selected hours value</li>\n</ul>\n",
                            "name": {
                                "pos": 1267,
                                "end": 1272,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "hours"
                            },
                            "isNameFirst": true,
                            "isBracketed": false
                        },
                        {
                            "pos": 1307,
                            "end": 1355,
                            "kind": 342,
                            "id": 0,
                            "flags": 16777216,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1308,
                                "end": 1313,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The selected minutes value</li>\n</ul>\n",
                            "name": {
                                "pos": 1314,
                                "end": 1318,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "mins"
                            },
                            "isNameFirst": true,
                            "isBracketed": false
                        },
                        {
                            "pos": 1355,
                            "end": 1414,
                            "kind": 342,
                            "id": 0,
                            "flags": 16777216,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1356,
                                "end": 1361,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The selected seconds value (if enabled)</li>\n</ul>\n",
                            "name": {
                                "pos": 1362,
                                "end": 1366,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "secs"
                            },
                            "isNameFirst": true,
                            "isBracketed": false
                        }
                    ]
                },
                {
                    "name": "hasSeconds",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Controls whether seconds selection is enabled</p>\n",
                    "line": 31,
                    "rawdescription": "\n\nControls whether seconds selection is enabled\n"
                },
                {
                    "name": "hours",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Initial hours value (0-23)</p>\n",
                    "line": 11,
                    "rawdescription": "\n\nInitial hours value (0-23)\n"
                },
                {
                    "name": "isDatetimepicker",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Indicates if the component is used as a datetime picker</p>\n",
                    "line": 26,
                    "rawdescription": "\n\nIndicates if the component is used as a datetime picker\n"
                },
                {
                    "name": "isDisabled",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>Controls whether the timepicker buttons are disabled</p>\n",
                    "line": 56,
                    "rawdescription": "\n\nControls whether the timepicker buttons are disabled\n"
                },
                {
                    "name": "isOneInputField",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>When true, displays a single input field for time entry instead of separate inputs</p>\n",
                    "line": 36,
                    "rawdescription": "\n\nWhen true, displays a single input field for time entry instead of separate inputs\n"
                },
                {
                    "name": "mins",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Initial minutes value (0-59)</p>\n",
                    "line": 16,
                    "rawdescription": "\n\nInitial minutes value (0-59)\n"
                },
                {
                    "name": "secs",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>Optional initial seconds value (0-59)</p>\n",
                    "line": 21,
                    "rawdescription": "\n\nOptional initial seconds value (0-59)\n"
                },
                {
                    "name": "stepHours",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Step interval for hours increment/decrement</p>\n",
                    "line": 41,
                    "rawdescription": "\n\nStep interval for hours increment/decrement\n"
                },
                {
                    "name": "stepMinutes",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Step interval for minutes increment/decrement</p>\n",
                    "line": 46,
                    "rawdescription": "\n\nStep interval for minutes increment/decrement\n"
                },
                {
                    "name": "stepSeconds",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Step interval for seconds increment/decrement</p>\n",
                    "line": 51,
                    "rawdescription": "\n\nStep interval for seconds increment/decrement\n"
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Configuration interface for the EUI DateTime Picker component.\nDefines the structure and behavior settings for the datetime picker.</p>\n",
            "rawdescription": "\n\nConfiguration interface for the EUI DateTime Picker component.\nDefines the structure and behavior settings for the datetime picker.\n\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "EuiDialogInterface",
            "id": "interface-EuiDialogInterface-f583067ad407f3f153952a162c19ea60f5e9bb0f9c1daf374be351d0b5240b51ffff2fdc987d4aeb960934f627b768242cc8efe67f7d5756aea27f2aa944ff2f",
            "file": "packages/components/eui-dialog/models/eui-dialog.config.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentType, TemplatePortal } from '@angular/cdk/portal';\nimport { EuiDialogVerticalPosition } from './eui-dialog-alignment';\n\nexport class EuiDialogConfig<HC, HCC, BC, BCC, FC, FCC> implements EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {\n    e2eAttr = 'eui-message-box';\n    acceptLabel = 'eui.OK';\n    dismissLabel = 'eui.CANCEL';\n    width = '50%';\n    height = 'auto';\n    isFullScreen = false;\n    hasCloseButton = true;\n    hasAcceptButton = true;\n    hasDismissButton = true;\n    hasMobileCustomSize = false;\n    hasClosedOnClickOutside = false;\n    hasClosedOnEscape = true;\n    isHandleCloseOnDismiss = false;\n    isHandleCloseOnClose = false;\n    isHandleCloseOnAccept = false;\n    isHandleCloseOnClickOutside = false;\n    isHandleCloseOnEscape = false;\n    hasFooter = true;\n    isMessageBox = false;\n    classList = null;\n\n    constructor(values: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>) {\n        Object.assign(this, values);\n    }\n}\n\nexport interface EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {\n    dialogId?: string;\n    e2eAttr?: string;\n    title?: string;\n    variant?: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent' | string;\n    acceptLabel?: string;\n    dismissLabel?: string;\n    width?: string;\n    height?: string;\n    isFullScreen?: boolean;\n    headerComponent?: {\n        component: ComponentType<HC>;\n        config?: HCC;\n    };\n    bodyComponent?: {\n        component: ComponentType<BC>;\n        config?: BCC;\n    };\n    footerComponent?: {\n        component: ComponentType<FC>;\n        config?: FCC;\n    };\n    header?: TemplatePortal;\n    content?: TemplatePortal | string | null;\n    footer?: TemplatePortal;\n    hasCloseButton?: boolean;\n    hasAcceptButton?: boolean;\n    hasDismissButton?: boolean;\n    hasMobileCustomSize?: boolean;\n    hasClosedOnClickOutside?: boolean;\n    hasClosedOnEscape?: boolean;\n    isHandleCloseOnDismiss?: boolean;\n    isHandleCloseOnClose?: boolean;\n    isHandleCloseOnAccept?: boolean;\n    isHandleCloseOnClickOutside?: boolean;\n    isHandleCloseOnEscape?: boolean;\n    isDraggable?: boolean;\n    hasNoBodyPadding?: boolean;\n    hasFooter?: boolean;\n    isMessageBox?: boolean;\n    verticalPosition?: EuiDialogVerticalPosition;\n    classList?: string;\n\n    overlayRef?: OverlayRef;\n\n    open?: () => void;\n    init?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n    clickOutside?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n    escape?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n    close?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n    dismiss?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n    accept?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n}\n\nexport class EuiDialogComponentInstances<HC, BC, FC> {\n    headerComponent: HC = null;\n    bodyComponent: BC = null;\n    footerComponent: FC = null;\n}\n",
            "properties": [
                {
                    "name": "accept",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 83
                },
                {
                    "name": "acceptLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 37
                },
                {
                    "name": "bodyComponent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 46
                },
                {
                    "name": "classList",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 73
                },
                {
                    "name": "clickOutside",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 79
                },
                {
                    "name": "close",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 81
                },
                {
                    "name": "content",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplatePortal | string | null",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 55
                },
                {
                    "name": "dialogId",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 33
                },
                {
                    "name": "dismiss",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 82
                },
                {
                    "name": "dismissLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 38
                },
                {
                    "name": "e2eAttr",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 34
                },
                {
                    "name": "escape",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 80
                },
                {
                    "name": "footer",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplatePortal",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 56
                },
                {
                    "name": "footerComponent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 50
                },
                {
                    "name": "hasAcceptButton",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 58
                },
                {
                    "name": "hasCloseButton",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 57
                },
                {
                    "name": "hasClosedOnClickOutside",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 61
                },
                {
                    "name": "hasClosedOnEscape",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 62
                },
                {
                    "name": "hasDismissButton",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 59
                },
                {
                    "name": "hasFooter",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 70
                },
                {
                    "name": "hasMobileCustomSize",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 60
                },
                {
                    "name": "hasNoBodyPadding",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 69
                },
                {
                    "name": "header",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplatePortal",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 54
                },
                {
                    "name": "headerComponent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 42
                },
                {
                    "name": "height",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 40
                },
                {
                    "name": "init",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 78
                },
                {
                    "name": "isDraggable",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 68
                },
                {
                    "name": "isFullScreen",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 41
                },
                {
                    "name": "isHandleCloseOnAccept",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 65
                },
                {
                    "name": "isHandleCloseOnClickOutside",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 66
                },
                {
                    "name": "isHandleCloseOnClose",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 64
                },
                {
                    "name": "isHandleCloseOnDismiss",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 63
                },
                {
                    "name": "isHandleCloseOnEscape",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 67
                },
                {
                    "name": "isMessageBox",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 71
                },
                {
                    "name": "open",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 77
                },
                {
                    "name": "overlayRef",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "OverlayRef",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 75
                },
                {
                    "name": "title",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 35
                },
                {
                    "name": "variant",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"primary\" | \"secondary\" | \"info\" | \"success\" | \"warning\" | \"danger\" | \"accent\" | string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 36
                },
                {
                    "name": "verticalPosition",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiDialogVerticalPosition",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 72
                },
                {
                    "name": "width",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 39
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "EuiDiscussionThreadItem",
            "id": "interface-EuiDiscussionThreadItem-8fa23340c8d2e72d96eaf7550cac09d2dbaa8c492283945159a5cd047458d009292c716a4b51c98e4cbe86a77986d4405ca613c5ebd6c6d5c0dfc042087eafb6",
            "file": "packages/components/eui-discussion-thread/models/eui-discussion-thread-item.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface EuiDiscussionThreadItem {\n    /**\n     * Unique identifier for the discussion thread item.\n     * Used for tracking and reference purposes.\n     */\n    id: string;\n\n    /**\n     * CSS class identifier that defines the visual style of the item.\n     * Common values include 'info', 'warning', 'error', etc.\n     */\n    typeClass: string;\n\n    /**\n     * Date when the thread item was created or modified.\n     * Typically formatted as an ISO string or similar date format.\n     */\n    date: string;\n\n    /**\n     * Name or identifier of the author who created the item.\n     */\n    author: string;\n\n    /**\n     * Content body of the discussion thread item.\n     * Contains the main message or comment text.\n     */\n    body: string;\n\n    /**\n     * Optional tooltip text to display additional information\n     * when hovering over the item.\n     */\n    tooltip?: string;\n}\n",
            "properties": [
                {
                    "name": "author",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Name or identifier of the author who created the item.</p>\n",
                    "line": 34,
                    "rawdescription": "\n\nName or identifier of the author who created the item.\n"
                },
                {
                    "name": "body",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Content body of the discussion thread item.\nContains the main message or comment text.</p>\n",
                    "line": 40,
                    "rawdescription": "\n\nContent body of the discussion thread item.\nContains the main message or comment text.\n"
                },
                {
                    "name": "date",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Date when the thread item was created or modified.\nTypically formatted as an ISO string or similar date format.</p>\n",
                    "line": 29,
                    "rawdescription": "\n\nDate when the thread item was created or modified.\nTypically formatted as an ISO string or similar date format.\n"
                },
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Unique identifier for the discussion thread item.\nUsed for tracking and reference purposes.</p>\n",
                    "line": 17,
                    "rawdescription": "\n\nUnique identifier for the discussion thread item.\nUsed for tracking and reference purposes.\n"
                },
                {
                    "name": "tooltip",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>Optional tooltip text to display additional information\nwhen hovering over the item.</p>\n",
                    "line": 46,
                    "rawdescription": "\n\nOptional tooltip text to display additional information\nwhen hovering over the item.\n"
                },
                {
                    "name": "typeClass",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>CSS class identifier that defines the visual style of the item.\nCommon values include &#39;info&#39;, &#39;warning&#39;, &#39;error&#39;, etc.</p>\n",
                    "line": 23,
                    "rawdescription": "\n\nCSS class identifier that defines the visual style of the item.\nCommon values include 'info', 'warning', 'error', etc.\n"
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Interface defining the structure of an item within a discussion thread.</p>\n<p>This interface encapsulates all the necessary properties to display\na single message or entry, including metadata like author, date,\nand styling information.</p>\n<p>See EuiDiscussionThreadComponent\nSee EuiDiscussionThreadItemComponent</p>\n",
            "rawdescription": "\n\nInterface defining the structure of an item within a discussion thread.\n\nThis interface encapsulates all the necessary properties to display\na single message or entry, including metadata like author, date,\nand styling information.\n\nSee EuiDiscussionThreadComponent\nSee EuiDiscussionThreadItemComponent\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "EuiEditorImageDialogConfig",
            "id": "interface-EuiEditorImageDialogConfig-1e2e3abb51f5a5bbae45fea720bff3ea54b3343fd146dd41d4caff85edba228c138f62fd092f9678266fbaa3a0bef5c773862e70e0f232bbc704467eec72fded",
            "file": "packages/components/externals/eui-editor/image-url-dialog/image-url-dialog.component.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Component, OnInit, OnDestroy, inject } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { AbstractControl, Validators, FormGroup, FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { Subject } from 'rxjs';\n\nimport { DIALOG_COMPONENT_CONFIG } from '@eui/components/eui-dialog';\nimport { EuiInputTextComponent } from '@eui/components/eui-input-text';\n\nconst urlValidator = (control: AbstractControl): { isUrlValid: false } | null => {\n    const isHttp = control.value.substr(0, 7) === 'http://';\n    const isHttps = control.value.substr(0, 8) === 'https://';\n\n    return !isHttp && !isHttps ? { isUrlValid: false } : null;\n};\n\nexport interface EuiEditorImageDialogConfig {\n    onFormValueChange: (form: FormGroup) => void;\n}\n\n@Component({\n    templateUrl: 'image-url-dialog.component.html',\n    imports: [\n        ReactiveFormsModule,\n        EuiInputTextComponent,\n    ],\n})\nexport class EuiEditorImageDialogComponent implements OnInit, OnDestroy {\n    public form: FormGroup;\n\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private config = inject<EuiEditorImageDialogConfig>(DIALOG_COMPONENT_CONFIG);\n\n    ngOnInit(): void {\n        this.form = new FormGroup({\n            url: new FormControl<string>('', [Validators.required, urlValidator]),\n        });\n\n        this.form.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(() => {\n            this.config.onFormValueChange(this.form);\n        });\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n}\n",
            "properties": [
                {
                    "name": "onFormValueChange",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 17
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "EuiPaginationEvent",
            "id": "interface-EuiPaginationEvent-a7423e6a1fc697175afc46c739668dd18e57f613e99cdc34cb8214558ac5b3e75a0ded1d429fba8795412e5e68fb2eb1b47a7178ca3ed73289e008cac02d37c5",
            "file": "packages/components/eui-paginator/models/pagination-event.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface EuiPaginationEvent {\n    page: number;\n    pageSize: number;\n    nbPage: number;\n}\n",
            "properties": [
                {
                    "name": "nbPage",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 4
                },
                {
                    "name": "page",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 2
                },
                {
                    "name": "pageSize",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 3
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "EuiTimePicker",
            "id": "interface-EuiTimePicker-bcedc55a2d05e5162ce9f174449e7f17babe055489e613cc6588bf919bffdd10e72ff54c3be6ea3adcd6c86b5a941f480fbfd4b83081b480ffcbb23f3bbaca46",
            "file": "packages/components/eui-timepicker/models/eui-timepicker.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface EuiTimePicker {\n    /**\n     * Hours value (0-23)\n     */\n    hours: number;\n\n    /**\n     * Minutes value (0-59)\n     */\n    mins: number;\n\n    /**\n     * Optional seconds value (0-59)\n     */\n    secs?: number;\n}\n",
            "properties": [
                {
                    "name": "hours",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Hours value (0-23)</p>\n",
                    "line": 11,
                    "rawdescription": "\n\nHours value (0-23)\n"
                },
                {
                    "name": "mins",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Minutes value (0-59)</p>\n",
                    "line": 16,
                    "rawdescription": "\n\nMinutes value (0-59)\n"
                },
                {
                    "name": "secs",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>Optional seconds value (0-59)</p>\n",
                    "line": 21,
                    "rawdescription": "\n\nOptional seconds value (0-59)\n"
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Interface representing a time value with hours, minutes, and optional seconds.\nUsed by EuiTimepickerComponent to manage time values.</p>\n",
            "rawdescription": "\n\nInterface representing a time value with hours, minutes, and optional seconds.\nUsed by EuiTimepickerComponent to manage time values.\n\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "EuiTimeRangePickerConfig",
            "id": "interface-EuiTimeRangePickerConfig-730b408b45aea198f730a61841c06d1690dd139034edd2a20410dcec106b1ddb2392096ca5f203f7f5c4c82e1d4f182cee736a4d4f730268fca0beda9110242f",
            "file": "packages/components/eui-date-range-selector/models/eui-time-range-picker.config.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface EuiTimeRangePickerConfig {\n    /** Start time hours value (0-23) */\n    hours: number;\n    \n    /** Start time minutes value (0-59) */\n    mins: number;\n    \n    /** Start time seconds value (0-59). Optional, only used when hasSeconds is true */\n    secs?: number;\n    \n    /** End time hours value (0-23). Optional, defines the upper bound of the time range */\n    endHours?: number;\n    \n    /** End time minutes value (0-59). Optional, defines the upper bound of the time range */\n    endMins?: number;\n    \n    /** End time seconds value (0-59). Optional, only used when hasSeconds is true */\n    endSecs?: number;\n    \n    /** Controls whether seconds fields are displayed and editable. Default is false */\n    hasSeconds?: boolean;\n    \n    /** Increment step for hours spinner. Default is 1 */\n    stepHours?: number;\n    \n    /** Increment step for minutes spinner. Default is 1 */\n    stepMinutes?: number;\n    \n    /** Increment step for seconds spinner. Default is 1 */\n    stepSeconds?: number;\n    \n    /** Callback function invoked when time values change, receiving all current time values as parameters */\n    callback?: (hours: number, mins: number, secs?: number, endHours?: number, endMins?: number, endSecs?: number) => void;\n}",
            "properties": [
                {
                    "name": "callback",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>Callback function invoked when time values change, receiving all current time values as parameters</p>\n",
                    "line": 37,
                    "rawdescription": "\nCallback function invoked when time values change, receiving all current time values as parameters"
                },
                {
                    "name": "endHours",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>End time hours value (0-23). Optional, defines the upper bound of the time range</p>\n",
                    "line": 16,
                    "rawdescription": "\nEnd time hours value (0-23). Optional, defines the upper bound of the time range"
                },
                {
                    "name": "endMins",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>End time minutes value (0-59). Optional, defines the upper bound of the time range</p>\n",
                    "line": 19,
                    "rawdescription": "\nEnd time minutes value (0-59). Optional, defines the upper bound of the time range"
                },
                {
                    "name": "endSecs",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>End time seconds value (0-59). Optional, only used when hasSeconds is true</p>\n",
                    "line": 22,
                    "rawdescription": "\nEnd time seconds value (0-59). Optional, only used when hasSeconds is true"
                },
                {
                    "name": "hasSeconds",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>Controls whether seconds fields are displayed and editable. Default is false</p>\n",
                    "line": 25,
                    "rawdescription": "\nControls whether seconds fields are displayed and editable. Default is false"
                },
                {
                    "name": "hours",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Start time hours value (0-23)</p>\n",
                    "line": 7,
                    "rawdescription": "\nStart time hours value (0-23)"
                },
                {
                    "name": "mins",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Start time minutes value (0-59)</p>\n",
                    "line": 10,
                    "rawdescription": "\nStart time minutes value (0-59)"
                },
                {
                    "name": "secs",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>Start time seconds value (0-59). Optional, only used when hasSeconds is true</p>\n",
                    "line": 13,
                    "rawdescription": "\nStart time seconds value (0-59). Optional, only used when hasSeconds is true"
                },
                {
                    "name": "stepHours",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>Increment step for hours spinner. Default is 1</p>\n",
                    "line": 28,
                    "rawdescription": "\nIncrement step for hours spinner. Default is 1"
                },
                {
                    "name": "stepMinutes",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>Increment step for minutes spinner. Default is 1</p>\n",
                    "line": 31,
                    "rawdescription": "\nIncrement step for minutes spinner. Default is 1"
                },
                {
                    "name": "stepSeconds",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>Increment step for seconds spinner. Default is 1</p>\n",
                    "line": 34,
                    "rawdescription": "\nIncrement step for seconds spinner. Default is 1"
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Configuration interface for the time range picker component, defining start and end time values,\ndisplay options, step increments, and change callbacks for time range selection.</p>\n",
            "rawdescription": "\n\nConfiguration interface for the time range picker component, defining start and end time values,\ndisplay options, step increments, and change callbacks for time range selection.\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "EuiTooltipInterface",
            "id": "interface-EuiTooltipInterface-c837ee123a26292c1a1eda2631db908582a6d680ba149be4a7b265bb00ef3437c6e27cf3aca988eeef0c042b865206e6e05c09237d708d5ad542d6eb0fea0950",
            "file": "packages/components/directives/eui-tooltip/models/eui-tooltip.config.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export class EuiTooltipConfig implements EuiTooltipInterface {\n    e2eAttr = 'eui-tooltip';\n    tooltipContent = null;\n    position: 'left' | 'right' | 'above' | 'below' | 'before' | 'after' | string = 'above';\n    contentAlign: 'left' | 'right' | 'center' | 'justify' = 'center';\n    colorClass = null;\n\n    constructor(values: EuiTooltipInterface) {\n        Object.assign(this, values);\n    }\n}\n\nexport interface EuiTooltipInterface {\n    e2eAttr: string;\n    tooltipContent: string;\n    position: 'left' | 'right' | 'above' | 'below' | 'before' | 'after' | string;\n    contentAlign: 'left' | 'right' | 'center' | 'justify';\n    colorClass: string;\n}\n",
            "properties": [
                {
                    "name": "colorClass",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 18
                },
                {
                    "name": "contentAlign",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"left\" | \"right\" | \"center\" | \"justify\"",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 17
                },
                {
                    "name": "e2eAttr",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 14
                },
                {
                    "name": "position",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"left\" | \"right\" | \"above\" | \"below\" | \"before\" | \"after\" | string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 16
                },
                {
                    "name": "tooltipContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 15
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "EuiTreeContentBlockModel",
            "id": "interface-EuiTreeContentBlockModel-58c183b5c86bff3152aea9b2ea3814c42c064cbafd35827be581b9f14da427bba9788856dc9f44dc7032f38109e5c22b8dfbcd004baca90c9a2f8feef39320a1",
            "file": "packages/components/eui-tree/eui-tree.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { UxLinkLegacy } from '@eui/core';\n\nexport type TreeDataModel = Array<TreeItemModel>;\n\nexport type TreeItemModel = {\n    node: TreeNode;\n    children?: TreeDataModel;\n};\n\nexport type TreeNode = {\n    // metadata can be block content, or any\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    treeContentBlock: EuiTreeContentBlockModel | any;\n} & SelectionModel &\n    ExpandModel;\n\nexport interface EuiTreeContentBlockModel {\n    id?: string | number;\n    label: string;\n    tooltipLabel: string;\n    url: string;\n    urlExternal: string;\n    urlExternalTarget: string;\n    typeLabel: string;\n    typeClass: string;\n    chips?: Array<{ label: string; typeClass?: string; isOutline?: boolean }>;\n    iconClass: string;\n    iconTypeClass: string;\n    iconSvgName?: string;\n    rightContent?: {\n        iconClass: string;\n        iconTypeClass: string;\n        iconSvgName?: string;\n        badges?: Array<{ label: string; typeClass: string }>;\n        chips?: Array<{ label: string; typeClass?: string; isOutline?: boolean }>;\n        // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        contextMenuMetaData?: any;\n    };\n    metaData: string;\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    [key: string]: any;\n}\n\nexport type SelectionModel = {\n    selectable?: boolean;\n    isSelected?: boolean;\n    // if one of sub is selected, it becomes intermediate\n    isIndeterminate?: boolean;\n    selectConfig?: SelectConfigModel;\n};\n\nexport interface SelectConfigModel extends MultiSelectionLogic, SingleSelectionLogic {\n    /*\n    If It is true;\n    When user select parent, all the children will be selected\n    When selection state is changed, If all children is selected parent will be selected as long as noAutoSelectParent is not true\n    */\n    recursive?: boolean;\n    /* when It is true, If all children is selected, parent will not be selected, while recursive is true*/\n    noAutoSelectParent?: boolean;\n    singleSelect?: boolean;\n}\n\nexport interface MultiSelectionLogic {\n    /*\n    If It is true;\n    When user select parent, all the children will be selected\n    When selection state is changed, If all children is selected parent will be selected as long as noAutoSelectParent is not true\n    */\n    recursive?: boolean;\n    /* when It is true, If all children is selected, parent will not be selected, while recursive is true*/\n    noAutoSelectParent?: boolean;\n}\n\nexport interface SingleSelectionLogic {\n    singleSelect?: boolean;\n}\n\nexport type ExpandModel = {\n    isExpanded?: boolean;\n};\n\nexport type EuiTreeSelectionChanges = { added: TreeDataModel; removed: TreeDataModel; selection: TreeDataModel };\n\nexport type TreeDataRunTimeModel = Array<TreeItemRunTimeModel>;\n\nexport type TreeItemRunTimeModel = { index: number; path: string; children?: Array<TreeItemRunTimeModel>; last?: boolean, matched?: boolean };\n\nexport type TreeItemSelectionRecursiveModel = {\n    selectionRecursiveState: SelectionRecursiveState;\n    children?: Array<TreeItemSelectionRecursiveModel>;\n};\n\nexport type SelectionRecursiveState = 'indeterminate' | 'allSelected' | 'allNotSelected';\n\n// eslint-disable-next-line prefer-arrow/prefer-arrow-functions\nexport function uxTreeNodesMetaDataMapper(oldTree: Array<UxLinkLegacy>): TreeDataModel {\n    return oldTree.map((item) => {\n        if (item?.typeClass === 'default') {\n            // default typeClass will be\n            item.typeClass = 'secondary';\n        }\n        if (item?.badgeLabel) {\n            // default typeClass will be\n            if (item?.badges?.length > 0) {\n                item.badges.push({ label: item?.badgeLabel, typeClass: 'secondary' });\n            } else {\n                item.badges = [{ label: item?.badgeLabel, typeClass: 'secondary' }];\n            }\n        }\n        return {\n            node: {\n                treeContentBlock: {\n                    label: item.label,\n                    typeLabel: item.typeLabel,\n                    typeClass: item.typeLabel && !item.typeClass ? 'secondary' : item.typeClass,\n                    tooltipLabel: item.tooltipLabel,\n                    url: item.url,\n                    urlExternal: item.urlExternal,\n                    urlExternalTarget: item.urlExternal && item.urlExternalTarget ? item.urlExternalTarget : undefined,\n                    badges: item.badges,\n                    metadata: item.metadata,\n                },\n            },\n            children: item.children ? uxTreeNodesMetaDataMapper(item.children) : undefined,\n        };\n    });\n}\n\nexport class EuiTreePagination<T> {\n    private data: T[];\n    private startPage: number;\n    private totalItems: number;\n    private renderedPageCount: number;\n    private perPage: number;\n    private totalPages: number;\n\n    constructor(data: T[], startPage: number, renderedPageCount: number, perPage: number) {\n        this.data = data;\n        this.setCurrentStartPage(startPage);\n        this.renderedPageCount = renderedPageCount;\n        this.totalItems = this.data.length;\n        this.perPage = perPage;\n        this.totalPages = Math.ceil(this.totalItems / this.perPage);\n    }\n\n    public paginateNext(): { startPage: number; data: T[] } {\n        if (this.startPage < this.totalPages) {\n            this.startPage += 1;\n        }\n        return this.getViewData();\n    }\n\n    public paginatePrev(): { startPage: number; data: T[] } {\n        if (this.startPage > 1) {\n            this.startPage -= 1;\n        }\n        return this.getViewData();\n    }\n\n    public getCurrentStartPage(): number {\n        return this.startPage;\n    }\n\n    public setCurrentStartPage(startPage: number): void {\n        this.startPage = startPage;\n    }\n\n    public isAtMax(): boolean {\n        return this.totalPages < this.startPage + this.renderedPageCount;\n    }\n\n    public getViewData(): { startPage: number; data: T[] } {\n        const startIndex = (this.startPage - 1) * this.perPage;\n        const endIndex = startIndex + this.perPage * this.renderedPageCount;\n        const pageData = structuredClone(this.data).slice(startIndex, endIndex);\n        return {\n            startPage: this.startPage,\n            data: pageData,\n        };\n    }\n}\n\nexport class CustomNodeSelectFnHelper{\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    constructor(private compInstance: any) {\n    }\n\n    select(path: string, isChecked: boolean): void{\n        this.compInstance.silentSelect(path, isChecked);\n    }\n\n    getParents(path: string): Array<string>{\n        return this.compInstance.getParentPaths(path);\n    }\n\n    getTreeItem(path: string): TreeItemModel{\n        return this.compInstance.getTreeItem(path);\n    }\n\n    getSelectionRecursiveState(path: string): TreeItemSelectionRecursiveModel{\n        return this.compInstance.getRunTimeSelectionRecursiveState(path);\n    }\n\n}\n\nexport type CustomNodeSelectFn = (path: string, isChecked:boolean, treeItem: TreeItemModel, helper: CustomNodeSelectFnHelper) => void;\n",
            "properties": [
                {
                    "name": "chips",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Array<literal type>",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 27
                },
                {
                    "name": "iconClass",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 28
                },
                {
                    "name": "iconSvgName",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 30
                },
                {
                    "name": "iconTypeClass",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 29
                },
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string | number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 19
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 20
                },
                {
                    "name": "metaData",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 41
                },
                {
                    "name": "rightContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 31
                },
                {
                    "name": "tooltipLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 21
                },
                {
                    "name": "typeClass",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 26
                },
                {
                    "name": "typeLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 25
                },
                {
                    "name": "url",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 22
                },
                {
                    "name": "urlExternal",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 23
                },
                {
                    "name": "urlExternalTarget",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 24
                }
            ],
            "indexSignatures": [
                {
                    "id": "index-declaration-58c183b5c86bff3152aea9b2ea3814c42c064cbafd35827be581b9f14da427bba9788856dc9f44dc7032f38109e5c22b8dfbcd004baca90c9a2f8feef39320a1",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "any",
                    "line": 41,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "kind": 182,
            "methods": [],
            "extends": []
        },
        {
            "name": "EuiTreeItem",
            "id": "interface-EuiTreeItem-43f6b89aa0bd0f06600d989ff4737724dd15b866cd8759965c80616e335ead9d90837dc14273edaf43a0866a527a45ea411a9718a4ed5a8e1b9b322f31363f07",
            "file": "packages/components/eui-tree-list/models/eui-tree-item.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface EuiTreeItem {\n\n}\n",
            "properties": [],
            "indexSignatures": [],
            "methods": [],
            "extends": []
        },
        {
            "name": "EuiTreeListFilterParams",
            "id": "interface-EuiTreeListFilterParams-cf81edbc3be5e10fd893728ac03b604433820438d3b45750a54e3b805a4c5e96aca9e3702c5057e7a6e7d9abd0b78a46828df28fa7bf84cf274a02f5680c3902",
            "file": "packages/components/eui-tree-list/eui-tree-list.component.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import {\n    Component,\n    Input,\n    Output,\n    EventEmitter,\n    ContentChildren,\n    QueryList,\n    forwardRef,\n    AfterViewInit,\n    OnChanges,\n    SimpleChanges,\n    ElementRef,\n    ViewEncapsulation,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\nimport { EuiTreeListItemComponent } from './eui-tree-list-item.component';\nimport { EuiTreeListToolbarComponent } from './toolbar/toolbar.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\nexport interface EuiTreeListFilterParams {\n    readonly level: number;\n    readonly item: EuiTreeListItemComponent;\n    readonly keyword: string;\n}\n\n/**\n * @description\n * Hierarchical tree list component for displaying nested navigation or content structures.\n * Provides expand/collapse functionality, filtering, and keyboard navigation support.\n * Supports optional toolbar with expand-all, collapse-all, and filter controls.\n * Implements ARIA tree role for accessibility compliance.\n * Commonly used for navigation menus, file explorers, or any hierarchical list display.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-tree-list [isShowToolbar]=\"true\">\n *   <eui-tree-list-item label=\"Documents\">\n *     <eui-tree-list-item label=\"Reports\" />\n *     <eui-tree-list-item label=\"Invoices\" />\n *   </eui-tree-list-item>\n *   <eui-tree-list-item label=\"Images\">\n *     <eui-tree-list-item label=\"Photos\" />\n *   </eui-tree-list-item>\n * </eui-tree-list>\n * ```\n *\n * ### With Custom Filter\n * ```html\n * <eui-tree-list\n *   [isShowToolbar]=\"true\"\n *   [filterFunction]=\"customFilter\">\n *   <!-- tree items -->\n * </eui-tree-list>\n * ```\n *\n * ```typescript\n * customFilter = (params: EuiTreeListFilterParams) => {\n *   return params.item.label.toLowerCase().includes(params.keyword.toLowerCase());\n * };\n * ```\n *\n * ### Accessibility\n * - Use role=\"tree\" on container (automatically applied)\n * - Each item has role=\"treeitem\"\n * - Keyboard navigation: Arrow keys to navigate, Enter to activate\n * - Expandable items announce their state to screen readers\n *\n * ### Notes\n * - Toolbar provides expand-all, collapse-all, and filter functionality\n * - Filter function receives level, item, and keyword for custom filtering\n * - Items can be nested to any depth\n * - Supports keyboard navigation for accessibility\n */\n@Component({\n    selector: 'eui-tree-list',\n    templateUrl: './eui-tree-list.component.html',\n    styleUrl: './eui-tree-list.scss',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        EuiTreeListToolbarComponent,\n        TranslateModule,\n    ],\n})\nexport class EuiTreeListComponent implements AfterViewInit, OnChanges {\n    /**\n     * Option to show the toolbar\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isShowToolbar = false;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input({ transform: booleanAttribute }) isShowToolbarToggle = true;\n    /**\n     * Sets the expanded state of the tree list\n     */\n    @Input({ transform: booleanAttribute }) isExpanded = false;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input({ transform: booleanAttribute }) hasItemsUrl = false;\n    /**\n     * Sets the label for the filter input\n     * @type {string}\n     */\n    @Input() filterLabel: string;\n    /**\n     * Function to filter the tree list items based on the provided params\n     * @param {EuiTreeListFilterParams} params\n     * @returns {boolean}\n     */\n    @Input() filterFunction: (params: EuiTreeListFilterParams) => boolean;\n    /**\n     * Sets the label for the expand-all button\n     * @type {string}\n     */\n    @Input() expandAllLabel: string;\n    /**\n     * Sets the label for the collapse-all button\n     * @type {string}\n     */\n    @Input() collapseAllLabel: string;\n    /**\n     * Sets the tabindex attribute to handle the focus state\n     * @default '0'\n     */\n    @Input() tabindex = '0';\n    /**\n     * Sets the aria-label attribute for the tree list\n     * @default ''\n     */\n    @Input() ariaLabel = '';\n    /**\n     * Sets the filter value of the toolbar\n     * @default ''\n     */\n    @Input() toolbarFilterValue = '';\n    /**\n     * Sets the end-to-end attribute for the tree list\n     * @default 'eui-tree-list'\n     */\n    @Input() e2eAttr = 'eui-tree-list';\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Output() itemSelected = new EventEmitter<string>();\n    /**\n     * Event that emits the filter value upon filtering.\n     */\n    @Output() filter = new EventEmitter<string>();\n    /**\n     * Event emitted upon expanding all items.\n     */\n    @Output() expandAll = new EventEmitter();\n    /**\n     * Event emitted upon collapsing all items.\n     */\n    @Output() collapseAll = new EventEmitter();\n\n    @ContentChildren(forwardRef(() => EuiTreeListItemComponent)) items: QueryList<EuiTreeListItemComponent>;\n\n    public ariaOwns = '';\n    public originalTabindex = '0';\n    public classes = '';\n    public ariaRoleTree = 'tree';\n    private elementRef = inject(ElementRef);\n\n    ngAfterViewInit(): void {\n        const treeItemIds = [];\n        if (this.items) {\n            this.items.forEach((treeItem: EuiTreeListItemComponent) => {\n                treeItemIds.push(treeItem.id);\n            });\n        }\n        setTimeout(() => {\n            this.ariaOwns = treeItemIds.join(' ');\n            this.originalTabindex = this.tabindex;\n            if (this.isExpanded) {\n                this.setExpandedState(true);\n            }\n        }, 0);\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes && changes['tabindex']) {\n            this.originalTabindex = this.tabindex;\n        }\n    }\n    /**\n     * Getter function that returns true if the expandAllLabel exists.\n     * @returns {boolean}\n     */\n    get hasExpandAllLabel(): boolean {\n        return this.expandAllLabel !== undefined && this.expandAllLabel !== null;\n    }\n    /**\n     * Getter function that returns true if the collapseAllLabel exists.\n     * @returns {boolean}\n     */\n    get hasCollapseAllLabel(): boolean {\n        return this.collapseAllLabel !== undefined && this.collapseAllLabel !== null;\n    }\n    /**\n     * Method that sets the expanded state and emits the expand-all event.\n     */\n    onExpandAll(event: Event): void {\n        this.setExpandedState(true);\n        this.expandAll.next(void 0);\n    }\n    /**\n     * Method that sets the collapsed state and emits the collapse-all event.\n     */\n    onCollapseAll(event: Event): void {\n        this.setExpandedState(false);\n        this.collapseAll.next(void 0);\n    }\n    /**\n     * Method that handles the visibility of the items based on the filter value and emits the filter event.\n     * @param {string} filterValue - The filter value to set.\n     */\n    onFilter(filterValue: string): void {\n        // TODO find a recursive way of doing the filtering throughout the tree structure\n        if (filterValue && filterValue !== '') {\n            this.setVisibleState(false);\n            this.items.toArray().forEach((item1) => {\n                item1.isVisible = this.filterMatched(0, item1, filterValue);\n                if (item1.subTreeList.length !== 0) {\n                    item1.subTreeList.toArray().forEach((item1SubTreeList) => {\n                        item1SubTreeList.items.toArray().forEach((item2) => {\n                            if (this.filterMatched(1, item2, filterValue)) {\n                                item2.isVisible = true;\n                                item1.isVisible = true;\n                                item1.isExpanded = true;\n\n                                if (item2.subTreeList.length !== 0) {\n                                    item2.subTreeList.toArray().forEach((item2SubTreeList) => {\n                                        item2SubTreeList.items.toArray().forEach((item3) => {\n                                            item3.isVisible = true;\n                                        });\n                                    });\n                                }\n                            }\n\n                            if (item2.subTreeList.length !== 0) {\n                                item2.subTreeList.toArray().forEach((item2SubTreeList) => {\n                                    item2SubTreeList.items.toArray().forEach((item4) => {\n                                        if (this.filterMatched(2, item4, filterValue)) {\n                                            item4.isVisible = true;\n                                            item2.isVisible = true;\n                                            item2.isExpanded = true;\n                                            item1.isVisible = true;\n                                            item1.isExpanded = true;\n                                        }\n                                    });\n                                });\n                            }\n                        });\n                    });\n                }\n            });\n        } else {\n            this.setVisibleState(true);\n        }\n\n        this.filter.next(filterValue);\n    }\n    /**\n     * @deprecated This method is not used anymore and will be removed in the next major version. You can use the `focus()` method instead.\n     */\n    onFocus(): void {\n        this.focus();\n    }\n    /**\n     * Method that sets the visibility state of the tree list items.\n     * @param {boolean} state\n     */\n    public setVisibleState(state: boolean): void {\n        this.items.toArray().forEach((item) => item.setVisibleState(state));\n    }\n    /**\n     * Method that sets the expanded state of the tree list items.\n     * @param {boolean} state\n     */\n    public setExpandedState(state: boolean): void {\n        this.items.toArray().forEach((item) => item.setExpandedState(state));\n    }\n    /**\n     * Method that puts the focus on the first child tree item.\n     */\n    public focus(): void {\n        // Focus on the first child tree item:\n        if (this.items && this.items.length > 0) {\n            this.items.first.focus();\n        }\n    }\n    /**\n     * Method that makes the tree list not focusable.\n     */\n    public disableFocus(): void {\n        this.tabindex = '-1';\n    }\n    /**\n     * Method used to focus on the previous tree item in the list.\n     * @param {EuiTreeListItemComponent} currentTreeListItem - The current tree list item.\n     * @return {boolean} - Returns true if the focus was set on the previous tree item, false otherwise.\n     */\n    public focusOnPreviousTreeItem(currentTreeListItem: EuiTreeListItemComponent): boolean {\n        if (this.items && this.items.length > 0) {\n            let previousTreeListItem: EuiTreeListItemComponent = null;\n            for (const treeListItem of this.items.toArray()) {\n                if (treeListItem !== currentTreeListItem) {\n                    previousTreeListItem = treeListItem;\n                } else if (previousTreeListItem) {\n                    previousTreeListItem.focusOnLastExpandedTreeItem();\n                    return true;\n                }\n            }\n\n            // Focus on the last item of the previous parent:\n            // First find the parent list item:\n            if (this.elementRef) {\n                let parent = this.elementRef.nativeElement.parentElement;\n                while (parent && !parent.classList.contains('eui-tree-list-item')) {\n                    parent = parent.parentElement;\n                }\n\n                if (parent) {\n                    // parent tree-item is found\n                    const content = parent.querySelector('.eui-tree-list-item-header__content');\n                    if (content) {\n                        content.setAttribute('tabindex', '0');\n                        content.focus();\n                        return true;\n                    }\n                }\n            }\n        }\n\n        return false;\n    }\n    /**\n     * Method used to focus on the next tree item in the list.\n     * @param {EuiTreeListItemComponent} currentTreeListItem - The current tree list item.\n     * @return {boolean} - Returns true if the focus was set on the next tree item, false otherwise.\n     */\n    public focusOnNextTreeItem(currentTreeListItem: EuiTreeListItemComponent): boolean {\n        if (this.items && this.items.length > 0) {\n            if (currentTreeListItem !== this.items.last) {\n                let previousTreeListItem: EuiTreeListItemComponent = null;\n                for (const treeListItem of this.items.toArray()) {\n                    if (previousTreeListItem !== currentTreeListItem) {\n                        previousTreeListItem = treeListItem;\n                    } else {\n                        treeListItem.focus();\n                        return true;\n                    }\n                }\n            } else {\n                // The current focused tree item is the last one; find the first next tree item:\n                if (this.elementRef) {\n                    // First find the parent tree list item:\n                    let parent = this.elementRef.nativeElement.parentElement;\n                    // Find the parent that is not a last child itself:\n                    while (parent && (parent.tagName.toLowerCase() !== 'eui-tree-list-item' || parent.nextElementSibling === null)) {\n                        parent = parent.parentElement;\n                    }\n\n                    if (parent) {\n                        // parent tree list item is found; focus on the first child of the next list item\n                        const nextTreeListItem = parent.nextElementSibling;\n                        if (nextTreeListItem) {\n                            const next = nextTreeListItem.querySelector('.eui-tree-list-item-header__content');\n                            next.setAttribute('tabindex', '0');\n                            next.focus();\n                            return true;\n                        }\n                    }\n                }\n            }\n        }\n\n        return false;\n    }\n    /**\n     * Method that sets the default filter function to filter the tree list items.\n     * @param {EuiTreeListFilterParams} params - The filter parameters.\n     * @returns {boolean} - Returns true if the item matches the filter, false otherwise.\n     * @private\n     */\n    private defaultFilterFunction(params: EuiTreeListFilterParams): boolean {\n        if (!params.item.label) {\n            return false;\n        } else if (params.item.label.toUpperCase().indexOf(params.keyword.toUpperCase()) !== -1) {\n            return true;\n        } else {\n            return false;\n        }\n    }\n    /**\n     * Method that filters the tree list items based on the provided params.\n     * @param {number} level - The level of the item in the tree list.\n     * @param {EuiTreeListItemComponent} item - The tree list item to filter.\n     * @param {string} keyword - The keyword to filter by.\n     * @returns {boolean} - Returns true if the item matches the filter, false otherwise.\n     * @private\n     */\n    private filterMatched(level: number, item: EuiTreeListItemComponent, keyword: string): boolean {\n        if (this.filterFunction) {\n            return this.filterFunction({ level, item, keyword });\n        } else {\n            return this.defaultFilterFunction({ level, item, keyword });\n        }\n    }\n}\n",
            "properties": [
                {
                    "name": "item",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiTreeListItemComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 23,
                    "modifierKind": [
                        148
                    ]
                },
                {
                    "name": "keyword",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 24,
                    "modifierKind": [
                        148
                    ]
                },
                {
                    "name": "level",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 22,
                    "modifierKind": [
                        148
                    ]
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "EuiUploadedFileInterface",
            "id": "interface-EuiUploadedFileInterface-bae3d53c513d1da592b71b78ebccca48d12f8bb77bd6beb90e87a97555254f1fa6ec472b35ab397f22d6f61ab6b88ed0b6d2ac9c251066100234dc374f7f5408",
            "file": "packages/components/eui-file-upload/models/uploaded-file.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface EuiUploadedFileInterface {\n    id?: string | number;\n    name?: string;\n    url?: string;\n    size?: number;\n    type?: string;\n}\n",
            "properties": [
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string | number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 2
                },
                {
                    "name": "name",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 3
                },
                {
                    "name": "size",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 5
                },
                {
                    "name": "type",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 6
                },
                {
                    "name": "url",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 4
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "Focus",
            "id": "interface-Focus-ac75c23e756525716e7c4a46e4b323ebc8e13d3b9fa4961eec040d13616f5de31ef44d89586c853c4fb6a8906068f7f04a1255b38303c83d2f54667be080cc23",
            "file": "packages/components/externals/quill/models/editor.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface BetterTableModule {\n    insertTable(rows: number, columns: number): void;\n}\n\nexport interface ToolbarItemConfig {\n    name: string;\n    label?: string;\n    options?: any[];\n    dialogMessage?: string;\n}\n\nexport type EditorChangeContent = ContentChange & { event: 'text-change' };\nexport type EditorChangeSelection = SelectionChange & { event: 'selection-change' };\n\nexport interface Focus {\n    editor: any;\n    source: string;\n}\n\nexport interface Range {\n    index: number;\n    length: number;\n}\n\nexport interface ContentChange {\n    content: any;\n    delta: any;\n    editor: any;\n    html: string | null;\n    oldDelta: any;\n    source: string;\n    text: string;\n}\n\nexport interface SelectionChange {\n    editor: any;\n    oldRange: Range | null;\n    range: Range | null;\n    source: string;\n}\n\nexport interface Blur {\n    editor: any;\n    source: string;\n}\n",
            "properties": [
                {
                    "name": "editor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 16
                },
                {
                    "name": "source",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 17
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "HTMLOption",
            "id": "interface-HTMLOption-04d2916c3cee8ce209c7e80b03fdd3feaf22c89bfba0fa15ada8c473ed245505615aef7f9382fd7792eee6ca5d593b8aeaac2e8fe23ef80fa48f7f897e595c52",
            "file": "packages/components/eui-select/eui-select-multiple.directive.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Directive, DoCheck, ElementRef, forwardRef, Injector, Input, Provider, Renderer2, inject } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl, SelectMultipleControlValueAccessor } from '@angular/forms';\nimport { EuiSelectMultipleOption } from './eui-select-mutli-option.directive';\nimport { _extractId } from './utils';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EuiSelectComponent } from './eui-select.component';\n\nconst SELECT_MULTIPLE_VALUE_ACCESSOR: Provider = {\n    provide: NG_VALUE_ACCESSOR,\n    useExisting: forwardRef(() => EuiSelectMultipleControlValueAccessor),\n    multi: true,\n};\n\n/** Mock interface for HTML Options */\ninterface HTMLOption {\n    value: string;\n    selected: boolean;\n}\n\n/** Mock interface for HTMLCollection */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nabstract class HTMLCollection {\n    // TODO(issue/24571): remove '!'.\n    length!: number;\n    abstract item(_: number): HTMLOption;\n}\n\n/**\n * @description\n * The `ControlValueAccessor` for writing multi-select control values and listening to multi-select\n * control changes. The value accessor is used by the `FormControlDirective`, `FormControlName`, and\n * `NgModel` directives.\n *\n * @see `EuiSelectControlValueAccessor`\n *\n * @usageNotes\n *\n * ### Using a multi-select control\n *\n * The follow example shows you how to use a multi-select control with a reactive form.\n *\n * ```ts\n * const countryControl = new FormControl();\n * ```\n *\n * ```\n * <select euiSelect multiple name=\"countries\" [formControl]=\"countryControl\">\n *   <option euiOption *ngFor=\"let country of countries\" [ngValue]=\"country\">\n *     {{ country.name }}\n *   </option>\n * </select>\n * ```\n *\n * ### Customizing option selection\n *\n * To customize the default option comparison algorithm, `<select>` supports `compareWith` input.\n * See the `SelectControlValueAccessor` for usage.\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\n@Directive({\n    selector:\n        // eslint-disable-next-line @angular-eslint/directive-selector,max-len\n        'select[multiple][formControlName][euiSelect],select[multiple][formControl][euiSelect],select[multiple][ngModel][euiSelect]',\n    host: { '(change)': 'onChange($event.target)', '(blur)': 'onTouched()' },\n    providers: [SELECT_MULTIPLE_VALUE_ACCESSOR],\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class EuiSelectMultipleControlValueAccessor extends SelectMultipleControlValueAccessor implements ControlValueAccessor, DoCheck {\n    @Input()\n    public get isInvalid(): boolean {\n        return this._isInvalid || null;\n    }\n    public set isInvalid(state: BooleanInput) {\n        this._isInvalid = coerceBooleanProperty(state);\n    }\n\n    /**\n     * The current value.\n     *\n     * @nodoc\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    value: any;\n\n    /** @internal */\n    _optionMap: Map<string, EuiSelectMultipleOption> = new Map<string, EuiSelectMultipleOption>();\n\n    /** @internal */\n    _idCounter = 0;\n    protected _isInvalid: boolean;\n    private elementRef: ElementRef;\n    private renderer: Renderer2;\n    private control: NgControl;\n    private selectComponent = inject(EuiSelectComponent, { optional: true })!;\n    private injector = inject(Injector);\n\n    constructor() {\n        const _renderer = inject(Renderer2);\n        const _elementRef = inject(ElementRef);\n\n        super(_renderer, _elementRef);\n        this.elementRef = _elementRef;\n        this.renderer = _renderer;\n    }\n\n    ngDoCheck(): void {\n        if (!this.control) {\n            this.control = this.injector.get(NgControl, undefined, { optional: true });\n        }\n        this._isInvalid = this.control ? this.control.invalid && this.control.touched : this._isInvalid;\n    }\n\n    /**\n     * Sets the \"value\" property on one or of more of the select's options.\n     *\n     * @nodoc\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    writeValue(value: any): void {\n        this.value = value;\n        // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        let optionSelectedStateSetter: (opt: EuiSelectMultipleOption, o: any) => void;\n        if (Array.isArray(value)) {\n            // convert values to ids\n            const ids = value.map((v) => this._getOptionId(v));\n            optionSelectedStateSetter = (opt, o): void => {\n                opt._setSelected(ids.indexOf(o.toString()) > -1);\n            };\n        } else {\n            optionSelectedStateSetter = (opt): void => {\n                opt._setSelected(false);\n            };\n        }\n        this._optionMap.forEach(optionSelectedStateSetter);\n        this.selectComponent?.syncReadOnlyValue();\n    }\n\n    /**\n     * Registers a function called when the control value changes\n     * and writes an array of the selected options.\n     *\n     * @nodoc\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    override registerOnChange(fn: (value: any) => any): void {\n        this.onChange = (element: HTMLSelectElement): void => {\n            // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n            // eslint-disable-next-line @typescript-eslint/no-explicit-any\n            const selected: Array<any> = [];\n            const selectedOptions = element.selectedOptions;\n            if (selectedOptions !== undefined) {\n                const options = selectedOptions;\n                // eslint-disable-next-line @typescript-eslint/prefer-for-of\n                for (let i = 0; i < options.length; i++) {\n                    const opt = options[i];\n                    const val = this._getOptionValue(opt.value);\n                    selected.push(val);\n                }\n            } else {\n                const options = element.options;\n                // eslint-disable-next-line @typescript-eslint/prefer-for-of\n                for (let i = 0; i < options.length; i++) {\n                    const opt = options[i];\n                    if (opt.selected) {\n                        const val = this._getOptionValue(opt.value);\n                        selected.push(val);\n                    }\n                }\n            }\n            this.value = selected;\n            fn(selected);\n        };\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    registerOnTouched(fn: any): void {\n        this.onTouched = (): void => {\n            const control = this.injector.get(NgControl, undefined, { optional: true });\n            this.isInvalid = control.invalid;\n            if (this.isInvalid) {\n                this.renderer.addClass(this.elementRef.nativeElement, 'eui-select--invalid');\n            }\n            fn();\n        };\n    }\n\n    /** @internal */\n    _registerOption(value: EuiSelectMultipleOption): string {\n        const id: string = (this._idCounter++).toString();\n        this._optionMap.set(id, value);\n        return id;\n    }\n\n    /** @internal */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    _getOptionId(value: any): string | null {\n        for (const id of Array.from(this._optionMap.keys())) {\n            // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n            if (this['_compareWith'](this._optionMap.get(id)!._value, value)) {\n                return id;\n            }\n        }\n        return null;\n    }\n\n    /** @internal */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    _getOptionValue(valueString: string): any {\n        const id: string = _extractId(valueString);\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n        return this._optionMap.has(id) ? this._optionMap.get(id)!._value : valueString;\n    }\n}\n",
            "properties": [
                {
                    "name": "selected",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 17
                },
                {
                    "name": "value",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 16
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Mock interface for HTML Options</p>\n",
            "rawdescription": "\nMock interface for HTML Options",
            "methods": [],
            "extends": []
        },
        {
            "name": "IEuiSliderValues",
            "id": "interface-IEuiSliderValues-9e13afac1450dc830e435a741ff6af3e0f4c98d280b2a9061d1e972d6ba4fe65d66e81188a9ca9c5fec78f695161d909acaee6d42d0a773bcd558432dd7fdf70",
            "file": "packages/components/eui-slider/eui-slider.component.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { booleanAttribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, inject, numberAttribute, ViewChild,\n    AfterViewInit, OnDestroy, ViewChildren, QueryList, OnInit, model, effect, input } from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { CdkDragEnd, CdkDragMove, DragDropModule, Point } from '@angular/cdk/drag-drop';\nimport { fromEvent, Subject, Subscription, takeUntil } from 'rxjs';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { uniqueId } from '@eui/core';\n\n/**\n * Represents the value structure for the slider component.\n * Contains start value and optional end value for range selection.\n */\nexport interface IEuiSliderValues {\n    /** The starting value of the slider or the single value in non-range mode */\n    start: number;\n    /** The ending value of the slider when in range mode, null otherwise */\n    end?: number | null;\n}\n\ntype SliderHandler = 'start' | 'end';\n\n/**\n * A draggable slider component for selecting numeric values within a defined range.\n * Supports both single-value and range selection modes with keyboard navigation,\n * visual feedback through tooltips and ticks, and full accessibility support.\n * Implements ControlValueAccessor for seamless integration with Angular forms.\n *\n * Use cases:\n * - Single value selection within a numeric range\n * - Range selection with start and end values\n * - Form-integrated numeric input with visual feedback\n * - Accessible numeric input for keyboard and screen reader users\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <!-- Single value slider -->\n * <eui-slider\n *   [min]=\"0\"\n *   [max]=\"100\"\n *   [step]=\"5\"\n *   [(value)]=\"sliderValue\" />\n *\n * <!-- Range slider -->\n * <eui-slider\n *   [min]=\"0\"\n *   [max]=\"1000\"\n *   [hasRange]=\"true\"\n *   [hasTicks]=\"true\"\n *   [(value)]=\"rangeValue\" />\n *\n * <!-- With custom formatting -->\n * <eui-slider\n *   [formatValue]=\"formatPrice\"\n *   [(value)]=\"price\" />\n * ```\n *\n * ```typescript\n * sliderValue = { start: 50, end: null };\n * rangeValue = { start: 200, end: 800 };\n * formatPrice = (value: number) => `$${value}`;\n * ```\n *\n * ### Accessibility\n * - Keyboard navigation: Arrow keys to adjust, Home/End for min/max\n * - Provide descriptive ariaLabel for the slider purpose\n * - Use endAriaLabel for range sliders to distinguish handles\n * - Focus indicators show which handle is active\n *\n * ### Notes\n * - Value structure: { start: number, end?: number | null }\n * - Range mode requires hasRange=\"true\" and both start/end values\n * - Ticks display at each step interval when hasTicks=\"true\"\n * - Tooltip shows current value on hover when hasTooltip=\"true\"\n */\n@Component({\n    selector: 'eui-slider',\n    templateUrl: './eui-slider.component.html',\n    styleUrls: ['./eui-slider.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: ['euiPrimary', 'euiDanger', 'euiVariant'],\n        },\n    ],\n    imports: [DragDropModule],\n})\nexport class EuiSliderComponent implements ControlValueAccessor, AfterViewInit, OnDestroy, OnInit {\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-slider'),\n            this.isDisabled ? 'eui-slider--disabled' : '',\n            this.control?.invalid ? 'eui-slider--invalid eui-slider--danger' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * Initial value used by the slider.\n     * @defaultValue { start: 0, end: 0 }\n     */\n    value = model<IEuiSliderValues>({ start: 0, end: 100 });\n    /**\n     * The lowest value in the range of permitted values.\n     * \n     * @default 0\n     */\n    // eslint-disable-next-line @angular-eslint/no-input-rename\n    minValue = input(0, { alias: 'min', transform: numberAttribute });\n    /**\n     * The greatest value in the range of permitted values.\n     * \n     * @default 100\n     */\n    // eslint-disable-next-line @angular-eslint/no-input-rename\n    maxValue = input(100, { alias: 'max', transform: numberAttribute });\n    /**\n     * Number that specifies the granularity that the value must adhere to.\n     * \n     * @default 1\n     */\n    step = input(1, { transform: numberAttribute });\n    /**\n     * Wheter a tooltip should be displayed when the handlers are hovered.\n     *\n     * @default true\n     */\n    hasTooltip = input(true, { transform: booleanAttribute });\n    /**\n     * Wheter a ticks should be displayed at each step interval.\n     *\n     * @default false\n     */\n    hasTicks = input(false, { transform: booleanAttribute });\n    /**\n     * Wheter the value should be displayed on the top right of the track.\n     *\n     * @default true\n     */\n    hasValueIndicator = input(true, { transform: booleanAttribute });\n    /**\n     * Wheter a second should be display to allow to select a range.\n     *\n     * @default false\n     */\n    hasRange = input(false, { transform: booleanAttribute });\n    /**\n     * Method that allows to format the value display.\n     *\n     * @return The formatted string\n     * @defaultValue (value: number) => `${value}`\n     */\n    formatValue = input<(value: number) => string>(\n        (value: number) => `${value}`,\n    );\n    /**\n     * @description\n     * The label for the slider, used for accessibility.\n     * @default 'eUI slider'.\n     */\n    ariaLabel = input('eUI slider');\n    /**\n     * @description\n     * The label for the end slider in case there is a range, used for accessibility.\n     * @default 'end eUI slider'.\n     */\n    endAriaLabel = input('end eUI slider');\n    /**\n     * @description\n     * The unique identifier for the slider.\n     * This is used for accessibility and to link the slider with its label.\n     * @default 'eui-slider-' + uniqueId()\n     */\n    sliderId = input(`eui-slider-${uniqueId()}`);\n    \n    @ViewChild('sliderContainer', { static: true }) sliderContainer: ElementRef;\n    @ViewChild('trackActive', { static: false }) trackActive: ElementRef;\n\n    @ViewChild('startHandler', { static: false }) startHandler: ElementRef;\n    @ViewChild('startHandlerContainer', { static: false }) startHandlerContainer: ElementRef;\n    @ViewChild('endHandler', { static: false }) endHandler: ElementRef;\n    @ViewChild('endHandlerContainer', { static: false }) endHandlerContainer: ElementRef;\n    @ViewChildren('handler') handlers: QueryList<ElementRef>;\n\n    @ViewChild('startInputRange', { static: false }) startInputRange: ElementRef;\n    @ViewChild('endInputRange', { static: false }) endInputRange: ElementRef;\n    @ViewChildren('inputRange') inputRanges: QueryList<ElementRef>;\n\n    public isDisabled = false;\n    public initValue: { start: Point; end: Point} = {\n        start: { x: 0, y: 0 },\n        end: { x: 0, y: 0 },\n    }\n    public ticks: { value: number; position: string }[] = [];\n\n    private baseStatesDirective: BaseStatesDirective = inject(BaseStatesDirective);\n    private control = inject(NgControl, { self: true, optional: true });\n    private cd = inject(ChangeDetectorRef);\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private keyboardSubscription: Subscription = new Subscription();\n    private resizeObserver: ResizeObserver;\n    /**\n     * Position where the user clicked to start the drag of an handler\n     */\n    private dragOffsetX = 0;\n\n    constructor() {\n        if (this.control) {\n            this.control.valueAccessor = this;\n        }\n\n        effect(() => {\n            const v = this.value();\n            queueMicrotask(() => this.onChange(v));\n        });\n    }\n\n    ngOnInit(): void {\n        if (this.value() === null) {\n            this.value.set({ start: 0, end: 0 });\n        }\n        if (!this.hasRange()) {\n            this.value.update(v => ({ ...v, end: null }));\n        }\n    }\n\n    ngAfterViewInit(): void {\n        this.inputRanges.toArray().forEach((inputRange) => {\n            const handlerId: SliderHandler = inputRange.nativeElement.classList.contains('range-input-start') ? 'start' : 'end';\n\n            fromEvent(inputRange.nativeElement, 'focus').pipe(takeUntil(this.destroy$)).subscribe(() => {\n                if (handlerId === 'start') {\n                    this.startHandler.nativeElement.classList.add('eui-slider__handler--focused');\n                } else {\n                    this.endHandler.nativeElement.classList.add('eui-slider__handler--focused');\n                }\n\n                this.keyboardSubscription = fromEvent<KeyboardEvent>(inputRange.nativeElement, 'keydown').pipe(takeUntil(this.destroy$)).subscribe((event) => { \n                    if (!this.isDisabled) {\n                        if ((event.key) === 'Home') {\n                            this.value.update(v => ({\n                                ...v, \n                                [handlerId]: this.hasRange() ? (handlerId === 'start' ? this.minValue() : v.start) : this.minValue(),\n                            }));\n                            this.setPositionValue(handlerId, this.value()[handlerId]);\n                            event.preventDefault();\n                        }\n                        if ((event.key) === 'End') {\n                            this.value.update(v => ({\n                                ...v, \n                                [handlerId]: this.hasRange() ? (handlerId === 'start' ? v.end : this.maxValue()) : this.maxValue(),\n                            }));\n                            this.setPositionValue(handlerId, this.value()[handlerId]);\n                            event.preventDefault();\n                        }\n                        if ((event.key) === 'ArrowRight' || (event.key) === 'ArrowUp') {\n                            this.value.update(v => {\n                                const newValue = v[handlerId] + this.step();\n                                const limit = this.hasRange() ? (handlerId === 'start' ? v.end : this.maxValue()) : this.maxValue();\n                                return v[handlerId] < limit ? { ...v, [handlerId]: Math.min(newValue, limit) } : v;\n                            });\n                            this.setPositionValue(handlerId, this.value()[handlerId]);\n                            event.preventDefault();\n                        }\n                        if ((event.key) === 'ArrowLeft' || (event.key) === 'ArrowDown') {\n                            this.value.update(v => {\n                                const newValue = v[handlerId] - this.step();\n                                const limit = this.hasRange() ? (handlerId === 'start' ? this.minValue() : v.start) : this.minValue();\n                                return v[handlerId] > limit ? { ...v, [handlerId]: Math.max(newValue, limit) } : v;\n                            });\n                            this.setPositionValue(handlerId, this.value()[handlerId]);\n                            event.preventDefault();\n                        }\n\n                        this.cd.detectChanges();\n                    }\n                });\n            });\n\n            fromEvent(inputRange.nativeElement, 'blur').pipe(takeUntil(this.destroy$)).subscribe(() => {\n                if (handlerId === 'start') {\n                    this.startHandler.nativeElement.classList.remove('eui-slider__handler--focused');\n                } else {\n                    this.endHandler.nativeElement.classList.remove('eui-slider__handler--focused');\n                }\n\n                this.onTouched();\n                this.keyboardSubscription.unsubscribe();\n            });\n        });\n\n        this.handlers.toArray().forEach((handler) => {\n            const handlerId: SliderHandler = handler.nativeElement.classList.contains('eui-slider__handler-start') ? 'start' : 'end';\n\n            fromEvent<MouseEvent>(handler.nativeElement, 'click').pipe(takeUntil(this.destroy$)).subscribe((event) => {\n                if (handlerId === 'start') {\n                    this.startInputRange.nativeElement.focus();\n                } else {\n                    this.endInputRange.nativeElement.focus();\n                }\n\n                event.stopPropagation();\n            });\n\n            fromEvent<MouseEvent>(handler.nativeElement, 'mousedown').pipe(takeUntil(this.destroy$)).subscribe((event) => {\n                const rect = handler.nativeElement.getBoundingClientRect();\n                this.dragOffsetX = event.clientX - rect.left;\n\n                event.stopPropagation();\n            });\n        });\n\n        this.resizeObserver = new ResizeObserver(() => {\n            this.setPositionValue('start', this.value().start);\n    \n            if (this.hasRange()) {\n                this.setPositionValue('end', this.value().end);\n            }\n\n            if (this.hasTicks()) {\n                this.generateTicks();\n            }\n        });\n\n        this.resizeObserver.observe(this.sliderContainer.nativeElement);\n\n        if (this.hasTicks()) {\n            this.generateTicks();\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n        this.resizeObserver?.disconnect();\n        this.keyboardSubscription?.unsubscribe();\n    }\n\n    get formattedStartValue(): string {\n        return this.formatValue()(this.value().start);\n    }\n\n    get formattedEndValue(): string {\n        return this.formatValue()(this.value().end);\n    }\n\n    /**\n     * Drag handler\n     * \n     * @param handlerId Dragged handler\n     * @param e Event\n     */\n    public onDragMoved(handlerId: SliderHandler, e: CdkDragMove): void {\n        e.source.element.nativeElement.classList.add('eui-slider__handler--dragging');\n\n        const containerRect = this.sliderContainer.nativeElement.getBoundingClientRect();\n        const containerWidth = containerRect.width;\n        const handlerWidth = handlerId === 'start' ? this.startHandler.nativeElement.offsetWidth : this.endHandler.nativeElement.offsetWidth;\n\n        const maxTravel = containerWidth - handlerWidth;\n        const range = this.maxValue() - this.minValue();\n        const pointerX = e.pointerPosition.x - containerRect.left;\n        const ratio = Math.max(0, Math.min(1, pointerX / maxTravel));\n\n        const rawValue = this.minValue() + (ratio * range);\n        const steppedValue = (Math.round(((rawValue - this.minValue()) / this.step())) * this.step()) + this.minValue();\n        const clampedValue = Math.max(this.minValue(), Math.min(this.maxValue(), steppedValue));\n\n        this.value.update(v => ({ ...v, [handlerId]: clampedValue }));\n\n        const finalRatio = (clampedValue - this.minValue()) / range;\n        const snappedX = Math.round(finalRatio * maxTravel);\n\n        this.initValue[handlerId] = { x: snappedX, y: 0 };\n\n        this.calculateActiveTrack();\n        this.onChange(this.value());\n        this.onTouched();\n    }\n\n    /**\n     * Drag end handler\n     * \n     * @param e \n     */\n    public onDragEnded(e: CdkDragEnd): void {\n        e.source.element.nativeElement.classList.remove('eui-slider__handler--dragging');\n    }\n\n    writeValue(value: IEuiSliderValues): void {\n        if (!value) {\n            this.value.set({ start: 0, end: 0 });\n        } else {\n            this.value.set(value);\n        }\n\n        if (!this.hasRange()) {\n            this.value.update(v => ({ ...v, end: null }));\n        }\n\n        Promise.resolve().then(() => {\n            this.setPositionValue('start', this.value().start);\n\n            if (this.hasRange()) {\n                this.setPositionValue('end', this.value().end);\n            }\n        });\n    }\n\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    registerOnChange(fn: any): void {\n        this.onChange = fn;\n    }\n\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    registerOnTouched(fn: any): void {\n        this.onTouched = fn;\n    }\n\n    setDisabledState(isDisabled: boolean): void {\n        this.isDisabled = isDisabled;\n        this.cd.detectChanges();\n    }\n\n    /**\n     * Constrains the position of a handler to the position of the other one.\n     * Start handler cannot go after end handler. End handler cannot go before start handler.\n     * \n     * @param handlerId Dragged handler\n     * @returns A function constraining the position.\n     */\n    public constrainPosition = (handlerId: SliderHandler): ((point: Point) => Point) => {\n        return (point: Point) => {\n            const containerRect = this.sliderContainer.nativeElement.getBoundingClientRect();\n\n            let minX = 0;\n            let maxX = containerRect.width + containerRect.left;\n\n            if (handlerId === 'start' && this.endHandler?.nativeElement) {\n                const endRect = this.endHandler.nativeElement.getBoundingClientRect();\n                maxX = endRect.left;\n            } else if (handlerId === 'end' && this.startHandler?.nativeElement) {\n                const startRect = this.startHandler.nativeElement.getBoundingClientRect();\n                minX = startRect.left;\n            }\n\n            const adjustedX = point.x - this.dragOffsetX;\n            const x = Math.max(minX, Math.min(adjustedX, maxX));\n            \n            return {\n                x,\n                y: 0,\n            };\n        };\n    };\n\n    /**\n     * Click on track handler\n     * \n     * @param e Click event\n     */\n    public onTrackClick(e: MouseEvent): void {\n        if (!this.isDisabled) {\n            const containerRect = this.sliderContainer.nativeElement.getBoundingClientRect();\n            const x = e.clientX - containerRect.left;\n\n            const containerWidth = this.sliderContainer.nativeElement.offsetWidth;\n            const range = this.maxValue() - this.minValue();\n            const ratio = Math.max(0, Math.min(1, x / containerWidth));\n\n            const rawValue = this.minValue() + (ratio * range);\n            const steppedValue = (Math.round(((rawValue - this.minValue()) / this.step())) * this.step()) + this.minValue();\n            const clampedValue = Math.max(this.minValue(), Math.min(this.maxValue(), steppedValue));\n\n            if (this.hasRange()) {\n                const distToStart = Math.abs(this.value().start - clampedValue);\n                const distToEnd = Math.abs(this.value().end - clampedValue);\n                let closest: SliderHandler;\n\n                if (distToStart === distToEnd) {\n                    closest = clampedValue >= this.value().start ? 'end' : 'start';\n                } else {\n                    closest = distToStart < distToEnd ? 'start' : 'end';\n                }\n\n                // this.value()[closest] = clampedValue;\n                this.value.update(v => ({ ...v, [closest]: clampedValue }));\n                this.setPositionValue(closest, clampedValue);\n            } else {\n                // this.value().start = clampedValue;\n                this.value.update(v => ({ ...v, start: clampedValue }));\n                this.setPositionValue('start', clampedValue);\n            }\n\n            this.onChange(this.value());\n            this.onTouched();\n        }\n    }\n\n    /**\n     * Calculates the positon of an handler for a given value.\n     * \n     * @param handlerId Handler to position\n     * @param value Value on which calculate the position\n     */\n    private setPositionValue(handlerId: SliderHandler, value: number): void {\n        const container = this.sliderContainer.nativeElement;\n        const handler = handlerId === 'start' ? this.startHandler.nativeElement : this.endHandler.nativeElement;\n\n        const containerWidth = container.offsetWidth;\n        const handlerWidth = handler.offsetWidth;\n        const maxTravel = containerWidth - handlerWidth;\n        const range = this.maxValue() - this.minValue();\n\n        const clamped = Math.max(this.minValue(), Math.min(this.maxValue(), value));\n        const ratio = (clamped - this.minValue()) / range;\n        const x = Math.round(ratio * maxTravel);\n\n        this.initValue[handlerId] = { x, y: 0 };\n\n        this.cd.detectChanges();\n        this.calculateActiveTrack();\n    }\n\n    /**\n     * Calculate the size of the active track between two handlers\n     */\n    private calculateActiveTrack(): void {\n        const startX = this.initValue.start ? this.initValue.start.x : 0;\n        const endX = this.hasRange() ? this.initValue.end.x : startX;\n        const track = this.trackActive.nativeElement;\n\n        if (this.hasRange()) {\n            const left = Math.min(startX, endX);\n            const width = Math.abs(endX - startX);\n\n            track.style.left = `${left}px`;\n            track.style.width = `${width}px`;\n        } else {\n            track.style.left = '0px';\n            track.style.width = `${startX}px`;\n        }\n    }\n\n    /**\n     * Generates the ticks based on the step option.\n     */\n    private generateTicks(): void {\n        const stepCount = Math.floor((this.maxValue() - this.minValue()) / this.step());\n\n        const containerWidth = this.sliderContainer.nativeElement.offsetWidth;\n        const handlerWidth = this.startHandler.nativeElement.offsetWidth;\n        const maxTravel = containerWidth - handlerWidth;\n\n        this.ticks = [];\n\n        for (let i = 0; i <= stepCount; i++) {\n            const val = this.minValue() + (i * this.step());\n            const ratio = (val - this.minValue()) / (this.maxValue() - this.minValue());\n            const px = ((ratio * maxTravel) + handlerWidth / 2).toFixed(1);\n\n            this.ticks.push({ value: val, position: `${px}px` });\n        }\n\n        this.cd.detectChanges();\n    }\n\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-empty-function\n    private onChange: (_: any) => void = () => {};\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-empty-function\n    private onTouched: () => void = () => {};\n\n}\n",
            "properties": [
                {
                    "name": "end",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number | null",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>The ending value of the slider when in range mode, null otherwise</p>\n",
                    "line": 19,
                    "rawdescription": "\nThe ending value of the slider when in range mode, null otherwise"
                },
                {
                    "name": "start",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The starting value of the slider or the single value in non-range mode</p>\n",
                    "line": 17,
                    "rawdescription": "\nThe starting value of the slider or the single value in non-range mode"
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Represents the value structure for the slider component.\nContains start value and optional end value for range selection.</p>\n",
            "rawdescription": "\n\nRepresents the value structure for the slider component.\nContains start value and optional end value for range selection.\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "IEuiWizardStep",
            "id": "interface-IEuiWizardStep-3854213e8587b53d681417454b9d1bebd67d5491530d5c8a386d6dedaa385af39a5b70c4177f5c8cc18ceea3cd8909597fd6487879081ecdf9aa5c30c06fe0b1",
            "file": "packages/components/eui-wizard/models/eui-wizard-step.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface IEuiWizardStep {\n    id: string;\n    indexLabel: string;\n    indexIconSvgName: string;\n    label: string;\n    subLabel: string;\n    isCompleted: boolean;\n    isActive: boolean;\n    isShowStepTitle: boolean;\n    isInvalid: boolean;\n    isWarning: boolean;\n    isDisabled: boolean;\n    index: number;\n    url: string;\n}\n\nexport class EuiWizardStep implements IEuiWizardStep {\n    id: string;\n    indexLabel: string;\n    indexIconSvgName: string;\n    label: string;\n    subLabel: string;\n    isCompleted = false;\n    isActive = false;\n    isShowStepTitle = false;\n    isInvalid = false;\n    isWarning = false;\n    isDisabled = false;\n    index: number;\n    url: string;\n\n    // TODO:  find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    constructor(values: any = {}) {\n        Object.assign(this, values);\n    }\n\n    toString(): string {\n        return JSON.stringify(this.toJSON());\n    }\n\n    toJSON(): object {\n        return {\n            id: this.id,\n            indexLabel: this.indexLabel,\n            indexIconSvgName: this.indexIconSvgName,\n            label: this.label,\n            subLabel: this.subLabel,\n            isCompleted: this.isCompleted,\n            isActive: this.isActive,\n            isShowStepTitle: this.isShowStepTitle,\n            isInvalid: this.isInvalid,\n            isWarning: this.isWarning,\n            isDisabled: this.isDisabled,\n            index: this.index,\n            url: this.url,\n        };\n    }\n}\n",
            "properties": [
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 2
                },
                {
                    "name": "index",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 13
                },
                {
                    "name": "indexIconSvgName",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 4
                },
                {
                    "name": "indexLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 3
                },
                {
                    "name": "isActive",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "isCompleted",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 7
                },
                {
                    "name": "isDisabled",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 12
                },
                {
                    "name": "isInvalid",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10
                },
                {
                    "name": "isShowStepTitle",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 9
                },
                {
                    "name": "isWarning",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 11
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 5
                },
                {
                    "name": "subLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 6
                },
                {
                    "name": "url",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 14
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "ImageAnnotations",
            "id": "interface-ImageAnnotations-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "appendTo",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 377
                },
                {
                    "name": "height",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 376
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 372
                },
                {
                    "name": "width",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 375
                },
                {
                    "name": "x",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 373
                },
                {
                    "name": "y",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 374
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "InputIconMetadata",
            "id": "interface-InputIconMetadata-7b6461c130ac0c23f0157295de8bd7242b1e03f5fdadab62d9ad2c3c86200b01613816e50216ac1231014f11cf89398051597c9fb9b72cb04947364d47f88f7f",
            "file": "packages/components/eui-input-text/eui-icon.directive.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import {\n    booleanAttribute,\n    ComponentRef,\n    Directive,\n    ElementRef,\n    HostBinding,\n    Renderer2,\n    ViewContainerRef,\n    inject,\n    input,\n    effect,\n    output,\n    computed,\n    OnDestroy,\n} from '@angular/core';\nimport { EuiIconSvgComponent } from '@eui/components/eui-icon';\n\n/**\n * @description\n * Metadata for the icon directive used in input elements.\n * This interface defines the properties that can be used to configure the icon,\n * including the icon name, aria label, and whether the icon is clickable.\n */\nexport interface InputIconMetadata {\n    /**\n     * @description\n     * The icon name to be displayed. This should correspond to an icon in the icon set.\n     */\n    icon: string;\n    /**\n     * @description\n     * The aria-label for the icon, used for accessibility purposes.\n     * This should describe the icon's function or purpose.\n     */\n    ariaLabel?: string;\n    /**\n     * @description\n     * Indicates whether the icon is clickable. If true, the icon will respond to click events.\n     * If false, the icon will not respond to click events and will not have pointer events enabled.\n     */\n    clickable?: boolean;\n    /**\n     * @description\n     * The color of the icon. This can be used to customize the appearance of the icon.\n     * If not specified, the default color will be used.\n     */\n    colour?: string;\n}\n\n/**\n * @description\n * Directive to add an icon to an eui-input-text element, allowing for click events too.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <input euiInputText [euiIcon]=\"{ icon: 'eui-search' }\" />\n * ```\n *\n * ### Clickable Icon\n * ```html\n * <input euiInputText \n *   [euiIcon]=\"{ icon: 'eui-close', clickable: true, ariaLabel: 'Clear search' }\"\n *   (iconClick)=\"clearSearch()\" />\n * ```\n *\n * ### Accessibility\n * - Non-clickable icons should be decorative (`aria-hidden=\"true\"`)\n * - Clickable icons must have `ariaLabel` for screen readers\n * - Clickable icons are keyboard accessible (Tab + Enter)\n *\n * ### Notes\n * - Icon is positioned at the end of the input\n * - Automatically creates flex wrapper for layout\n * - Supports custom icon colors via `colour` property\n */\n@Directive({\n    selector: 'input[euiInputText][euiIcon]',\n\thost: {\n\t\t'[class]': 'cssClasses',\n\t},\n})\nexport class EuiIconDirective implements OnDestroy {\n    euiIcon = input<InputIconMetadata>()\n    readonly = input(null, { transform: booleanAttribute });\n    iconClick = output()\n    public get cssClasses(): string {\n        return [this._cssClasses, this.euiIcon()?.icon ? `${this._elementRef.nativeElement.rootClassName}--loading` : ''].join(' ').trim();\n    }\n    public set cssClasses(value: string) {\n        this._cssClasses = value;\n    }\n    @HostBinding('attr.readonly') protected _readonly: string | null;\n    protected _icon: ComponentRef<EuiIconSvgComponent>;\n    private _euiUFlexWrapper: HTMLDivElement;\n    private _cssClasses: string;\n    private _elementRef = inject(ElementRef);\n    private _viewContainerRef = inject(ViewContainerRef);\n    private _renderer = inject(Renderer2);\n    private listeners: (() => void)[] = [];\n    private clickable = computed(() => this.euiIcon()?.clickable ?? false);\n    private icon = computed(() => this.euiIcon()?.icon);\n    private iconColour = computed(() => this.euiIcon()?.colour);\n    private readonly DEFAULT_ICON_COLOUR = 'secondary';\n\n    constructor() {\n        effect(() => {\n            this._readonly = this.readonly() ? '' : null;\n            if(this.readonly()) {\n                this.removeIcon();\n                this.removeFlexWrapper();\n            } else if (this.euiIcon()?.icon && this.readonly() === false) {\n                // create wrapper\n                this.createFlexWrapper();\n\n                // dynamically create the icon\n                this.createIcon();\n                this._renderer.appendChild(this._euiUFlexWrapper, this._icon.location.nativeElement);\n            }\n        });\n\n        effect(() => {\n            const icon = this.icon();\n            if(!icon) {\n                this.removeIcon();\n                this.removeFlexWrapper();\n            } else if (!this._icon && !this.readonly()) {\n                this.createFlexWrapper();\n                this.createIcon();\n            } else if (this._icon) {\n                this._icon.setInput('icon', icon);\n            }\n        });\n\n        effect(() => {\n            const clickable = this.clickable();\n            if(!clickable) {\n                this._renderer.removeAttribute(this._icon.location.nativeElement, 'tabindex');\n                this._renderer.setStyle(this._icon.location.nativeElement, 'pointer-events', 'none');\n            } else {\n                this._renderer.setAttribute(this._icon.location.nativeElement, 'tabindex', '0');\n                this._icon.setInput('ariaHidden', false);\n                this._icon.setInput('focusable', true);\n                this._icon.setInput('ariaLabel', this.euiIcon()?.ariaLabel || 'Input icon');\n                this._renderer.removeStyle(this._icon.location.nativeElement, 'pointer-events');\n            }\n        });\n\n        effect(() => {\n            const iconColour = this.iconColour();\n            if (this._icon) {\n                this._icon.setInput('fillColor', iconColour || this.DEFAULT_ICON_COLOUR);\n            }\n        })\n    }\n\n    ngOnDestroy(): void {\n        // Clean up listeners\n        this.listeners?.forEach(listener => listener());\n        this.listeners = [];\n    }\n\n    /**\n     * create a flex wrapper for the input to hold the icon\n     *\n     * @private\n     */\n    private createFlexWrapper(): void {\n        if (!this._euiUFlexWrapper && !this.doesParentHasAFlexWrapper()) {\n            this._euiUFlexWrapper = this._renderer.createElement('div');\n            this._renderer.addClass(this._euiUFlexWrapper, 'eui-u-flex');\n            this._renderer.setAttribute(this._euiUFlexWrapper, 'flexWrapper', null);\n            this._renderer.setStyle(this._euiUFlexWrapper, 'position', 'relative');\n            this._renderer.insertBefore(\n                this._elementRef.nativeElement.parentElement,\n                this._euiUFlexWrapper,\n                this._elementRef.nativeElement,\n            );\n            this._renderer.appendChild(this._euiUFlexWrapper, this._elementRef.nativeElement);\n        }\n        if (!this._euiUFlexWrapper && this.doesParentHasAFlexWrapper()) {\n            this._euiUFlexWrapper = this._elementRef.nativeElement.parentElement;\n        }\n    }\n\n    /**\n     * checks if the parent has a flexWrapper. This is used to avoid creating multiple flexWrappers\n     *\n     * @private\n     */\n    private doesParentHasAFlexWrapper(): boolean {\n        return this._elementRef.nativeElement.parentElement.hasAttribute('flexWrapper');\n    }\n\n    /**\n     * removes the flexWrapper while keeping the input element intact\n     *\n     * @private\n     */\n    private removeFlexWrapper(): void {\n        if (this._euiUFlexWrapper) {\n            this._renderer.insertBefore(this._euiUFlexWrapper.parentElement, this._elementRef.nativeElement, this._euiUFlexWrapper);\n            this._renderer.removeChild(this._euiUFlexWrapper.parentElement, this._euiUFlexWrapper);\n            this._euiUFlexWrapper.remove();\n            this._euiUFlexWrapper = null;\n        }\n    }\n\n    private registerIconClickListener(): void {\n        this.listeners.push(\n            this._renderer.listen(this._icon.location.nativeElement, 'click', this.onIconClicked.bind(this)),\n            this._renderer.listen(this._icon.location.nativeElement, 'keydown.enter', this.onIconClicked.bind(this)),\n            this._renderer.listen(this._icon.location.nativeElement, 'focus', () => {\n                if (!this.readonly() && this.euiIcon()?.clickable) {\n                    this._renderer.setStyle(this._icon.location.nativeElement, 'transition', 'none');\n                    this._renderer.setStyle(this._icon.location.nativeElement, 'outline-offset', '-2px !important');\n                    this._renderer.setStyle(this._icon.location.nativeElement, 'outline', '2px solid var(--eui-c-focus-visible) !important');\n                }\n            }),\n            this._renderer.listen(this._icon.location.nativeElement, 'blur', () => {\n                this._renderer.removeStyle(this._icon.location.nativeElement, 'outline');\n                this._renderer.removeStyle(this._icon.location.nativeElement, 'outline-offset');\n                this._renderer.removeStyle(this._icon.location.nativeElement, 'transition');\n            }),\n        );\n    }\n\n    /**\n     * creates the icon component\n     *\n     * @private\n     */\n    private createIcon(): void {\n        if (!this._icon) {\n            this._icon = this._viewContainerRef.createComponent(EuiIconSvgComponent);\n            this._icon.instance.isInputIcon = true;\n            this._icon.instance.euiEnd = true;\n            this._icon.instance.icon = this.euiIcon()?.icon;\n            this._icon.instance.ariaLabel = this.euiIcon()?.ariaLabel;\n            this._icon.instance.fillColor = this.euiIcon()?.colour || this.DEFAULT_ICON_COLOUR;\n            this.registerIconClickListener();\n\n            this._renderer.appendChild(this._euiUFlexWrapper, this._icon.location.nativeElement);\n        }\n    }\n\n    /**\n     * @description\n     * Handles the click event on the icon.\n     */\n    private onIconClicked(): void {\n        this.iconClick.emit();\n    }\n\n    /**\n     * removes the icon component\n     *\n     * @private\n     */\n    private removeIcon(): void {\n        if (this._icon) {\n            const index = this._viewContainerRef.indexOf(this._icon.hostView);\n            this._viewContainerRef.detach(index);\n            this._icon = null;\n            // Clean up listeners\n            this.listeners.forEach(listener => listener());\n            this.listeners = [];\n        }\n    }\n}\n",
            "properties": [
                {
                    "name": "ariaLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>The aria-label for the icon, used for accessibility purposes.\nThis should describe the icon&#39;s function or purpose.</p>\n",
                    "line": 35,
                    "rawdescription": "\n\nThe aria-label for the icon, used for accessibility purposes.\nThis should describe the icon's function or purpose.\n",
                    "jsdoctags": [
                        {
                            "pos": 733,
                            "end": 880,
                            "kind": 328,
                            "id": 0,
                            "flags": 16777216,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 734,
                                "end": 745,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>The aria-label for the icon, used for accessibility purposes.\nThis should describe the icon&#39;s function or purpose.</p>\n"
                        }
                    ]
                },
                {
                    "name": "clickable",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>Indicates whether the icon is clickable. If true, the icon will respond to click events.\nIf false, the icon will not respond to click events and will not have pointer events enabled.</p>\n",
                    "line": 41,
                    "rawdescription": "\n\nIndicates whether the icon is clickable. If true, the icon will respond to click events.\nIf false, the icon will not respond to click events and will not have pointer events enabled.\n",
                    "jsdoctags": [
                        {
                            "pos": 922,
                            "end": 1137,
                            "kind": 328,
                            "id": 0,
                            "flags": 16777216,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 923,
                                "end": 934,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Indicates whether the icon is clickable. If true, the icon will respond to click events.\nIf false, the icon will not respond to click events and will not have pointer events enabled.</p>\n"
                        }
                    ]
                },
                {
                    "name": "colour",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>The color of the icon. This can be used to customize the appearance of the icon.\nIf not specified, the default color will be used.</p>\n",
                    "line": 47,
                    "rawdescription": "\n\nThe color of the icon. This can be used to customize the appearance of the icon.\nIf not specified, the default color will be used.\n",
                    "jsdoctags": [
                        {
                            "pos": 1180,
                            "end": 1343,
                            "kind": 328,
                            "id": 0,
                            "flags": 16777216,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1181,
                                "end": 1192,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>The color of the icon. This can be used to customize the appearance of the icon.\nIf not specified, the default color will be used.</p>\n"
                        }
                    ]
                },
                {
                    "name": "icon",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The icon name to be displayed. This should correspond to an icon in the icon set.</p>\n",
                    "line": 29,
                    "rawdescription": "\n\nThe icon name to be displayed. This should correspond to an icon in the icon set.\n",
                    "jsdoctags": [
                        {
                            "pos": 590,
                            "end": 697,
                            "kind": 328,
                            "id": 0,
                            "flags": 16777216,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 591,
                                "end": 602,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>The icon name to be displayed. This should correspond to an icon in the icon set.</p>\n"
                        }
                    ]
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Metadata for the icon directive used in input elements.\nThis interface defines the properties that can be used to configure the icon,\nincluding the icon name, aria label, and whether the icon is clickable.</p>\n",
            "rawdescription": "\n\nMetadata for the icon directive used in input elements.\nThis interface defines the properties that can be used to configure the icon,\nincluding the icon name, aria label, and whether the icon is clickable.\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "ModelConfig",
            "id": "interface-ModelConfig-500f691a52892774210bcd46a09f3fb7fc5cadcc3f4b67f5d556780933fa57355fd9ae85c2df19f8c6cb8e15ff139fbc4f81efa5ce6d663960f14c624d9f9099",
            "file": "packages/components/eui-language-selector/modal-selector/modal-selector.component.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Component, ViewEncapsulation, ChangeDetectionStrategy, OnInit, inject } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EuiEuLanguages, EuiLanguage } from '@eui/core';\n\nimport { DIALOG_COMPONENT_CONFIG } from '@eui/components/eui-dialog';\nimport { EuiDialogService } from '@eui/components/eui-dialog';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\n\nexport interface ModelConfig {\n    /**\n     * Available languages to select from\n     */\n    languages: EuiLanguage[];\n    /**\n     * Currently selected language\n     */\n    selectedLanguage: EuiLanguage;\n    /**\n     * Callback when language selection changes\n     * @param language\n     */\n    languageChanged: (language: EuiLanguage) => void;\n}\n\n/**\n * Modal component for language selection.\n * Displays EU and non-EU languages in a grid layout with 4 languages per row.\n */\n@Component({\n    selector: 'eui-modal-selector',\n    templateUrl: './modal-selector.component.html',\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        ...EUI_BUTTON,\n        TranslateModule,\n    ],\n})\nexport class EuiModalSelectorComponent implements OnInit {\n    /**\n     * Configuration injected from the dialog service\n     */\n    config = inject<ModelConfig>(DIALOG_COMPONENT_CONFIG, { optional: true });\n\n    /** EU languages organized in rows of up to 4 languages */\n    public languageRows: EuiLanguage[][] = [];\n    /**\n     * Non-EU languages organized in rows of up to 4 languages\n     * @deprecated use {@link additionalLanguageRows}\n     */\n    public additionaLanguageRows: EuiLanguage[][] = [];\n    /** Non-EU languages organized in rows of up to 4 languages */\n    public additionalLanguageRows: EuiLanguage[][] = [];\n    /** Currently selected language */\n    private selectedLanguage: EuiLanguage;\n    /** Dialog service for handling modal operations */\n    private euiDialogService = inject<EuiDialogService>(EuiDialogService);\n\n    /**\n     * Initializes language rows by separating EU and non-EU languages\n     */\n    ngOnInit(): void {\n        this.languageRows = this.prepareLanguageRows(EuiEuLanguages.filterEULanguages(this.config?.languages));\n        this.additionalLanguageRows = this.prepareLanguageRows(EuiEuLanguages.filterNonEULanguages(this.config?.languages));\n        this.additionaLanguageRows = this.additionalLanguageRows;\n    }\n\n    /**\n     * Handles language selection\n     * @param {EuiLanguage} languageCode - The language being selected\n     */\n    selectLanguage(languageCode: EuiLanguage): void {\n        if (this.selectedLanguage?.code !== languageCode.code) {\n            for (const language of this.config?.languages || []) {\n                if (language.code === languageCode.code) {\n                    this.selectedLanguage = language;\n                    break;\n                }\n            }\n        }\n\n        this.config?.languageChanged(languageCode);\n        this.euiDialogService.closeDialog();\n    }\n\n    /**\n     * Organizes languages into rows of up to 4 languages each\n     * @param {EuiLanguage[]} languages - Array of languages to organize\n     * @returns {EuiLanguage[][]} 2D array of languages organized in rows\n     */\n    private prepareLanguageRows(languages: EuiLanguage[]): EuiLanguage[][] {\n        // If no languages, return an empty array\n        if (!languages.length) return [];\n\n        return languages.reduce<EuiLanguage[][]>((rows, language, index) => {\n            // Calculate current row index\n            const rowIndex = Math.floor(index / 4);\n\n            // If we need to create a new row\n            if (!rows[rowIndex]) {\n                rows[rowIndex] = [];\n            }\n\n            // Add language to the current row\n            rows[rowIndex].push(language);\n            return rows;\n        }, []);\n    }\n}\n",
            "properties": [
                {
                    "name": "languageChanged",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Callback when language selection changes</p>\n",
                    "line": 22,
                    "rawdescription": "\n\nCallback when language selection changes\n",
                    "jsdoctags": [
                        {
                            "pos": 675,
                            "end": 696,
                            "kind": 342,
                            "id": 0,
                            "flags": 16777216,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 676,
                                "end": 681,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "",
                            "name": {
                                "pos": 682,
                                "end": 690,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "language"
                            },
                            "isNameFirst": true,
                            "isBracketed": false
                        }
                    ]
                },
                {
                    "name": "languages",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiLanguage[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Available languages to select from</p>\n",
                    "line": 13,
                    "rawdescription": "\n\nAvailable languages to select from\n"
                },
                {
                    "name": "selectedLanguage",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiLanguage",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Currently selected language</p>\n",
                    "line": 17,
                    "rawdescription": "\n\nCurrently selected language\n"
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "MultiSelectionLogic",
            "id": "interface-MultiSelectionLogic-58c183b5c86bff3152aea9b2ea3814c42c064cbafd35827be581b9f14da427bba9788856dc9f44dc7032f38109e5c22b8dfbcd004baca90c9a2f8feef39320a1",
            "file": "packages/components/eui-tree/eui-tree.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { UxLinkLegacy } from '@eui/core';\n\nexport type TreeDataModel = Array<TreeItemModel>;\n\nexport type TreeItemModel = {\n    node: TreeNode;\n    children?: TreeDataModel;\n};\n\nexport type TreeNode = {\n    // metadata can be block content, or any\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    treeContentBlock: EuiTreeContentBlockModel | any;\n} & SelectionModel &\n    ExpandModel;\n\nexport interface EuiTreeContentBlockModel {\n    id?: string | number;\n    label: string;\n    tooltipLabel: string;\n    url: string;\n    urlExternal: string;\n    urlExternalTarget: string;\n    typeLabel: string;\n    typeClass: string;\n    chips?: Array<{ label: string; typeClass?: string; isOutline?: boolean }>;\n    iconClass: string;\n    iconTypeClass: string;\n    iconSvgName?: string;\n    rightContent?: {\n        iconClass: string;\n        iconTypeClass: string;\n        iconSvgName?: string;\n        badges?: Array<{ label: string; typeClass: string }>;\n        chips?: Array<{ label: string; typeClass?: string; isOutline?: boolean }>;\n        // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        contextMenuMetaData?: any;\n    };\n    metaData: string;\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    [key: string]: any;\n}\n\nexport type SelectionModel = {\n    selectable?: boolean;\n    isSelected?: boolean;\n    // if one of sub is selected, it becomes intermediate\n    isIndeterminate?: boolean;\n    selectConfig?: SelectConfigModel;\n};\n\nexport interface SelectConfigModel extends MultiSelectionLogic, SingleSelectionLogic {\n    /*\n    If It is true;\n    When user select parent, all the children will be selected\n    When selection state is changed, If all children is selected parent will be selected as long as noAutoSelectParent is not true\n    */\n    recursive?: boolean;\n    /* when It is true, If all children is selected, parent will not be selected, while recursive is true*/\n    noAutoSelectParent?: boolean;\n    singleSelect?: boolean;\n}\n\nexport interface MultiSelectionLogic {\n    /*\n    If It is true;\n    When user select parent, all the children will be selected\n    When selection state is changed, If all children is selected parent will be selected as long as noAutoSelectParent is not true\n    */\n    recursive?: boolean;\n    /* when It is true, If all children is selected, parent will not be selected, while recursive is true*/\n    noAutoSelectParent?: boolean;\n}\n\nexport interface SingleSelectionLogic {\n    singleSelect?: boolean;\n}\n\nexport type ExpandModel = {\n    isExpanded?: boolean;\n};\n\nexport type EuiTreeSelectionChanges = { added: TreeDataModel; removed: TreeDataModel; selection: TreeDataModel };\n\nexport type TreeDataRunTimeModel = Array<TreeItemRunTimeModel>;\n\nexport type TreeItemRunTimeModel = { index: number; path: string; children?: Array<TreeItemRunTimeModel>; last?: boolean, matched?: boolean };\n\nexport type TreeItemSelectionRecursiveModel = {\n    selectionRecursiveState: SelectionRecursiveState;\n    children?: Array<TreeItemSelectionRecursiveModel>;\n};\n\nexport type SelectionRecursiveState = 'indeterminate' | 'allSelected' | 'allNotSelected';\n\n// eslint-disable-next-line prefer-arrow/prefer-arrow-functions\nexport function uxTreeNodesMetaDataMapper(oldTree: Array<UxLinkLegacy>): TreeDataModel {\n    return oldTree.map((item) => {\n        if (item?.typeClass === 'default') {\n            // default typeClass will be\n            item.typeClass = 'secondary';\n        }\n        if (item?.badgeLabel) {\n            // default typeClass will be\n            if (item?.badges?.length > 0) {\n                item.badges.push({ label: item?.badgeLabel, typeClass: 'secondary' });\n            } else {\n                item.badges = [{ label: item?.badgeLabel, typeClass: 'secondary' }];\n            }\n        }\n        return {\n            node: {\n                treeContentBlock: {\n                    label: item.label,\n                    typeLabel: item.typeLabel,\n                    typeClass: item.typeLabel && !item.typeClass ? 'secondary' : item.typeClass,\n                    tooltipLabel: item.tooltipLabel,\n                    url: item.url,\n                    urlExternal: item.urlExternal,\n                    urlExternalTarget: item.urlExternal && item.urlExternalTarget ? item.urlExternalTarget : undefined,\n                    badges: item.badges,\n                    metadata: item.metadata,\n                },\n            },\n            children: item.children ? uxTreeNodesMetaDataMapper(item.children) : undefined,\n        };\n    });\n}\n\nexport class EuiTreePagination<T> {\n    private data: T[];\n    private startPage: number;\n    private totalItems: number;\n    private renderedPageCount: number;\n    private perPage: number;\n    private totalPages: number;\n\n    constructor(data: T[], startPage: number, renderedPageCount: number, perPage: number) {\n        this.data = data;\n        this.setCurrentStartPage(startPage);\n        this.renderedPageCount = renderedPageCount;\n        this.totalItems = this.data.length;\n        this.perPage = perPage;\n        this.totalPages = Math.ceil(this.totalItems / this.perPage);\n    }\n\n    public paginateNext(): { startPage: number; data: T[] } {\n        if (this.startPage < this.totalPages) {\n            this.startPage += 1;\n        }\n        return this.getViewData();\n    }\n\n    public paginatePrev(): { startPage: number; data: T[] } {\n        if (this.startPage > 1) {\n            this.startPage -= 1;\n        }\n        return this.getViewData();\n    }\n\n    public getCurrentStartPage(): number {\n        return this.startPage;\n    }\n\n    public setCurrentStartPage(startPage: number): void {\n        this.startPage = startPage;\n    }\n\n    public isAtMax(): boolean {\n        return this.totalPages < this.startPage + this.renderedPageCount;\n    }\n\n    public getViewData(): { startPage: number; data: T[] } {\n        const startIndex = (this.startPage - 1) * this.perPage;\n        const endIndex = startIndex + this.perPage * this.renderedPageCount;\n        const pageData = structuredClone(this.data).slice(startIndex, endIndex);\n        return {\n            startPage: this.startPage,\n            data: pageData,\n        };\n    }\n}\n\nexport class CustomNodeSelectFnHelper{\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    constructor(private compInstance: any) {\n    }\n\n    select(path: string, isChecked: boolean): void{\n        this.compInstance.silentSelect(path, isChecked);\n    }\n\n    getParents(path: string): Array<string>{\n        return this.compInstance.getParentPaths(path);\n    }\n\n    getTreeItem(path: string): TreeItemModel{\n        return this.compInstance.getTreeItem(path);\n    }\n\n    getSelectionRecursiveState(path: string): TreeItemSelectionRecursiveModel{\n        return this.compInstance.getRunTimeSelectionRecursiveState(path);\n    }\n\n}\n\nexport type CustomNodeSelectFn = (path: string, isChecked:boolean, treeItem: TreeItemModel, helper: CustomNodeSelectFnHelper) => void;\n",
            "properties": [
                {
                    "name": "noAutoSelectParent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 76
                },
                {
                    "name": "recursive",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 74
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "NotificationMetadata",
            "id": "interface-NotificationMetadata-08e41fed46d677d3b959758f8c46f09c96c651549c58f6d4b339356ea998b6fe28360cd958987dcc257d6b724410e65f53c9d241957ccec0c97072691c6b317d",
            "file": "packages/components/layout/eui-notifications/eui-notification-item.component.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { DatePipe, NgClass } from '@angular/common';\nimport { booleanAttribute, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EuiTruncatePipe } from '@eui/components/pipes';\nimport { UxLinkLegacy } from '@eui/core';\nimport { consumeEvent } from '@eui/core';\nimport { TranslateModule } from '@ngx-translate/core';\n\n/**\n * Metadata interface for notification items containing read status, URLs, importance flags, and timestamp.\n * Used to extend UxLinkLegacy with notification-specific properties for state management and display logic.\n */\nexport interface NotificationMetadata {\n    read?: boolean;\n    urlExternal?: string;\n    urlExternalTarget?: string;\n    important?: boolean;\n    new?: boolean;\n    url?: string;\n    date?: Date | string | number;\n}\n\n/**\n * @description\n * Individual notification item component displaying a single notification with read/unread status and actions.\n * Renders notification content with icon, label, date, and optional mark as read button.\n * Supports internal and external links with visual indicators for unread and important notifications.\n * Emits events for item clicks and mark as read actions to parent notification panel.\n * \n * @usageNotes\n * ```html\n * <!-- Used internally by eui-notifications -->\n * <eui-notification-item\n *   [item]=\"notificationItem\"\n *   [dateFormat]=\"'dd/MM/yyyy'\"\n *   [isShowMarkAsRead]=\"true\"\n *   (itemClick)=\"onItemClick($event)\"\n *   (itemMarkAsRead)=\"onMarkAsRead($event)\">\n * </eui-notification-item>\n * ```\n * ```typescript\n * notificationItem: UxLinkLegacy<NotificationMetadata> = {\n *   id: '1',\n *   label: 'New message received',\n *   metadata: {\n *     read: false,\n *     date: new Date(),\n *     important: true\n *   }\n * };\n * ```\n *\n * ### Accessibility\n * - Entire item is clickable and keyboard accessible\n * - Visual indicators for read/unread status\n * - Mark as read button keyboard accessible\n * - Icon color changes based on read status\n * - Date displayed in accessible format\n * - Supports screen reader announcements\n *\n * ### Notes\n * - Typically used internally by eui-notifications component\n * - Not intended for standalone usage\n * - Item data uses UxLinkLegacy<NotificationMetadata> interface\n * - Metadata properties: read, date, important, new, url, urlExternal\n * - Visual distinction for unread items (darker icon)\n * - dateFormat for timestamp display (default: 'dd/MM/yyyy')\n * - Mark as read button optional via isShowMarkAsRead\n * - Clicking mark as read automatically sets metadata.read to true\n * - itemClick emitted on item click\n * - itemMarkAsRead emitted on mark as read action\n * - Icon color: 'secondary' for unread, 'secondary-light' for read\n * - Supports internal and external links via metadata.url/urlExternal\n * - Label truncation with tooltip for long text\n */\n@Component({\n    selector: 'eui-notification-item',\n    templateUrl: './eui-notification-item.component.html',\n    imports: [\n        NgClass,\n        DatePipe,\n        EuiTruncatePipe,\n        TranslateModule,\n        ...EUI_ICON,\n    ],\n})\nexport class EuiNotificationItemComponent {\n    @HostBinding('class') string = 'eui-notification-item';\n    /**\n     * Emitted when the notification item is clicked.\n     * Payload: UxLinkLegacy<NotificationMetadata> - the clicked notification item with metadata\n     * Triggered when user clicks anywhere on the notification item.\n     */\n    @Output() itemClick: EventEmitter<UxLinkLegacy<NotificationMetadata>> = new EventEmitter<UxLinkLegacy<NotificationMetadata>>();\n\n    /**\n     * Emitted when the mark as read button is clicked.\n     * Payload: UxLinkLegacy<NotificationMetadata> - the notification item marked as read\n     * Triggered when user clicks the mark as read action button. Automatically sets item.metadata.read to true.\n     */\n    @Output() itemMarkAsRead: EventEmitter<UxLinkLegacy<NotificationMetadata>> = new EventEmitter<UxLinkLegacy<NotificationMetadata>>();\n\n    /**\n     * Custom label text for the mark as read button.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() markAsReadLabel: string = null;\n\n    /**\n     * Notification item data containing label, metadata, and link information.\n     * Must conform to UxLinkLegacy<NotificationMetadata> interface with id, label, and metadata properties.\n     * Required for notification display.\n     */\n    @Input() item: UxLinkLegacy<NotificationMetadata>;\n\n    /**\n     * Date format string for displaying the notification timestamp.\n     * Accepts any valid Angular DatePipe format pattern.\n     * @default 'dd/MM/yyyy'\n     */\n    @Input() dateFormat = 'dd/MM/yyyy';\n\n    /**\n     * Shows the mark as read action button on the notification item.\n     * When false, hides the mark as read functionality.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute })isShowMarkAsRead = true;\n\n    tooltipSize = 'auto';\n\n    onItemClick(): void {\n        this.itemClick.emit(this.item);\n    }\n\n    onItemMarkAsRead(event: Event): void {\n        if (this.item.metadata) {\n            this.item.metadata.read = true;\n        }\n        this.itemMarkAsRead.emit(this.item);\n        consumeEvent(event);\n    }\n\n    get iconColor(): string {\n        return this.item.metadata?.read ? 'secondary-light' : 'secondary';\n    }\n\n}\n",
            "properties": [
                {
                    "name": "date",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Date | string | number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 20
                },
                {
                    "name": "important",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 17
                },
                {
                    "name": "new",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 18
                },
                {
                    "name": "read",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 14
                },
                {
                    "name": "url",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 19
                },
                {
                    "name": "urlExternal",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 15
                },
                {
                    "name": "urlExternalTarget",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 16
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Metadata interface for notification items containing read status, URLs, importance flags, and timestamp.\nUsed to extend UxLinkLegacy with notification-specific properties for state management and display logic.</p>\n",
            "rawdescription": "\n\nMetadata interface for notification items containing read status, URLs, importance flags, and timestamp.\nUsed to extend UxLinkLegacy with notification-specific properties for state management and display logic.\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "ObjectConstructor",
            "id": "interface-ObjectConstructor-d44d2a43c6bc6ea5ba39e3746c3496ef0f83df65e0580a41d898819466066a92b624d93be4737abd340995d2afaadca5a0a9a2e5a5ed858a72ab99120c637359",
            "file": "packages/components/eui-breadcrumb/item/breadcrumb-item.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { NavigationExtras } from '@angular/router';\n\n// TODO: replace with tsconfig types\nexport type ArrayElement<A> = A extends readonly (infer T)[] ? T : never;\ntype DeepWriteable<T> = { -readonly [P in keyof T]: DeepWriteable<T[P]> };\ntype Cast<X, Y> = X extends Y ? X : Y;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype FromEntries<T> = T extends [infer Key, any][]\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    ? { [K in Cast<Key, string>]: Extract<ArrayElement<T>, [K, any]>[1] }\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    : { [key in string]: any };\n\nexport type FromEntriesWithReadOnly<T> = FromEntries<DeepWriteable<T>>;\n\ndeclare global {\n    interface ObjectConstructor {\n        fromEntries<T>(obj: T): FromEntriesWithReadOnly<T>;\n    }\n}\n\nexport class BreadCrumbItem {\n    /** A unique ID for each crumb linked to a page */\n    id: string;\n    /** The label of the crumb */\n    label: string;\n\n    /** A URL link. Commands to pass to {@link Router#createUrlTree Router#createUrlTree}.\n     *   - **array**: commands to pass to {@link Router#createUrlTree Router#createUrlTree}.\n     *   - **string**: shorthand for array of commands with just the string, i.e. `['/route']`\n     *   - **null|undefined**: Disables the link by removing the `href`\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    get link(): string | any[] {\n        return this._link;\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    set link(link: string | any[]) {\n        if (typeof link === 'string') {\n            try {\n                let url: URL;\n                if (!link.startsWith('http')) {\n                    url = new URL(link, 'http://placeholder');\n                    this._link = url.pathname;\n                } else {\n                    url = new URL(link);\n                    this._link = link;\n                }\n                if (!this.navigationExtras) {\n                    this.navigationExtras = {};\n                }\n                this.navigationExtras.fragment = url.hash.replace('#', '');\n                this.navigationExtras.queryParams = Object.fromEntries(\n                    url.search\n                        .replace('?', '')\n                        .split('&')\n                        .map((i) => i.split('=')),\n                );\n            } catch (e) {\n                throw new Error('The given link is not a valid URL');\n            }\n        } else {\n            this._link = link;\n        }\n    }\n\n    /** Extras for Angular Router */\n    navigationExtras?: NavigationExtras;\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    private _link?: string | any[];\n}\n",
            "properties": [],
            "indexSignatures": [],
            "kind": 174,
            "methods": [
                {
                    "name": "fromEntries",
                    "args": [
                        {
                            "name": "obj",
                            "type": "T",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "FromEntriesWithReadOnly<T>",
                    "typeParameters": [
                        "T"
                    ],
                    "line": 20,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "obj",
                            "type": "T",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "extends": []
        },
        {
            "name": "OpenedDialogInterface",
            "id": "interface-OpenedDialogInterface-9490f0412b6a62da8cd19c37e484faa43f68eb53bf647ea15feaf034c7ecc4ab41b76d07d918ad4c23dc611ab40c42fa7e18c6c87d33d8b0fd15e63be5a91753",
            "file": "packages/components/eui-dialog/models/opened-dialog.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentRef } from '@angular/core';\n\nimport { EuiDialogContainerComponent } from '../container/eui-dialog-container.component';\n\nexport class OpenedDialog implements OpenedDialogInterface {\n    id: string = null;\n    order: number = null;\n    overlayRef: OverlayRef = null;\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    containerRef: ComponentRef<EuiDialogContainerComponent<any, any, any, any, any, any>> = null;\n\n    constructor(values: OpenedDialogInterface) {\n        Object.assign(this, values);\n    }\n}\n\nexport interface OpenedDialogInterface {\n    id: string;\n    order: number;\n    overlayRef: OverlayRef;\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    containerRef: ComponentRef<EuiDialogContainerComponent<any, any, any, any, any, any>>;\n}\n",
            "properties": [
                {
                    "name": "containerRef",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ComponentRef<EuiDialogContainerComponent<any, any, any, any, any, any>>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 25
                },
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 20
                },
                {
                    "name": "order",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 21
                },
                {
                    "name": "overlayRef",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "OverlayRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 22
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "PointAnnotations",
            "id": "interface-PointAnnotations-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "click",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 350
                },
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number | string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 343
                },
                {
                    "name": "image",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 362
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "AnnotationLabel",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 361
                },
                {
                    "name": "marker",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 351
                },
                {
                    "name": "mouseEnter",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 348
                },
                {
                    "name": "mouseLeave",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Function",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 349
                },
                {
                    "name": "seriesIndex",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 347
                },
                {
                    "name": "x",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number | string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 344
                },
                {
                    "name": "y",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "null | number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 345
                },
                {
                    "name": "yAxisIndex",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 346
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "QuillConfig",
            "id": "interface-QuillConfig-d6ce48b253633ed41888dabd88b900217e28bacc2fd0d682cc70d30b61983ea508e5cc35d0231c9b00ffeb59927cd56572fc2b386932bd7eef40c623746a26bb",
            "file": "packages/components/externals/quill/quill-editor.interfaces.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { InjectionToken } from '@angular/core';\n\nexport type QuillToolbarConfig = Array<\n    Array<\n        | string\n        | {\n              indent?: string;\n              list?: string;\n              direction?: string;\n              header?: number | Array<boolean | number>;\n              color?: string[];\n              background?: string[];\n              align?: string[];\n              script?: string;\n              font?: string[];\n              size?: Array<boolean | string>;\n          }\n    >\n>;\n\nexport interface QuillModules {\n    [key: string]: any;\n    clipboard?:\n        | {\n              mathers?: any[];\n              matchVisual?: boolean;\n          }\n        | boolean;\n    history?:\n        | {\n              delay?: number;\n              maxStack?: number;\n              userOnly?: boolean;\n          }\n        | boolean;\n    keyboard?:\n        | {\n              bindings?: any;\n          }\n        | boolean;\n    syntax?: boolean;\n    table?: boolean;\n    toolbar?:\n        | QuillToolbarConfig\n        | string\n        | {\n              container?: string | string[] | QuillToolbarConfig;\n              handlers?: {\n                  [key: string]: any;\n              };\n          }\n        | boolean;\n}\n\nexport type QuillFormat = 'object' | 'json' | 'html' | 'text';\n\nexport interface QuillConfig {\n    bounds?: HTMLElement | string;\n    debug?: 'error' | 'warn' | 'log' | false;\n    format?: QuillFormat;\n    formats?: any;\n    modules?: QuillModules;\n    placeholder?: string;\n    readOnly?: boolean;\n    scrollingContainer?: HTMLElement | string | null;\n    theme?: string;\n    // Custom Config to track all changes or only changes by 'user'\n    trackChanges?: 'user' | 'all';\n}\n\nexport interface QuillDynamicConfig {\n    /** path for scripts and css e.g. '/assets/quill/' */\n    path: string;\n    /** path for scripts e.g. ['/assets/quill.min.js'] */\n    // scripts: string[];\n    /** path for css e.g. ['/assets/quill.snow.css'] */\n    // css: string[];\n}\n\nexport const QUILL_CONFIG_TOKEN = new InjectionToken<QuillConfig>('config');\nexport const QUILL_DYNAMIC_CONFIG_TOKEN = new InjectionToken<QuillDynamicConfig>('Dynamic loading config');\n",
            "properties": [
                {
                    "name": "bounds",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "HTMLElement | string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 58
                },
                {
                    "name": "debug",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"error\" | \"warn\" | \"log\" | unknown",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 59
                },
                {
                    "name": "format",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QuillFormat",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 60
                },
                {
                    "name": "formats",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 61
                },
                {
                    "name": "modules",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QuillModules",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 62
                },
                {
                    "name": "placeholder",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 63
                },
                {
                    "name": "readOnly",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 64
                },
                {
                    "name": "scrollingContainer",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "HTMLElement | string | null",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 65
                },
                {
                    "name": "theme",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 66
                },
                {
                    "name": "trackChanges",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"user\" | \"all\"",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 68
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "QuillDynamicConfig",
            "id": "interface-QuillDynamicConfig-d6ce48b253633ed41888dabd88b900217e28bacc2fd0d682cc70d30b61983ea508e5cc35d0231c9b00ffeb59927cd56572fc2b386932bd7eef40c623746a26bb",
            "file": "packages/components/externals/quill/quill-editor.interfaces.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { InjectionToken } from '@angular/core';\n\nexport type QuillToolbarConfig = Array<\n    Array<\n        | string\n        | {\n              indent?: string;\n              list?: string;\n              direction?: string;\n              header?: number | Array<boolean | number>;\n              color?: string[];\n              background?: string[];\n              align?: string[];\n              script?: string;\n              font?: string[];\n              size?: Array<boolean | string>;\n          }\n    >\n>;\n\nexport interface QuillModules {\n    [key: string]: any;\n    clipboard?:\n        | {\n              mathers?: any[];\n              matchVisual?: boolean;\n          }\n        | boolean;\n    history?:\n        | {\n              delay?: number;\n              maxStack?: number;\n              userOnly?: boolean;\n          }\n        | boolean;\n    keyboard?:\n        | {\n              bindings?: any;\n          }\n        | boolean;\n    syntax?: boolean;\n    table?: boolean;\n    toolbar?:\n        | QuillToolbarConfig\n        | string\n        | {\n              container?: string | string[] | QuillToolbarConfig;\n              handlers?: {\n                  [key: string]: any;\n              };\n          }\n        | boolean;\n}\n\nexport type QuillFormat = 'object' | 'json' | 'html' | 'text';\n\nexport interface QuillConfig {\n    bounds?: HTMLElement | string;\n    debug?: 'error' | 'warn' | 'log' | false;\n    format?: QuillFormat;\n    formats?: any;\n    modules?: QuillModules;\n    placeholder?: string;\n    readOnly?: boolean;\n    scrollingContainer?: HTMLElement | string | null;\n    theme?: string;\n    // Custom Config to track all changes or only changes by 'user'\n    trackChanges?: 'user' | 'all';\n}\n\nexport interface QuillDynamicConfig {\n    /** path for scripts and css e.g. '/assets/quill/' */\n    path: string;\n    /** path for scripts e.g. ['/assets/quill.min.js'] */\n    // scripts: string[];\n    /** path for css e.g. ['/assets/quill.snow.css'] */\n    // css: string[];\n}\n\nexport const QUILL_CONFIG_TOKEN = new InjectionToken<QuillConfig>('config');\nexport const QUILL_DYNAMIC_CONFIG_TOKEN = new InjectionToken<QuillDynamicConfig>('Dynamic loading config');\n",
            "properties": [
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>path for scripts and css e.g. &#39;/assets/quill/&#39;</p>\n",
                    "line": 73,
                    "rawdescription": "\npath for scripts and css e.g. '/assets/quill/'"
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "QuillModules",
            "id": "interface-QuillModules-d6ce48b253633ed41888dabd88b900217e28bacc2fd0d682cc70d30b61983ea508e5cc35d0231c9b00ffeb59927cd56572fc2b386932bd7eef40c623746a26bb",
            "file": "packages/components/externals/quill/quill-editor.interfaces.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { InjectionToken } from '@angular/core';\n\nexport type QuillToolbarConfig = Array<\n    Array<\n        | string\n        | {\n              indent?: string;\n              list?: string;\n              direction?: string;\n              header?: number | Array<boolean | number>;\n              color?: string[];\n              background?: string[];\n              align?: string[];\n              script?: string;\n              font?: string[];\n              size?: Array<boolean | string>;\n          }\n    >\n>;\n\nexport interface QuillModules {\n    [key: string]: any;\n    clipboard?:\n        | {\n              mathers?: any[];\n              matchVisual?: boolean;\n          }\n        | boolean;\n    history?:\n        | {\n              delay?: number;\n              maxStack?: number;\n              userOnly?: boolean;\n          }\n        | boolean;\n    keyboard?:\n        | {\n              bindings?: any;\n          }\n        | boolean;\n    syntax?: boolean;\n    table?: boolean;\n    toolbar?:\n        | QuillToolbarConfig\n        | string\n        | {\n              container?: string | string[] | QuillToolbarConfig;\n              handlers?: {\n                  [key: string]: any;\n              };\n          }\n        | boolean;\n}\n\nexport type QuillFormat = 'object' | 'json' | 'html' | 'text';\n\nexport interface QuillConfig {\n    bounds?: HTMLElement | string;\n    debug?: 'error' | 'warn' | 'log' | false;\n    format?: QuillFormat;\n    formats?: any;\n    modules?: QuillModules;\n    placeholder?: string;\n    readOnly?: boolean;\n    scrollingContainer?: HTMLElement | string | null;\n    theme?: string;\n    // Custom Config to track all changes or only changes by 'user'\n    trackChanges?: 'user' | 'all';\n}\n\nexport interface QuillDynamicConfig {\n    /** path for scripts and css e.g. '/assets/quill/' */\n    path: string;\n    /** path for scripts e.g. ['/assets/quill.min.js'] */\n    // scripts: string[];\n    /** path for css e.g. ['/assets/quill.snow.css'] */\n    // css: string[];\n}\n\nexport const QUILL_CONFIG_TOKEN = new InjectionToken<QuillConfig>('config');\nexport const QUILL_DYNAMIC_CONFIG_TOKEN = new InjectionToken<QuillDynamicConfig>('Dynamic loading config');\n",
            "properties": [
                {
                    "name": "clipboard",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type | boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 23
                },
                {
                    "name": "history",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type | boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 29
                },
                {
                    "name": "keyboard",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type | boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 36
                },
                {
                    "name": "syntax",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 41
                },
                {
                    "name": "table",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 42
                },
                {
                    "name": "toolbar",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QuillToolbarConfig | string | literal type | boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 43
                }
            ],
            "indexSignatures": [
                {
                    "id": "index-declaration-d6ce48b253633ed41888dabd88b900217e28bacc2fd0d682cc70d30b61983ea508e5cc35d0231c9b00ffeb59927cd56572fc2b386932bd7eef40c623746a26bb",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "any",
                    "line": 21,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "Range",
            "id": "interface-Range-ac75c23e756525716e7c4a46e4b323ebc8e13d3b9fa4961eec040d13616f5de31ef44d89586c853c4fb6a8906068f7f04a1255b38303c83d2f54667be080cc23",
            "file": "packages/components/externals/quill/models/editor.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface BetterTableModule {\n    insertTable(rows: number, columns: number): void;\n}\n\nexport interface ToolbarItemConfig {\n    name: string;\n    label?: string;\n    options?: any[];\n    dialogMessage?: string;\n}\n\nexport type EditorChangeContent = ContentChange & { event: 'text-change' };\nexport type EditorChangeSelection = SelectionChange & { event: 'selection-change' };\n\nexport interface Focus {\n    editor: any;\n    source: string;\n}\n\nexport interface Range {\n    index: number;\n    length: number;\n}\n\nexport interface ContentChange {\n    content: any;\n    delta: any;\n    editor: any;\n    html: string | null;\n    oldDelta: any;\n    source: string;\n    text: string;\n}\n\nexport interface SelectionChange {\n    editor: any;\n    oldRange: Range | null;\n    range: Range | null;\n    source: string;\n}\n\nexport interface Blur {\n    editor: any;\n    source: string;\n}\n",
            "properties": [
                {
                    "name": "index",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 21
                },
                {
                    "name": "length",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 22
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "SelectConfigModel",
            "id": "interface-SelectConfigModel-58c183b5c86bff3152aea9b2ea3814c42c064cbafd35827be581b9f14da427bba9788856dc9f44dc7032f38109e5c22b8dfbcd004baca90c9a2f8feef39320a1",
            "file": "packages/components/eui-tree/eui-tree.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { UxLinkLegacy } from '@eui/core';\n\nexport type TreeDataModel = Array<TreeItemModel>;\n\nexport type TreeItemModel = {\n    node: TreeNode;\n    children?: TreeDataModel;\n};\n\nexport type TreeNode = {\n    // metadata can be block content, or any\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    treeContentBlock: EuiTreeContentBlockModel | any;\n} & SelectionModel &\n    ExpandModel;\n\nexport interface EuiTreeContentBlockModel {\n    id?: string | number;\n    label: string;\n    tooltipLabel: string;\n    url: string;\n    urlExternal: string;\n    urlExternalTarget: string;\n    typeLabel: string;\n    typeClass: string;\n    chips?: Array<{ label: string; typeClass?: string; isOutline?: boolean }>;\n    iconClass: string;\n    iconTypeClass: string;\n    iconSvgName?: string;\n    rightContent?: {\n        iconClass: string;\n        iconTypeClass: string;\n        iconSvgName?: string;\n        badges?: Array<{ label: string; typeClass: string }>;\n        chips?: Array<{ label: string; typeClass?: string; isOutline?: boolean }>;\n        // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        contextMenuMetaData?: any;\n    };\n    metaData: string;\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    [key: string]: any;\n}\n\nexport type SelectionModel = {\n    selectable?: boolean;\n    isSelected?: boolean;\n    // if one of sub is selected, it becomes intermediate\n    isIndeterminate?: boolean;\n    selectConfig?: SelectConfigModel;\n};\n\nexport interface SelectConfigModel extends MultiSelectionLogic, SingleSelectionLogic {\n    /*\n    If It is true;\n    When user select parent, all the children will be selected\n    When selection state is changed, If all children is selected parent will be selected as long as noAutoSelectParent is not true\n    */\n    recursive?: boolean;\n    /* when It is true, If all children is selected, parent will not be selected, while recursive is true*/\n    noAutoSelectParent?: boolean;\n    singleSelect?: boolean;\n}\n\nexport interface MultiSelectionLogic {\n    /*\n    If It is true;\n    When user select parent, all the children will be selected\n    When selection state is changed, If all children is selected parent will be selected as long as noAutoSelectParent is not true\n    */\n    recursive?: boolean;\n    /* when It is true, If all children is selected, parent will not be selected, while recursive is true*/\n    noAutoSelectParent?: boolean;\n}\n\nexport interface SingleSelectionLogic {\n    singleSelect?: boolean;\n}\n\nexport type ExpandModel = {\n    isExpanded?: boolean;\n};\n\nexport type EuiTreeSelectionChanges = { added: TreeDataModel; removed: TreeDataModel; selection: TreeDataModel };\n\nexport type TreeDataRunTimeModel = Array<TreeItemRunTimeModel>;\n\nexport type TreeItemRunTimeModel = { index: number; path: string; children?: Array<TreeItemRunTimeModel>; last?: boolean, matched?: boolean };\n\nexport type TreeItemSelectionRecursiveModel = {\n    selectionRecursiveState: SelectionRecursiveState;\n    children?: Array<TreeItemSelectionRecursiveModel>;\n};\n\nexport type SelectionRecursiveState = 'indeterminate' | 'allSelected' | 'allNotSelected';\n\n// eslint-disable-next-line prefer-arrow/prefer-arrow-functions\nexport function uxTreeNodesMetaDataMapper(oldTree: Array<UxLinkLegacy>): TreeDataModel {\n    return oldTree.map((item) => {\n        if (item?.typeClass === 'default') {\n            // default typeClass will be\n            item.typeClass = 'secondary';\n        }\n        if (item?.badgeLabel) {\n            // default typeClass will be\n            if (item?.badges?.length > 0) {\n                item.badges.push({ label: item?.badgeLabel, typeClass: 'secondary' });\n            } else {\n                item.badges = [{ label: item?.badgeLabel, typeClass: 'secondary' }];\n            }\n        }\n        return {\n            node: {\n                treeContentBlock: {\n                    label: item.label,\n                    typeLabel: item.typeLabel,\n                    typeClass: item.typeLabel && !item.typeClass ? 'secondary' : item.typeClass,\n                    tooltipLabel: item.tooltipLabel,\n                    url: item.url,\n                    urlExternal: item.urlExternal,\n                    urlExternalTarget: item.urlExternal && item.urlExternalTarget ? item.urlExternalTarget : undefined,\n                    badges: item.badges,\n                    metadata: item.metadata,\n                },\n            },\n            children: item.children ? uxTreeNodesMetaDataMapper(item.children) : undefined,\n        };\n    });\n}\n\nexport class EuiTreePagination<T> {\n    private data: T[];\n    private startPage: number;\n    private totalItems: number;\n    private renderedPageCount: number;\n    private perPage: number;\n    private totalPages: number;\n\n    constructor(data: T[], startPage: number, renderedPageCount: number, perPage: number) {\n        this.data = data;\n        this.setCurrentStartPage(startPage);\n        this.renderedPageCount = renderedPageCount;\n        this.totalItems = this.data.length;\n        this.perPage = perPage;\n        this.totalPages = Math.ceil(this.totalItems / this.perPage);\n    }\n\n    public paginateNext(): { startPage: number; data: T[] } {\n        if (this.startPage < this.totalPages) {\n            this.startPage += 1;\n        }\n        return this.getViewData();\n    }\n\n    public paginatePrev(): { startPage: number; data: T[] } {\n        if (this.startPage > 1) {\n            this.startPage -= 1;\n        }\n        return this.getViewData();\n    }\n\n    public getCurrentStartPage(): number {\n        return this.startPage;\n    }\n\n    public setCurrentStartPage(startPage: number): void {\n        this.startPage = startPage;\n    }\n\n    public isAtMax(): boolean {\n        return this.totalPages < this.startPage + this.renderedPageCount;\n    }\n\n    public getViewData(): { startPage: number; data: T[] } {\n        const startIndex = (this.startPage - 1) * this.perPage;\n        const endIndex = startIndex + this.perPage * this.renderedPageCount;\n        const pageData = structuredClone(this.data).slice(startIndex, endIndex);\n        return {\n            startPage: this.startPage,\n            data: pageData,\n        };\n    }\n}\n\nexport class CustomNodeSelectFnHelper{\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    constructor(private compInstance: any) {\n    }\n\n    select(path: string, isChecked: boolean): void{\n        this.compInstance.silentSelect(path, isChecked);\n    }\n\n    getParents(path: string): Array<string>{\n        return this.compInstance.getParentPaths(path);\n    }\n\n    getTreeItem(path: string): TreeItemModel{\n        return this.compInstance.getTreeItem(path);\n    }\n\n    getSelectionRecursiveState(path: string): TreeItemSelectionRecursiveModel{\n        return this.compInstance.getRunTimeSelectionRecursiveState(path);\n    }\n\n}\n\nexport type CustomNodeSelectFn = (path: string, isChecked:boolean, treeItem: TreeItemModel, helper: CustomNodeSelectFnHelper) => void;\n",
            "properties": [
                {
                    "name": "noAutoSelectParent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 64
                },
                {
                    "name": "recursive",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 62
                },
                {
                    "name": "singleSelect",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 65
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": [
                "MultiSelectionLogic",
                "SingleSelectionLogic"
            ]
        },
        {
            "name": "SelectionChange",
            "id": "interface-SelectionChange-ac75c23e756525716e7c4a46e4b323ebc8e13d3b9fa4961eec040d13616f5de31ef44d89586c853c4fb6a8906068f7f04a1255b38303c83d2f54667be080cc23",
            "file": "packages/components/externals/quill/models/editor.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface BetterTableModule {\n    insertTable(rows: number, columns: number): void;\n}\n\nexport interface ToolbarItemConfig {\n    name: string;\n    label?: string;\n    options?: any[];\n    dialogMessage?: string;\n}\n\nexport type EditorChangeContent = ContentChange & { event: 'text-change' };\nexport type EditorChangeSelection = SelectionChange & { event: 'selection-change' };\n\nexport interface Focus {\n    editor: any;\n    source: string;\n}\n\nexport interface Range {\n    index: number;\n    length: number;\n}\n\nexport interface ContentChange {\n    content: any;\n    delta: any;\n    editor: any;\n    html: string | null;\n    oldDelta: any;\n    source: string;\n    text: string;\n}\n\nexport interface SelectionChange {\n    editor: any;\n    oldRange: Range | null;\n    range: Range | null;\n    source: string;\n}\n\nexport interface Blur {\n    editor: any;\n    source: string;\n}\n",
            "properties": [
                {
                    "name": "editor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 36
                },
                {
                    "name": "oldRange",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Range | null",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 37
                },
                {
                    "name": "range",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Range | null",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 38
                },
                {
                    "name": "source",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 39
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "Session",
            "id": "interface-Session-adc0097964f185f2079637fe50fb71cc9bfa4e1abd1a0de21565f9554688ae342f997cbff2cc1ffb32d52a0d45c76482a9d8c59ad2d031250418b7e4304a527c",
            "file": "packages/components/dist/docs/template-playground/template-playground.component.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Component, OnInit, ViewChild, ElementRef, OnDestroy } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { TemplateEditorService } from './template-editor.service';\nimport { ZipExportService } from './zip-export.service';\nimport { HbsRenderService } from './hbs-render.service';\n\ninterface Template {\n  name: string;\n  path: string;\n  type: 'template' | 'partial';\n}\n\ninterface Session {\n  sessionId: string;\n  success: boolean;\n  message: string;\n}\n\ninterface CompoDocConfig {\n  hideGenerator?: boolean;\n  disableSourceCode?: boolean;\n  disableGraph?: boolean;\n  disableCoverage?: boolean;\n  disablePrivate?: boolean;\n  disableProtected?: boolean;\n  disableInternal?: boolean;\n  disableLifeCycleHooks?: boolean;\n  disableConstructors?: boolean;\n  disableRoutesGraph?: boolean;\n  disableSearch?: boolean;\n  disableDependencies?: boolean;\n  disableProperties?: boolean;\n  disableDomTree?: boolean;\n  disableTemplateTab?: boolean;\n  disableStyleTab?: boolean;\n  disableMainGraph?: boolean;\n  disableFilePath?: boolean;\n  disableOverview?: boolean;\n  hideDarkModeToggle?: boolean;\n  minimal?: boolean;\n  customFavicon?: string;\n  includes?: string;\n  includesName?: string;\n}\n\n@Component({\n  selector: 'template-playground-root',\n  template: `\n    <div class=\"template-playground\">\n      <div class=\"template-playground-header\">\n        <h2>Template Playground</h2>\n        <div class=\"template-playground-status\">\n          <span *ngIf=\"sessionId\" class=\"session-info\">Session: {{sessionId.substring(0, 8)}}...</span>\n          <span *ngIf=\"saving\" class=\"saving-indicator\">Saving...</span>\n          <span *ngIf=\"lastSaved\" class=\"last-saved\">Last saved: {{lastSaved | date:'short'}}</span>\n        </div>\n        <div class=\"template-playground-actions\">\n          <button class=\"btn btn-secondary\" (click)=\"toggleConfigPanel()\">⚙️ Config</button>\n          <button class=\"btn btn-primary\" (click)=\"resetToDefault()\">Reset to Default</button>\n          <button class=\"btn btn-success\" (click)=\"exportZip()\">Download Templates</button>\n        </div>\n      </div>\n\n      <!-- Configuration Panel -->\n      <div class=\"config-panel\" [class.collapsed]=\"!showConfigPanel\">\n        <h3>CompoDoc Configuration</h3>\n        <div class=\"config-options\">\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.hideGenerator\" (change)=\"updateConfig()\"> Hide Generator</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.hideDarkModeToggle\" (change)=\"updateConfig()\"> Hide Dark Mode Toggle</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.minimal\" (change)=\"updateConfig()\"> Minimal Mode</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableOverview\" (change)=\"updateConfig()\"> Disable Overview</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableFilePath\" (change)=\"updateConfig()\"> Disable File Path</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableSourceCode\" (change)=\"updateConfig()\"> Disable Source Code</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableGraph\" (change)=\"updateConfig()\"> Disable Graph</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableMainGraph\" (change)=\"updateConfig()\"> Disable Main Graph</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableRoutesGraph\" (change)=\"updateConfig()\"> Disable Routes Graph</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableCoverage\" (change)=\"updateConfig()\"> Disable Coverage</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableSearch\" (change)=\"updateConfig()\"> Disable Search</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableDependencies\" (change)=\"updateConfig()\"> Disable Dependencies</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disablePrivate\" (change)=\"updateConfig()\"> Disable Private</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableProtected\" (change)=\"updateConfig()\"> Disable Protected</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableInternal\" (change)=\"updateConfig()\"> Disable Internal</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableLifeCycleHooks\" (change)=\"updateConfig()\"> Disable Lifecycle Hooks</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableConstructors\" (change)=\"updateConfig()\"> Disable Constructors</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableProperties\" (change)=\"updateConfig()\"> Disable Properties</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableDomTree\" (change)=\"updateConfig()\"> Disable DOM Tree</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableTemplateTab\" (change)=\"updateConfig()\"> Disable Template Tab</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableStyleTab\" (change)=\"updateConfig()\"> Disable Style Tab</label>\n        </div>\n      </div>\n\n      <div class=\"template-playground-body\">\n        <div class=\"template-playground-sidebar\">\n          <div class=\"template-file-list\">\n            <h3>Templates</h3>\n            <ul class=\"file-list\">\n              <li *ngFor=\"let template of templates; trackBy: trackByName\"\n                  [class.active]=\"selectedFile === template\"\n                  (click)=\"selectFile(template)\">\n                <i class=\"file-icon ion-document-text\"></i>\n                {{template.name}}\n                <span class=\"file-type\">{{template.type}}</span>\n              </li>\n            </ul>\n\n            <div *ngIf=\"templates.length === 0\" class=\"loading-templates\">\n              Loading templates...\n            </div>\n          </div>\n        </div>\n\n        <div class=\"template-playground-main\">\n          <div class=\"template-playground-editor\">\n            <div class=\"editor-header\" *ngIf=\"selectedFile\">\n              <h4>{{selectedFile.path}}</h4>\n              <span class=\"file-type-badge\">{{selectedFile.type}}</span>\n            </div>\n            <div #editorContainer class=\"editor-container\"></div>\n          </div>\n\n          <div class=\"template-playground-preview\">\n            <div class=\"preview-header\">\n              <h4>Live Preview</h4>\n              <button class=\"btn btn-sm btn-secondary\" (click)=\"refreshPreview()\">🔄 Refresh</button>\n            </div>\n            <iframe #previewFrame class=\"preview-frame\" [src]=\"previewUrl\"></iframe>\n          </div>\n        </div>\n      </div>\n    </div>\n  `,\n  styles: [`\n    .template-playground {\n      display: flex;\n      flex-direction: column;\n      height: 100vh;\n      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n    }\n\n    .template-playground-header {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      padding: 1rem 2rem;\n      background: #f8f9fa;\n      border-bottom: 1px solid #dee2e6;\n    }\n\n    .template-playground-status {\n      display: flex;\n      align-items: center;\n      gap: 1rem;\n      font-size: 0.875rem;\n    }\n\n    .session-info {\n      color: #6c757d;\n      font-family: monospace;\n    }\n\n    .saving-indicator {\n      color: #ffc107;\n      font-weight: bold;\n    }\n\n    .last-saved {\n      color: #28a745;\n    }\n\n    .template-playground-actions {\n      display: flex;\n      gap: 0.5rem;\n    }\n\n    .config-panel {\n      background: #e9ecef;\n      padding: 1rem 2rem;\n      border-bottom: 1px solid #dee2e6;\n      transition: all 0.3s ease;\n      max-height: 200px;\n      overflow: hidden;\n    }\n\n    .config-panel.collapsed {\n      max-height: 0;\n      padding: 0 2rem;\n    }\n\n    .config-options {\n      display: grid;\n      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n      gap: 0.5rem;\n      margin-top: 0.5rem;\n    }\n\n    .config-options label {\n      display: flex;\n      align-items: center;\n      gap: 0.5rem;\n      font-size: 0.875rem;\n    }\n\n    .template-playground-body {\n      display: flex;\n      flex: 1;\n      overflow: hidden;\n    }\n\n    .template-playground-sidebar {\n      width: 250px;\n      background: #f8f9fa;\n      border-right: 1px solid #dee2e6;\n      overflow-y: auto;\n    }\n\n    .template-file-list {\n      padding: 1rem;\n    }\n\n    .template-file-list h3 {\n      margin: 0 0 0.5rem 0;\n      font-size: 0.875rem;\n      font-weight: 600;\n      color: #495057;\n      text-transform: uppercase;\n      letter-spacing: 0.5px;\n    }\n\n    .file-list {\n      list-style: none;\n      padding: 0;\n      margin: 0 0 1.5rem 0;\n    }\n\n    .file-list li {\n      display: flex;\n      align-items: center;\n      padding: 0.5rem;\n      cursor: pointer;\n      border-radius: 4px;\n      font-size: 0.875rem;\n      transition: background-color 0.15s ease;\n    }\n\n    .file-list li:hover {\n      background: #e9ecef;\n    }\n\n    .file-list li.active {\n      background: #007bff;\n      color: white;\n    }\n\n    .file-icon {\n      margin-right: 0.5rem;\n      opacity: 0.7;\n    }\n\n    .file-type {\n      margin-left: auto;\n      font-size: 0.75rem;\n      opacity: 0.7;\n      text-transform: uppercase;\n    }\n\n    .loading-templates {\n      text-align: center;\n      color: #6c757d;\n      font-style: italic;\n      padding: 2rem;\n    }\n\n    .template-playground-main {\n      flex: 1;\n      display: flex;\n      overflow: hidden;\n    }\n\n    .template-playground-editor {\n      width: 50%;\n      display: flex;\n      flex-direction: column;\n      border-right: 1px solid #dee2e6;\n    }\n\n    .editor-header {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      padding: 0.75rem 1rem;\n      background: #f8f9fa;\n      border-bottom: 1px solid #dee2e6;\n    }\n\n    .editor-header h4 {\n      margin: 0;\n      font-size: 0.875rem;\n      font-weight: 600;\n    }\n\n    .file-type-badge {\n      background: #6c757d;\n      color: white;\n      padding: 0.125rem 0.5rem;\n      border-radius: 12px;\n      font-size: 0.75rem;\n      text-transform: uppercase;\n    }\n\n    .editor-container {\n      flex: 1;\n      position: relative;\n    }\n\n    .template-playground-preview {\n      width: 50%;\n      display: flex;\n      flex-direction: column;\n    }\n\n    .preview-header {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      padding: 0.75rem 1rem;\n      background: #f8f9fa;\n      border-bottom: 1px solid #dee2e6;\n    }\n\n    .preview-header h4 {\n      margin: 0;\n      font-size: 0.875rem;\n      font-weight: 600;\n    }\n\n    .preview-frame {\n      flex: 1;\n      border: none;\n      background: white;\n    }\n\n    .btn {\n      padding: 0.375rem 0.75rem;\n      border: 1px solid transparent;\n      border-radius: 0.25rem;\n      font-size: 0.875rem;\n      font-weight: 500;\n      text-decoration: none;\n      cursor: pointer;\n      transition: all 0.15s ease;\n    }\n\n    .btn-primary {\n      background: #007bff;\n      border-color: #007bff;\n      color: white;\n    }\n\n    .btn-primary:hover {\n      background: #0056b3;\n      border-color: #004085;\n    }\n\n    .btn-secondary {\n      background: #6c757d;\n      border-color: #6c757d;\n      color: white;\n    }\n\n    .btn-secondary:hover {\n      background: #545b62;\n      border-color: #4e555b;\n    }\n\n    .btn-success {\n      background: #28a745;\n      border-color: #28a745;\n      color: white;\n    }\n\n    .btn-success:hover {\n      background: #1e7e34;\n      border-color: #1c7430;\n    }\n\n    .btn-sm {\n      padding: 0.25rem 0.5rem;\n      font-size: 0.75rem;\n    }\n  `]\n})\nexport class TemplatePlaygroundComponent implements OnInit, OnDestroy {\n  @ViewChild('editorContainer', { static: true }) editorContainer!: ElementRef;\n  @ViewChild('previewFrame', { static: true }) previewFrame!: ElementRef;\n\n  sessionId: string = '';\n  templates: Template[] = [];\n  selectedFile: Template | null = null;\n  config: CompoDocConfig = {};\n  showConfigPanel: boolean = false;\n  saving: boolean = false;\n  lastSaved: Date | null = null;\n\n  private saveTimeout?: number;\n  private readonly SAVE_DELAY = 300; // 300ms debounce\n\n  get previewUrl(): string {\n    return this.sessionId ? `/api/session/${this.sessionId}/docs/` : '';\n  }\n\n  constructor(\n    private http: HttpClient,\n    private editorService: TemplateEditorService,\n    private zipService: ZipExportService,\n    private hbsService: HbsRenderService\n  ) {}\n\n  async ngOnInit() {\n    try {\n      await this.createSession();\n      await this.loadSessionTemplates();\n      await this.loadSessionConfig();\n      this.initializeEditor();\n    } catch (error) {\n      console.error('Error initializing template playground:', error);\n    }\n  }\n\n  ngOnDestroy() {\n    if (this.saveTimeout) {\n      clearTimeout(this.saveTimeout);\n    }\n  }\n\n  private async createSession(): Promise<void> {\n    const response = await this.http.post<Session>('/api/session/create', {}).toPromise();\n    if (response && response.success) {\n      this.sessionId = response.sessionId;\n      console.log('Session created:', this.sessionId);\n    } else {\n      throw new Error('Failed to create session');\n    }\n  }\n\n  private async loadSessionTemplates(): Promise<void> {\n    if (!this.sessionId) return;\n\n    const response = await this.http.get<{templates: Template[], success: boolean}>(`/api/session/${this.sessionId}/templates`).toPromise();\n    if (response && response.success) {\n      this.templates = response.templates;\n\n      // Auto-select the first template\n      if (this.templates.length > 0 && !this.selectedFile) {\n        this.selectFile(this.templates[0]);\n      }\n    }\n  }\n\n  private async loadSessionConfig(): Promise<void> {\n    if (!this.sessionId) return;\n\n    const response = await this.http.get<{config: CompoDocConfig, success: boolean}>(`/api/session/${this.sessionId}/config`).toPromise();\n    if (response && response.success) {\n      this.config = response.config;\n    }\n  }\n\n  initializeEditor() {\n    this.editorService.initializeEditor(this.editorContainer.nativeElement);\n\n    // Set up debounced save on content change\n    this.editorService.setOnChangeCallback((content: string) => {\n      this.scheduleAutoSave(content);\n    });\n  }\n\n  async selectFile(template: Template) {\n    this.selectedFile = template;\n\n    if (!this.sessionId) return;\n\n    try {\n      const response = await this.http.get<{content: string, success: boolean}>(`/api/session/${this.sessionId}/template/${template.path}`).toPromise();\n      if (response && response.success) {\n        this.editorService.setEditorContent(response.content, template.type === 'template' ? 'handlebars' : 'handlebars');\n      }\n    } catch (error) {\n      console.error('Error loading template:', error);\n    }\n  }\n\n  private scheduleAutoSave(content: string): void {\n    if (!this.selectedFile || !this.sessionId) return;\n\n    // Clear existing timeout\n    if (this.saveTimeout) {\n      clearTimeout(this.saveTimeout);\n    }\n\n    // Set saving indicator\n    this.saving = true;\n\n    // Schedule new save\n    this.saveTimeout = window.setTimeout(async () => {\n      try {\n        await this.saveTemplate(content);\n        this.saving = false;\n        this.lastSaved = new Date();\n      } catch (error) {\n        console.error('Error saving template:', error);\n        this.saving = false;\n      }\n    }, this.SAVE_DELAY);\n  }\n\n  private async saveTemplate(content: string): Promise<void> {\n    if (!this.selectedFile || !this.sessionId) return;\n\n    const response = await this.http.post<{success: boolean}>(`/api/session/${this.sessionId}/template/${this.selectedFile.path}`, {\n      content\n    }).toPromise();\n\n    if (!response || !response.success) {\n      throw new Error('Failed to save template');\n    }\n  }\n\n  async updateConfig(): Promise<void> {\n    if (!this.sessionId) return;\n\n    try {\n      const response = await this.http.post<{success: boolean}>(`/api/session/${this.sessionId}/config`, {\n        config: this.config\n      }).toPromise();\n\n      if (response && response.success) {\n        // Config updated, documentation will be regenerated automatically\n      }\n    } catch (error) {\n      console.error('Error updating config:', error);\n    }\n  }\n\n  toggleConfigPanel(): void {\n    this.showConfigPanel = !this.showConfigPanel;\n  }\n\n  refreshPreview(): void {\n    if (this.previewFrame?.nativeElement) {\n      this.previewFrame.nativeElement.src = this.previewFrame.nativeElement.src;\n    }\n  }\n\n  resetToDefault(): void {\n    // Implementation for resetting to default templates\n    if (confirm('Are you sure you want to reset all templates to their default values? This action cannot be undone.')) {\n      // TODO: Implement reset functionality\n      console.log('Reset to default templates');\n    }\n  }\n\n  async exportZip(): Promise<void> {\n    try {\n      if (!this.sessionId) {\n        console.error('No active session. Please refresh the page and try again.');\n        return;\n      }\n\n      console.log('Creating template package...');\n\n      // Call server-side ZIP creation endpoint for all templates\n      const response = await this.http.post(`/api/session/${this.sessionId}/download-all-templates`, {}, {\n        responseType: 'blob',\n        observe: 'response'\n      }).toPromise();\n\n      if (!response || !response.body) {\n        throw new Error('Failed to create template package');\n      }\n\n      // Get the ZIP file as a blob\n      const zipBlob = response.body;\n\n      // Get filename from response headers or construct it\n      const contentDisposition = response.headers.get('Content-Disposition');\n      let filename = `compodoc-templates-${this.sessionId}.zip`;\n\n      if (contentDisposition) {\n        const filenameMatch = contentDisposition.match(/filename=\"([^\"]+)\"/);\n        if (filenameMatch) {\n          filename = filenameMatch[1];\n        }\n      }\n\n      // Create download link and trigger download\n      const url = URL.createObjectURL(zipBlob);\n      const a = document.createElement('a');\n      a.href = url;\n      a.download = filename;\n      document.body.appendChild(a);\n      a.click();\n      document.body.removeChild(a);\n      URL.revokeObjectURL(url);\n\n      console.log('Template package downloaded successfully!');\n    } catch (error) {\n      console.error('Error downloading template package:', error);\n    }\n  }\n\n  trackByName(index: number, item: Template): string {\n    return item.name;\n  }\n}\n",
            "properties": [
                {
                    "name": "message",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 16
                },
                {
                    "name": "sessionId",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 14
                },
                {
                    "name": "success",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 15
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "SingleSelectionLogic",
            "id": "interface-SingleSelectionLogic-58c183b5c86bff3152aea9b2ea3814c42c064cbafd35827be581b9f14da427bba9788856dc9f44dc7032f38109e5c22b8dfbcd004baca90c9a2f8feef39320a1",
            "file": "packages/components/eui-tree/eui-tree.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { UxLinkLegacy } from '@eui/core';\n\nexport type TreeDataModel = Array<TreeItemModel>;\n\nexport type TreeItemModel = {\n    node: TreeNode;\n    children?: TreeDataModel;\n};\n\nexport type TreeNode = {\n    // metadata can be block content, or any\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    treeContentBlock: EuiTreeContentBlockModel | any;\n} & SelectionModel &\n    ExpandModel;\n\nexport interface EuiTreeContentBlockModel {\n    id?: string | number;\n    label: string;\n    tooltipLabel: string;\n    url: string;\n    urlExternal: string;\n    urlExternalTarget: string;\n    typeLabel: string;\n    typeClass: string;\n    chips?: Array<{ label: string; typeClass?: string; isOutline?: boolean }>;\n    iconClass: string;\n    iconTypeClass: string;\n    iconSvgName?: string;\n    rightContent?: {\n        iconClass: string;\n        iconTypeClass: string;\n        iconSvgName?: string;\n        badges?: Array<{ label: string; typeClass: string }>;\n        chips?: Array<{ label: string; typeClass?: string; isOutline?: boolean }>;\n        // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        contextMenuMetaData?: any;\n    };\n    metaData: string;\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    [key: string]: any;\n}\n\nexport type SelectionModel = {\n    selectable?: boolean;\n    isSelected?: boolean;\n    // if one of sub is selected, it becomes intermediate\n    isIndeterminate?: boolean;\n    selectConfig?: SelectConfigModel;\n};\n\nexport interface SelectConfigModel extends MultiSelectionLogic, SingleSelectionLogic {\n    /*\n    If It is true;\n    When user select parent, all the children will be selected\n    When selection state is changed, If all children is selected parent will be selected as long as noAutoSelectParent is not true\n    */\n    recursive?: boolean;\n    /* when It is true, If all children is selected, parent will not be selected, while recursive is true*/\n    noAutoSelectParent?: boolean;\n    singleSelect?: boolean;\n}\n\nexport interface MultiSelectionLogic {\n    /*\n    If It is true;\n    When user select parent, all the children will be selected\n    When selection state is changed, If all children is selected parent will be selected as long as noAutoSelectParent is not true\n    */\n    recursive?: boolean;\n    /* when It is true, If all children is selected, parent will not be selected, while recursive is true*/\n    noAutoSelectParent?: boolean;\n}\n\nexport interface SingleSelectionLogic {\n    singleSelect?: boolean;\n}\n\nexport type ExpandModel = {\n    isExpanded?: boolean;\n};\n\nexport type EuiTreeSelectionChanges = { added: TreeDataModel; removed: TreeDataModel; selection: TreeDataModel };\n\nexport type TreeDataRunTimeModel = Array<TreeItemRunTimeModel>;\n\nexport type TreeItemRunTimeModel = { index: number; path: string; children?: Array<TreeItemRunTimeModel>; last?: boolean, matched?: boolean };\n\nexport type TreeItemSelectionRecursiveModel = {\n    selectionRecursiveState: SelectionRecursiveState;\n    children?: Array<TreeItemSelectionRecursiveModel>;\n};\n\nexport type SelectionRecursiveState = 'indeterminate' | 'allSelected' | 'allNotSelected';\n\n// eslint-disable-next-line prefer-arrow/prefer-arrow-functions\nexport function uxTreeNodesMetaDataMapper(oldTree: Array<UxLinkLegacy>): TreeDataModel {\n    return oldTree.map((item) => {\n        if (item?.typeClass === 'default') {\n            // default typeClass will be\n            item.typeClass = 'secondary';\n        }\n        if (item?.badgeLabel) {\n            // default typeClass will be\n            if (item?.badges?.length > 0) {\n                item.badges.push({ label: item?.badgeLabel, typeClass: 'secondary' });\n            } else {\n                item.badges = [{ label: item?.badgeLabel, typeClass: 'secondary' }];\n            }\n        }\n        return {\n            node: {\n                treeContentBlock: {\n                    label: item.label,\n                    typeLabel: item.typeLabel,\n                    typeClass: item.typeLabel && !item.typeClass ? 'secondary' : item.typeClass,\n                    tooltipLabel: item.tooltipLabel,\n                    url: item.url,\n                    urlExternal: item.urlExternal,\n                    urlExternalTarget: item.urlExternal && item.urlExternalTarget ? item.urlExternalTarget : undefined,\n                    badges: item.badges,\n                    metadata: item.metadata,\n                },\n            },\n            children: item.children ? uxTreeNodesMetaDataMapper(item.children) : undefined,\n        };\n    });\n}\n\nexport class EuiTreePagination<T> {\n    private data: T[];\n    private startPage: number;\n    private totalItems: number;\n    private renderedPageCount: number;\n    private perPage: number;\n    private totalPages: number;\n\n    constructor(data: T[], startPage: number, renderedPageCount: number, perPage: number) {\n        this.data = data;\n        this.setCurrentStartPage(startPage);\n        this.renderedPageCount = renderedPageCount;\n        this.totalItems = this.data.length;\n        this.perPage = perPage;\n        this.totalPages = Math.ceil(this.totalItems / this.perPage);\n    }\n\n    public paginateNext(): { startPage: number; data: T[] } {\n        if (this.startPage < this.totalPages) {\n            this.startPage += 1;\n        }\n        return this.getViewData();\n    }\n\n    public paginatePrev(): { startPage: number; data: T[] } {\n        if (this.startPage > 1) {\n            this.startPage -= 1;\n        }\n        return this.getViewData();\n    }\n\n    public getCurrentStartPage(): number {\n        return this.startPage;\n    }\n\n    public setCurrentStartPage(startPage: number): void {\n        this.startPage = startPage;\n    }\n\n    public isAtMax(): boolean {\n        return this.totalPages < this.startPage + this.renderedPageCount;\n    }\n\n    public getViewData(): { startPage: number; data: T[] } {\n        const startIndex = (this.startPage - 1) * this.perPage;\n        const endIndex = startIndex + this.perPage * this.renderedPageCount;\n        const pageData = structuredClone(this.data).slice(startIndex, endIndex);\n        return {\n            startPage: this.startPage,\n            data: pageData,\n        };\n    }\n}\n\nexport class CustomNodeSelectFnHelper{\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    constructor(private compInstance: any) {\n    }\n\n    select(path: string, isChecked: boolean): void{\n        this.compInstance.silentSelect(path, isChecked);\n    }\n\n    getParents(path: string): Array<string>{\n        return this.compInstance.getParentPaths(path);\n    }\n\n    getTreeItem(path: string): TreeItemModel{\n        return this.compInstance.getTreeItem(path);\n    }\n\n    getSelectionRecursiveState(path: string): TreeItemSelectionRecursiveModel{\n        return this.compInstance.getRunTimeSelectionRecursiveState(path);\n    }\n\n}\n\nexport type CustomNodeSelectFn = (path: string, isChecked:boolean, treeItem: TreeItemModel, helper: CustomNodeSelectFnHelper) => void;\n",
            "properties": [
                {
                    "name": "singleSelect",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 80
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "Sort",
            "id": "interface-Sort-06b60b802980dfe31eb7b25e1fe994093a3730ab27468cfa6d4e524e98ebddcd71b7b5b5a9b95aafae3be5e2c9fb5ed3fb636767480b2f3e1f98b9d0f2422bc4",
            "file": "packages/components/eui-table/models/sort.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface Sort {\n    sort: string;\n    order: SortOrder;\n}\n\nexport type SortOrder = 'asc' | 'desc' | 'none';\n",
            "properties": [
                {
                    "name": "order",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "SortOrder",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 3
                },
                {
                    "name": "sort",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 2
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "Template",
            "id": "interface-Template-adc0097964f185f2079637fe50fb71cc9bfa4e1abd1a0de21565f9554688ae342f997cbff2cc1ffb32d52a0d45c76482a9d8c59ad2d031250418b7e4304a527c",
            "file": "packages/components/dist/docs/template-playground/template-playground.component.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Component, OnInit, ViewChild, ElementRef, OnDestroy } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { TemplateEditorService } from './template-editor.service';\nimport { ZipExportService } from './zip-export.service';\nimport { HbsRenderService } from './hbs-render.service';\n\ninterface Template {\n  name: string;\n  path: string;\n  type: 'template' | 'partial';\n}\n\ninterface Session {\n  sessionId: string;\n  success: boolean;\n  message: string;\n}\n\ninterface CompoDocConfig {\n  hideGenerator?: boolean;\n  disableSourceCode?: boolean;\n  disableGraph?: boolean;\n  disableCoverage?: boolean;\n  disablePrivate?: boolean;\n  disableProtected?: boolean;\n  disableInternal?: boolean;\n  disableLifeCycleHooks?: boolean;\n  disableConstructors?: boolean;\n  disableRoutesGraph?: boolean;\n  disableSearch?: boolean;\n  disableDependencies?: boolean;\n  disableProperties?: boolean;\n  disableDomTree?: boolean;\n  disableTemplateTab?: boolean;\n  disableStyleTab?: boolean;\n  disableMainGraph?: boolean;\n  disableFilePath?: boolean;\n  disableOverview?: boolean;\n  hideDarkModeToggle?: boolean;\n  minimal?: boolean;\n  customFavicon?: string;\n  includes?: string;\n  includesName?: string;\n}\n\n@Component({\n  selector: 'template-playground-root',\n  template: `\n    <div class=\"template-playground\">\n      <div class=\"template-playground-header\">\n        <h2>Template Playground</h2>\n        <div class=\"template-playground-status\">\n          <span *ngIf=\"sessionId\" class=\"session-info\">Session: {{sessionId.substring(0, 8)}}...</span>\n          <span *ngIf=\"saving\" class=\"saving-indicator\">Saving...</span>\n          <span *ngIf=\"lastSaved\" class=\"last-saved\">Last saved: {{lastSaved | date:'short'}}</span>\n        </div>\n        <div class=\"template-playground-actions\">\n          <button class=\"btn btn-secondary\" (click)=\"toggleConfigPanel()\">⚙️ Config</button>\n          <button class=\"btn btn-primary\" (click)=\"resetToDefault()\">Reset to Default</button>\n          <button class=\"btn btn-success\" (click)=\"exportZip()\">Download Templates</button>\n        </div>\n      </div>\n\n      <!-- Configuration Panel -->\n      <div class=\"config-panel\" [class.collapsed]=\"!showConfigPanel\">\n        <h3>CompoDoc Configuration</h3>\n        <div class=\"config-options\">\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.hideGenerator\" (change)=\"updateConfig()\"> Hide Generator</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.hideDarkModeToggle\" (change)=\"updateConfig()\"> Hide Dark Mode Toggle</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.minimal\" (change)=\"updateConfig()\"> Minimal Mode</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableOverview\" (change)=\"updateConfig()\"> Disable Overview</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableFilePath\" (change)=\"updateConfig()\"> Disable File Path</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableSourceCode\" (change)=\"updateConfig()\"> Disable Source Code</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableGraph\" (change)=\"updateConfig()\"> Disable Graph</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableMainGraph\" (change)=\"updateConfig()\"> Disable Main Graph</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableRoutesGraph\" (change)=\"updateConfig()\"> Disable Routes Graph</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableCoverage\" (change)=\"updateConfig()\"> Disable Coverage</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableSearch\" (change)=\"updateConfig()\"> Disable Search</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableDependencies\" (change)=\"updateConfig()\"> Disable Dependencies</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disablePrivate\" (change)=\"updateConfig()\"> Disable Private</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableProtected\" (change)=\"updateConfig()\"> Disable Protected</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableInternal\" (change)=\"updateConfig()\"> Disable Internal</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableLifeCycleHooks\" (change)=\"updateConfig()\"> Disable Lifecycle Hooks</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableConstructors\" (change)=\"updateConfig()\"> Disable Constructors</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableProperties\" (change)=\"updateConfig()\"> Disable Properties</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableDomTree\" (change)=\"updateConfig()\"> Disable DOM Tree</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableTemplateTab\" (change)=\"updateConfig()\"> Disable Template Tab</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableStyleTab\" (change)=\"updateConfig()\"> Disable Style Tab</label>\n        </div>\n      </div>\n\n      <div class=\"template-playground-body\">\n        <div class=\"template-playground-sidebar\">\n          <div class=\"template-file-list\">\n            <h3>Templates</h3>\n            <ul class=\"file-list\">\n              <li *ngFor=\"let template of templates; trackBy: trackByName\"\n                  [class.active]=\"selectedFile === template\"\n                  (click)=\"selectFile(template)\">\n                <i class=\"file-icon ion-document-text\"></i>\n                {{template.name}}\n                <span class=\"file-type\">{{template.type}}</span>\n              </li>\n            </ul>\n\n            <div *ngIf=\"templates.length === 0\" class=\"loading-templates\">\n              Loading templates...\n            </div>\n          </div>\n        </div>\n\n        <div class=\"template-playground-main\">\n          <div class=\"template-playground-editor\">\n            <div class=\"editor-header\" *ngIf=\"selectedFile\">\n              <h4>{{selectedFile.path}}</h4>\n              <span class=\"file-type-badge\">{{selectedFile.type}}</span>\n            </div>\n            <div #editorContainer class=\"editor-container\"></div>\n          </div>\n\n          <div class=\"template-playground-preview\">\n            <div class=\"preview-header\">\n              <h4>Live Preview</h4>\n              <button class=\"btn btn-sm btn-secondary\" (click)=\"refreshPreview()\">🔄 Refresh</button>\n            </div>\n            <iframe #previewFrame class=\"preview-frame\" [src]=\"previewUrl\"></iframe>\n          </div>\n        </div>\n      </div>\n    </div>\n  `,\n  styles: [`\n    .template-playground {\n      display: flex;\n      flex-direction: column;\n      height: 100vh;\n      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n    }\n\n    .template-playground-header {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      padding: 1rem 2rem;\n      background: #f8f9fa;\n      border-bottom: 1px solid #dee2e6;\n    }\n\n    .template-playground-status {\n      display: flex;\n      align-items: center;\n      gap: 1rem;\n      font-size: 0.875rem;\n    }\n\n    .session-info {\n      color: #6c757d;\n      font-family: monospace;\n    }\n\n    .saving-indicator {\n      color: #ffc107;\n      font-weight: bold;\n    }\n\n    .last-saved {\n      color: #28a745;\n    }\n\n    .template-playground-actions {\n      display: flex;\n      gap: 0.5rem;\n    }\n\n    .config-panel {\n      background: #e9ecef;\n      padding: 1rem 2rem;\n      border-bottom: 1px solid #dee2e6;\n      transition: all 0.3s ease;\n      max-height: 200px;\n      overflow: hidden;\n    }\n\n    .config-panel.collapsed {\n      max-height: 0;\n      padding: 0 2rem;\n    }\n\n    .config-options {\n      display: grid;\n      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n      gap: 0.5rem;\n      margin-top: 0.5rem;\n    }\n\n    .config-options label {\n      display: flex;\n      align-items: center;\n      gap: 0.5rem;\n      font-size: 0.875rem;\n    }\n\n    .template-playground-body {\n      display: flex;\n      flex: 1;\n      overflow: hidden;\n    }\n\n    .template-playground-sidebar {\n      width: 250px;\n      background: #f8f9fa;\n      border-right: 1px solid #dee2e6;\n      overflow-y: auto;\n    }\n\n    .template-file-list {\n      padding: 1rem;\n    }\n\n    .template-file-list h3 {\n      margin: 0 0 0.5rem 0;\n      font-size: 0.875rem;\n      font-weight: 600;\n      color: #495057;\n      text-transform: uppercase;\n      letter-spacing: 0.5px;\n    }\n\n    .file-list {\n      list-style: none;\n      padding: 0;\n      margin: 0 0 1.5rem 0;\n    }\n\n    .file-list li {\n      display: flex;\n      align-items: center;\n      padding: 0.5rem;\n      cursor: pointer;\n      border-radius: 4px;\n      font-size: 0.875rem;\n      transition: background-color 0.15s ease;\n    }\n\n    .file-list li:hover {\n      background: #e9ecef;\n    }\n\n    .file-list li.active {\n      background: #007bff;\n      color: white;\n    }\n\n    .file-icon {\n      margin-right: 0.5rem;\n      opacity: 0.7;\n    }\n\n    .file-type {\n      margin-left: auto;\n      font-size: 0.75rem;\n      opacity: 0.7;\n      text-transform: uppercase;\n    }\n\n    .loading-templates {\n      text-align: center;\n      color: #6c757d;\n      font-style: italic;\n      padding: 2rem;\n    }\n\n    .template-playground-main {\n      flex: 1;\n      display: flex;\n      overflow: hidden;\n    }\n\n    .template-playground-editor {\n      width: 50%;\n      display: flex;\n      flex-direction: column;\n      border-right: 1px solid #dee2e6;\n    }\n\n    .editor-header {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      padding: 0.75rem 1rem;\n      background: #f8f9fa;\n      border-bottom: 1px solid #dee2e6;\n    }\n\n    .editor-header h4 {\n      margin: 0;\n      font-size: 0.875rem;\n      font-weight: 600;\n    }\n\n    .file-type-badge {\n      background: #6c757d;\n      color: white;\n      padding: 0.125rem 0.5rem;\n      border-radius: 12px;\n      font-size: 0.75rem;\n      text-transform: uppercase;\n    }\n\n    .editor-container {\n      flex: 1;\n      position: relative;\n    }\n\n    .template-playground-preview {\n      width: 50%;\n      display: flex;\n      flex-direction: column;\n    }\n\n    .preview-header {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      padding: 0.75rem 1rem;\n      background: #f8f9fa;\n      border-bottom: 1px solid #dee2e6;\n    }\n\n    .preview-header h4 {\n      margin: 0;\n      font-size: 0.875rem;\n      font-weight: 600;\n    }\n\n    .preview-frame {\n      flex: 1;\n      border: none;\n      background: white;\n    }\n\n    .btn {\n      padding: 0.375rem 0.75rem;\n      border: 1px solid transparent;\n      border-radius: 0.25rem;\n      font-size: 0.875rem;\n      font-weight: 500;\n      text-decoration: none;\n      cursor: pointer;\n      transition: all 0.15s ease;\n    }\n\n    .btn-primary {\n      background: #007bff;\n      border-color: #007bff;\n      color: white;\n    }\n\n    .btn-primary:hover {\n      background: #0056b3;\n      border-color: #004085;\n    }\n\n    .btn-secondary {\n      background: #6c757d;\n      border-color: #6c757d;\n      color: white;\n    }\n\n    .btn-secondary:hover {\n      background: #545b62;\n      border-color: #4e555b;\n    }\n\n    .btn-success {\n      background: #28a745;\n      border-color: #28a745;\n      color: white;\n    }\n\n    .btn-success:hover {\n      background: #1e7e34;\n      border-color: #1c7430;\n    }\n\n    .btn-sm {\n      padding: 0.25rem 0.5rem;\n      font-size: 0.75rem;\n    }\n  `]\n})\nexport class TemplatePlaygroundComponent implements OnInit, OnDestroy {\n  @ViewChild('editorContainer', { static: true }) editorContainer!: ElementRef;\n  @ViewChild('previewFrame', { static: true }) previewFrame!: ElementRef;\n\n  sessionId: string = '';\n  templates: Template[] = [];\n  selectedFile: Template | null = null;\n  config: CompoDocConfig = {};\n  showConfigPanel: boolean = false;\n  saving: boolean = false;\n  lastSaved: Date | null = null;\n\n  private saveTimeout?: number;\n  private readonly SAVE_DELAY = 300; // 300ms debounce\n\n  get previewUrl(): string {\n    return this.sessionId ? `/api/session/${this.sessionId}/docs/` : '';\n  }\n\n  constructor(\n    private http: HttpClient,\n    private editorService: TemplateEditorService,\n    private zipService: ZipExportService,\n    private hbsService: HbsRenderService\n  ) {}\n\n  async ngOnInit() {\n    try {\n      await this.createSession();\n      await this.loadSessionTemplates();\n      await this.loadSessionConfig();\n      this.initializeEditor();\n    } catch (error) {\n      console.error('Error initializing template playground:', error);\n    }\n  }\n\n  ngOnDestroy() {\n    if (this.saveTimeout) {\n      clearTimeout(this.saveTimeout);\n    }\n  }\n\n  private async createSession(): Promise<void> {\n    const response = await this.http.post<Session>('/api/session/create', {}).toPromise();\n    if (response && response.success) {\n      this.sessionId = response.sessionId;\n      console.log('Session created:', this.sessionId);\n    } else {\n      throw new Error('Failed to create session');\n    }\n  }\n\n  private async loadSessionTemplates(): Promise<void> {\n    if (!this.sessionId) return;\n\n    const response = await this.http.get<{templates: Template[], success: boolean}>(`/api/session/${this.sessionId}/templates`).toPromise();\n    if (response && response.success) {\n      this.templates = response.templates;\n\n      // Auto-select the first template\n      if (this.templates.length > 0 && !this.selectedFile) {\n        this.selectFile(this.templates[0]);\n      }\n    }\n  }\n\n  private async loadSessionConfig(): Promise<void> {\n    if (!this.sessionId) return;\n\n    const response = await this.http.get<{config: CompoDocConfig, success: boolean}>(`/api/session/${this.sessionId}/config`).toPromise();\n    if (response && response.success) {\n      this.config = response.config;\n    }\n  }\n\n  initializeEditor() {\n    this.editorService.initializeEditor(this.editorContainer.nativeElement);\n\n    // Set up debounced save on content change\n    this.editorService.setOnChangeCallback((content: string) => {\n      this.scheduleAutoSave(content);\n    });\n  }\n\n  async selectFile(template: Template) {\n    this.selectedFile = template;\n\n    if (!this.sessionId) return;\n\n    try {\n      const response = await this.http.get<{content: string, success: boolean}>(`/api/session/${this.sessionId}/template/${template.path}`).toPromise();\n      if (response && response.success) {\n        this.editorService.setEditorContent(response.content, template.type === 'template' ? 'handlebars' : 'handlebars');\n      }\n    } catch (error) {\n      console.error('Error loading template:', error);\n    }\n  }\n\n  private scheduleAutoSave(content: string): void {\n    if (!this.selectedFile || !this.sessionId) return;\n\n    // Clear existing timeout\n    if (this.saveTimeout) {\n      clearTimeout(this.saveTimeout);\n    }\n\n    // Set saving indicator\n    this.saving = true;\n\n    // Schedule new save\n    this.saveTimeout = window.setTimeout(async () => {\n      try {\n        await this.saveTemplate(content);\n        this.saving = false;\n        this.lastSaved = new Date();\n      } catch (error) {\n        console.error('Error saving template:', error);\n        this.saving = false;\n      }\n    }, this.SAVE_DELAY);\n  }\n\n  private async saveTemplate(content: string): Promise<void> {\n    if (!this.selectedFile || !this.sessionId) return;\n\n    const response = await this.http.post<{success: boolean}>(`/api/session/${this.sessionId}/template/${this.selectedFile.path}`, {\n      content\n    }).toPromise();\n\n    if (!response || !response.success) {\n      throw new Error('Failed to save template');\n    }\n  }\n\n  async updateConfig(): Promise<void> {\n    if (!this.sessionId) return;\n\n    try {\n      const response = await this.http.post<{success: boolean}>(`/api/session/${this.sessionId}/config`, {\n        config: this.config\n      }).toPromise();\n\n      if (response && response.success) {\n        // Config updated, documentation will be regenerated automatically\n      }\n    } catch (error) {\n      console.error('Error updating config:', error);\n    }\n  }\n\n  toggleConfigPanel(): void {\n    this.showConfigPanel = !this.showConfigPanel;\n  }\n\n  refreshPreview(): void {\n    if (this.previewFrame?.nativeElement) {\n      this.previewFrame.nativeElement.src = this.previewFrame.nativeElement.src;\n    }\n  }\n\n  resetToDefault(): void {\n    // Implementation for resetting to default templates\n    if (confirm('Are you sure you want to reset all templates to their default values? This action cannot be undone.')) {\n      // TODO: Implement reset functionality\n      console.log('Reset to default templates');\n    }\n  }\n\n  async exportZip(): Promise<void> {\n    try {\n      if (!this.sessionId) {\n        console.error('No active session. Please refresh the page and try again.');\n        return;\n      }\n\n      console.log('Creating template package...');\n\n      // Call server-side ZIP creation endpoint for all templates\n      const response = await this.http.post(`/api/session/${this.sessionId}/download-all-templates`, {}, {\n        responseType: 'blob',\n        observe: 'response'\n      }).toPromise();\n\n      if (!response || !response.body) {\n        throw new Error('Failed to create template package');\n      }\n\n      // Get the ZIP file as a blob\n      const zipBlob = response.body;\n\n      // Get filename from response headers or construct it\n      const contentDisposition = response.headers.get('Content-Disposition');\n      let filename = `compodoc-templates-${this.sessionId}.zip`;\n\n      if (contentDisposition) {\n        const filenameMatch = contentDisposition.match(/filename=\"([^\"]+)\"/);\n        if (filenameMatch) {\n          filename = filenameMatch[1];\n        }\n      }\n\n      // Create download link and trigger download\n      const url = URL.createObjectURL(zipBlob);\n      const a = document.createElement('a');\n      a.href = url;\n      a.download = filename;\n      document.body.appendChild(a);\n      a.click();\n      document.body.removeChild(a);\n      URL.revokeObjectURL(url);\n\n      console.log('Template package downloaded successfully!');\n    } catch (error) {\n      console.error('Error downloading template package:', error);\n    }\n  }\n\n  trackByName(index: number, item: Template): string {\n    return item.name;\n  }\n}\n",
            "properties": [
                {
                    "name": "name",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "path",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 9
                },
                {
                    "name": "type",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"template\" | \"partial\"",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "TextAnnotations",
            "id": "interface-TextAnnotations-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "appendTo",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 389
                },
                {
                    "name": "backgroundColor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 390
                },
                {
                    "name": "borderColor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 391
                },
                {
                    "name": "borderRadius",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 392
                },
                {
                    "name": "borderWidth",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 393
                },
                {
                    "name": "fontFamily",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "undefined | string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 387
                },
                {
                    "name": "fontSize",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string | number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 386
                },
                {
                    "name": "fontWeight",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string | number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 388
                },
                {
                    "name": "foreColor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 385
                },
                {
                    "name": "paddingBottom",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 397
                },
                {
                    "name": "paddingLeft",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 394
                },
                {
                    "name": "paddingRight",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 395
                },
                {
                    "name": "paddingTop",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 396
                },
                {
                    "name": "text",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 383
                },
                {
                    "name": "textAnchor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 384
                },
                {
                    "name": "x",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 381
                },
                {
                    "name": "y",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 382
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "ToolbarItemConfig",
            "id": "interface-ToolbarItemConfig-ac75c23e756525716e7c4a46e4b323ebc8e13d3b9fa4961eec040d13616f5de31ef44d89586c853c4fb6a8906068f7f04a1255b38303c83d2f54667be080cc23",
            "file": "packages/components/externals/quill/models/editor.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface BetterTableModule {\n    insertTable(rows: number, columns: number): void;\n}\n\nexport interface ToolbarItemConfig {\n    name: string;\n    label?: string;\n    options?: any[];\n    dialogMessage?: string;\n}\n\nexport type EditorChangeContent = ContentChange & { event: 'text-change' };\nexport type EditorChangeSelection = SelectionChange & { event: 'selection-change' };\n\nexport interface Focus {\n    editor: any;\n    source: string;\n}\n\nexport interface Range {\n    index: number;\n    length: number;\n}\n\nexport interface ContentChange {\n    content: any;\n    delta: any;\n    editor: any;\n    html: string | null;\n    oldDelta: any;\n    source: string;\n    text: string;\n}\n\nexport interface SelectionChange {\n    editor: any;\n    oldRange: Range | null;\n    range: Range | null;\n    source: string;\n}\n\nexport interface Blur {\n    editor: any;\n    source: string;\n}\n",
            "properties": [
                {
                    "name": "dialogMessage",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 9
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 7
                },
                {
                    "name": "name",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 6
                },
                {
                    "name": "options",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any[]",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 8
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "UIState",
            "id": "interface-UIState-bc48785f85921f0e967aea2f7f662e5bcb7192f8646a5436245d6b7a38576a38dbdabaf53bcf44236af91270e933e2a69263b8d6111a6a3413b7e949d63652f8",
            "file": "packages/components/eui-card/services/ui-state.service.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n/**\n * Interface defining the UI state properties for card components.\n */\nexport interface UIState {\n    /** Whether the card can be collapsed/expanded */\n    isCollapsible: boolean;\n    /** Whether the card is currently in collapsed state */\n    isCollapsed: boolean;\n    /** Whether the card displays urgent styling */\n    isUrgent: boolean;\n    /** Whether the card has a left-side expander control */\n    hasLeftExpander: boolean;\n}\n\nconst initialState: UIState = {\n    isCollapsible: false,\n    isCollapsed: false,\n    isUrgent: false,\n    hasLeftExpander: false,\n};\n\n/**\n * Service for managing UI state of card components including collapse, urgency, and expander positioning.\n * Provides reactive state management through RxJS observables for card component behavior.\n * Injected at component level to maintain isolated state per card instance.\n * Manages collapsible state, collapsed state, urgent styling, and left expander positioning.\n */\n@Injectable()\nexport class UiStateService {\n    private _state$: BehaviorSubject<UIState> = new BehaviorSubject(initialState);\n\n    /**\n     * Observable stream of UI state changes.\n     * Emits whenever any state property is updated via setState or setters.\n     */\n    get state$(): Observable<UIState> {\n        return this._state$.asObservable();\n    }\n\n    /**\n     * Current UI state snapshot.\n     * Returns the current state value without subscribing to changes.\n     */\n    get state(): UIState {\n        return this._state$.getValue();\n    }\n\n    /**\n     * Updates the UI state with provided properties.\n     * Merges the next state with current state, preserving unchanged properties.\n     */\n    setState(nextState: UIState): void {\n        this._state$.next({\n            ...this.state,\n            ...nextState,\n        });\n    }\n\n    /**\n     * Sets the collapsed state of the card.\n     * When true, card content is hidden; when false, content is visible.\n     */\n    set isCollapsed(isActive: boolean) {\n        this.setState({\n            ...this.state,\n            isCollapsed: isActive,\n        });\n    }\n\n    /**\n     * Sets whether the card is collapsible.\n     * When true, enables collapse/expand functionality; when false, card remains static.\n     */\n    set isCollapsible(isActive: boolean) {\n        this.setState({\n            ...this.state,\n            isCollapsible: isActive,\n        });\n    }\n\n    /**\n     * Toggles the collapsed state of the card.\n     * Switches between collapsed and expanded states.\n     */\n    public toggleCollapsed(): void {\n        this.isCollapsed = !this.state.isCollapsed;\n    }\n}\n",
            "properties": [
                {
                    "name": "hasLeftExpander",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether the card has a left-side expander control</p>\n",
                    "line": 15,
                    "rawdescription": "\nWhether the card has a left-side expander control"
                },
                {
                    "name": "isCollapsed",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether the card is currently in collapsed state</p>\n",
                    "line": 11,
                    "rawdescription": "\nWhether the card is currently in collapsed state"
                },
                {
                    "name": "isCollapsible",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether the card can be collapsed/expanded</p>\n",
                    "line": 9,
                    "rawdescription": "\nWhether the card can be collapsed/expanded"
                },
                {
                    "name": "isUrgent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether the card displays urgent styling</p>\n",
                    "line": 13,
                    "rawdescription": "\nWhether the card displays urgent styling"
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Interface defining the UI state properties for card components.</p>\n",
            "rawdescription": "\n\nInterface defining the UI state properties for card components.\n",
            "methods": [],
            "extends": []
        },
        {
            "name": "UserProfile",
            "id": "interface-UserProfile-859b6e31d7085fe14d2324a692073a1cdeafda2b5318709c72b2c274d20264cabaf451e9b19c3c4890e560ce6ad5b20b371ffd7c23f883ee75dbe45347e985c1",
            "file": "packages/components/eui-user-profile/user-profile.component.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ViewEncapsulation,\n    Input,\n    OnInit,\n    ViewChild,\n    OnDestroy,\n    forwardRef,\n    QueryList,\n    AfterViewInit,\n    ContentChildren,\n    ElementRef,\n    booleanAttribute,\n    Signal,\n    computed,\n    ChangeDetectorRef,\n    inject,\n} from '@angular/core';\nimport { UserState } from '@eui/core';\nimport { UserService } from '@eui/core';\nimport { EUI_DROPDOWN, EuiDropdownComponent, EuiDropdownService } from '@eui/components/eui-dropdown';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiUserProfileMenuComponent } from './user-profile-menu/user-profile-menu.component';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_AVATAR } from '@eui/components/eui-avatar';\nimport { EUI_BADGE } from '@eui/components/eui-badge';\n\n/**\n * Represents an extended user profile that includes impersonation capabilities\n * and organizational information.\n * @extends {UserState}\n *\n * When using this interface with UserService, specify it as the generic type parameter:\n * Example: private userService: UserService<UserProfile>\n */\nexport interface UserProfile extends UserState {\n    /** The profile of another user being impersonated, if applicable */\n    impersonatingUser?: UserProfile;\n    /** The user's function or role within the system */\n    function?: string;\n    /** The organization details associated with the user */\n    organisation?: {\n        /** The unique code identifying the organization */\n        code: string\n    }\n}\n\n/**\n * @description\n * User profile component that displays user information with avatar, name, and optional dropdown menu.\n * Integrates with UserService to display current user state and supports impersonation indicators.\n * Provides customizable layouts for header, toolbar, or standalone usage.\n * Supports avatar display with initials, status indicators, and optional menu with navigation items.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <!-- Simple user profile -->\n * <eui-user-profile\n *   [hasMenu]=\"true\"\n *   [isShowAvatarInitials]=\"true\">\n *   <eui-user-profile-menu>\n *     <eui-user-profile-menu-item (click)=\"viewProfile()\">\n *       Profile\n *     </eui-user-profile-menu-item>\n *     <eui-user-profile-menu-item (click)=\"logout()\">\n *       Logout\n *     </eui-user-profile-menu-item>\n *   </eui-user-profile-menu>\n * </eui-user-profile>\n *\n * <!-- Header user profile -->\n * <eui-user-profile\n *   [isHeaderUserProfile]=\"true\"\n *   [avatarUrl]=\"user.avatarUrl\"\n *   [subInfos]=\"user.email\" />\n * ```\n *\n * ### Accessibility\n * - Avatar has appropriate alt text with user name\n * - Dropdown menu is keyboard accessible\n * - Status indicators have aria-label describing state\n * - Focus management for menu navigation\n *\n * ### Notes\n * - Automatically fetches user data from UserService\n * - Supports impersonation mode with visual indicator\n * - Avatar initials generated from user name when no image provided\n * - Status variants: success, secondary, danger\n * - Reverse layout option for right-to-left designs\n */@Component({\n    selector: 'eui-user-profile',\n    templateUrl: './user-profile.component.html',\n    styleUrls: ['./_styles/_index.scss'],\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        NgTemplateOutlet,\n        ...EUI_DROPDOWN,\n        ...EUI_ICON,\n        ...EUI_AVATAR,\n        ...EUI_BADGE,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSizeS',\n                'euiSecondary',\n                'euiPrimary',\n            ],\n        },\n    ],\n    providers: [EuiDropdownService],\n})\nexport class EuiUserProfileComponent implements OnInit, OnDestroy, AfterViewInit {\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-user-profile'),\n            this.isReverse ? 'eui-user-profile--reverse': '',\n            this.isShowAvatarInitials ? 'eui-user-profile--initials': '',\n            this.subInfos ? 'eui-user-profile--has-subinfos': '',\n        ].join(' ').trim();\n    }\n\n    userState: Signal<UserProfile>;\n    avatarInitials: Signal<string>;\n\n    @Input() welcomeLabel = 'Welcome';\n    @Input() impersonateLabel = 'acting as';\n    @Input() avatarUrl: string;\n    @Input() subInfos: string;\n    @Input() statusVariant = 'success';\n\n    @Input({ transform: booleanAttribute }) hasMenu = false;\n    @Input({ transform: booleanAttribute }) hasWelcomeLabel = true;\n    @Input({ transform: booleanAttribute }) isShowAvatarInitials = false;\n    @Input({ transform: booleanAttribute }) hasTabNavigation = false;\n    @Input({ transform: booleanAttribute }) isReverse = false;\n    @Input({ transform: booleanAttribute }) hasToggle = false;\n    @Input({ transform: booleanAttribute }) isHeaderUserProfile = false;\n    @Input({ transform: booleanAttribute }) isToolbarUserProfile = false;\n    @Input({ transform: booleanAttribute }) isShowUserInfos = true;\n    @Input({ transform: booleanAttribute }) isMobileOnly = true;\n\n    @Input({ transform: booleanAttribute }) euiStatusSecondary = false;\n    @Input({ transform: booleanAttribute }) euiStatusSuccess = false;\n    @Input({ transform: booleanAttribute }) euiStatusDanger = false;\n    @Input() dropContentWidth = '300px';\n\n    /**\n     * If true, the name will be displayed in reverse order (first name, first)\n     */\n    @Input() reverseNameOrder = false;\n\n    @ViewChild('dropdown') dropdown: EuiDropdownComponent;\n    @ContentChildren(forwardRef(() => EuiUserProfileMenuComponent), { descendants: true })\n    hasMenuContent: QueryList<EuiUserProfileMenuComponent>;\n\n    isDropdownOpen = false;\n    baseStatesDirective = inject(BaseStatesDirective);\n    $isDropdownOpen = new BehaviorSubject<boolean>(false);\n    private unsubscribeSubject$: Subject<void> = new Subject();\n    private elRef = inject(ElementRef);\n    private cd = inject(ChangeDetectorRef);\n    private userService = inject<UserService<UserProfile>>(UserService);\n\n    ngOnInit(): void {\n        this.userState = this.userService.getSignal();\n        this.avatarInitials = computed(() => {\n            const firstNameInitial = this.userState().firstName?.substring(0, 1).toUpperCase();\n            const lastNameInitial = this.userState().lastName?.substring(0, 1).toUpperCase();\n            return this.reverseNameOrder ?\n                `${firstNameInitial}${lastNameInitial}`\n                : `${lastNameInitial}${firstNameInitial}`;\n        });\n    }\n\n    ngAfterViewInit(): void {\n        this.cd.markForCheck();\n\n        let hasToolbarItemParent = false, toolbar;\n\n        if (this.isToolbarUserProfile) {\n            this.baseStatesDirective.euiSizeS = true;\n            this.hasMenu = this.hasMenuContent.length !== 0;\n\n        } else {\n            try {\n                hasToolbarItemParent = this.elRef.nativeElement.closest('eui-toolbar-item');\n                toolbar = this.elRef.nativeElement.closest('eui-toolbar');\n            } catch(e) {\n               // do nothing\n            }\n\n            setTimeout(() => {\n                if (hasToolbarItemParent) {\n                    this.baseStatesDirective.euiSizeS = true;\n                    if (toolbar && toolbar.classList.contains('eui--secondary') || this.baseStatesDirective.euiSecondary) {\n                        this.baseStatesDirective.euiSecondary = true;\n                    } else {\n                        this.baseStatesDirective.euiPrimary = true;\n                    }\n                }\n                if (hasToolbarItemParent || !this.isHeaderUserProfile) {\n                    this.hasMenu = this.hasMenuContent.length !== 0;\n                }\n                if (this.isMobileOnly) {\n                    this.baseStatesDirective.euiSizeS = true;\n                }\n                this.cd.markForCheck();\n            });\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.unsubscribeSubject$.next();\n        this.unsubscribeSubject$.complete();\n    }\n\n    closeDropdown(): void {\n        this.dropdown.closeDropdown();\n        this.isDropdownOpen = false;\n    }\n\n    onDropdownExpand(isOpen: boolean): void {\n        this.isDropdownOpen = isOpen;\n    }\n\n    onOpenChange(open: boolean): void {\n        this.isDropdownOpen = open;\n        this.$isDropdownOpen.next(open);\n    }\n}\n",
            "properties": [
                {
                    "name": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>The user&#39;s function or role within the system</p>\n",
                    "line": 43,
                    "rawdescription": "\nThe user's function or role within the system"
                },
                {
                    "name": "impersonatingUser",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "UserProfile",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>The profile of another user being impersonated, if applicable</p>\n",
                    "line": 41,
                    "rawdescription": "\nThe profile of another user being impersonated, if applicable"
                },
                {
                    "name": "organisation",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>The organization details associated with the user</p>\n",
                    "line": 45,
                    "rawdescription": "\nThe organization details associated with the user"
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "description": "<p>Represents an extended user profile that includes impersonation capabilities\nand organizational information.</p>\n<p>When using this interface with UserService, specify it as the generic type parameter:\nExample: private userService: UserService<UserProfile></p>\n",
            "rawdescription": "\n\nRepresents an extended user profile that includes impersonation capabilities\nand organizational information.\n\nWhen using this interface with UserService, specify it as the generic type parameter:\nExample: private userService: UserService<UserProfile>\n",
            "methods": [],
            "extends": [
                "UserState"
            ]
        },
        {
            "name": "Window",
            "id": "interface-Window-8cb8e3976be772231926bd66ce0280feb473ae2d470b8dca7a038752e6aa11317df5078fc12a66202940d3b325cdd8fc84ed097872b766958919080689648cf0",
            "file": "packages/components/externals/charts/chart/chart.component.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "import { isPlatformBrowser } from \"@angular/common\";\nimport {\n  Component,\n  ElementRef,\n  inject,\n  input,\n  NgZone,\n  OnChanges,\n  OnDestroy,\n  output,\n  PLATFORM_ID,\n  signal,\n  SimpleChanges,\n  viewChild,\n} from \"@angular/core\";\nimport { asapScheduler } from \"rxjs\";\nimport {\n  ApexAnnotations,\n  ApexAxisChartSeries,\n  ApexChart,\n  ApexDataLabels,\n  ApexFill,\n  ApexForecastDataPoints,\n  ApexGrid,\n  ApexLegend,\n  ApexMarkers,\n  ApexNoData,\n  ApexNonAxisChartSeries,\n  ApexPlotOptions,\n  ApexResponsive,\n  ApexStates,\n  ApexStroke,\n  ApexTheme,\n  ApexTitleSubtitle,\n  ApexTooltip,\n  ApexXAxis,\n  ApexYAxis,\n} from \"../model/apex-types\";\n\ntype ApexCharts = import(\"apexcharts\");\n\ndeclare global {\n  interface Window {\n    ApexCharts: any;\n  }\n}\n\n@Component({\n  selector: \"eui-apex-chart\",\n  template: `<div #chart></div>`,\n})\nexport class EuiApexChartComponent implements OnChanges, OnDestroy {\n  readonly chart = input<ApexChart>();\n  readonly annotations = input<ApexAnnotations>();\n  readonly colors = input<any[]>();\n  readonly dataLabels = input<ApexDataLabels>();\n  readonly series = input<ApexAxisChartSeries | ApexNonAxisChartSeries>();\n  readonly stroke = input<ApexStroke>();\n  readonly labels = input<string[]>();\n  readonly legend = input<ApexLegend>();\n  readonly markers = input<ApexMarkers>();\n  readonly noData = input<ApexNoData>();\n  readonly fill = input<ApexFill>();\n  readonly tooltip = input<ApexTooltip>();\n  readonly plotOptions = input<ApexPlotOptions>();\n  readonly responsive = input<ApexResponsive[]>();\n  readonly xaxis = input<ApexXAxis>();\n  readonly yaxis = input<ApexYAxis | ApexYAxis[]>();\n  readonly forecastDataPoints = input<ApexForecastDataPoints>();\n  readonly grid = input<ApexGrid>();\n  readonly states = input<ApexStates>();\n  readonly title = input<ApexTitleSubtitle>();\n  readonly subtitle = input<ApexTitleSubtitle>();\n  readonly theme = input<ApexTheme>();\n\n  readonly autoUpdateSeries = input(true);\n\n  readonly chartReady = output<{ chartObj: ApexCharts }>();\n\n  // If consumers need to capture the `chartInstance` for use, consumers\n  // can access the component instance through `viewChild` and use `computed`\n  // or `effect` on `component.chartInstance()` to monitor its changes and\n  // recompute effects or computations whenever `chartInstance` is updated.\n  readonly chartInstance = signal<ApexCharts | null>(null);\n\n  private readonly chartElement =\n    viewChild.required<ElementRef<HTMLElement>>(\"chart\");\n\n  private ngZone = inject(NgZone);\n  private isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (!this.isBrowser) return;\n\n    this.ngZone.runOutsideAngular(() => {\n      asapScheduler.schedule(() => this.hydrate(changes));\n    });\n  }\n\n  ngOnDestroy() {\n    this.destroy();\n  }\n\n  private hydrate(changes: SimpleChanges): void {\n    const shouldUpdateSeries =\n      this.autoUpdateSeries() &&\n      Object.keys(changes).filter((c) => c !== \"series\").length === 0;\n\n    if (shouldUpdateSeries) {\n      this.updateSeries(this.series(), true);\n      return;\n    }\n\n    this.createElement();\n  }\n\n  private async createElement() {\n    const { default: ApexCharts } = await import(\"apexcharts\");\n    window.ApexCharts ||= ApexCharts;\n\n    const options: any = {};\n\n    const properties = [\n      \"annotations\",\n      \"chart\",\n      \"colors\",\n      \"dataLabels\",\n      \"series\",\n      \"stroke\",\n      \"labels\",\n      \"legend\",\n      \"fill\",\n      \"tooltip\",\n      \"plotOptions\",\n      \"responsive\",\n      \"markers\",\n      \"noData\",\n      \"xaxis\",\n      \"yaxis\",\n      \"forecastDataPoints\",\n      \"grid\",\n      \"states\",\n      \"title\",\n      \"subtitle\",\n      \"theme\",\n    ] as const;\n\n    properties.forEach((property) => {\n      const value = this[property]();\n      if (value) {\n        options[property] = value;\n      }\n    });\n\n    this.destroy();\n\n    const chartInstance = this.ngZone.runOutsideAngular(\n      () => new ApexCharts(this.chartElement().nativeElement, options)\n    );\n\n    this.chartInstance.set(chartInstance);\n\n    this.render();\n    this.chartReady.emit({ chartObj: chartInstance });\n  }\n\n  public render() {\n    return this.ngZone.runOutsideAngular(() => {\n        if (this.chartInstance) {\n            this.chartInstance().render()\n        }\n    });\n  }\n\n  public updateOptions(\n    options: any,\n    redrawPaths?: boolean,\n    animate?: boolean,\n    updateSyncedCharts?: boolean\n  ) {\n    return this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.updateOptions(\n        options,\n        redrawPaths,\n        animate,\n        updateSyncedCharts\n      )\n    );\n  }\n\n  public updateSeries(\n    newSeries: ApexAxisChartSeries | ApexNonAxisChartSeries,\n    animate?: boolean\n  ) {\n    return this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.updateSeries(newSeries, animate)\n    );\n  }\n\n  public appendSeries(\n    newSeries: ApexAxisChartSeries | ApexNonAxisChartSeries,\n    animate?: boolean\n  ) {\n    this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.appendSeries(newSeries, animate)\n    );\n  }\n\n  public appendData(newData: any[]) {\n    this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.appendData(newData)\n    );\n  }\n\n  public highlightSeries(seriesName: string): any {\n    return this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.highlightSeries(seriesName)\n    );\n  }\n\n  public toggleSeries(seriesName: string): any {\n    return this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.toggleSeries(seriesName)\n    );\n  }\n\n  public showSeries(seriesName: string) {\n    this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.showSeries(seriesName)\n    );\n  }\n\n  public hideSeries(seriesName: string) {\n    this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.hideSeries(seriesName)\n    );\n  }\n\n  public resetSeries() {\n    this.ngZone.runOutsideAngular(() => this.chartInstance()?.resetSeries());\n  }\n\n  public zoomX(min: number, max: number) {\n    this.ngZone.runOutsideAngular(() => this.chartInstance()?.zoomX(min, max));\n  }\n\n  public toggleDataPointSelection(\n    seriesIndex: number,\n    dataPointIndex?: number\n  ) {\n    this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.toggleDataPointSelection(\n        seriesIndex,\n        dataPointIndex\n      )\n    );\n  }\n\n  public destroy() {\n    try {\n        this.chartInstance()?.destroy();\n        this.chartInstance.set(null);\n    } catch(e){\n        console.log(e)\n    }\n  }\n\n  public setLocale(localeName: string) {\n    this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.setLocale(localeName)\n    );\n  }\n\n  public paper() {\n    this.ngZone.runOutsideAngular(() => this.chartInstance()?.paper());\n  }\n\n  public addXaxisAnnotation(\n    options: any,\n    pushToMemory?: boolean,\n    context?: any\n  ) {\n    this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.addXaxisAnnotation(options, pushToMemory, context)\n    );\n  }\n\n  public addYaxisAnnotation(\n    options: any,\n    pushToMemory?: boolean,\n    context?: any\n  ) {\n    this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.addYaxisAnnotation(options, pushToMemory, context)\n    );\n  }\n\n  public addPointAnnotation(\n    options: any,\n    pushToMemory?: boolean,\n    context?: any\n  ) {\n    this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.addPointAnnotation(options, pushToMemory, context)\n    );\n  }\n\n  public removeAnnotation(id: string, options?: any) {\n    this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.removeAnnotation(id, options)\n    );\n  }\n\n  public clearAnnotations(options?: any) {\n    this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.clearAnnotations(options)\n    );\n  }\n\n  public dataURI(options?: any) {\n    return this.chartInstance()?.dataURI(options);\n  }\n}\n",
            "properties": [
                {
                    "name": "ApexCharts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 44
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "XAxisAnnotations",
            "id": "interface-XAxisAnnotations-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "borderColor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 320
                },
                {
                    "name": "borderWidth",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 321
                },
                {
                    "name": "fillColor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 319
                },
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number | string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 315
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "AnnotationLabel",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 325
                },
                {
                    "name": "offsetX",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 323
                },
                {
                    "name": "offsetY",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 324
                },
                {
                    "name": "opacity",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 322
                },
                {
                    "name": "strokeDashArray",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 318
                },
                {
                    "name": "x",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "null | number | string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 316
                },
                {
                    "name": "x2",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "null | number | string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 317
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        },
        {
            "name": "YAxisAnnotations",
            "id": "interface-YAxisAnnotations-6a3ffa90ee630f983d40fa66d01b1bd58777335141852d8ec38fb75c59690dc00ffb7a3b9ec578d06c8ba8db2b06ac50405314cbca8cf04483085e580ade11db",
            "file": "packages/components/externals/charts/model/apex-types.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "interface",
            "sourceCode": "export interface ApexOptions {\n    annotations?: ApexAnnotations;\n    chart?: ApexChart;\n    colors?: any[];\n    dataLabels?: ApexDataLabels;\n    series?: ApexAxisChartSeries | ApexNonAxisChartSeries;\n    stroke?: ApexStroke;\n    labels?: string[];\n    legend?: ApexLegend;\n    fill?: ApexFill;\n    tooltip?: ApexTooltip;\n    plotOptions?: ApexPlotOptions;\n    responsive?: ApexResponsive[];\n    markers?: ApexMarkers;\n    noData?: ApexNoData;\n    xaxis?: ApexXAxis;\n    yaxis?: ApexYAxis | ApexYAxis[];\n    forecastDataPoints?: ApexForecastDataPoints;\n    grid?: ApexGrid;\n    states?: ApexStates;\n    title?: ApexTitleSubtitle;\n    subtitle?: ApexTitleSubtitle;\n    theme?: ApexTheme;\n  }\n\n  interface ApexDropShadow {\n    enabled?: boolean;\n    top?: number;\n    left?: number;\n    blur?: number;\n    opacity?: number;\n    color?: string;\n  }\n\n  /**\n   * Main Chart options\n   * See https://apexcharts.com/docs/options/chart/\n   */\n  export interface ApexChart {\n    width?: string | number;\n    height?: string | number;\n    type: ChartType;\n    foreColor?: string;\n    fontFamily?: string;\n    background?: string;\n    offsetX?: number;\n    offsetY?: number;\n    dropShadow?: ApexDropShadow & {\n      enabledOnSeries?: undefined | number[];\n      color?: string | string[];\n    };\n    events?: {\n      animationEnd?(chart: any, options?: any): void;\n      beforeMount?(chart: any, options?: any): void;\n      mounted?(chart: any, options?: any): void;\n      updated?(chart: any, options?: any): void;\n      mouseMove?(e: any, chart?: any, options?: any): void;\n      mouseLeave?(e: any, chart?: any, options?: any): void;\n      click?(e: any, chart?: any, options?: any): void;\n      legendClick?(chart: any, seriesIndex?: number, options?: any): void;\n      markerClick?(e: any, chart?: any, options?: any): void;\n      xAxisLabelClick?(e: any, chart?: any, options?: any): void;\n      selection?(chart: any, options?: any): void;\n      dataPointSelection?(e: any, chart?: any, options?: any): void;\n      dataPointMouseEnter?(e: any, chart?: any, options?: any): void;\n      dataPointMouseLeave?(e: any, chart?: any, options?: any): void;\n      beforeZoom?(chart: any, options?: any): void;\n      beforeResetZoom?(chart: any, options?: any): void;\n      zoomed?(chart: any, options?: any): void;\n      scrolled?(chart: any, options?: any): void;\n      brushScrolled?(chart: any, options?: any): void;\n    };\n    brush?: {\n      enabled?: boolean;\n      autoScaleYaxis?: boolean;\n      target?: string;\n      targets?: string[];\n    };\n    id?: string;\n    group?: string;\n    nonce?: string;\n    locales?: ApexLocale[];\n    defaultLocale?: string;\n    parentHeightOffset?: number;\n    redrawOnParentResize?: boolean;\n    redrawOnWindowResize?: boolean | Function;\n    sparkline?: {\n      enabled?: boolean;\n    };\n    stacked?: boolean;\n    stackOnlyBar?: boolean;\n    stackType?: \"normal\" | \"100%\";\n    toolbar?: {\n      show?: boolean;\n      offsetX?: number;\n      offsetY?: number;\n      tools?: {\n        download?: boolean | string;\n        selection?: boolean | string;\n        zoom?: boolean | string;\n        zoomin?: boolean | string;\n        zoomout?: boolean | string;\n        pan?: boolean | string;\n        reset?: boolean | string;\n        customIcons?: {\n          icon?: string;\n          title?: string;\n          index?: number;\n          class?: string;\n          click?(chart?: any, options?: any, e?: any): any;\n        }[];\n      };\n      export?: {\n        csv?: {\n          filename?: undefined | string;\n          columnDelimiter?: string;\n          headerCategory?: string;\n          headerValue?: string;\n          categoryFormatter?(value?: number): any;\n          valueFormatter?(value?: number): any;\n        };\n        svg?: {\n          filename?: undefined | string;\n        };\n        png?: {\n          filename?: undefined | string;\n        };\n        width?: number;\n        scale?: number;\n      };\n      autoSelected?: \"zoom\" | \"selection\" | \"pan\";\n    };\n    zoom?: {\n      enabled?: boolean;\n      type?: \"x\" | \"y\" | \"xy\";\n      autoScaleYaxis?: boolean;\n      allowMouseWheelZoom?: boolean;\n      zoomedArea?: {\n        fill?: {\n          color?: string;\n          opacity?: number;\n        };\n        stroke?: {\n          color?: string;\n          opacity?: number;\n          width?: number;\n        };\n      };\n    };\n    selection?: {\n      enabled?: boolean;\n      type?: string;\n      fill?: {\n        color?: string;\n        opacity?: number;\n      };\n      stroke?: {\n        width?: number;\n        color?: string;\n        opacity?: number;\n        dashArray?: number;\n      };\n      xaxis?: {\n        min?: number;\n        max?: number;\n      };\n      yaxis?: {\n        min?: number;\n        max?: number;\n      };\n    };\n    animations?: {\n      enabled?: boolean;\n      speed?: number;\n      animateGradually?: {\n        enabled?: boolean;\n        delay?: number;\n      };\n      dynamicAnimation?: {\n        enabled?: boolean;\n        speed?: number;\n      };\n    };\n  }\n\n  export interface ApexStates {\n    hover?: {\n      filter?: {\n        type?: string;\n      };\n    };\n    active?: {\n      allowMultipleDataPointsSelection?: boolean;\n      filter?: {\n        type?: string;\n      };\n    };\n  }\n\n  /**\n   * Chart Title options\n   * See https://apexcharts.com/docs/options/title/\n   */\n  export interface ApexTitleSubtitle {\n    text?: string;\n    align?: \"left\" | \"center\" | \"right\";\n    margin?: number;\n    offsetX?: number;\n    offsetY?: number;\n    floating?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      color?: string;\n    };\n  }\n\n  /**\n   * Chart Series options.\n   * Use ApexNonAxisChartSeries for Pie and Donut charts.\n   * See https://apexcharts.com/docs/options/series/\n   */\n  export type ApexAxisChartSeries = {\n    name?: string;\n    type?: string;\n    color?: string;\n    group?: string;\n    zIndex?: number;\n    hidden?: boolean;\n    data:\n      | (number | null)[]\n      | {\n          x: any;\n          y: any;\n          fill?: ApexFill;\n          fillColor?: string;\n          strokeColor?: string;\n          meta?: any;\n          goals?: {\n            name?: string;\n            value: number;\n            strokeHeight?: number;\n            strokeWidth?: number;\n            strokeColor?: string;\n            strokeDashArray?: number;\n            strokeLineCap?: \"butt\" | \"square\" | \"round\";\n          }[];\n          barHeightOffset?: number;\n          columnWidthOffset?: number;\n        }[]\n      | [number, number | null][]\n      | [number, (number | null)[]][]\n      | number[][];\n  }[];\n\n  export type ApexNonAxisChartSeries = number[];\n\n  /**\n   * Options for the line drawn on line and area charts.\n   * See https://apexcharts.com/docs/options/stroke/\n   */\n  export interface ApexStroke {\n    show?: boolean;\n    curve?:\n      | \"smooth\"\n      | \"straight\"\n      | \"stepline\"\n      | \"monotoneCubic\"\n      | (\"smooth\" | \"straight\" | \"stepline\" | \"monotoneCubic\")[];\n    lineCap?: \"butt\" | \"square\" | \"round\";\n    colors?: any[];\n    width?: number | number[];\n    dashArray?: number | number[];\n    fill?: ApexFill;\n  }\n\n  export interface ApexAnnotations {\n    yaxis?: YAxisAnnotations[];\n    xaxis?: XAxisAnnotations[];\n    points?: PointAnnotations[];\n    texts?: TextAnnotations[];\n    images?: ImageAnnotations[];\n  }\n  export interface AnnotationLabel {\n    borderColor?: string;\n    borderWidth?: number;\n    borderRadius?: number;\n    text?: string;\n    textAnchor?: string;\n    offsetX?: number;\n    offsetY?: number;\n    style?: AnnotationStyle;\n    position?: string;\n    orientation?: string;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n  }\n  export interface AnnotationStyle {\n    background?: string;\n    color?: string;\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    cssClass?: string;\n    padding?: {\n      left?: number;\n      right?: number;\n      top?: number;\n      bottom?: number;\n    };\n  }\n  export interface XAxisAnnotations {\n    id?: number | string;\n    x?: null | number | string;\n    x2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    label?: AnnotationLabel;\n  }\n  export interface YAxisAnnotations {\n    id?: number | string;\n    y?: null | number | string;\n    y2?: null | number | string;\n    strokeDashArray?: number;\n    fillColor?: string;\n    borderColor?: string;\n    borderWidth?: number;\n    opacity?: number;\n    offsetX?: number;\n    offsetY?: number;\n    width?: number | string;\n    yAxisIndex?: number;\n    label?: AnnotationLabel;\n  }\n  export interface PointAnnotations {\n    id?: number | string;\n    x?: number | string;\n    y?: null | number;\n    yAxisIndex?: number;\n    seriesIndex?: number;\n    mouseEnter?: Function;\n    mouseLeave?: Function;\n    click?: Function;\n    marker?: {\n      size?: number;\n      fillColor?: string;\n      strokeColor?: string;\n      strokeWidth?: number;\n      shape?: string;\n      offsetX?: number;\n      offsetY?: number;\n      cssClass?: string;\n    };\n    label?: AnnotationLabel;\n    image?: {\n      path?: string;\n      width?: number;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  export interface ImageAnnotations {\n    path?: string;\n    x?: number;\n    y?: number;\n    width?: number;\n    height?: number;\n    appendTo?: string;\n  }\n\n  export interface TextAnnotations {\n    x?: number;\n    y?: number;\n    text?: string;\n    textAnchor?: string;\n    foreColor?: string;\n    fontSize?: string | number;\n    fontFamily?: undefined | string;\n    fontWeight?: string | number;\n    appendTo?: string;\n    backgroundColor?: string;\n    borderColor?: string;\n    borderRadius?: number;\n    borderWidth?: number;\n    paddingLeft?: number;\n    paddingRight?: number;\n    paddingTop?: number;\n    paddingBottom?: number;\n  }\n\n  /**\n   * Options for localization.\n   * See https://apexcharts.com/docs/options/chart/locales\n   */\n  export interface ApexLocale {\n    name?: string;\n    options?: {\n      months?: string[];\n      shortMonths?: string[];\n      days?: string[];\n      shortDays?: string[];\n      toolbar?: {\n        download?: string;\n        selection?: string;\n        selectionZoom?: string;\n        zoomIn?: string;\n        zoomOut?: string;\n        pan?: string;\n        reset?: string;\n        exportToSVG?: string;\n        exportToPNG?: string;\n        exportToCSV?: string;\n        menu?: string;\n      };\n    };\n  }\n\n  /**\n   * PlotOptions for specifying chart-type-specific configuration.\n   * See https://apexcharts.com/docs/options/plotoptions/bar/\n   */\n  export interface ApexPlotOptions {\n    line?: {\n      isSlopeChart?: boolean;\n      colors?: {\n        threshold?: number;\n        colorAboveThreshold?: string;\n        colorBelowThreshold?: string;\n      };\n    };\n    area?: {\n      fillTo?: \"origin\" | \"end\";\n    };\n    bar?: {\n      horizontal?: boolean;\n      columnWidth?: string | number;\n      barHeight?: string | number;\n      distributed?: boolean;\n      borderRadius?: number;\n      borderRadiusApplication?: \"around\" | \"end\";\n      borderRadiusWhenStacked?: \"all\" | \"last\";\n      hideZeroBarsWhenGrouped?: boolean;\n      rangeBarOverlap?: boolean;\n      rangeBarGroupRows?: boolean;\n      isDumbbell?: boolean;\n      dumbbellColors?: string[][];\n      isFunnel?: boolean;\n      isFunnel3d?: boolean;\n      colors?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n        }[];\n        backgroundBarColors?: string[];\n        backgroundBarOpacity?: number;\n        backgroundBarRadius?: number;\n      };\n      dataLabels?: {\n        maxItems?: number;\n        hideOverflowingLabels?: boolean;\n        position?: string;\n        orientation?: \"horizontal\" | \"vertical\";\n        total?: {\n          enabled?: boolean;\n          formatter?(val?: string, opts?: any): string;\n          offsetX?: number;\n          offsetY?: number;\n          style?: {\n            color?: string;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: number | string;\n          };\n        };\n      };\n    };\n    bubble?: {\n      zScaling?: boolean;\n      minBubbleRadius?: number;\n      maxBubbleRadius?: number;\n    };\n    candlestick?: {\n      colors?: {\n        upward?: string;\n        downward?: string;\n      };\n      wick?: {\n        useFillColor?: boolean;\n      };\n    };\n    boxPlot?: {\n      colors?: {\n        upper?: string;\n        lower?: string;\n      };\n    };\n    heatmap?: {\n      radius?: number;\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      reverseNegativeShade?: boolean;\n      distributed?: boolean;\n      useFillColorAsStroke?: boolean;\n      colorScale?: {\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        inverse?: boolean;\n        min?: number;\n        max?: number;\n      };\n    };\n    treemap?: {\n      enableShades?: boolean;\n      shadeIntensity?: number;\n      distributed?: boolean;\n      reverseNegativeShade?: boolean;\n      useFillColorAsStroke?: boolean;\n      dataLabels?: { format?: \"scale\" | \"truncate\" };\n      borderRadius?: number;\n      colorScale?: {\n        inverse?: boolean;\n        ranges?: {\n          from?: number;\n          to?: number;\n          color?: string;\n          foreColor?: string;\n          name?: string;\n        }[];\n        min?: number;\n        max?: number;\n      };\n    };\n    pie?: {\n      startAngle?: number;\n      endAngle?: number;\n      customScale?: number;\n      offsetX?: number;\n      offsetY?: number;\n      expandOnClick?: boolean;\n      dataLabels?: {\n        offset?: number;\n        minAngleToShowLabel?: number;\n      };\n      donut?: {\n        size?: string;\n        background?: string;\n        labels?: {\n          show?: boolean;\n          name?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          value?: {\n            show?: boolean;\n            fontSize?: string;\n            fontFamily?: string;\n            fontWeight?: string | number;\n            color?: string;\n            offsetY?: number;\n            formatter?(val: string): string;\n          };\n          total?: {\n            show?: boolean;\n            showAlways?: boolean;\n            fontFamily?: string;\n            fontSize?: string;\n            fontWeight?: string | number;\n            label?: string;\n            color?: string;\n            formatter?(w: any): string;\n          };\n        };\n      };\n    };\n    polarArea?: {\n      rings?: {\n        strokeWidth?: number;\n        strokeColor?: string;\n      };\n      spokes?: {\n        strokeWidth?: number;\n        connectorColors?: string | string[];\n      };\n    };\n    radar?: {\n      size?: number;\n      offsetX?: number;\n      offsetY?: number;\n      polygons?: {\n        strokeColors?: string | string[];\n        strokeWidth?: string | string[];\n        connectorColors?: string | string[];\n        fill?: {\n          colors?: string[];\n        };\n      };\n    };\n    radialBar?: {\n      inverseOrder?: boolean;\n      startAngle?: number;\n      endAngle?: number;\n      offsetX?: number;\n      offsetY?: number;\n      hollow?: {\n        margin?: number;\n        size?: string;\n        background?: string;\n        image?: string;\n        imageWidth?: number;\n        imageHeight?: number;\n        imageOffsetX?: number;\n        imageOffsetY?: number;\n        imageClipped?: boolean;\n        position?: \"front\" | \"back\";\n        dropShadow?: ApexDropShadow;\n      };\n      track?: {\n        show?: boolean;\n        startAngle?: number;\n        endAngle?: number;\n        background?: string | string[];\n        strokeWidth?: string;\n        opacity?: number;\n        margin?: number;\n        dropShadow?: ApexDropShadow;\n      };\n      dataLabels?: {\n        show?: boolean;\n        name?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n        };\n        value?: {\n          show?: boolean;\n          fontSize?: string;\n          fontFamily?: string;\n          fontWeight?: string | number;\n          color?: string;\n          offsetY?: number;\n          formatter?(val: number): string;\n        };\n        total?: {\n          show?: boolean;\n          label?: string;\n          fontFamily?: string;\n          fontSize?: string;\n          fontWeight?: string | number;\n          color?: string;\n          formatter?(opts: any): string;\n        };\n      };\n      barLabels?: {\n        enabled?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n        useSeriesColors?: boolean;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        formatter?: (barName: string, opts?: any) => string;\n        onClick?: (barName: string, opts?: any) => void;\n      };\n    };\n  }\n\n  type ApexColorStop = {\n    offset: number;\n    color: string;\n    opacity: number;\n  };\n  export interface ApexFill {\n    colors?: any[];\n    opacity?: number | number[];\n    type?: string | string[];\n    gradient?: {\n      shade?: string;\n      type?: string;\n      shadeIntensity?: number;\n      gradientToColors?: string[];\n      inverseColors?: boolean;\n      opacityFrom?: number | number[];\n      opacityTo?: number | number[];\n      stops?: number[];\n      colorStops?: ApexColorStop[][] | ApexColorStop[];\n    };\n    image?: {\n      src?: string | string[];\n      width?: number;\n      height?: number;\n    };\n    pattern?: {\n      style?: string | string[];\n      width?: number;\n      height?: number;\n      strokeWidth?: number;\n    };\n  }\n\n  /**\n   * Chart Legend configuration options.\n   * See https://apexcharts.com/docs/options/legend/\n   */\n  export interface ApexLegend {\n    show?: boolean;\n    showForSingleSeries?: boolean;\n    showForNullSeries?: boolean;\n    showForZeroSeries?: boolean;\n    floating?: boolean;\n    inverseOrder?: boolean;\n    position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n    horizontalAlign?: \"left\" | \"center\" | \"right\";\n    fontSize?: string;\n    fontFamily?: string;\n    fontWeight?: string | number;\n    width?: number;\n    height?: number;\n    offsetX?: number;\n    offsetY?: number;\n    customLegendItems?: string[];\n    labels?: {\n      colors?: string | string[];\n      useSeriesColors?: boolean;\n    };\n    markers?: {\n      strokeWidth?: number;\n      fillColors?: string[];\n      shape?: ApexMarkerShape;\n      offsetX?: number;\n      offsetY?: number;\n      customHTML?(): any;\n      onClick?(): void;\n    };\n    itemMargin?: {\n      horizontal?: number;\n      vertical?: number;\n    };\n    onItemClick?: {\n      toggleDataSeries?: boolean;\n    };\n    onItemHover?: {\n      highlightDataSeries?: boolean;\n    };\n    formatter?(legendName: string, opts?: any): string;\n    tooltipHoverFormatter?(legendName: string, opts?: any): string;\n  }\n\n  /**\n   * Chart Datalabels options\n   * See https://apexcharts.com/docs/options/datalabels/\n   */\n  export interface ApexDataLabels {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    textAnchor?: \"start\" | \"middle\" | \"end\";\n    distributed?: boolean;\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n      fontWeight?: string | number;\n      colors?: any[];\n    };\n    background?: {\n      enabled?: boolean;\n      foreColor?: string;\n      borderRadius?: number;\n      padding?: number;\n      opacity?: number;\n      borderWidth?: number;\n      borderColor?: string;\n      dropShadow?: ApexDropShadow;\n    };\n    dropShadow?: ApexDropShadow;\n    formatter?(\n      val: string | number | number[],\n      opts?: any\n    ): string | number | string[];\n  }\n\n  export interface ApexResponsive {\n    breakpoint?: number;\n    options?: any;\n  }\n\n  type ApexTooltipY = {\n    title?: {\n      formatter?(seriesName: string, opts?: any): string;\n    };\n    formatter?(val: number, opts?: any): string;\n  };\n  /**\n   * Chart Tooltip options\n   * See https://apexcharts.com/docs/options/tooltip/\n   */\n  export interface ApexTooltip {\n    enabled?: boolean;\n    enabledOnSeries?: undefined | number[];\n    shared?: boolean;\n    followCursor?: boolean;\n    intersect?: boolean;\n    inverseOrder?: boolean;\n    custom?: ((options: any) => any) | ((options: any) => any)[];\n    fillSeriesColor?: boolean;\n    theme?: string;\n    cssClass?: string;\n    hideEmptySeries?: boolean;\n    style?: {\n      fontSize?: string;\n      fontFamily?: string;\n    };\n    onDatasetHover?: {\n      highlightDataSeries?: boolean;\n    };\n    x?: {\n      show?: boolean;\n      format?: string;\n      formatter?(val: number, opts?: any): string;\n    };\n    y?: ApexTooltipY | ApexTooltipY[];\n    z?: {\n      title?: string;\n      formatter?(val: number): string;\n    };\n    marker?: {\n      show?: boolean;\n      fillColors?: string[];\n    };\n    items?: {\n      display?: string;\n    };\n    fixed?: {\n      enabled?: boolean;\n      position?: string; // topRight; topLeft; bottomRight; bottomLeft\n      offsetX?: number;\n      offsetY?: number;\n    };\n  }\n\n  /**\n   * X Axis options\n   * See https://apexcharts.com/docs/options/xaxis/\n   */\n  export interface ApexXAxis {\n    type?: \"category\" | \"datetime\" | \"numeric\";\n    categories?: any;\n    overwriteCategories?: number[] | string[] | undefined;\n    offsetX?: number;\n    offsetY?: number;\n    sorted?: boolean;\n    labels?: {\n      show?: boolean;\n      rotate?: number;\n      rotateAlways?: boolean;\n      hideOverlappingLabels?: boolean;\n      showDuplicates?: boolean;\n      trim?: boolean;\n      minHeight?: number;\n      maxHeight?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontWeight?: string | number;\n        fontFamily?: string;\n        cssClass?: string;\n      };\n      offsetX?: number;\n      offsetY?: number;\n      format?: string;\n      datetimeUTC?: boolean;\n      datetimeFormatter?: {\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n      };\n      formatter?(\n        value: string,\n        timestamp?: number,\n        opts?: any\n      ): string | string[];\n    };\n    group?: {\n      groups?: { title: string; cols: number }[];\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      offsetX?: number;\n      offsetY?: number;\n      strokeWidth?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      borderType?: string;\n      color?: string;\n      height?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    tickPlacement?: string;\n    stepSize?: number;\n    tickAmount?: number | \"dataPoints\";\n    min?: number;\n    max?: number;\n    range?: number;\n    floating?: boolean;\n    decimalsInFloat?: number;\n    position?: string;\n    title?: {\n      text?: string;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        fontSize?: string;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      width?: number | string;\n      position?: string;\n      opacity?: number;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n      fill?: {\n        type?: string;\n        color?: string;\n        gradient?: {\n          colorFrom?: string;\n          colorTo?: string;\n          stops?: number[];\n          opacityFrom?: number;\n          opacityTo?: number;\n        };\n      };\n      dropShadow?: ApexDropShadow;\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetY?: number;\n      style?: {\n        fontSize?: string;\n        fontFamily?: string;\n      };\n      formatter?(value: string, opts?: object): string;\n    };\n  }\n\n  /**\n   * Y Axis options\n   * See https://apexcharts.com/docs/options/yaxis/\n   */\n  export interface ApexYAxis {\n    show?: boolean;\n    showAlways?: boolean;\n    showForNullSeries?: boolean;\n    seriesName?: string | string[];\n    opposite?: boolean;\n    reversed?: boolean;\n    logarithmic?: boolean;\n    logBase?: number;\n    tickAmount?: number;\n    stepSize?: number;\n    forceNiceScale?: boolean;\n    min?: number | ((min: number) => number);\n    max?: number | ((max: number) => number);\n    floating?: boolean;\n    decimalsInFloat?: number;\n    labels?: {\n      show?: boolean;\n      showDuplicates?: boolean;\n      minWidth?: number;\n      maxWidth?: number;\n      offsetX?: number;\n      offsetY?: number;\n      rotate?: number;\n      align?: \"left\" | \"center\" | \"right\";\n      padding?: number;\n      style?: {\n        colors?: string | string[];\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n      formatter?(val: number, opts?: any): string | string[];\n    };\n    axisBorder?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    axisTicks?: {\n      show?: boolean;\n      color?: string;\n      width?: number;\n      offsetX?: number;\n      offsetY?: number;\n    };\n    title?: {\n      text?: string;\n      rotate?: number;\n      offsetX?: number;\n      offsetY?: number;\n      style?: {\n        color?: string;\n        fontSize?: string;\n        fontFamily?: string;\n        fontWeight?: string | number;\n        cssClass?: string;\n      };\n    };\n    crosshairs?: {\n      show?: boolean;\n      position?: string;\n      stroke?: {\n        color?: string;\n        width?: number;\n        dashArray?: number;\n      };\n    };\n    tooltip?: {\n      enabled?: boolean;\n      offsetX?: number;\n    };\n  }\n\n  export interface ApexForecastDataPoints {\n    count?: number;\n    fillOpacity?: number;\n    strokeWidth?: undefined | number;\n    dashArray?: number;\n  }\n\n  /**\n   * Plot X and Y grid options\n   * See https://apexcharts.com/docs/options/grid/\n   */\n  export interface ApexGrid {\n    show?: boolean;\n    borderColor?: string;\n    strokeDashArray?: number;\n    position?: \"front\" | \"back\";\n    xaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    yaxis?: {\n      lines?: {\n        show?: boolean;\n        offsetX?: number;\n        offsetY?: number;\n      };\n    };\n    row?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    column?: {\n      colors?: string[];\n      opacity?: number;\n    };\n    padding?: {\n      top?: number;\n      right?: number;\n      bottom?: number;\n      left?: number;\n    };\n  }\n\n  export interface ApexTheme {\n    mode?: \"light\" | \"dark\";\n    palette?: string;\n    monochrome?: {\n      enabled?: boolean;\n      color?: string;\n      shadeTo?: \"light\" | \"dark\";\n      shadeIntensity?: number;\n    };\n  }\n\n  type MarkerShapeOptions =\n    | \"circle\"\n    | \"square\"\n    | \"rect\"\n    | \"line\"\n    | \"cross\"\n    | \"plus\"\n    | \"star\"\n    | \"sparkle\"\n    | \"diamond\"\n    | \"triangle\";\n\n  type ApexMarkerShape = MarkerShapeOptions | MarkerShapeOptions[];\n\n  interface ApexDiscretePoint {\n    seriesIndex?: number;\n    dataPointIndex?: number;\n    fillColor?: string;\n    strokeColor?: string;\n    size?: number;\n    shape?: ApexMarkerShape;\n  }\n\n  export interface ApexMarkers {\n    size?: number | number[];\n    colors?: string[];\n    strokeColors?: string | string[];\n    strokeWidth?: number | number[];\n    strokeOpacity?: number | number[];\n    strokeDashArray?: number | number[];\n    fillOpacity?: number | number[];\n    discrete?: ApexDiscretePoint[];\n    shape?: ApexMarkerShape;\n    offsetX?: number;\n    offsetY?: number;\n    showNullDataPoints?: boolean;\n    hover?: {\n      size?: number;\n      sizeOffset?: number;\n    };\n    onClick?(e?: any): void;\n    onDblClick?(e?: any): void;\n  }\n\n  export interface ApexNoData {\n    text?: string;\n    align?: \"left\" | \"right\" | \"center\";\n    verticalAlign?: \"top\" | \"middle\" | \"bottom\";\n    offsetX?: number;\n    offsetY?: number;\n    style?: {\n      color?: string;\n      fontSize?: string;\n      fontFamily?: string;\n    };\n  }\n\n  export type ChartType =\n    | \"line\"\n    | \"area\"\n    | \"bar\"\n    | \"pie\"\n    | \"donut\"\n    | \"radialBar\"\n    | \"scatter\"\n    | \"bubble\"\n    | \"heatmap\"\n    | \"candlestick\"\n    | \"boxPlot\"\n    | \"radar\"\n    | \"polarArea\"\n    | \"rangeBar\"\n    | \"rangeArea\"\n    | \"treemap\";\n",
            "properties": [
                {
                    "name": "borderColor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 333
                },
                {
                    "name": "borderWidth",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 334
                },
                {
                    "name": "fillColor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 332
                },
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number | string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 328
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "AnnotationLabel",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 340
                },
                {
                    "name": "offsetX",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 336
                },
                {
                    "name": "offsetY",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 337
                },
                {
                    "name": "opacity",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 335
                },
                {
                    "name": "strokeDashArray",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 331
                },
                {
                    "name": "width",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number | string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 338
                },
                {
                    "name": "y",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "null | number | string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 329
                },
                {
                    "name": "y2",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "null | number | string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 330
                },
                {
                    "name": "yAxisIndex",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 339
                }
            ],
            "indexSignatures": [],
            "kind": 172,
            "methods": [],
            "extends": []
        }
    ],
    "injectables": [
        {
            "name": "EuiBreadcrumbService",
            "id": "injectable-EuiBreadcrumbService-ca534b4157b58f26ecfe34143855fc8bc7ee6adbb7bede33dd659c50b61e685b70f042d4644936fb1f48adc8b0be9398794ca82b984a04a0b21937838cb1cd6f",
            "file": "packages/components/eui-breadcrumb/breadcrumb.service.ts",
            "properties": [
                {
                    "name": "breadcrumbs$",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Observable<BreadCrumbItem[]>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>An observable on which observers can be notified on breadcrumb changes</p>\n",
                    "line": 12,
                    "rawdescription": "\n\nAn observable on which observers can be notified on breadcrumb changes\n",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methods": [
                {
                    "name": "addCrumb",
                    "args": [
                        {
                            "name": "breadCrumbItem",
                            "type": "BreadCrumbItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "after",
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "removeAfter",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "false"
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 36,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nAdds a new BreadCrumbItem into the breadcrumb\n\n",
                    "description": "<p>Adds a new BreadCrumbItem into the breadcrumb</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 956,
                                "end": 970,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "breadCrumbItem"
                            },
                            "type": "BreadCrumbItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 950,
                                "end": 955,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The BreadCrumbItem you want to insert in trail</p>\n"
                        },
                        {
                            "name": {
                                "pos": 1033,
                                "end": 1038,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "after"
                            },
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1026,
                                "end": 1031,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The ID of the BreadCrumbItem after given one will be inserted.</p>\n"
                        },
                        {
                            "name": {
                                "pos": 1118,
                                "end": 1129,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "removeAfter"
                            },
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "false",
                            "tagName": {
                                "pos": 1111,
                                "end": 1116,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>All crumbs after given ID will be removed.</p>\n"
                        }
                    ]
                },
                {
                    "name": "getBreadcrumb",
                    "args": [],
                    "optional": false,
                    "returnType": "BreadCrumbItem[]",
                    "typeParameters": [],
                    "line": 94,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nReturns current breadcrumb\n",
                    "description": "<p>Returns current breadcrumb</p>\n"
                },
                {
                    "name": "removeCrumb",
                    "args": [
                        {
                            "name": "id",
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 63,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRemove a BreadCrumbItem based on a given ID\n\n          If no id provided then the last item will be popped.\n",
                    "description": "<p>Remove a BreadCrumbItem based on a given ID</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">      If no id provided then the last item will be popped.</code></pre></div>",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2380,
                                "end": 2382,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "id"
                            },
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2374,
                                "end": 2379,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Optional: The ID of BreadCrumbItem to be removed\nIf no id provided then the last item will be popped.</p>\n"
                        }
                    ]
                },
                {
                    "name": "setBreadcrumb",
                    "args": [
                        {
                            "name": "breadcrumb",
                            "type": "BreadCrumbItem[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 101,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the breadcrumb\n",
                    "description": "<p>Sets the breadcrumb</p>\n",
                    "jsdoctags": [
                        {
                            "name": "breadcrumb",
                            "type": "BreadCrumbItem[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "updateCrumb",
                    "args": [
                        {
                            "name": "item",
                            "type": "BreadCrumbItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 80,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUpdate a specific entry in the data structure\n\n",
                    "description": "<p>Update a specific entry in the data structure</p>\n",
                    "jsdoctags": [
                        {
                            "name": "item",
                            "type": "BreadCrumbItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { Injectable } from '@angular/core';\nimport { Observable, BehaviorSubject } from 'rxjs';\nimport { BreadCrumbItem } from './item/breadcrumb-item.model';\n\n@Injectable({\n    providedIn: 'root',\n})\nexport class EuiBreadcrumbService {\n    /**\n     * An observable on which observers can be notified on breadcrumb changes\n     */\n    public breadcrumbs$: Observable<BreadCrumbItem[]>;\n    /**\n     * A behavior subject to emit breadcrumb whenever that changes\n     */\n    private breadcrumbsSource$: BehaviorSubject<BreadCrumbItem[]>;\n    /**\n     * An array to hold BreadCrumbItem metadata used to render the BreadCrumbItem\n     */\n    private breadcrumb: BreadCrumbItem[];\n\n    constructor() {\n        this.breadcrumb = [];\n        this.breadcrumbsSource$ = new BehaviorSubject(this.breadcrumb);\n        this.breadcrumbs$ = this.breadcrumbsSource$.asObservable();\n    }\n\n    /**\n     * Adds a new BreadCrumbItem into the breadcrumb\n     *\n     * @param breadCrumbItem The BreadCrumbItem you want to insert in trail\n     * @param [after] The ID of the BreadCrumbItem after given one will be inserted.\n     * @param [removeAfter=false] All crumbs after given ID will be removed.\n     * @throws Will throw an error if given after ID is not found on current trail.\n     */\n    addCrumb(breadCrumbItem: BreadCrumbItem, after?: string, removeAfter = false): void {\n        if (after) {\n            // find ID for which provided BreadCrumbItem will be inserted after\n            const index = this.breadcrumb.findIndex((item) => item.id === after);\n            if (index < 0) {\n                throw new Error(`The provided afterId: ${after}, has not been found in current breadcrumb`);\n            }\n            // in case removeAfter=true then remove all crumbs after given one\n            this.breadcrumb.splice(index, removeAfter ? this.breadcrumb.length - index : 0, breadCrumbItem);\n        } else {\n            const index = this.breadcrumb.findIndex((item) => item.id === breadCrumbItem.id);\n            if (index !== -1) {\n                throw new Error(`The provided id: ${breadCrumbItem.id} is already in current breadcrumb`);\n            }\n            this.breadcrumb.push(breadCrumbItem);\n        }\n\n        // Notify observers\n        this.breadcrumbsSource$.next(this.breadcrumb);\n    }\n\n    /**\n     * Remove a BreadCrumbItem based on a given ID\n     *\n     * @param id Optional: The ID of BreadCrumbItem to be removed\n     *           If no id provided then the last item will be popped.\n     */\n    removeCrumb(id?: string): void {\n        if (id) {\n            this.breadcrumb = this.breadcrumb.filter((item) => item.id !== id);\n        } else {\n            this.breadcrumb.pop();\n        }\n\n        // Notify observers\n        this.breadcrumbsSource$.next(this.breadcrumb);\n    }\n\n    /**\n     * Update a specific entry in the data structure\n     *\n     * @param BreadCrumbItem The BreadCrumbItem to match and update\n     * @throws Will throw an Error if BreadCrumbItem is not part of the breadcrumb\n     */\n    updateCrumb(item: BreadCrumbItem): void {\n        const index = this.breadcrumb.findIndex((c) => c.id === item.id);\n        if (index < 0) {\n            throw new Error(`The provided afterId: ${item.id}, has not been found in current breadcrumb`);\n        }\n        this.breadcrumb.splice(index, 1, item);\n\n        // Notify observers\n        this.breadcrumbsSource$.next(this.breadcrumb);\n    }\n\n    /**\n     * Returns current breadcrumb\n     */\n    getBreadcrumb(): BreadCrumbItem[] {\n        return this.breadcrumb;\n    }\n\n    /**\n     * Sets the breadcrumb\n     */\n    setBreadcrumb(breadcrumb: BreadCrumbItem[]): void {\n        this.breadcrumb = breadcrumb;\n\n        // Notify observers\n        this.breadcrumbsSource$.next(this.breadcrumb);\n    }\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 20
            },
            "extends": [],
            "type": "injectable"
        },
        {
            "name": "EuiDialogService",
            "id": "injectable-EuiDialogService-eba404f013a4afcf751a59b6f8bb04fd7b20aa17195e6b3754f9bbc880ebde93849fe8ae27717e60e7facc7a8f2230883af405bfe1cbf1d7ed970437d121dbc8",
            "file": "packages/components/eui-dialog/services/eui-dialog.service.ts",
            "properties": [],
            "methods": [
                {
                    "name": "closeAllDialogs",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 169,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nClose all the dialogs.\n",
                    "description": "<p>Close all the dialogs.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "closeDialog",
                    "args": [
                        {
                            "name": "dialogId",
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 152,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nClose a dialog\n\n",
                    "description": "<p>Close a dialog</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 6539,
                                "end": 6547,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "dialogId"
                            },
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 6533,
                                "end": 6538,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The id of the dialog to close. If not provided the last opened one will be closed.</p>\n"
                        }
                    ]
                },
                {
                    "name": "disableAcceptButton",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 197,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisable Accept button of default eui-dialog footer.\n",
                    "description": "<p>Disable Accept button of default eui-dialog footer.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "disableDismissButton",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 211,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisable Dismiss button of default eui-dialog footer.\n",
                    "description": "<p>Disable Dismiss button of default eui-dialog footer.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "enableAcceptButton",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 204,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEnable Accept button of default eui-dialog footer.\n",
                    "description": "<p>Enable Accept button of default eui-dialog footer.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "enableDismissButton",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 218,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEnable Dismiss button of default eui-dialog footer.\n",
                    "description": "<p>Enable Dismiss button of default eui-dialog footer.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "getDialog",
                    "args": [
                        {
                            "name": "dialogId",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "OpenedDialog",
                    "typeParameters": [],
                    "line": 190,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nReturns an `Object` with a dialog\n\n",
                    "description": "<p>Returns an <code>Object</code> with a dialog</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 8019,
                                "end": 8027,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "dialogId"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 8013,
                                "end": 8018,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>id of the dialog to be returned</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 8068,
                                "end": 8075,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p><code>OpenedDialog</code></p>\n"
                        }
                    ]
                },
                {
                    "name": "getOpenedDialog",
                    "args": [],
                    "optional": false,
                    "returnType": "Observable<OpenedDialog[]>",
                    "typeParameters": [],
                    "line": 180,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nReturns an `Observable` with all opened windows.\n\n",
                    "description": "<p>Returns an <code>Observable</code> with all opened windows.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "tagName": {
                                "pos": 7797,
                                "end": 7804,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p><code>Observable</code> of <code>OpenedDialog[]</code>.</p>\n"
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 31,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "openDialog",
                    "args": [
                        {
                            "name": "config",
                            "type": "EuiDialogInterface<HC | HCC | BC | BCC | FC | FCC>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        },
                        {
                            "name": "parentInjector",
                            "type": "Injector",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "OpenedDialog",
                    "typeParameters": [
                        "HC",
                        "HCC",
                        "BC",
                        "BCC",
                        "FC",
                        "FCC"
                    ],
                    "line": 46,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nOpen a dialog.\n\n",
                    "description": "<p>Open a dialog.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2026,
                                "end": 2032,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "config"
                            },
                            "type": "EuiDialogInterface<HC | HCC | BC | BCC | FC | FCC>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "pos": 2020,
                                "end": 2025,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Configuration applied to the dialog.</p>\n"
                        },
                        {
                            "name": {
                                "pos": 2084,
                                "end": 2098,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "parentInjector"
                            },
                            "type": "Injector",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2078,
                                "end": 2083,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The injector of the calling component, used to expose its local providers to the dynamically created component.</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 2219,
                                "end": 2226,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>A dialog object of type <code>OpenedDialog</code></p>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "<p>Service for programmatically creating and managing modal dialog windows.\nProvides centralized dialog lifecycle management including opening, closing, and tracking multiple dialogs.\nBuilt on Angular CDK Overlay for positioning, backdrop, and scroll blocking.\nSupports custom header, body, and footer components with dependency injection for parent component providers.\nManages dialog stack with automatic z-index handling for multiple simultaneous dialogs.\nProvides button state control methods for default dialog footer actions.\nInjected at root level for application-wide dialog management.</p>\n",
            "rawdescription": "\n\nService for programmatically creating and managing modal dialog windows.\nProvides centralized dialog lifecycle management including opening, closing, and tracking multiple dialogs.\nBuilt on Angular CDK Overlay for positioning, backdrop, and scroll blocking.\nSupports custom header, body, and footer components with dependency injection for parent component providers.\nManages dialog stack with automatic z-index handling for multiple simultaneous dialogs.\nProvides button state control methods for default dialog footer actions.\nInjected at root level for application-wide dialog management.\n",
            "sourceCode": "import { GlobalPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, Injectable, Injector, OnDestroy, StaticProvider, inject } from '@angular/core';\nimport { Subject, BehaviorSubject, Observable } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { EuiDialogContainerComponent } from '../container/eui-dialog-container.component';\nimport { EuiDialogInterface, EuiDialogComponentInstances, EuiDialogConfig } from '../models/eui-dialog.config';\nimport { OpenedDialog } from '../models/opened-dialog.model';\nimport { DIALOG_CONTAINER_CONFIG } from './eui-dialog.token';\nimport { EuiDialogVerticalPosition } from '../models/eui-dialog-alignment';\n\n/**\n * @description\n * Service for programmatically creating and managing modal dialog windows.\n * Provides centralized dialog lifecycle management including opening, closing, and tracking multiple dialogs.\n * Built on Angular CDK Overlay for positioning, backdrop, and scroll blocking.\n * Supports custom header, body, and footer components with dependency injection for parent component providers.\n * Manages dialog stack with automatic z-index handling for multiple simultaneous dialogs.\n * Provides button state control methods for default dialog footer actions.\n * Injected at root level for application-wide dialog management.\n */\n@Injectable({ providedIn: 'root' })\nexport class EuiDialogService implements OnDestroy {\n    private overlay = inject(Overlay);\n    private injector = inject(Injector);\n    private overlayRef: OverlayRef;\n    private openedDialogs$: BehaviorSubject<OpenedDialog[]> = new BehaviorSubject<OpenedDialog[]>([]);\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n        this.overlayRef?.dispose();\n        this.overlayRef = null;\n        this.openedDialogs$.next(null);\n    }\n\n    /**\n     * Open a dialog.\n     *\n     * @param config Configuration applied to the dialog.\n     * @param parentInjector The injector of the calling component, used to expose its local providers to the dynamically created component.\n     * @returns A dialog object of type `OpenedDialog`\n     */\n    public openDialog<HC, HCC, BC, BCC, FC, FCC>(config: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {}, parentInjector?: Injector): OpenedDialog {\n        const positionStrategy = this.getPositionStrategy(config.verticalPosition);\n        const scrollStrategy = this.overlay.scrollStrategies.block();\n        const hasClosedOnEscape = config.hasClosedOnEscape;\n        const hasCloseButton = config.hasCloseButton;\n        const dialogConfig = new EuiDialogConfig({\n            ...config,\n            hasClosedOnEscape,\n            hasCloseButton,\n            width: config.isFullScreen ? '98vw' : config.width,\n            height: config.isFullScreen ? '97vh' : config.height,\n        });\n        const dialogId = 'eui-dialog-' + Math.floor(Math.random() * 10000);\n        const overlayRef = this.overlay.create({\n            backdropClass: ['eui-dialog__backdrop', dialogId + '__backdrop'],\n            hasBackdrop: true,\n            height: dialogConfig.height,\n            width: dialogConfig.width,\n            positionStrategy,\n            scrollStrategy,\n            disposeOnNavigation: true,\n            panelClass: [config.classList, 'eui-21'],\n        });\n\n        this.overlayRef = overlayRef;\n        let openedDialog = new OpenedDialog({\n            id: dialogId,\n            order: this.openedDialogs$.value.length + 1,\n            overlayRef,\n            containerRef: null,\n        });\n\n        const extendedConfig: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {\n            ...dialogConfig,\n            dialogId,\n            overlayRef,\n            init: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n                config.init?.(instances);\n            },\n            open: () => {\n                config.open?.();\n            },\n            clickOutside: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n                config.clickOutside?.(instances);\n            },\n            escape: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n                config.escape?.(instances);\n            },\n            close: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n                if(!config.isHandleCloseOnClose) {\n                    this.closeDialog(dialogId);\n                }\n                config.close?.(instances);\n            },\n            dismiss: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n                config.dismiss?.(instances);\n            },\n            accept: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n                config.accept?.(instances);\n            },\n        };\n        const containerPortal = new ComponentPortal<EuiDialogContainerComponent<HC, HCC, BC, BCC, FC, FCC>>(\n            EuiDialogContainerComponent,\n            null,\n            this.createInjector(extendedConfig, parentInjector),\n        );\n        const containerRef: ComponentRef<EuiDialogContainerComponent<HC, HCC, BC, BCC, FC, FCC>> =\n            openedDialog.overlayRef.attach(containerPortal);\n        openedDialog = { ...openedDialog, containerRef };\n\n        openedDialog.overlayRef\n            .backdropClick()\n            .pipe(takeUntil(this.destroy$))\n            .subscribe(() => {\n                if (extendedConfig.hasClosedOnClickOutside) {\n                    config.clickOutside?.(containerRef.instance.componentInstances);\n                    if (!config.isHandleCloseOnClickOutside) {\n                        containerRef.instance.closeDialog();\n                    }\n                }\n            });\n\n        if (extendedConfig.hasClosedOnEscape) {\n            openedDialog.overlayRef\n                .keydownEvents()\n                .pipe(takeUntil(this.destroy$))\n                .subscribe((keyboardEvent) => {\n                    if (keyboardEvent.key?.toLowerCase() === 'escape') {\n                        config.escape?.(containerRef.instance.componentInstances);\n                        if (!config.isHandleCloseOnEscape) {\n                            containerRef.instance.closeDialog();\n                        }\n                    }\n                });\n        }\n\n        this.openedDialogs$.next([...this.openedDialogs$.value, openedDialog]);\n\n        return openedDialog;\n    }\n\n    /**\n     * Close a dialog\n     *\n     * @param dialogId The id of the dialog to close. If not provided the last opened one will be closed.\n     */\n    public closeDialog(dialogId?: string): void {\n        if (dialogId) {\n            this.openedDialogs$.value.find((o) => o.id === dialogId).overlayRef.dispose();\n            this.openedDialogs$.next(this.openedDialogs$.value.filter((o) => o.id !== dialogId));\n            this.overlayRef =\n                this.openedDialogs$.value.length > 0 ? this.openedDialogs$.value[this.openedDialogs$.value.length - 1].overlayRef : null;\n        } else {\n            this.overlayRef?.dispose();\n            this.openedDialogs$.next(this.openedDialogs$.value.filter((o, i) => i < this.openedDialogs$.value.length - 1));\n            this.overlayRef =\n                this.openedDialogs$.value.length > 0 ? this.openedDialogs$.value[this.openedDialogs$.value.length - 1].overlayRef : null;\n        }\n    }\n\n    /**\n     * Close all the dialogs.\n     */\n    public closeAllDialogs(): void {\n        this.openedDialogs$.value.forEach((dialog) => {\n            dialog.containerRef.instance.dialogContainerConfig.close?.(dialog.containerRef.instance.getComponentInstances);\n        });\n    }\n\n    /**\n     * Returns an `Observable` with all opened windows.\n     *\n     * @returns `Observable` of `OpenedDialog[]`.\n     */\n    public getOpenedDialog(): Observable<OpenedDialog[]> {\n        return this.openedDialogs$;\n    }\n\n    /**\n     * Returns an `Object` with a dialog\n     *\n     * @param dialogId id of the dialog to be returned\n     * @returns `OpenedDialog`\n     */\n    public getDialog(dialogId: string): OpenedDialog {\n        return this.openedDialogs$.value.find((o) => o.id === dialogId);\n    }\n\n    /**\n     * Disable Accept button of default eui-dialog footer.\n     */\n    public disableAcceptButton(): void {\n        this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.disableAcceptButton();\n    }\n\n    /**\n     * Enable Accept button of default eui-dialog footer.\n     */\n    public enableAcceptButton(): void {\n        this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.enableAcceptButton();\n    }\n\n    /**\n     * Disable Dismiss button of default eui-dialog footer.\n     */\n    public disableDismissButton(): void {\n        this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.disableDismissButton();\n    }\n\n    /**\n     * Enable Dismiss button of default eui-dialog footer.\n     */\n    public enableDismissButton(): void {\n        this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.enableDismissButton();\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    private createInjector(data: any, parentInjector?: Injector): Injector {\n        const injectorTokens: StaticProvider = [{ provide: DIALOG_CONTAINER_CONFIG, useValue: data }];\n        return Injector.create({\n            parent: parentInjector ? parentInjector : this.injector,\n            providers: injectorTokens,\n        });\n    }\n\n    private getPositionStrategy(verticalPosition: EuiDialogVerticalPosition): GlobalPositionStrategy {\n        const positionStrategy = this.overlay.position().global().centerHorizontally().centerVertically();\n        if (verticalPosition === 'top') {\n            positionStrategy.top();\n        }\n        return positionStrategy;\n    }\n}\n",
            "extends": [],
            "type": "injectable"
        },
        {
            "name": "EuiDropdownService",
            "id": "injectable-EuiDropdownService-a8a0920fe51539135878fa049a3c6295c3481c739991883a8891997084a839884b6dc3df97195d6ffd8fb028b9196ed481e39fc3a6d85fb4a9357dacb15d70dd",
            "file": "packages/components/eui-dropdown/eui-dropdown.service.ts",
            "properties": [
                {
                    "name": "isDropdownOpen",
                    "defaultValue": "new EventEmitter<boolean>()",
                    "deprecated": true,
                    "deprecationMessage": "Use `EuiDropdownComponent` output events instead.",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Event emitter that emits a boolean value indicating whether the dropdown is open or closed.</p>\n",
                    "line": 16,
                    "rawdescription": "\n\nEvent emitter that emits a boolean value indicating whether the dropdown is open or closed.\n",
                    "jsdoctags": [
                        {
                            "pos": 520,
                            "end": 587,
                            "kind": 332,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 521,
                                "end": 531,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "deprecated"
                            },
                            "comment": "<p>Use <code>EuiDropdownComponent</code> output events instead.</p>\n"
                        }
                    ]
                }
            ],
            "methods": [],
            "deprecated": true,
            "deprecationMessage": "This service is deprecated and will be removed in future versions. Use\n`EuiDropdownComponent` output events instead.",
            "description": "<p>Service to manage the state of dropdowns in the application.\nThis service provides an event emitter to notify when a dropdown is opened or closed.</p>\n<p><code>EuiDropdownComponent</code> output events instead.</p>\n",
            "rawdescription": "\n\nService to manage the state of dropdowns in the application.\nThis service provides an event emitter to notify when a dropdown is opened or closed.\n\n`EuiDropdownComponent` output events instead.\n",
            "sourceCode": "import { EventEmitter, Injectable } from '@angular/core';\n\n/**\n * Service to manage the state of dropdowns in the application.\n * This service provides an event emitter to notify when a dropdown is opened or closed.\n *\n * @deprecated This service is deprecated and will be removed in future versions. Use\n * `EuiDropdownComponent` output events instead.\n */\n@Injectable()\nexport class EuiDropdownService {\n    /**\n     * Event emitter that emits a boolean value indicating whether the dropdown is open or closed.\n     * @deprecated Use `EuiDropdownComponent` output events instead.\n     */\n    isDropdownOpen = new EventEmitter<boolean>();\n}\n",
            "extends": [],
            "type": "injectable"
        },
        {
            "name": "EuiFileUploadUtilsService",
            "id": "injectable-EuiFileUploadUtilsService-7f7f0846b140fc2540fbcfab41fcc764ba0639c83ba37c3d43a3784dcd3fa2914620563a23616a31e46d4f6f53acf2cc657b9f0445261a33a900c460fe55c5a1",
            "file": "packages/components/eui-file-upload/utils/eui-file-upload.utils.ts",
            "properties": [],
            "methods": [
                {
                    "name": "getIconForExtension",
                    "args": [
                        {
                            "name": "fileExtension",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 104,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nReturn the icon to be used with eui-icon-svg of the given extension or a default file icon\n\n",
                    "description": "<p>Return the icon to be used with eui-icon-svg of the given extension or a default file icon</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 3569,
                                "end": 3582,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "fileExtension"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3563,
                                "end": 3568,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        },
                        {
                            "tagName": {
                                "pos": 3591,
                                "end": 3598,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Icon name as string</p>\n"
                        }
                    ]
                },
                {
                    "name": "sendData",
                    "args": [
                        {
                            "name": "data",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "APIEndPoint",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<any>",
                    "typeParameters": [],
                    "line": 34,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod that will format data in `FormData` and send them to backend.\n\n```html\nCall the method and log the response in the console.\n```\n```\nthis.euiFileUploadUtilsService.sendData(this.form.value, 'http://localhost:3000/api/fake-api').pipe(\n    this.euiFileUploadUtilsService.uploadProgress((progress) => {\n        console.log(progress);\n    }),\n    this.euiFileUploadUtilsService.toResponseBody(),\n).subscribe((response) => {\n     console.log(response);\n});\n```\n\n",
                    "description": "<p>Method that will format data in <code>FormData</code> and send them to backend.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">Call the method and log the response in the console.</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">this.euiFileUploadUtilsService.sendData(this.form.value, &#39;http://localhost:3000/api/fake-api&#39;).pipe(\n    this.euiFileUploadUtilsService.uploadProgress((progress) =&gt; {\n        console.log(progress);\n    }),\n    this.euiFileUploadUtilsService.toResponseBody(),\n).subscribe((response) =&gt; {\n     console.log(response);\n});</code></pre></div>",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 990,
                                "end": 994,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "data"
                            },
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 984,
                                "end": 989,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Data to send to backend</p>\n"
                        },
                        {
                            "name": {
                                "pos": 1033,
                                "end": 1044,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "APIEndPoint"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1027,
                                "end": 1032,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Endpoint URL</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 497,
                                "end": 504,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "example"
                            },
                            "comment": "<p>Call the method and log the response in the console.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">this.euiFileUploadUtilsService.sendData(this.form.value, &#39;http://localhost:3000/api/fake-api&#39;).pipe(\n    this.euiFileUploadUtilsService.uploadProgress((progress) =&gt; {\n        console.log(progress);\n    }),\n    this.euiFileUploadUtilsService.toResponseBody(),\n).subscribe((response) =&gt; {\n     console.log(response);\n});</code></pre></div>"
                        },
                        {
                            "tagName": {
                                "pos": 1066,
                                "end": 1073,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>The backend response.</p>\n"
                        }
                    ]
                },
                {
                    "name": "toResponseBody",
                    "args": [],
                    "optional": false,
                    "returnType": "UnaryFunction<Observable<HttpEvent<T>>, Observable<T>>",
                    "typeParameters": [
                        "T"
                    ],
                    "line": 90,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod that will return only the body of the backend response.\n\n```html\nCall the method and log the response in the console.\n```\n```\nthis.euiFileUploadUtilsService.sendData(this.form.value, 'http://localhost:3000/api/fake-api').pipe(\n    this.euiFileUploadUtilsService.uploadProgress((progress) => {\n        console.log(progress);\n    }),\n    this.euiFileUploadUtilsService.toResponseBody(),\n).subscribe((response) => {\n     console.log(response);\n});\n```\n\n",
                    "description": "<p>Method that will return only the body of the backend response.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">Call the method and log the response in the console.</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">this.euiFileUploadUtilsService.sendData(this.form.value, &#39;http://localhost:3000/api/fake-api&#39;).pipe(\n    this.euiFileUploadUtilsService.uploadProgress((progress) =&gt; {\n        console.log(progress);\n    }),\n    this.euiFileUploadUtilsService.toResponseBody(),\n).subscribe((response) =&gt; {\n     console.log(response);\n});</code></pre></div>",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "tagName": {
                                "pos": 2632,
                                "end": 2639,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "example"
                            },
                            "comment": "<p>Call the method and log the response in the console.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">this.euiFileUploadUtilsService.sendData(this.form.value, &#39;http://localhost:3000/api/fake-api&#39;).pipe(\n    this.euiFileUploadUtilsService.uploadProgress((progress) =&gt; {\n        console.log(progress);\n    }),\n    this.euiFileUploadUtilsService.toResponseBody(),\n).subscribe((response) =&gt; {\n     console.log(response);\n});</code></pre></div>"
                        },
                        {
                            "tagName": {
                                "pos": 3119,
                                "end": 3126,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>The backend response.</p>\n"
                        }
                    ]
                },
                {
                    "name": "uploadProgress",
                    "args": [
                        {
                            "name": "cb",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "progress",
                                    "type": "number",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ]
                        }
                    ],
                    "optional": false,
                    "returnType": "MonoTypeOperatorFunction<HttpEvent<T>>",
                    "typeParameters": [
                        "T"
                    ],
                    "line": 62,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod that will return the upload progress.\n\n```html\nCall the method and log the progress in the console.\n```\n```\nthis.euiFileUploadUtilsService.sendData(this.form.value, 'http://localhost:3000/api/fake-api').pipe(\n    this.euiFileUploadUtilsService.uploadProgress((progress) => {\n        console.log(progress);\n    }),\n    this.euiFileUploadUtilsService.toResponseBody(),\n).subscribe((response) => {\n     console.log(response);\n});\n```\n\n",
                    "description": "<p>Method that will return the upload progress.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">Call the method and log the progress in the console.</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">this.euiFileUploadUtilsService.sendData(this.form.value, &#39;http://localhost:3000/api/fake-api&#39;).pipe(\n    this.euiFileUploadUtilsService.uploadProgress((progress) =&gt; {\n        console.log(progress);\n    }),\n    this.euiFileUploadUtilsService.toResponseBody(),\n).subscribe((response) =&gt; {\n     console.log(response);\n});</code></pre></div>",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2108,
                                "end": 2110,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "cb"
                            },
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "progress",
                                    "type": "number",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ],
                            "tagName": {
                                "pos": 2102,
                                "end": 2107,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>A method to execute on each progress step.</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 1615,
                                "end": 1622,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "example"
                            },
                            "comment": "<p>Call the method and log the progress in the console.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">this.euiFileUploadUtilsService.sendData(this.form.value, &#39;http://localhost:3000/api/fake-api&#39;).pipe(\n    this.euiFileUploadUtilsService.uploadProgress((progress) =&gt; {\n        console.log(progress);\n    }),\n    this.euiFileUploadUtilsService.toResponseBody(),\n).subscribe((response) =&gt; {\n     console.log(response);\n});</code></pre></div>"
                        },
                        {
                            "tagName": {
                                "pos": 2162,
                                "end": 2169,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>A number between 0 and 100.</p>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { Injectable, inject } from '@angular/core';\nimport { HttpClient, HttpEvent, HttpEventType, HttpResponse } from '@angular/common/http';\nimport { filter, map, tap } from 'rxjs/operators';\nimport { pipe, Observable, UnaryFunction, MonoTypeOperatorFunction } from 'rxjs';\n\n@Injectable()\nexport class EuiFileUploadUtilsService {\n    private httpClient = inject(HttpClient);\n\n    /**\n     * @description\n     * Method that will format data in `FormData` and send them to backend.\n     *\n     * @example\n     * Call the method and log the response in the console.\n     *\n     * ```\n     * this.euiFileUploadUtilsService.sendData(this.form.value, 'http://localhost:3000/api/fake-api').pipe(\n     *     this.euiFileUploadUtilsService.uploadProgress((progress) => {\n     *         console.log(progress);\n     *     }),\n     *     this.euiFileUploadUtilsService.toResponseBody(),\n     * ).subscribe((response) => {\n     *      console.log(response);\n     * });\n     * ```\n     *\n     * @param data Data to send to backend\n     * @param APIEndPoint Endpoint URL\n     * @returns The backend response.\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    public sendData(data: any, APIEndPoint: string): Observable<any> {\n        return this.httpClient.post(APIEndPoint, this.toFormData(data), {\n            reportProgress: true,\n            observe: 'events',\n        });\n    }\n\n    /**\n     * @description\n     * Method that will return the upload progress.\n     *\n     * @example\n     * Call the method and log the progress in the console.\n     *\n     * ```\n     * this.euiFileUploadUtilsService.sendData(this.form.value, 'http://localhost:3000/api/fake-api').pipe(\n     *     this.euiFileUploadUtilsService.uploadProgress((progress) => {\n     *         console.log(progress);\n     *     }),\n     *     this.euiFileUploadUtilsService.toResponseBody(),\n     * ).subscribe((response) => {\n     *      console.log(response);\n     * });\n     * ```\n     *\n     * @param cb A method to execute on each progress step.\n     * @returns A number between 0 and 100.\n     */\n    public uploadProgress<T>(cb: (progress: number) => void): MonoTypeOperatorFunction<HttpEvent<T>> {\n        return tap((event: HttpEvent<T>) => {\n            if (event.type === HttpEventType.UploadProgress) {\n                cb(Math.round((100 * event.loaded) / event.total));\n            }\n        });\n    }\n\n    /**\n     * @description\n     * Method that will return only the body of the backend response.\n     *\n     * @example\n     * Call the method and log the response in the console.\n     *\n     * ```\n     * this.euiFileUploadUtilsService.sendData(this.form.value, 'http://localhost:3000/api/fake-api').pipe(\n     *     this.euiFileUploadUtilsService.uploadProgress((progress) => {\n     *         console.log(progress);\n     *     }),\n     *     this.euiFileUploadUtilsService.toResponseBody(),\n     * ).subscribe((response) => {\n     *      console.log(response);\n     * });\n     * ```\n     *\n     * @returns The backend response.\n     */\n    public toResponseBody<T>(): UnaryFunction<Observable<HttpEvent<T>>, Observable<T>> {\n        return pipe(\n            filter((event: HttpEvent<T>) => event.type === HttpEventType.Response),\n            map((res: HttpResponse<T>) => res.body),\n        );\n    }\n\n    /**\n     * @description\n     * Return the icon to be used with eui-icon-svg of the given extension or a default file icon\n     *\n     * @param fileExtension\n     * @returns Icon name as string\n     */\n    public getIconForExtension(fileExtension: string): string {\n        const previewAsIconConfig = {\n            avi: 'eui-file-video',\n            html: 'eui-file-html',\n            htm: 'eui-file-code',\n            js: 'eui-file-code',\n            json: 'eui-file-code',\n            mp3: 'eui-file-audio',\n            mp4: 'eui-file-video',\n            pdf: 'eui-file-pdf',\n            png: 'eui-file-image',\n            svg: 'eui-file-image',\n            txt: 'eui-file-text',\n            xml: 'eui-file-code',\n            jpeg: 'eui-file-image',\n            jpg: 'eui-file-image',\n            zip: 'eui-file-archive',\n            doc: 'eui-file-word',\n            docx: 'eui-file-word-o',\n            xls: 'eui-file-excel-o',\n            xlsx: 'eui-file-excel-o',\n            ppt: 'eui-file-powerpoint',\n            csv: 'eui-file-text',\n            rtf: 'eui-file-text',\n        };\n\n        const f = fileExtension.toLowerCase();\n        return !previewAsIconConfig[f] ? 'eui-file-empty-o' : previewAsIconConfig[f];\n    }\n\n    /**\n     * Internal method returning `FormData` object.\n     *\n     * @param formValue Data to send to form\n     * @returns A `FormData` object\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    private toFormData(formValue: any): FormData {\n        const formData = new FormData();\n\n        for (const key of Object.keys(formValue)) {\n            if (Array.isArray(formValue[key])) {\n                let fileIndex = 0;\n                // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n                // eslint-disable-next-line @typescript-eslint/no-explicit-any\n                formValue[key].forEach((value: any) => {\n                    if (value instanceof File) {\n                        formData.append(key + fileIndex, value);\n                        fileIndex++;\n                    }\n                });\n\n                const a = [];\n                // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n                // eslint-disable-next-line @typescript-eslint/no-explicit-any\n                formValue[key].forEach((value: any): void => {\n                    a.push(value);\n                });\n\n                formData.append(key, JSON.stringify(a));\n            } else {\n                if (typeof formValue[key] === 'string') {\n                    formData.set(key, formValue[key]);\n                } else {\n                    formData.set(key, JSON.stringify(formValue[key]));\n                }\n            }\n        }\n\n        return formData;\n    }\n}\n",
            "extends": [],
            "type": "injectable"
        },
        {
            "name": "EuiMessageBoxService",
            "id": "injectable-EuiMessageBoxService-13dbefcf85dd7fbc7abe0f340002e841129f3e652937f8c385c7d39ef671d0e75481f0b4d99082c9f31bcdf35efbc456a12ba8d4a0380232a1ea22677e30d6a4",
            "file": "packages/components/eui-message-box/services/eui-message-box.service.ts",
            "properties": [],
            "methods": [
                {
                    "name": "closeMessageBox",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 55,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCloses the currently active message box.\n\nThis method delegates to the dialog service to close any open dialog.\n",
                    "description": "<p>Closes the currently active message box.</p>\n<p>This method delegates to the dialog service to close any open dialog.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "openMessageBox",
                    "args": [
                        {
                            "name": "config",
                            "type": "EuiDialogInterface<HC | HCC | BC | BCC | FC | FCC>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [
                        "HC",
                        "HCC",
                        "BC",
                        "BCC",
                        "FC",
                        "FCC"
                    ],
                    "line": 38,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nOpens a message box with the specified configuration.\n\nThis method sets default message box properties and delegates to the dialog service\nto render the message box. Message boxes don't close on outside click or escape key,\nand have no header component or close button by default.\n\n",
                    "description": "<p>Opens a message box with the specified configuration.</p>\n<p>This method sets default message box properties and delegates to the dialog service\nto render the message box. Message boxes don&#39;t close on outside click or escape key,\nand have no header component or close button by default.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 1179,
                                "end": 1185,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "config"
                            },
                            "type": "EuiDialogInterface<HC | HCC | BC | BCC | FC | FCC>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "pos": 1173,
                                "end": 1178,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Configuration options for the message box</li>\n</ul>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "<p>Service for programmatically creating, opening, and controlling message boxes in the eui application.</p>\n<p>The EuiMessageBoxService wraps the EuiDialogService to provide a simplified API specifically\nfor message box functionality. Message boxes are specialized dialog windows typically used\nfor alerts, confirmations, and prompts.</p>\n<p>The service handles the configuration of common message box properties and delegates to the\nunderlying dialog service for rendering.</p>\n<p>See EuiMessageBoxComponent\nSee EuiDialogService</p>\n",
            "rawdescription": "\n\nService for programmatically creating, opening, and controlling message boxes in the eui application.\n\nThe EuiMessageBoxService wraps the EuiDialogService to provide a simplified API specifically\nfor message box functionality. Message boxes are specialized dialog windows typically used\nfor alerts, confirmations, and prompts.\n\nThe service handles the configuration of common message box properties and delegates to the\nunderlying dialog service for rendering.\n\n\nSee EuiMessageBoxComponent\nSee EuiDialogService\n",
            "sourceCode": "import { Injectable, inject } from '@angular/core';\nimport { EuiDialogInterface, EuiDialogService } from '@eui/components/eui-dialog';\n\n/**\n * @description\n * Service for programmatically creating, opening, and controlling message boxes in the eui application.\n *\n * The EuiMessageBoxService wraps the EuiDialogService to provide a simplified API specifically\n * for message box functionality. Message boxes are specialized dialog windows typically used\n * for alerts, confirmations, and prompts.\n *\n * The service handles the configuration of common message box properties and delegates to the\n * underlying dialog service for rendering.\n *\n *\n * @see EuiMessageBoxComponent\n * @see EuiDialogService\n */\n@Injectable({ providedIn: 'root' })\nexport class EuiMessageBoxService {\n    private euiDialogService = inject(EuiDialogService);\n\n    /**\n     * Opens a message box with the specified configuration.\n     *\n     * This method sets default message box properties and delegates to the dialog service\n     * to render the message box. Message boxes don't close on outside click or escape key,\n     * and have no header component or close button by default.\n     *\n     * @param config - Configuration options for the message box\n     * @typeParam HC - Header content type\n     * @typeParam HCC - Header component context type\n     * @typeParam BC - Body content type\n     * @typeParam BCC - Body component context type\n     * @typeParam FC - Footer content type\n     * @typeParam FCC - Footer component context type\n     */\n    public openMessageBox<HC, HCC, BC, BCC, FC, FCC>(config: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {}): void {\n        this.euiDialogService.openDialog({\n            ...config,\n            header: null,\n            headerComponent: null,\n            hasClosedOnClickOutside: false,\n            hasCloseButton: false,\n            hasClosedOnEscape: false,\n            hasFooter: true,\n        });\n    }\n\n    /**\n     * Closes the currently active message box.\n     *\n     * This method delegates to the dialog service to close any open dialog.\n     */\n    public closeMessageBox(): void {\n        this.euiDialogService.closeDialog();\n    }\n}\n",
            "extends": [],
            "type": "injectable"
        },
        {
            "name": "EuiTableSelectableRowService",
            "id": "injectable-EuiTableSelectableRowService-0816bc9ffc2194a452d3d0ecedc58e78c1af8a9fc6868e48d08046b7af2cd16c5a8c87b326a056f8a63b40ccdbc36eba953d025270a2a4fdb933b24a80223805",
            "file": "packages/components/eui-table/services/eui-table-selectable-row.service.ts",
            "properties": [
                {
                    "name": "isAllRowsSelected$",
                    "defaultValue": "new BehaviorSubject(false)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BehaviorSubject<boolean>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>BehaviorSubject containing the state of whether all rows are selected.</p>\n",
                    "line": 18,
                    "rawdescription": "\n\nBehaviorSubject containing the state of whether all rows are selected.\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "selectedRows$",
                    "defaultValue": "new BehaviorSubject([])",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BehaviorSubject<DATA[]>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>BehaviorSubject containing the selected rows.</p>\n",
                    "line": 14,
                    "rawdescription": "\n\nBehaviorSubject containing the selected rows.\n",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methods": [
                {
                    "name": "getLastSelectedRow",
                    "args": [],
                    "optional": false,
                    "returnType": "DATA",
                    "typeParameters": [],
                    "line": 181,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nGets the last selected row.\n\n",
                    "description": "<p>Gets the last selected row.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "tagName": {
                                "pos": 4886,
                                "end": 4893,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>The last selected row.</p>\n"
                        }
                    ]
                },
                {
                    "name": "getPropId",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 48,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nGets the current property name used to identify rows.\n",
                    "description": "<p>Gets the current property name used to identify rows.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "getRows",
                    "args": [],
                    "optional": false,
                    "returnType": "DATA[]",
                    "typeParameters": [],
                    "line": 172,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nGets the list of registered rows.\n\n",
                    "description": "<p>Gets the list of registered rows.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "tagName": {
                                "pos": 4718,
                                "end": 4725,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>The list of registered rows.</p>\n"
                        }
                    ]
                },
                {
                    "name": "registerRow",
                    "args": [
                        {
                            "name": "row",
                            "type": "DATA",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 57,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRegisters a row as selectable.\n\n",
                    "description": "<p>Registers a row as selectable.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 1492,
                                "end": 1495,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "row"
                            },
                            "type": "DATA",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1486,
                                "end": 1491,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Row to register.</p>\n"
                        }
                    ]
                },
                {
                    "name": "registerRows",
                    "args": [
                        {
                            "name": "rows",
                            "type": "DATA[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 76,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRegisters a set of rows as selectable.\n\n",
                    "description": "<p>Registers a set of rows as selectable.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2144,
                                "end": 2148,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "rows"
                            },
                            "type": "DATA[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2138,
                                "end": 2143,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Set of rows to register.</p>\n"
                        }
                    ]
                },
                {
                    "name": "selectAllRows",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 152,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSelect all rows.\n",
                    "description": "<p>Select all rows.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "selectRow",
                    "args": [
                        {
                            "name": "row",
                            "type": "DATA",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 103,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSelects a row.\n\n",
                    "description": "<p>Selects a row.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2710,
                                "end": 2713,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "row"
                            },
                            "type": "DATA",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2704,
                                "end": 2709,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Row to select.</p>\n"
                        }
                    ]
                },
                {
                    "name": "selectRows",
                    "args": [
                        {
                            "name": "rows",
                            "type": "DATA[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 143,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSelects a set of rows.\n\n",
                    "description": "<p>Selects a set of rows.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 3915,
                                "end": 3919,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "rows"
                            },
                            "type": "DATA[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3909,
                                "end": 3914,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Rows to select.</p>\n"
                        }
                    ]
                },
                {
                    "name": "selectSingleRow",
                    "args": [
                        {
                            "name": "row",
                            "type": "DATA",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 117,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSelects a single row and replace existing one in selectedRows array.\n\n",
                    "description": "<p>Selects a single row and replace existing one in selectedRows array.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 3162,
                                "end": 3165,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "row"
                            },
                            "type": "DATA",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3156,
                                "end": 3161,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Row to select.</p>\n"
                        }
                    ]
                },
                {
                    "name": "setPropId",
                    "args": [
                        {
                            "name": "value",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 41,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the property name used to identify rows as unique.\n",
                    "description": "<p>Sets the property name used to identify rows as unique.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "unregisterRow",
                    "args": [
                        {
                            "name": "row",
                            "type": "DATA",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 87,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUnregisters a row as selectable.\n\n",
                    "description": "<p>Unregisters a row as selectable.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2384,
                                "end": 2387,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "row"
                            },
                            "type": "DATA",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2378,
                                "end": 2383,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Row to unregister.</p>\n"
                        }
                    ]
                },
                {
                    "name": "unregisterRows",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 94,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUnregisters all rows.\n",
                    "description": "<p>Unregisters all rows.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "unselectAllRows",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 161,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUnselect all rows.\n",
                    "description": "<p>Unselect all rows.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "unselectRow",
                    "args": [
                        {
                            "name": "row",
                            "type": "DATA",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 130,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUnselects a row.\n\n",
                    "description": "<p>Unselects a row.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 3447,
                                "end": 3450,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "row"
                            },
                            "type": "DATA",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3441,
                                "end": 3446,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Row to unselect.</p>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "<p>Service to manage the selection state of rows in a table.\nAllows tracking of selected rows and managing selection for individual and multiple rows.</p>\n",
            "rawdescription": "\n\nService to manage the selection state of rows in a table.\nAllows tracking of selected rows and managing selection for individual and multiple rows.\n",
            "sourceCode": "import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n/**\n * @description\n * Service to manage the selection state of rows in a table.\n * Allows tracking of selected rows and managing selection for individual and multiple rows.\n */\n@Injectable()\nexport class EuiTableSelectableRowService<DATA> {\n    /**\n     * BehaviorSubject containing the selected rows.\n     */\n    public selectedRows$: BehaviorSubject<DATA[]> = new BehaviorSubject([]);\n    /**\n     * BehaviorSubject containing the state of whether all rows are selected.\n     */\n    public isAllRowsSelected$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n    \n    private lastSelectedRow: DATA = null;\n    private rows: DATA[] = [];\n    private propId = 'id';\n\n    /**\n     * Observable stream of selected rows.\n     */\n    get selectedRows(): Observable<DATA[]> {\n        return this.selectedRows$.asObservable();\n    }\n\n    /**\n     * Observable stream of whether all rows are selected.\n     */\n    get isAllRowsSelected(): Observable<boolean> {\n        return this.isAllRowsSelected$.asObservable();\n    }\n\n    /**\n     * Sets the property name used to identify rows as unique.\n     */\n    public setPropId(value: string): void {\n        this.propId = value;\n    }\n\n    /**\n     * Gets the current property name used to identify rows.\n     */\n    public getPropId(): string {\n        return this.propId;\n    }\n\n    /**\n     * Registers a row as selectable.\n     * \n     * @param row Row to register.\n     */\n    public registerRow(row: DATA): void {\n        if (row && !this.rows.find((r) => r[this.propId] === row[this.propId])) {\n            this.rows.push(row);\n\n            if (this.rows.length > this.selectedRows$.value.length && this.isAllRowsSelected$.value) {\n                this.isAllRowsSelected$.next(false);\n            }\n\n            if (this.rows.length <= this.selectedRows$.value.length && this.rows.every((r) => this.selectedRows$.value.includes(r))) {\n                this.isAllRowsSelected$.next(true);\n            }\n        }\n    }\n\n    /**\n     * Registers a set of rows as selectable.\n     * \n     * @param rows Set of rows to register.\n     */\n    public registerRows(rows: DATA[]): void {\n        rows.forEach((row) => {\n            this.registerRow(row);\n        });\n    }\n\n    /**\n     * Unregisters a row as selectable.\n     * \n     * @param row Row to unregister.\n     */\n    public unregisterRow(row: DATA): void {\n        this.rows = this.rows.filter(r => r[this.propId] !== row[this.propId]);\n    }\n\n    /**\n     * Unregisters all rows.\n     */\n    public unregisterRows(): void {\n        this.rows = [];\n    }\n\n    /**\n     * Selects a row.\n     * \n     * @param row Row to select.\n     */\n    public selectRow(row: DATA): void {\n        if (this.selectedRows$.value.indexOf(row) === -1) {\n            this.selectedRows$.next([...this.selectedRows$.value, row]);\n        }\n\n        this.isAllRowsSelected$.next(this.selectedRows$.value.length === this.rows.length);\n        this.lastSelectedRow = row;\n    }\n\n    /**\n     * Selects a single row and replace existing one in selectedRows array.\n     * \n     * @param row Row to select.\n     */\n    public selectSingleRow(row: DATA): void {\n        if (this.selectedRows$.value.indexOf(row) === -1) {\n            this.selectedRows$.next([row]);\n        }\n\n        this.lastSelectedRow = row;\n    }\n\n    /**\n     * Unselects a row.\n     * \n     * @param row Row to unselect.\n     */\n    public unselectRow(row: DATA): void {\n        if (row && this.selectedRows$.value.find((r) => r[this.propId] === row[this.propId]) !== undefined) {\n            const value = this.selectedRows$.value.filter((selected) => selected[this.propId] !== row[this.propId]);\n            this.selectedRows$.next(value);\n            this.isAllRowsSelected$.next(false);\n        }\n    }\n\n    /**\n     * Selects a set of rows.\n     * \n     * @param rows Rows to select.\n     */\n    public selectRows(rows: DATA[]): void {\n        this.selectedRows$.next([...rows]);\n        this.isAllRowsSelected$.next(this.rows.length > 0 && this.rows.length === this.selectedRows$.value.length);\n        this.lastSelectedRow = rows[rows.length - 1];\n    }\n\n    /**\n     * Select all rows.\n     */\n    public selectAllRows(): void {\n        this.selectedRows$.next([...this.rows]);\n        this.isAllRowsSelected$.next(true);\n        this.lastSelectedRow = this.rows[this.rows.length - 1];\n    }\n\n    /**\n     * Unselect all rows.\n     */\n    public unselectAllRows(): void {\n        this.selectedRows$.next([]);\n        this.isAllRowsSelected$.next(false);\n        this.lastSelectedRow = null;\n    }\n\n    /**\n     * Gets the list of registered rows.\n     * \n     * @returns The list of registered rows.\n     */\n    public getRows(): DATA[] {\n        return this.rows;\n    }\n\n    /**\n     * Gets the last selected row.\n     * \n     * @returns The last selected row.\n     */\n    public getLastSelectedRow(): DATA {\n        return this.lastSelectedRow;\n    }\n}\n",
            "accessors": {
                "selectedRows": {
                    "name": "selectedRows",
                    "getSignature": {
                        "name": "selectedRows",
                        "type": "unknown",
                        "returnType": "Observable<DATA[]>",
                        "line": 27,
                        "rawdescription": "\n\nObservable stream of selected rows.\n",
                        "description": "<p>Observable stream of selected rows.</p>\n"
                    }
                },
                "isAllRowsSelected": {
                    "name": "isAllRowsSelected",
                    "getSignature": {
                        "name": "isAllRowsSelected",
                        "type": "unknown",
                        "returnType": "Observable<boolean>",
                        "line": 34,
                        "rawdescription": "\n\nObservable stream of whether all rows are selected.\n",
                        "description": "<p>Observable stream of whether all rows are selected.</p>\n"
                    }
                }
            },
            "extends": [],
            "type": "injectable"
        },
        {
            "name": "EuiTableSortService",
            "id": "injectable-EuiTableSortService-1d2ebe19a4578336c3ec5e25ea0362cdabc994dda376fbf72e533d2c1d85ed636b19d771170ca87d482da4c9f08c2fb6933de32151cf9b8b7d3bb670bfb55a31",
            "file": "packages/components/eui-table/services/eui-table-sort.service.ts",
            "properties": [
                {
                    "name": "sorts$",
                    "defaultValue": "new BehaviorSubject<Sort[]>([])",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>BehaviorSubject containing the current sorting information.</p>\n",
                    "line": 16,
                    "rawdescription": "\n\nBehaviorSubject containing the current sorting information.\n",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methods": [
                {
                    "name": "setSort",
                    "args": [
                        {
                            "name": "sort",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "order",
                            "type": "SortOrder",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "isMultiSortable",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 33,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the ordering order for a given column\n",
                    "description": "<p>Sets the ordering order for a given column</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 765,
                                "end": 769,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "sort"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 759,
                                "end": 764,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The name of the column to sort.</p>\n"
                        },
                        {
                            "name": {
                                "pos": 816,
                                "end": 821,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "order"
                            },
                            "type": "SortOrder",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 810,
                                "end": 815,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The sorting order (ascending, descending, none).</p>\n"
                        },
                        {
                            "name": {
                                "pos": 885,
                                "end": 900,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "isMultiSortable"
                            },
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 879,
                                "end": 884,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Whether multi-sorting is allowed.</p>\n"
                        }
                    ]
                },
                {
                    "name": "setSorts",
                    "args": [
                        {
                            "name": "sorts",
                            "type": "Sort[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 59,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the full list of sorting values.\n\n",
                    "description": "<p>Sets the full list of sorting values.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 1926,
                                "end": 1931,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "sorts"
                            },
                            "type": "Sort[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1920,
                                "end": 1925,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The list of sorts to apply.</p>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "<p>Service to manage the sorting state of columns in a table.\nUses a <code>BehaviorSubject</code> to store and emit the current sorting values.</p>\n",
            "rawdescription": "\n\nService to manage the sorting state of columns in a table.\nUses a `BehaviorSubject` to store and emit the current sorting values.\n",
            "sourceCode": "import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport { Sort, SortOrder } from '../models/sort.model';\n\n/**\n * @description\n * Service to manage the sorting state of columns in a table.\n * Uses a `BehaviorSubject` to store and emit the current sorting values.\n */\n@Injectable()\nexport class EuiTableSortService {\n    /**\n     * BehaviorSubject containing the current sorting information.\n     */\n    public sorts$ = new BehaviorSubject<Sort[]>([]);\n\n    /**\n     * Observable stream of sorting values.\n     */\n    get sorts(): Observable<Sort[]> {\n        return this.sorts$.asObservable();\n    }\n\n    private isCurrentMultiSortable = false;\n\n    /**\n     * Sets the ordering order for a given column\n     * @param sort The name of the column to sort.\n     * @param order The sorting order (ascending, descending, none).\n     * @param isMultiSortable Whether multi-sorting is allowed.\n     */\n    setSort(sort: string, order: SortOrder, isMultiSortable: boolean): void {\n        if (isMultiSortable && this.isCurrentMultiSortable) {\n            let sortValues = this.sorts$.value;\n            if (!order || order === 'none') {\n                sortValues = this.sorts$.value.filter(s => s.sort !== sort);\n                this.sorts$.next(sortValues);\n            } else {\n                if (this.sorts$.value.find(s => s.sort === sort)) {\n                    sortValues = this.sorts$.value.map(s => s.sort == sort ? ({ ...s, order }) : s);\n                    this.sorts$.next(sortValues);\n                } else {\n                    this.sorts$.next([ ...sortValues, { sort, order } ]);\n                }\n            }\n        } else {\n            this.sorts$.next(sort && order && order !== 'none' ? [{ sort, order }] : []);\n        }\n\n        this.isCurrentMultiSortable = isMultiSortable;\n    }\n\n    /**\n     * Sets the full list of sorting values.\n     * \n     * @param sorts The list of sorts to apply.\n     */\n    setSorts(sorts: Sort[]): void {\n        this.sorts$.next(sorts);\n        this.isCurrentMultiSortable = sorts.length > 1;\n    }\n}\n",
            "accessors": {
                "sorts": {
                    "name": "sorts",
                    "getSignature": {
                        "name": "sorts",
                        "type": "unknown",
                        "returnType": "Observable<Sort[]>",
                        "line": 21,
                        "rawdescription": "\n\nObservable stream of sorting values.\n",
                        "description": "<p>Observable stream of sorting values.</p>\n"
                    }
                }
            },
            "extends": [],
            "type": "injectable"
        },
        {
            "name": "EuiWizardService",
            "id": "injectable-EuiWizardService-ac83b85706d7b1b9cf560755ff288fadbca271f6e575605a960963413af1693719ce7017fa9a249ca5d03aa927d3138d2f33294499189d24a17a1a1943f54248",
            "file": "packages/components/eui-wizard/services/eui-wizard.service.ts",
            "properties": [
                {
                    "name": "activeStepIndex",
                    "defaultValue": "1",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 15
                },
                {
                    "name": "route",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ActivatedRoute",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 17
                },
                {
                    "name": "steps",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiWizardStep[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 16
                }
            ],
            "methods": [
                {
                    "name": "init",
                    "args": [
                        {
                            "name": "steps",
                            "type": "EuiWizardStep[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "route",
                            "type": "ActivatedRoute",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 27,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nInitializes the wizard service with step configuration and routing context.\nSets up step collection and determines active step based on current URL.\nMust be called before using other service methods.\n",
                    "description": "<p>Initializes the wizard service with step configuration and routing context.\nSets up step collection and determines active step based on current URL.\nMust be called before using other service methods.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 1019,
                                "end": 1024,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "steps"
                            },
                            "type": "EuiWizardStep[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1013,
                                "end": 1018,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Array of wizard step configurations to manage</li>\n</ul>\n"
                        },
                        {
                            "name": {
                                "pos": 1087,
                                "end": 1092,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "route"
                            },
                            "type": "ActivatedRoute",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1081,
                                "end": 1086,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>ActivatedRoute for relative navigation context</li>\n</ul>\n"
                        }
                    ]
                },
                {
                    "name": "navigationIncrement",
                    "args": [
                        {
                            "name": "increment",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 45,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nNavigates to a step relative to the current active step.\nIncrements or decrements the active step index by the specified amount.\nPrevents navigation beyond first or last step boundaries.\n",
                    "description": "<p>Navigates to a step relative to the current active step.\nIncrements or decrements the active step index by the specified amount.\nPrevents navigation beyond first or last step boundaries.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 1809,
                                "end": 1818,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "increment"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1803,
                                "end": 1808,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Number of steps to move (positive for forward, negative for backward)</li>\n</ul>\n"
                        }
                    ]
                },
                {
                    "name": "selectStep",
                    "args": [
                        {
                            "name": "step",
                            "type": "EuiWizardStep",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 57,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nActivates a specific wizard step and navigates to its URL if defined.\nUpdates active step index and triggers route navigation when step has associated URL.\n",
                    "description": "<p>Activates a specific wizard step and navigates to its URL if defined.\nUpdates active step index and triggers route navigation when step has associated URL.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2333,
                                "end": 2337,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "step"
                            },
                            "type": "EuiWizardStep",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2327,
                                "end": 2332,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The wizard step to select and navigate to</li>\n</ul>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "<p>Service for managing wizard state and navigation in eui-wizard components.\nTracks active step index, handles step transitions, and integrates with Angular Router for URL-based navigation.\nProvides programmatic control over wizard progression and step selection.\nIntended injection scope: Component-level (provided in wizard component).\nDependencies: Angular Router for route-based step navigation.</p>\n",
            "rawdescription": "\n\nService for managing wizard state and navigation in eui-wizard components.\nTracks active step index, handles step transitions, and integrates with Angular Router for URL-based navigation.\nProvides programmatic control over wizard progression and step selection.\nIntended injection scope: Component-level (provided in wizard component).\nDependencies: Angular Router for route-based step navigation.\n",
            "sourceCode": "import { Injectable, inject } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { EuiWizardStep } from '../models/eui-wizard-step';\n\n/**\n * @description\n * Service for managing wizard state and navigation in eui-wizard components.\n * Tracks active step index, handles step transitions, and integrates with Angular Router for URL-based navigation.\n * Provides programmatic control over wizard progression and step selection.\n * Intended injection scope: Component-level (provided in wizard component).\n * Dependencies: Angular Router for route-based step navigation.\n */\n@Injectable()\nexport class EuiWizardService {\n    activeStepIndex = 1;\n    steps: EuiWizardStep[] = [];\n    route: ActivatedRoute;\n    private router = inject(Router);\n\n    /**\n     * Initializes the wizard service with step configuration and routing context.\n     * Sets up step collection and determines active step based on current URL.\n     * Must be called before using other service methods.\n     * @param steps - Array of wizard step configurations to manage\n     * @param route - ActivatedRoute for relative navigation context\n     */\n    init(steps: EuiWizardStep[], route: ActivatedRoute): void {\n        this.steps = steps;\n        this.route = route;\n        const currentRoute = this.router.url;\n        const currentStepUrl = currentRoute.substr(currentRoute.lastIndexOf('/') + 1);\n        this.steps.forEach((step, index) => {\n            if (step.url === currentStepUrl) {\n                this.activeStepIndex = index + 1;\n            }\n        });\n    }\n\n    /**\n     * Navigates to a step relative to the current active step.\n     * Increments or decrements the active step index by the specified amount.\n     * Prevents navigation beyond first or last step boundaries.\n     * @param increment - Number of steps to move (positive for forward, negative for backward)\n     */\n    navigationIncrement(increment: number): void {\n        const newIndex: number = this.activeStepIndex + increment;\n        if (newIndex >= 1 && newIndex <= this.steps.length) {\n            this.activeStepIndex = newIndex;\n        }\n    }\n\n    /**\n     * Activates a specific wizard step and navigates to its URL if defined.\n     * Updates active step index and triggers route navigation when step has associated URL.\n     * @param step - The wizard step to select and navigate to\n     */\n    selectStep(step: EuiWizardStep): void {\n        this.activeStepIndex = step.index;\n        if (step.url) {\n            this._navigateToStep(step.url);\n        }\n    }\n\n    private _navigateToStep(url: string): void {\n        this.router.navigate([url], { relativeTo: this.route });\n    }\n}\n",
            "extends": [],
            "type": "injectable"
        },
        {
            "name": "HbsRenderService",
            "id": "injectable-HbsRenderService-5ef4e37a0dfcd8350d38408ae5124fd5bba2847c9a149bd231bd2b3bee061bfca03bdd84c89b87ab1cef54f22d6fdad24bd76d974bde023502f3db691e8640c8",
            "file": "packages/components/dist/docs/template-playground/hbs-render.service.ts",
            "properties": [],
            "methods": [
                {
                    "name": "getMockData",
                    "args": [],
                    "optional": false,
                    "returnType": "any",
                    "typeParameters": [],
                    "line": 184,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "renderTemplate",
                    "args": [
                        {
                            "name": "templateContent",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "data",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 131,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "templateContent",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "data",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { Injectable } from '@angular/core';\n\ndeclare const Handlebars: any;\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class HbsRenderService {\n  private handlebarsInstance: any;\n\n  constructor() {\n    this.initializeHandlebars();\n  }\n\n  private initializeHandlebars() {\n    // Create a new Handlebars instance for the playground\n    this.handlebarsInstance = Handlebars.create();\n\n    // Register common helpers used in Compodoc templates\n    this.registerHelpers();\n  }\n\n  private registerHelpers() {\n    // Register the 'compare' helper\n    this.handlebarsInstance.registerHelper('compare', (left: any, operator: string, right: any, options: any) => {\n      let result;\n      switch (operator) {\n        case '===':\n          result = left === right;\n          break;\n        case '!==':\n          result = left !== right;\n          break;\n        case '<':\n          result = left < right;\n          break;\n        case '>':\n          result = left > right;\n          break;\n        case '<=':\n          result = left <= right;\n          break;\n        case '>=':\n          result = left >= right;\n          break;\n        default:\n          result = false;\n      }\n      return result ? options.fn(this) : options.inverse(this);\n    });\n\n    // Register the 'unless' helper\n    this.handlebarsInstance.registerHelper('unless', (conditional: any, options: any) => {\n      return !conditional ? options.fn(this) : options.inverse(this);\n    });\n\n    // Register the 'each' helper with index\n    this.handlebarsInstance.registerHelper('each', (context: any, options: any) => {\n      let ret = '';\n      for (let i = 0; i < context.length; i++) {\n        ret += options.fn(context[i], { data: { index: i } });\n      }\n      return ret;\n    });\n\n    // Register the 'if' helper\n    this.handlebarsInstance.registerHelper('if', (conditional: any, options: any) => {\n      return conditional ? options.fn(this) : options.inverse(this);\n    });\n\n    // Register the 'relativeURL' helper\n    this.handlebarsInstance.registerHelper('relativeURL', (depth: number, page?: string) => {\n      let url = '';\n      for (let i = 0; i < depth; i++) {\n        url += '../';\n      }\n      return url + (page || '');\n    });\n\n    // Register the 't' helper for translations\n    this.handlebarsInstance.registerHelper('t', (key: string) => {\n      // Simple translation mapping for preview\n      const translations: { [key: string]: string } = {\n        'info': 'Information',\n        'source': 'Source',\n        'example': 'Example',\n        'template': 'Template',\n        'styles': 'Styles',\n        'component': 'Component',\n        'module': 'Module',\n        'overview': 'Overview',\n        'components': 'Components',\n        'modules': 'Modules',\n        'file': 'File',\n        'description': 'Description',\n        'selector': 'Selector',\n        'properties': 'Properties',\n        'methods': 'Methods',\n        'inputs': 'Inputs',\n        'outputs': 'Outputs'\n      };\n      return translations[key] || key;\n    });\n\n    // Register the 'orLength' helper\n    this.handlebarsInstance.registerHelper('orLength', (...args: any[]) => {\n      const options = args[args.length - 1];\n      const values = args.slice(0, -1);\n\n      for (const value of values) {\n        if (value && value.length && value.length > 0) {\n          return options.fn(this);\n        }\n      }\n      return options.inverse(this);\n    });\n\n    // Register the 'isTabEnabled' helper\n    this.handlebarsInstance.registerHelper('isTabEnabled', (navTabs: any[], tabId: string, options: any) => {\n      const tab = navTabs && navTabs.find((t: any) => t.id === tabId);\n      return tab ? options.fn(this) : options.inverse(this);\n    });\n\n    // Register the 'isInitialTab' helper\n    this.handlebarsInstance.registerHelper('isInitialTab', (navTabs: any[], tabId: string, options: any) => {\n      const isInitial = navTabs && navTabs.length > 0 && navTabs[0].id === tabId;\n      return isInitial ? options.fn(this) : options.inverse(this);\n    });\n  }\n\n  renderTemplate(templateContent: string, data: any): string {\n    try {\n      // Create a complete HTML document for preview\n      const template = this.handlebarsInstance.compile(templateContent);\n      const rendered = template({ data });\n\n      // Wrap in a basic HTML structure for preview\n      return `\n        <!DOCTYPE html>\n        <html>\n        <head>\n          <meta charset=\"utf-8\">\n          <title>Template Preview</title>\n          <style>\n            body { font-family: Arial, sans-serif; margin: 20px; }\n            .preview-wrapper { border: 1px solid #ddd; padding: 20px; }\n            .preview-notice { background: #f0f8ff; padding: 10px; margin-bottom: 20px; border-left: 4px solid #007bff; }\n          </style>\n        </head>\n        <body>\n          <div class=\"preview-notice\">\n            <strong>Template Preview:</strong> This is a live preview of your template with mock data.\n          </div>\n          <div class=\"preview-wrapper\">\n            ${rendered}\n          </div>\n        </body>\n        </html>\n      `;\n    } catch (error) {\n      return `\n        <!DOCTYPE html>\n        <html>\n        <head>\n          <meta charset=\"utf-8\">\n          <title>Template Preview - Error</title>\n          <style>\n            body { font-family: Arial, sans-serif; margin: 20px; }\n            .error { color: red; background: #fff5f5; padding: 20px; border: 1px solid #red; }\n          </style>\n        </head>\n        <body>\n          <div class=\"error\">\n            <h3>Template Error</h3>\n            <p><strong>Error:</strong> ${error.message}</p>\n            <p>Please check your template syntax and try again.</p>\n          </div>\n        </body>\n        </html>\n      `;\n    }\n  }\n\n  getMockData(): any {\n    return {\n      documentationMainName: 'Sample Documentation',\n      depth: 0,\n      context: 'component',\n      components: [\n        {\n          name: 'SampleComponent',\n          selector: 'app-sample',\n          file: 'src/app/sample/sample.component.ts',\n          description: 'A sample component for demonstration',\n          properties: [\n            { name: 'title', type: 'string', description: 'The component title' },\n            { name: 'isVisible', type: 'boolean', description: 'Whether the component is visible' }\n          ],\n          methods: [\n            { name: 'ngOnInit', description: 'Lifecycle hook', signature: 'ngOnInit(): void' },\n            { name: 'onClick', description: 'Handle click events', signature: 'onClick(event: MouseEvent): void' }\n          ]\n        }\n      ],\n      navTabs: [\n        { id: 'info', label: 'Info', href: '#info' },\n        { id: 'source', label: 'Source', href: '#source' },\n        { id: 'example', label: 'Example', href: '#example' }\n      ]\n    };\n  }\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 9
            },
            "extends": [],
            "type": "injectable"
        },
        {
            "name": "TemplateEditorService",
            "id": "injectable-TemplateEditorService-3449633e2f4f49d58412d4efd7baddc92a33edb2ab73017850bb04a23003f98c3676403b93758c0a1a41db52ea06eeebfefabfca7ac314d17b79ce21cacb7ed0",
            "file": "packages/components/dist/docs/template-playground/template-editor.service.ts",
            "properties": [],
            "methods": [
                {
                    "name": "destroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 167,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "initializeEditor",
                    "args": [
                        {
                            "name": "container",
                            "type": "HTMLElement",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 12,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "container",
                            "type": "HTMLElement",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "setEditorContent",
                    "args": [
                        {
                            "name": "content",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "fileType",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 59,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "content",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "fileType",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "setOnChangeCallback",
                    "args": [
                        {
                            "name": "callback",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "value",
                                    "type": "string",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ]
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 67,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "callback",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "value",
                                    "type": "string",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ],
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { Injectable } from '@angular/core';\n\ndeclare const monaco: any;\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class TemplateEditorService {\n  private editor: any;\n  private onChangeCallback: ((value: string) => void) | null = null;\n\n  initializeEditor(container: HTMLElement) {\n    // Initialize Monaco Editor\n    this.editor = monaco.editor.create(container, {\n      value: '',\n      language: 'html',\n      theme: 'vs-dark',\n      automaticLayout: true,\n      minimap: {\n        enabled: true\n      },\n      scrollBeyondLastLine: false,\n      fontSize: 14,\n      wordWrap: 'on',\n      lineNumbers: 'on',\n      roundedSelection: false,\n      scrollbar: {\n        horizontal: 'visible',\n        vertical: 'visible'\n      },\n      overviewRulerLanes: 2,\n      quickSuggestions: {\n        other: true,\n        comments: true,\n        strings: true\n      },\n      parameterHints: {\n        enabled: true\n      },\n      autoClosingBrackets: 'always',\n      autoClosingQuotes: 'always',\n      suggestOnTriggerCharacters: true,\n      acceptSuggestionOnEnter: 'on',\n      tabCompletion: 'on',\n      wordBasedSuggestions: false\n    });\n\n    // Set up change listener\n    this.editor.onDidChangeModelContent(() => {\n      if (this.onChangeCallback) {\n        this.onChangeCallback(this.editor.getValue());\n      }\n    });\n\n    // Register custom language definitions\n    this.registerHandlebarsLanguage();\n  }\n\n  setEditorContent(content: string, fileType: string) {\n    if (this.editor) {\n      const language = this.getLanguageFromFileType(fileType);\n      const model = monaco.editor.createModel(content, language);\n      this.editor.setModel(model);\n    }\n  }\n\n  setOnChangeCallback(callback: (value: string) => void) {\n    this.onChangeCallback = callback;\n  }\n\n  private getLanguageFromFileType(fileType: string): string {\n    switch (fileType) {\n      case 'hbs':\n        return 'handlebars';\n      case 'css':\n      case 'scss':\n        return 'css';\n      case 'js':\n        return 'javascript';\n      case 'ts':\n        return 'typescript';\n      default:\n        return 'html';\n    }\n  }\n\n  private registerHandlebarsLanguage() {\n    // Register Handlebars language for Monaco Editor\n    if (monaco.languages.getLanguages().find((lang: any) => lang.id === 'handlebars')) {\n      return; // Already registered\n    }\n\n    monaco.languages.register({ id: 'handlebars' });\n\n    monaco.languages.setMonarchTokensProvider('handlebars', {\n      tokenizer: {\n        root: [\n          [/\\{\\{\\{/, { token: 'keyword', next: '@handlebars_unescaped' }],\n          [/\\{\\{/, { token: 'keyword', next: '@handlebars' }],\n          [/<!DOCTYPE/, 'metatag', '@doctype'],\n          [/<!--/, 'comment', '@comment'],\n          [/(<)(\\w+)/, ['delimiter', { token: 'tag', next: '@tag' }]],\n          [/(<\\/)(\\w+)/, ['delimiter', { token: 'tag', next: '@tag' }]],\n          [/</, 'delimiter'],\n          [/[^<]+/]\n        ],\n\n        handlebars_unescaped: [\n          [/\\}\\}\\}/, { token: 'keyword', next: '@pop' }],\n          [/[^}]+/, 'variable']\n        ],\n\n        handlebars: [\n          [/\\}\\}/, { token: 'keyword', next: '@pop' }],\n          [/#if|#unless|#each|#with|\\/if|\\/unless|\\/each|\\/with/, 'keyword'],\n          [/[a-zA-Z_][\\w]*/, 'variable'],\n          [/[^}]+/, 'variable']\n        ],\n\n        comment: [\n          [/-->/, 'comment', '@pop'],\n          [/[^-]+/, 'comment'],\n          [/./, 'comment']\n        ],\n\n        doctype: [\n          [/[^>]+/, 'metatag.content'],\n          [/>/, 'metatag', '@pop']\n        ],\n\n        tag: [\n          [/[ \\t\\r\\n]+/, 'white'],\n          [/(\\w+)(\\s*=\\s*)(\"([^\"]*)\")/, ['attribute.name', 'delimiter', 'attribute.value', 'attribute.value']],\n          [/(\\w+)(\\s*=\\s*)('([^']*)')/, ['attribute.name', 'delimiter', 'attribute.value', 'attribute.value']],\n          [/\\w+/, 'attribute.name'],\n          [/>/, 'delimiter', '@pop']\n        ]\n      }\n    });\n\n    monaco.languages.setLanguageConfiguration('handlebars', {\n      comments: {\n        blockComment: ['<!--', '-->']\n      },\n      brackets: [\n        ['<', '>'],\n        ['{{', '}}'],\n        ['{{{', '}}}']\n      ],\n      autoClosingPairs: [\n        { open: '<', close: '>' },\n        { open: '{{', close: '}}' },\n        { open: '{{{', close: '}}}' },\n        { open: '\"', close: '\"' },\n        { open: \"'\", close: \"'\" }\n      ],\n      surroundingPairs: [\n        { open: '<', close: '>' },\n        { open: '{{', close: '}}' },\n        { open: '{{{', close: '}}}' },\n        { open: '\"', close: '\"' },\n        { open: \"'\", close: \"'\" }\n      ]\n    });\n  }\n\n  destroy() {\n    if (this.editor) {\n      this.editor.dispose();\n      this.editor = null;\n    }\n  }\n}\n",
            "extends": [],
            "type": "injectable"
        },
        {
            "name": "UiStateService",
            "id": "injectable-UiStateService-bc48785f85921f0e967aea2f7f662e5bcb7192f8646a5436245d6b7a38576a38dbdabaf53bcf44236af91270e933e2a69263b8d6111a6a3413b7e949d63652f8",
            "file": "packages/components/eui-card/services/ui-state.service.ts",
            "properties": [],
            "methods": [
                {
                    "name": "setState",
                    "args": [
                        {
                            "name": "nextState",
                            "type": "UIState",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 55,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUpdates the UI state with provided properties.\nMerges the next state with current state, preserving unchanged properties.\n",
                    "description": "<p>Updates the UI state with provided properties.\nMerges the next state with current state, preserving unchanged properties.</p>\n",
                    "jsdoctags": [
                        {
                            "name": "nextState",
                            "type": "UIState",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "toggleCollapsed",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 88,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nToggles the collapsed state of the card.\nSwitches between collapsed and expanded states.\n",
                    "description": "<p>Toggles the collapsed state of the card.\nSwitches between collapsed and expanded states.</p>\n",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "<p>Service for managing UI state of card components including collapse, urgency, and expander positioning.\nProvides reactive state management through RxJS observables for card component behavior.\nInjected at component level to maintain isolated state per card instance.\nManages collapsible state, collapsed state, urgent styling, and left expander positioning.</p>\n",
            "rawdescription": "\n\nService for managing UI state of card components including collapse, urgency, and expander positioning.\nProvides reactive state management through RxJS observables for card component behavior.\nInjected at component level to maintain isolated state per card instance.\nManages collapsible state, collapsed state, urgent styling, and left expander positioning.\n",
            "sourceCode": "import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n/**\n * Interface defining the UI state properties for card components.\n */\nexport interface UIState {\n    /** Whether the card can be collapsed/expanded */\n    isCollapsible: boolean;\n    /** Whether the card is currently in collapsed state */\n    isCollapsed: boolean;\n    /** Whether the card displays urgent styling */\n    isUrgent: boolean;\n    /** Whether the card has a left-side expander control */\n    hasLeftExpander: boolean;\n}\n\nconst initialState: UIState = {\n    isCollapsible: false,\n    isCollapsed: false,\n    isUrgent: false,\n    hasLeftExpander: false,\n};\n\n/**\n * Service for managing UI state of card components including collapse, urgency, and expander positioning.\n * Provides reactive state management through RxJS observables for card component behavior.\n * Injected at component level to maintain isolated state per card instance.\n * Manages collapsible state, collapsed state, urgent styling, and left expander positioning.\n */\n@Injectable()\nexport class UiStateService {\n    private _state$: BehaviorSubject<UIState> = new BehaviorSubject(initialState);\n\n    /**\n     * Observable stream of UI state changes.\n     * Emits whenever any state property is updated via setState or setters.\n     */\n    get state$(): Observable<UIState> {\n        return this._state$.asObservable();\n    }\n\n    /**\n     * Current UI state snapshot.\n     * Returns the current state value without subscribing to changes.\n     */\n    get state(): UIState {\n        return this._state$.getValue();\n    }\n\n    /**\n     * Updates the UI state with provided properties.\n     * Merges the next state with current state, preserving unchanged properties.\n     */\n    setState(nextState: UIState): void {\n        this._state$.next({\n            ...this.state,\n            ...nextState,\n        });\n    }\n\n    /**\n     * Sets the collapsed state of the card.\n     * When true, card content is hidden; when false, content is visible.\n     */\n    set isCollapsed(isActive: boolean) {\n        this.setState({\n            ...this.state,\n            isCollapsed: isActive,\n        });\n    }\n\n    /**\n     * Sets whether the card is collapsible.\n     * When true, enables collapse/expand functionality; when false, card remains static.\n     */\n    set isCollapsible(isActive: boolean) {\n        this.setState({\n            ...this.state,\n            isCollapsible: isActive,\n        });\n    }\n\n    /**\n     * Toggles the collapsed state of the card.\n     * Switches between collapsed and expanded states.\n     */\n    public toggleCollapsed(): void {\n        this.isCollapsed = !this.state.isCollapsed;\n    }\n}\n",
            "accessors": {
                "state$": {
                    "name": "state$",
                    "getSignature": {
                        "name": "state$",
                        "type": "unknown",
                        "returnType": "Observable<UIState>",
                        "line": 39,
                        "rawdescription": "\n\nObservable stream of UI state changes.\nEmits whenever any state property is updated via setState or setters.\n",
                        "description": "<p>Observable stream of UI state changes.\nEmits whenever any state property is updated via setState or setters.</p>\n"
                    }
                },
                "state": {
                    "name": "state",
                    "getSignature": {
                        "name": "state",
                        "type": "unknown",
                        "returnType": "UIState",
                        "line": 47,
                        "rawdescription": "\n\nCurrent UI state snapshot.\nReturns the current state value without subscribing to changes.\n",
                        "description": "<p>Current UI state snapshot.\nReturns the current state value without subscribing to changes.</p>\n"
                    }
                },
                "isCollapsed": {
                    "name": "isCollapsed",
                    "setSignature": {
                        "name": "isCollapsed",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "isActive",
                                "type": "boolean",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 66,
                        "rawdescription": "\n\nSets the collapsed state of the card.\nWhen true, card content is hidden; when false, content is visible.\n",
                        "description": "<p>Sets the collapsed state of the card.\nWhen true, card content is hidden; when false, content is visible.</p>\n",
                        "jsdoctags": [
                            {
                                "name": "isActive",
                                "type": "boolean",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    }
                },
                "isCollapsible": {
                    "name": "isCollapsible",
                    "setSignature": {
                        "name": "isCollapsible",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "isActive",
                                "type": "boolean",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 77,
                        "rawdescription": "\n\nSets whether the card is collapsible.\nWhen true, enables collapse/expand functionality; when false, card remains static.\n",
                        "description": "<p>Sets whether the card is collapsible.\nWhen true, enables collapse/expand functionality; when false, card remains static.</p>\n",
                        "jsdoctags": [
                            {
                                "name": "isActive",
                                "type": "boolean",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    }
                }
            },
            "extends": [],
            "type": "injectable"
        },
        {
            "name": "ZipExportService",
            "id": "injectable-ZipExportService-27cbedd9512a28e81ed0c36d7f35cf2653b390e7d2102329da83a3a07c7c8a201c26ddd64555da6645ab6538afe9174c0c964fd589ab3c66618b7f5a777f7285",
            "file": "packages/components/dist/docs/template-playground/zip-export.service.ts",
            "properties": [],
            "methods": [
                {
                    "name": "exportTemplates",
                    "args": [
                        {
                            "name": "files",
                            "type": "any[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 10,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "files",
                            "type": "any[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { Injectable } from '@angular/core';\n\ndeclare const JSZip: any;\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class ZipExportService {\n\n  exportTemplates(files: any[]) {\n    const zip = new JSZip();\n\n    // Add all template files to the ZIP\n    files.forEach(file => {\n      zip.file(file.path, file.content);\n    });\n\n    // Add a README with instructions\n    const readme = this.generateReadme();\n    zip.file('README.md', readme);\n\n    // Generate and download the ZIP file\n    zip.generateAsync({ type: 'blob' })\n      .then((content: Blob) => {\n        this.downloadBlob(content, 'compodoc-templates.zip');\n      });\n  }\n\n  private generateReadme(): string {\n    return `# Compodoc Custom Templates\n\nThis ZIP file contains customized templates for Compodoc documentation generation.\n\n## Contents\n\n- **Templates** (\\`.hbs\\` files): Handlebars templates for generating documentation pages\n- **Styles** (\\`.css\\` files): Stylesheets for customizing the appearance\n- **Scripts** (\\`.js\\` files): JavaScript files for additional functionality\n\n## Usage\n\n1. Extract this ZIP file to a directory on your system\n2. Use the \\`--templates\\` flag when running Compodoc to specify the path to your custom templates:\n\n   \\`\\`\\`bash\n   compodoc -p tsconfig.json --templates ./path/to/custom/templates/\n   \\`\\`\\`\n\n## Template Structure\n\n- \\`page.hbs\\` - Main page template\n- \\`partials/\\` - Directory containing partial templates\n- \\`styles/\\` - Directory containing CSS files\n- \\`js/\\` - Directory containing JavaScript files\n\n## Customization Tips\n\n1. **Templates**: Use Handlebars syntax to customize the HTML structure\n2. **Styles**: Modify CSS to change colors, fonts, layout, etc.\n3. **Scripts**: Add custom JavaScript functionality\n\n## Backup\n\nAlways keep a backup of your original templates before making changes.\n\n## Documentation\n\nFor more information about customizing Compodoc templates, visit:\nhttps://compodoc.app/guides/template-customization.html\n\nGenerated by Compodoc Template Playground\n`;\n  }\n\n  private downloadBlob(blob: Blob, filename: string) {\n    const url = window.URL.createObjectURL(blob);\n    const a = document.createElement('a');\n    a.href = url;\n    a.download = filename;\n    a.style.display = 'none';\n    document.body.appendChild(a);\n    a.click();\n    document.body.removeChild(a);\n    window.URL.revokeObjectURL(url);\n  }\n}\n",
            "extends": [],
            "type": "injectable"
        }
    ],
    "guards": [],
    "interceptors": [],
    "classes": [
        {
            "name": "BreadCrumbItem",
            "id": "class-BreadCrumbItem-d44d2a43c6bc6ea5ba39e3746c3496ef0f83df65e0580a41d898819466066a92b624d93be4737abd340995d2afaadca5a0a9a2e5a5ed858a72ab99120c637359",
            "file": "packages/components/eui-breadcrumb/item/breadcrumb-item.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "import { NavigationExtras } from '@angular/router';\n\n// TODO: replace with tsconfig types\nexport type ArrayElement<A> = A extends readonly (infer T)[] ? T : never;\ntype DeepWriteable<T> = { -readonly [P in keyof T]: DeepWriteable<T[P]> };\ntype Cast<X, Y> = X extends Y ? X : Y;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype FromEntries<T> = T extends [infer Key, any][]\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    ? { [K in Cast<Key, string>]: Extract<ArrayElement<T>, [K, any]>[1] }\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    : { [key in string]: any };\n\nexport type FromEntriesWithReadOnly<T> = FromEntries<DeepWriteable<T>>;\n\ndeclare global {\n    interface ObjectConstructor {\n        fromEntries<T>(obj: T): FromEntriesWithReadOnly<T>;\n    }\n}\n\nexport class BreadCrumbItem {\n    /** A unique ID for each crumb linked to a page */\n    id: string;\n    /** The label of the crumb */\n    label: string;\n\n    /** A URL link. Commands to pass to {@link Router#createUrlTree Router#createUrlTree}.\n     *   - **array**: commands to pass to {@link Router#createUrlTree Router#createUrlTree}.\n     *   - **string**: shorthand for array of commands with just the string, i.e. `['/route']`\n     *   - **null|undefined**: Disables the link by removing the `href`\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    get link(): string | any[] {\n        return this._link;\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    set link(link: string | any[]) {\n        if (typeof link === 'string') {\n            try {\n                let url: URL;\n                if (!link.startsWith('http')) {\n                    url = new URL(link, 'http://placeholder');\n                    this._link = url.pathname;\n                } else {\n                    url = new URL(link);\n                    this._link = link;\n                }\n                if (!this.navigationExtras) {\n                    this.navigationExtras = {};\n                }\n                this.navigationExtras.fragment = url.hash.replace('#', '');\n                this.navigationExtras.queryParams = Object.fromEntries(\n                    url.search\n                        .replace('?', '')\n                        .split('&')\n                        .map((i) => i.split('=')),\n                );\n            } catch (e) {\n                throw new Error('The given link is not a valid URL');\n            }\n        } else {\n            this._link = link;\n        }\n    }\n\n    /** Extras for Angular Router */\n    navigationExtras?: NavigationExtras;\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    private _link?: string | any[];\n}\n",
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>A unique ID for each crumb linked to a page</p>\n",
                    "line": 26,
                    "rawdescription": "\nA unique ID for each crumb linked to a page"
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The label of the crumb</p>\n",
                    "line": 28,
                    "rawdescription": "\nThe label of the crumb"
                },
                {
                    "name": "navigationExtras",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "NavigationExtras",
                    "indexKey": "",
                    "optional": true,
                    "description": "<p>Extras for Angular Router</p>\n",
                    "line": 73,
                    "rawdescription": "\nExtras for Angular Router"
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "accessors": {
                "link": {
                    "name": "link",
                    "setSignature": {
                        "name": "link",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "link",
                                "type": "string | any[]",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 43,
                        "jsdoctags": [
                            {
                                "name": "link",
                                "type": "string | any[]",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "link",
                        "type": "unknown",
                        "returnType": "string | []",
                        "line": 37,
                        "rawdescription": "\nA URL link. Commands to pass to {@link Router#createUrlTree Router#createUrlTree}.\n  - **array**: commands to pass to {@link Router#createUrlTree Router#createUrlTree}.\n  - **string**: shorthand for array of commands with just the string, i.e. `['/route']`\n  - **null|undefined**: Disables the link by removing the `href`\n",
                        "description": "<p>A URL link. Commands to pass to {@link Router#createUrlTree Router#createUrlTree}.</p>\n<ul>\n<li><strong>array</strong>: commands to pass to {@link Router#createUrlTree Router#createUrlTree}.</li>\n<li><strong>string</strong>: shorthand for array of commands with just the string, i.e. <code>[&#39;/route&#39;]</code></li>\n<li><strong>null|undefined</strong>: Disables the link by removing the <code>href</code></li>\n</ul>\n"
                    }
                }
            },
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "CdkDragMock",
            "id": "class-CdkDragMock-259e696fb49bb461baf45188e21a8e7e2c68183705cdbc90e3a9a9bc91868926c006d910b44b298367bc365d67a2f480d08d76e895b98908134d088e533f8707",
            "file": "packages/components/testing/mocks/cdk-drag.mock.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "export class CdkDragMock {\n    public data: {\n        dragAndDropSource: string;\n    };\n\n    setSource(sourceName: string): void {\n        this.data.dragAndDropSource = sourceName;\n    }\n}\n",
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "data",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 2,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methods": [
                {
                    "name": "setSource",
                    "args": [
                        {
                            "name": "sourceName",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 6,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "sourceName",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "CdkDropListMock",
            "id": "class-CdkDropListMock-1225ec334338a81ce9acb6c672564213dee93a2c1746be1fee3183dcaf35ccea2681fa8e9e9592c537999520116e1ee75ac589c05f25a2345b2fefd88db392d9",
            "file": "packages/components/testing/mocks/cdk-droplist.mock.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "export class CdkDropListMock {\n    public id: string;\n\n    setId(id: string): void {\n        this.id = id;\n    }\n}\n",
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 2,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methods": [
                {
                    "name": "setId",
                    "args": [
                        {
                            "name": "id",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 4,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "id",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "CustomNodeSelectFnHelper",
            "id": "class-CustomNodeSelectFnHelper-58c183b5c86bff3152aea9b2ea3814c42c064cbafd35827be581b9f14da427bba9788856dc9f44dc7032f38109e5c22b8dfbcd004baca90c9a2f8feef39320a1",
            "file": "packages/components/eui-tree/eui-tree.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "import { UxLinkLegacy } from '@eui/core';\n\nexport type TreeDataModel = Array<TreeItemModel>;\n\nexport type TreeItemModel = {\n    node: TreeNode;\n    children?: TreeDataModel;\n};\n\nexport type TreeNode = {\n    // metadata can be block content, or any\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    treeContentBlock: EuiTreeContentBlockModel | any;\n} & SelectionModel &\n    ExpandModel;\n\nexport interface EuiTreeContentBlockModel {\n    id?: string | number;\n    label: string;\n    tooltipLabel: string;\n    url: string;\n    urlExternal: string;\n    urlExternalTarget: string;\n    typeLabel: string;\n    typeClass: string;\n    chips?: Array<{ label: string; typeClass?: string; isOutline?: boolean }>;\n    iconClass: string;\n    iconTypeClass: string;\n    iconSvgName?: string;\n    rightContent?: {\n        iconClass: string;\n        iconTypeClass: string;\n        iconSvgName?: string;\n        badges?: Array<{ label: string; typeClass: string }>;\n        chips?: Array<{ label: string; typeClass?: string; isOutline?: boolean }>;\n        // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        contextMenuMetaData?: any;\n    };\n    metaData: string;\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    [key: string]: any;\n}\n\nexport type SelectionModel = {\n    selectable?: boolean;\n    isSelected?: boolean;\n    // if one of sub is selected, it becomes intermediate\n    isIndeterminate?: boolean;\n    selectConfig?: SelectConfigModel;\n};\n\nexport interface SelectConfigModel extends MultiSelectionLogic, SingleSelectionLogic {\n    /*\n    If It is true;\n    When user select parent, all the children will be selected\n    When selection state is changed, If all children is selected parent will be selected as long as noAutoSelectParent is not true\n    */\n    recursive?: boolean;\n    /* when It is true, If all children is selected, parent will not be selected, while recursive is true*/\n    noAutoSelectParent?: boolean;\n    singleSelect?: boolean;\n}\n\nexport interface MultiSelectionLogic {\n    /*\n    If It is true;\n    When user select parent, all the children will be selected\n    When selection state is changed, If all children is selected parent will be selected as long as noAutoSelectParent is not true\n    */\n    recursive?: boolean;\n    /* when It is true, If all children is selected, parent will not be selected, while recursive is true*/\n    noAutoSelectParent?: boolean;\n}\n\nexport interface SingleSelectionLogic {\n    singleSelect?: boolean;\n}\n\nexport type ExpandModel = {\n    isExpanded?: boolean;\n};\n\nexport type EuiTreeSelectionChanges = { added: TreeDataModel; removed: TreeDataModel; selection: TreeDataModel };\n\nexport type TreeDataRunTimeModel = Array<TreeItemRunTimeModel>;\n\nexport type TreeItemRunTimeModel = { index: number; path: string; children?: Array<TreeItemRunTimeModel>; last?: boolean, matched?: boolean };\n\nexport type TreeItemSelectionRecursiveModel = {\n    selectionRecursiveState: SelectionRecursiveState;\n    children?: Array<TreeItemSelectionRecursiveModel>;\n};\n\nexport type SelectionRecursiveState = 'indeterminate' | 'allSelected' | 'allNotSelected';\n\n// eslint-disable-next-line prefer-arrow/prefer-arrow-functions\nexport function uxTreeNodesMetaDataMapper(oldTree: Array<UxLinkLegacy>): TreeDataModel {\n    return oldTree.map((item) => {\n        if (item?.typeClass === 'default') {\n            // default typeClass will be\n            item.typeClass = 'secondary';\n        }\n        if (item?.badgeLabel) {\n            // default typeClass will be\n            if (item?.badges?.length > 0) {\n                item.badges.push({ label: item?.badgeLabel, typeClass: 'secondary' });\n            } else {\n                item.badges = [{ label: item?.badgeLabel, typeClass: 'secondary' }];\n            }\n        }\n        return {\n            node: {\n                treeContentBlock: {\n                    label: item.label,\n                    typeLabel: item.typeLabel,\n                    typeClass: item.typeLabel && !item.typeClass ? 'secondary' : item.typeClass,\n                    tooltipLabel: item.tooltipLabel,\n                    url: item.url,\n                    urlExternal: item.urlExternal,\n                    urlExternalTarget: item.urlExternal && item.urlExternalTarget ? item.urlExternalTarget : undefined,\n                    badges: item.badges,\n                    metadata: item.metadata,\n                },\n            },\n            children: item.children ? uxTreeNodesMetaDataMapper(item.children) : undefined,\n        };\n    });\n}\n\nexport class EuiTreePagination<T> {\n    private data: T[];\n    private startPage: number;\n    private totalItems: number;\n    private renderedPageCount: number;\n    private perPage: number;\n    private totalPages: number;\n\n    constructor(data: T[], startPage: number, renderedPageCount: number, perPage: number) {\n        this.data = data;\n        this.setCurrentStartPage(startPage);\n        this.renderedPageCount = renderedPageCount;\n        this.totalItems = this.data.length;\n        this.perPage = perPage;\n        this.totalPages = Math.ceil(this.totalItems / this.perPage);\n    }\n\n    public paginateNext(): { startPage: number; data: T[] } {\n        if (this.startPage < this.totalPages) {\n            this.startPage += 1;\n        }\n        return this.getViewData();\n    }\n\n    public paginatePrev(): { startPage: number; data: T[] } {\n        if (this.startPage > 1) {\n            this.startPage -= 1;\n        }\n        return this.getViewData();\n    }\n\n    public getCurrentStartPage(): number {\n        return this.startPage;\n    }\n\n    public setCurrentStartPage(startPage: number): void {\n        this.startPage = startPage;\n    }\n\n    public isAtMax(): boolean {\n        return this.totalPages < this.startPage + this.renderedPageCount;\n    }\n\n    public getViewData(): { startPage: number; data: T[] } {\n        const startIndex = (this.startPage - 1) * this.perPage;\n        const endIndex = startIndex + this.perPage * this.renderedPageCount;\n        const pageData = structuredClone(this.data).slice(startIndex, endIndex);\n        return {\n            startPage: this.startPage,\n            data: pageData,\n        };\n    }\n}\n\nexport class CustomNodeSelectFnHelper{\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    constructor(private compInstance: any) {\n    }\n\n    select(path: string, isChecked: boolean): void{\n        this.compInstance.silentSelect(path, isChecked);\n    }\n\n    getParents(path: string): Array<string>{\n        return this.compInstance.getParentPaths(path);\n    }\n\n    getTreeItem(path: string): TreeItemModel{\n        return this.compInstance.getTreeItem(path);\n    }\n\n    getSelectionRecursiveState(path: string): TreeItemSelectionRecursiveModel{\n        return this.compInstance.getRunTimeSelectionRecursiveState(path);\n    }\n\n}\n\nexport type CustomNodeSelectFn = (path: string, isChecked:boolean, treeItem: TreeItemModel, helper: CustomNodeSelectFnHelper) => void;\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "compInstance",
                        "type": "any",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 188,
                "jsdoctags": [
                    {
                        "name": "compInstance",
                        "type": "any",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [],
            "methods": [
                {
                    "name": "getParents",
                    "args": [
                        {
                            "name": "path",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Array<string>",
                    "typeParameters": [],
                    "line": 198,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "path",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getSelectionRecursiveState",
                    "args": [
                        {
                            "name": "path",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "TreeItemSelectionRecursiveModel",
                    "typeParameters": [],
                    "line": 206,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "path",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getTreeItem",
                    "args": [
                        {
                            "name": "path",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "TreeItemModel",
                    "typeParameters": [],
                    "line": 202,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "path",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "select",
                    "args": [
                        {
                            "name": "path",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "isChecked",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 194,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "path",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "isChecked",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "EuiAppShellServiceMock",
            "id": "class-EuiAppShellServiceMock-90eb05d6c5dd1ebe04f18651037010fa0ee5f254914f74b4e9ab2e7ba991e8e5f6328fba791ca349a09cb8412d43ecf37a7b00d4fac128011abf21cf6137309f",
            "file": "packages/components/testing/mocks/ux-app-shell-service.mock.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "import { BehaviorSubject, Observable, of } from 'rxjs';\n\nexport class EuiAppShellServiceMock {\n    breakpointSubject: BehaviorSubject<string> = new BehaviorSubject('');\n\n    breakpoints$: Observable<string> = this.breakpointSubject.asObservable();\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    state$: Observable<any> = of({});\n\n    appRouter = {\n        navigate: (url): string => url,\n    };\n\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    getState(): Observable<any> {\n        return of({});\n    }\n\n    consumeEvent(): void {\n        /* empty */\n    }\n}\n",
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "appRouter",
                    "defaultValue": "{\n        navigate: (url): string => url,\n    }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "object",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10
                },
                {
                    "name": "breakpoints$",
                    "defaultValue": "this.breakpointSubject.asObservable()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Observable<string>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 6
                },
                {
                    "name": "breakpointSubject",
                    "defaultValue": "new BehaviorSubject('')",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BehaviorSubject<string>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 4
                },
                {
                    "name": "state$",
                    "defaultValue": "of({})",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Observable<any>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 8
                }
            ],
            "methods": [
                {
                    "name": "consumeEvent",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 19,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "getState",
                    "args": [],
                    "optional": false,
                    "returnType": "Observable<any>",
                    "typeParameters": [],
                    "line": 15,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "EuiChip",
            "id": "class-EuiChip-cba897cce995b5c7d63911c166cbe530b293e1da7bfbbdad00d59e277682c15de25361d868b38bd1865fd8a8420c6ba4649cf93db38a46551e3aa2c2cbaf10c3",
            "file": "packages/components/eui-chip/models/eui-chip.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "export class EuiChip {\n    id: string | number;\n    euiInternalId: string;\n    label: string;\n    isRemovable = false;\n    isOutline = false;\n    isRounded = false;\n    isDisabled = false;\n    variant: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent' = 'primary';\n    tooltip: EuiChipTooltip = new EuiChipTooltip();\n    iconClass?: string;\n    iconSvgName?: string;\n\n    constructor(values = {}) {\n        Object.assign(this, values);\n    }\n}\n\nexport class EuiChipTooltip {\n    tooltipMessage: string;\n    position?: 'above' | 'below' | 'left' | 'right' | 'before' | 'after' = 'above';\n    contentAlignment?: 'center' | 'left' | 'right' | 'justify' = 'center';\n    delay? = 0;\n\n    constructor(values = {}) {\n        Object.assign(this, values);\n    }\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "values",
                        "type": "object",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}"
                    }
                ],
                "line": 12,
                "jsdoctags": [
                    {
                        "name": "values",
                        "type": "object",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "euiInternalId",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 3
                },
                {
                    "name": "iconClass",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 11
                },
                {
                    "name": "iconSvgName",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 12
                },
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string | number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 2
                },
                {
                    "name": "isDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "isOutline",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 6
                },
                {
                    "name": "isRemovable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 5
                },
                {
                    "name": "isRounded",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 7
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 4
                },
                {
                    "name": "tooltip",
                    "defaultValue": "new EuiChipTooltip()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiChipTooltip",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10
                },
                {
                    "name": "variant",
                    "defaultValue": "'primary'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"primary\" | \"secondary\" | \"info\" | \"success\" | \"warning\" | \"danger\" | \"accent\"",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 9
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "EuiChipTooltip",
            "id": "class-EuiChipTooltip-cba897cce995b5c7d63911c166cbe530b293e1da7bfbbdad00d59e277682c15de25361d868b38bd1865fd8a8420c6ba4649cf93db38a46551e3aa2c2cbaf10c3",
            "file": "packages/components/eui-chip/models/eui-chip.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "export class EuiChip {\n    id: string | number;\n    euiInternalId: string;\n    label: string;\n    isRemovable = false;\n    isOutline = false;\n    isRounded = false;\n    isDisabled = false;\n    variant: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent' = 'primary';\n    tooltip: EuiChipTooltip = new EuiChipTooltip();\n    iconClass?: string;\n    iconSvgName?: string;\n\n    constructor(values = {}) {\n        Object.assign(this, values);\n    }\n}\n\nexport class EuiChipTooltip {\n    tooltipMessage: string;\n    position?: 'above' | 'below' | 'left' | 'right' | 'before' | 'after' = 'above';\n    contentAlignment?: 'center' | 'left' | 'right' | 'justify' = 'center';\n    delay? = 0;\n\n    constructor(values = {}) {\n        Object.assign(this, values);\n    }\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "values",
                        "type": "object",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}"
                    }
                ],
                "line": 23,
                "jsdoctags": [
                    {
                        "name": "values",
                        "type": "object",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "contentAlignment",
                    "defaultValue": "'center'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"center\" | \"left\" | \"right\" | \"justify\"",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 22
                },
                {
                    "name": "delay",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 23
                },
                {
                    "name": "position",
                    "defaultValue": "'above'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"above\" | \"below\" | \"left\" | \"right\" | \"before\" | \"after\"",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 21
                },
                {
                    "name": "tooltipMessage",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 20
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "EuiDialogComponentInstances",
            "id": "class-EuiDialogComponentInstances-f583067ad407f3f153952a162c19ea60f5e9bb0f9c1daf374be351d0b5240b51ffff2fdc987d4aeb960934f627b768242cc8efe67f7d5756aea27f2aa944ff2f",
            "file": "packages/components/eui-dialog/models/eui-dialog.config.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "import { OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentType, TemplatePortal } from '@angular/cdk/portal';\nimport { EuiDialogVerticalPosition } from './eui-dialog-alignment';\n\nexport class EuiDialogConfig<HC, HCC, BC, BCC, FC, FCC> implements EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {\n    e2eAttr = 'eui-message-box';\n    acceptLabel = 'eui.OK';\n    dismissLabel = 'eui.CANCEL';\n    width = '50%';\n    height = 'auto';\n    isFullScreen = false;\n    hasCloseButton = true;\n    hasAcceptButton = true;\n    hasDismissButton = true;\n    hasMobileCustomSize = false;\n    hasClosedOnClickOutside = false;\n    hasClosedOnEscape = true;\n    isHandleCloseOnDismiss = false;\n    isHandleCloseOnClose = false;\n    isHandleCloseOnAccept = false;\n    isHandleCloseOnClickOutside = false;\n    isHandleCloseOnEscape = false;\n    hasFooter = true;\n    isMessageBox = false;\n    classList = null;\n\n    constructor(values: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>) {\n        Object.assign(this, values);\n    }\n}\n\nexport interface EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {\n    dialogId?: string;\n    e2eAttr?: string;\n    title?: string;\n    variant?: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent' | string;\n    acceptLabel?: string;\n    dismissLabel?: string;\n    width?: string;\n    height?: string;\n    isFullScreen?: boolean;\n    headerComponent?: {\n        component: ComponentType<HC>;\n        config?: HCC;\n    };\n    bodyComponent?: {\n        component: ComponentType<BC>;\n        config?: BCC;\n    };\n    footerComponent?: {\n        component: ComponentType<FC>;\n        config?: FCC;\n    };\n    header?: TemplatePortal;\n    content?: TemplatePortal | string | null;\n    footer?: TemplatePortal;\n    hasCloseButton?: boolean;\n    hasAcceptButton?: boolean;\n    hasDismissButton?: boolean;\n    hasMobileCustomSize?: boolean;\n    hasClosedOnClickOutside?: boolean;\n    hasClosedOnEscape?: boolean;\n    isHandleCloseOnDismiss?: boolean;\n    isHandleCloseOnClose?: boolean;\n    isHandleCloseOnAccept?: boolean;\n    isHandleCloseOnClickOutside?: boolean;\n    isHandleCloseOnEscape?: boolean;\n    isDraggable?: boolean;\n    hasNoBodyPadding?: boolean;\n    hasFooter?: boolean;\n    isMessageBox?: boolean;\n    verticalPosition?: EuiDialogVerticalPosition;\n    classList?: string;\n\n    overlayRef?: OverlayRef;\n\n    open?: () => void;\n    init?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n    clickOutside?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n    escape?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n    close?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n    dismiss?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n    accept?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n}\n\nexport class EuiDialogComponentInstances<HC, BC, FC> {\n    headerComponent: HC = null;\n    bodyComponent: BC = null;\n    footerComponent: FC = null;\n}\n",
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "bodyComponent",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BC",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 88
                },
                {
                    "name": "footerComponent",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "FC",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 89
                },
                {
                    "name": "headerComponent",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "HC",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 87
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "EuiDialogConfig",
            "id": "class-EuiDialogConfig-f583067ad407f3f153952a162c19ea60f5e9bb0f9c1daf374be351d0b5240b51ffff2fdc987d4aeb960934f627b768242cc8efe67f7d5756aea27f2aa944ff2f",
            "file": "packages/components/eui-dialog/models/eui-dialog.config.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "import { OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentType, TemplatePortal } from '@angular/cdk/portal';\nimport { EuiDialogVerticalPosition } from './eui-dialog-alignment';\n\nexport class EuiDialogConfig<HC, HCC, BC, BCC, FC, FCC> implements EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {\n    e2eAttr = 'eui-message-box';\n    acceptLabel = 'eui.OK';\n    dismissLabel = 'eui.CANCEL';\n    width = '50%';\n    height = 'auto';\n    isFullScreen = false;\n    hasCloseButton = true;\n    hasAcceptButton = true;\n    hasDismissButton = true;\n    hasMobileCustomSize = false;\n    hasClosedOnClickOutside = false;\n    hasClosedOnEscape = true;\n    isHandleCloseOnDismiss = false;\n    isHandleCloseOnClose = false;\n    isHandleCloseOnAccept = false;\n    isHandleCloseOnClickOutside = false;\n    isHandleCloseOnEscape = false;\n    hasFooter = true;\n    isMessageBox = false;\n    classList = null;\n\n    constructor(values: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>) {\n        Object.assign(this, values);\n    }\n}\n\nexport interface EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {\n    dialogId?: string;\n    e2eAttr?: string;\n    title?: string;\n    variant?: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent' | string;\n    acceptLabel?: string;\n    dismissLabel?: string;\n    width?: string;\n    height?: string;\n    isFullScreen?: boolean;\n    headerComponent?: {\n        component: ComponentType<HC>;\n        config?: HCC;\n    };\n    bodyComponent?: {\n        component: ComponentType<BC>;\n        config?: BCC;\n    };\n    footerComponent?: {\n        component: ComponentType<FC>;\n        config?: FCC;\n    };\n    header?: TemplatePortal;\n    content?: TemplatePortal | string | null;\n    footer?: TemplatePortal;\n    hasCloseButton?: boolean;\n    hasAcceptButton?: boolean;\n    hasDismissButton?: boolean;\n    hasMobileCustomSize?: boolean;\n    hasClosedOnClickOutside?: boolean;\n    hasClosedOnEscape?: boolean;\n    isHandleCloseOnDismiss?: boolean;\n    isHandleCloseOnClose?: boolean;\n    isHandleCloseOnAccept?: boolean;\n    isHandleCloseOnClickOutside?: boolean;\n    isHandleCloseOnEscape?: boolean;\n    isDraggable?: boolean;\n    hasNoBodyPadding?: boolean;\n    hasFooter?: boolean;\n    isMessageBox?: boolean;\n    verticalPosition?: EuiDialogVerticalPosition;\n    classList?: string;\n\n    overlayRef?: OverlayRef;\n\n    open?: () => void;\n    init?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n    clickOutside?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n    escape?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n    close?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n    dismiss?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n    accept?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n}\n\nexport class EuiDialogComponentInstances<HC, BC, FC> {\n    headerComponent: HC = null;\n    bodyComponent: BC = null;\n    footerComponent: FC = null;\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "values",
                        "type": "EuiDialogInterface<HC | HCC | BC | BCC | FC | FCC>",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 25,
                "jsdoctags": [
                    {
                        "name": "values",
                        "type": "EuiDialogInterface<HC | HCC | BC | BCC | FC | FCC>",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "acceptLabel",
                    "defaultValue": "'eui.OK'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 7
                },
                {
                    "name": "classList",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "null",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 25
                },
                {
                    "name": "dismissLabel",
                    "defaultValue": "'eui.CANCEL'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-message-box'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 6
                },
                {
                    "name": "hasAcceptButton",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 13
                },
                {
                    "name": "hasCloseButton",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 12
                },
                {
                    "name": "hasClosedOnClickOutside",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 16
                },
                {
                    "name": "hasClosedOnEscape",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 17
                },
                {
                    "name": "hasDismissButton",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 14
                },
                {
                    "name": "hasFooter",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 23
                },
                {
                    "name": "hasMobileCustomSize",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 15
                },
                {
                    "name": "height",
                    "defaultValue": "'auto'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10
                },
                {
                    "name": "isFullScreen",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 11
                },
                {
                    "name": "isHandleCloseOnAccept",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 20
                },
                {
                    "name": "isHandleCloseOnClickOutside",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 21
                },
                {
                    "name": "isHandleCloseOnClose",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 19
                },
                {
                    "name": "isHandleCloseOnDismiss",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 18
                },
                {
                    "name": "isHandleCloseOnEscape",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 22
                },
                {
                    "name": "isMessageBox",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 24
                },
                {
                    "name": "width",
                    "defaultValue": "'50%'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 9
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "implements": [
                "EuiDialogInterface"
            ]
        },
        {
            "name": "EuiMessageBoxComponentInstances",
            "id": "class-EuiMessageBoxComponentInstances-449f23ecc7e22df2cabbe817f272b55c71fe9031373f623e64fd01a894c0cfe4601abb04196db19198ef20b27f86ec5576964b6c929574cdb01f8b0300efa469",
            "file": "packages/components/eui-message-box/models/eui-message-box.config.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "import { EuiDialogInterface } from '@eui/components/eui-dialog';\n\nexport class EuiMessageBoxConfig<HC, HCC, BC, BCC, FC, FCC> implements EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {\n    e2eAttr = 'eui-message-box';\n    acceptLabel = 'eui.OK';\n    dismissLabel = 'eui.CANCEL';\n    variant: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent' | string = 'primary';\n    width = '33rem';\n    height = 'auto';\n    hasCloseButton = false;\n    hasAcceptButton = true;\n    hasDismissButton = true;\n    hasClosedOnClickOutside = false;\n    hasClosedOnEscape = false;\n    isHandleCloseOnDismiss = false;\n    isHandleCloseOnClose = false;\n    isHandleCloseOnAccept = false;\n    isHandleCloseOnClickOutside = false;\n    isHandleCloseOnEscape = false;\n    hasFooter = true;\n    isMessageBox = true;\n    header = null;\n    headerComponent = null;\n\n    constructor(values: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>) {\n        Object.assign(this, values);\n    }\n}\n\nexport class EuiMessageBoxComponentInstances<HC, BC, FC> {\n    headerComponent: HC = null;\n    bodyComponent: BC = null;\n    footerComponent: FC = null;\n}\n",
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "bodyComponent",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BC",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 32
                },
                {
                    "name": "footerComponent",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "FC",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 33
                },
                {
                    "name": "headerComponent",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "HC",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 31
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "EuiMessageBoxConfig",
            "id": "class-EuiMessageBoxConfig-449f23ecc7e22df2cabbe817f272b55c71fe9031373f623e64fd01a894c0cfe4601abb04196db19198ef20b27f86ec5576964b6c929574cdb01f8b0300efa469",
            "file": "packages/components/eui-message-box/models/eui-message-box.config.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "import { EuiDialogInterface } from '@eui/components/eui-dialog';\n\nexport class EuiMessageBoxConfig<HC, HCC, BC, BCC, FC, FCC> implements EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {\n    e2eAttr = 'eui-message-box';\n    acceptLabel = 'eui.OK';\n    dismissLabel = 'eui.CANCEL';\n    variant: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent' | string = 'primary';\n    width = '33rem';\n    height = 'auto';\n    hasCloseButton = false;\n    hasAcceptButton = true;\n    hasDismissButton = true;\n    hasClosedOnClickOutside = false;\n    hasClosedOnEscape = false;\n    isHandleCloseOnDismiss = false;\n    isHandleCloseOnClose = false;\n    isHandleCloseOnAccept = false;\n    isHandleCloseOnClickOutside = false;\n    isHandleCloseOnEscape = false;\n    hasFooter = true;\n    isMessageBox = true;\n    header = null;\n    headerComponent = null;\n\n    constructor(values: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>) {\n        Object.assign(this, values);\n    }\n}\n\nexport class EuiMessageBoxComponentInstances<HC, BC, FC> {\n    headerComponent: HC = null;\n    bodyComponent: BC = null;\n    footerComponent: FC = null;\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "values",
                        "type": "EuiDialogInterface<HC | HCC | BC | BCC | FC | FCC>",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 23,
                "jsdoctags": [
                    {
                        "name": "values",
                        "type": "EuiDialogInterface<HC | HCC | BC | BCC | FC | FCC>",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "acceptLabel",
                    "defaultValue": "'eui.OK'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 5
                },
                {
                    "name": "dismissLabel",
                    "defaultValue": "'eui.CANCEL'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 6
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-message-box'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 4
                },
                {
                    "name": "hasAcceptButton",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 11
                },
                {
                    "name": "hasCloseButton",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10
                },
                {
                    "name": "hasClosedOnClickOutside",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 13
                },
                {
                    "name": "hasClosedOnEscape",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 14
                },
                {
                    "name": "hasDismissButton",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 12
                },
                {
                    "name": "hasFooter",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 20
                },
                {
                    "name": "header",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "null",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 22
                },
                {
                    "name": "headerComponent",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "null",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 23
                },
                {
                    "name": "height",
                    "defaultValue": "'auto'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 9
                },
                {
                    "name": "isHandleCloseOnAccept",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 17
                },
                {
                    "name": "isHandleCloseOnClickOutside",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 18
                },
                {
                    "name": "isHandleCloseOnClose",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 16
                },
                {
                    "name": "isHandleCloseOnDismiss",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 15
                },
                {
                    "name": "isHandleCloseOnEscape",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 19
                },
                {
                    "name": "isMessageBox",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 21
                },
                {
                    "name": "variant",
                    "defaultValue": "'primary'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"primary\" | \"secondary\" | \"info\" | \"success\" | \"warning\" | \"danger\" | \"accent\" | string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 7
                },
                {
                    "name": "width",
                    "defaultValue": "'33rem'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 8
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "implements": [
                "EuiDialogInterface"
            ]
        },
        {
            "name": "EuiTooltipConfig",
            "id": "class-EuiTooltipConfig-c837ee123a26292c1a1eda2631db908582a6d680ba149be4a7b265bb00ef3437c6e27cf3aca988eeef0c042b865206e6e05c09237d708d5ad542d6eb0fea0950",
            "file": "packages/components/directives/eui-tooltip/models/eui-tooltip.config.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "export class EuiTooltipConfig implements EuiTooltipInterface {\n    e2eAttr = 'eui-tooltip';\n    tooltipContent = null;\n    position: 'left' | 'right' | 'above' | 'below' | 'before' | 'after' | string = 'above';\n    contentAlign: 'left' | 'right' | 'center' | 'justify' = 'center';\n    colorClass = null;\n\n    constructor(values: EuiTooltipInterface) {\n        Object.assign(this, values);\n    }\n}\n\nexport interface EuiTooltipInterface {\n    e2eAttr: string;\n    tooltipContent: string;\n    position: 'left' | 'right' | 'above' | 'below' | 'before' | 'after' | string;\n    contentAlign: 'left' | 'right' | 'center' | 'justify';\n    colorClass: string;\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "values",
                        "type": "EuiTooltipInterface",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 6,
                "jsdoctags": [
                    {
                        "name": "values",
                        "type": "EuiTooltipInterface",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "colorClass",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "null",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 6
                },
                {
                    "name": "contentAlign",
                    "defaultValue": "'center'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"left\" | \"right\" | \"center\" | \"justify\"",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 5
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-tooltip'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 2
                },
                {
                    "name": "position",
                    "defaultValue": "'above'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"left\" | \"right\" | \"above\" | \"below\" | \"before\" | \"after\" | string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 4
                },
                {
                    "name": "tooltipContent",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "null",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 3
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "implements": [
                "EuiTooltipInterface"
            ]
        },
        {
            "name": "EuiTreeHelper",
            "id": "class-EuiTreeHelper-5f6a289b14a16909b0ebc7e17d99989e4e6df9686bf907e663fa45a337388a639b4043dcbb7f9fdeba18f9016815db6d60dae8ea16c776e43f94be9be18fa4f2",
            "file": "packages/components/eui-tree/eui-tree-helper.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "import { TreeDataModel, TreeItemModel } from './eui-tree.model';\n\n/**\n * @description\n * Utility class for navigating and querying hierarchical tree data structures.\n * Provides methods to locate nodes by value, retrieve paths, and extract items from tree data.\n * Supports custom identifier keys for flexible node matching across different tree schemas.\n * Commonly used with eui-tree component for programmatic tree manipulation and node lookup.\n *\n * @usageNotes\n * ### Basic Usage\n * ```typescript\n * const treeData: TreeDataModel = [\n *   {\n *     node: { treeContentBlock: { id: '1', label: 'Root' } },\n *     children: [\n *       { node: { treeContentBlock: { id: '1.1', label: 'Child' } } }\n *     ]\n *   }\n * ];\n *\n * const helper = new EuiTreeHelper(treeData);\n *\n * // Get path to a node by ID\n * const path = helper.getPath('1.1', 'node.treeContentBlock.id');\n * // Returns: '0.0'\n *\n * // Get multiple paths\n * const paths = helper.getPaths(['1', '1.1'], 'node.treeContentBlock.id');\n * // Returns: ['0', '0.0']\n *\n * // Get actual tree items\n * const items = helper.getItems(['1.1'], 'node.treeContentBlock.id');\n * // Returns: [TreeItemModel]\n * ```\n *\n * ### With Custom Identifier\n * ```typescript\n * // Tree with custom structure\n * const customTree = [\n *   { node: { customId: 'abc', label: 'Item' } }\n * ];\n *\n * const helper = new EuiTreeHelper(customTree);\n * const path = helper.getPath('abc', 'node.customId');\n * ```\n *\n * ### Accessibility\n * - Helper methods are synchronous and non-blocking\n * - No direct accessibility concerns (utility class)\n *\n * ### Notes\n * - Path format uses dot notation: '0.2.1' (indices at each level)\n * - Supports deeply nested tree structures\n * - Deep equality comparison for complex value matching\n * - Identifier key uses dot notation for nested properties\n * - Returns null/empty array if no matches found\n */\nexport class EuiTreeHelper {\n    private readonly treeData: TreeDataModel;\n\n    constructor(treeData: TreeDataModel) {\n        this.treeData = treeData;\n    }\n\n    /**\n     * Retrieves the path string for a single node matching the provided value.\n     * Path format uses dot notation with indices (e.g., '0.2.1' for first child, third grandchild, second great-grandchild).\n     * \n     * @param value - Value to search for in the tree\n     * @param identifierKey - Dot-notation property path to use for matching (e.g., 'node.treeContentBlock.id'). Default: 'node.treeContentBlock.id'\n     * @returns Path string to the matched node, or null if not found\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    public getPath(value: any, identifierKey = 'node.treeContentBlock.id'): string {\n        if(typeof value !=='undefined'){\n        const paths: Array<string> = [];\n        this.traverse(this.treeData, '', [value], paths, undefined, identifierKey);\n        return paths[0];\n        }\n        return null;\n    }\n\n    /**\n     * Retrieves path strings for multiple nodes matching the provided values.\n     * Returns paths in the order nodes are found during tree traversal.\n     * \n     * @param values - Array of values to search for in the tree\n     * @param identifierKey - Dot-notation property path to use for matching\n     * @returns Array of path strings to matched nodes\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    public getPaths(values: Array<any>, identifierKey?: string): Array<string> {\n        const paths: Array<string> = [];\n        this.traverse(this.treeData, '', values, paths, undefined, identifierKey);\n        return paths;\n    }\n\n    /**\n     * Retrieves the actual TreeItemModel objects for nodes matching the provided values.\n     * Returns full node data including children and metadata.\n     * \n     * @param values - Array of values to search for in the tree\n     * @param identifierKey - Dot-notation property path to use for matching\n     * @returns Array of TreeItemModel objects for matched nodes\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    public getItems(values: Array<any>, identifierKey?: string): Array<TreeItemModel> {\n        const matchedItems: Array<TreeItemModel> = [];\n        this.traverse(this.treeData, '', values, undefined, matchedItems, identifierKey);\n        return matchedItems;\n    }\n\n    private traverse(\n        tree: TreeDataModel,\n        currentPath: string,\n        // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        values: Array<any>,\n        paths?: Array<string>,\n        items?: Array<TreeItemModel>,\n        identifierKey?: string,\n    ): void {\n        for (const [i, item] of tree.entries()) {\n            const valueToCheck = identifierKey ? this.getValueAtKey(item, identifierKey) : item;\n\n            if (values.some((v) => this.deepEqual(v, valueToCheck))) {\n                if (paths) paths.push(`${currentPath}${i}`);\n                if (items) items.push(item);\n            }\n\n            if (item.children && item.children.length) {\n                this.traverse(item.children, `${currentPath}${i}.`, values, paths, items, identifierKey);\n            }\n        }\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    private getValueAtKey(object: any, key: string): any {\n        const keys = key.split('.');\n        let current = object;\n        for (const k of keys) {\n            if (current[k] !== undefined) {\n                current = current[k];\n            } else {\n                return undefined;\n            }\n        }\n        return current;\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    private deepEqual(obj1: any, obj2: any): boolean {\n        if (obj1 === obj2) {\n            return true;\n        }\n        if (typeof obj1 !== 'object' || obj1 === null || typeof obj2 !== 'object' || obj2 === null) {\n            return false;\n        }\n        const keys1 = Object.keys(obj1);\n        const keys2 = Object.keys(obj2);\n\n        if (keys1.length !== keys2.length) {\n            return false;\n        }\n        for (const key of keys1) {\n            if (!keys2.includes(key) || !this.deepEqual(obj1[key], obj2[key])) {\n                return false;\n            }\n        }\n        return true;\n    }\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "treeData",
                        "type": "TreeDataModel",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 60,
                "jsdoctags": [
                    {
                        "name": "treeData",
                        "type": "TreeDataModel",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [],
            "description": "<p>Utility class for navigating and querying hierarchical tree data structures.\nProvides methods to locate nodes by value, retrieve paths, and extract items from tree data.\nSupports custom identifier keys for flexible node matching across different tree schemas.\nCommonly used with eui-tree component for programmatic tree manipulation and node lookup.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">const treeData: TreeDataModel = [\n  {\n    node: { treeContentBlock: { id: &#39;1&#39;, label: &#39;Root&#39; } },\n    children: [\n      { node: { treeContentBlock: { id: &#39;1.1&#39;, label: &#39;Child&#39; } } }\n    ]\n  }\n];\n\nconst helper = new EuiTreeHelper(treeData);\n\n// Get path to a node by ID\nconst path = helper.getPath(&#39;1.1&#39;, &#39;node.treeContentBlock.id&#39;);\n// Returns: &#39;0.0&#39;\n\n// Get multiple paths\nconst paths = helper.getPaths([&#39;1&#39;, &#39;1.1&#39;], &#39;node.treeContentBlock.id&#39;);\n// Returns: [&#39;0&#39;, &#39;0.0&#39;]\n\n// Get actual tree items\nconst items = helper.getItems([&#39;1.1&#39;], &#39;node.treeContentBlock.id&#39;);\n// Returns: [TreeItemModel]</code></pre></div><h3>With Custom Identifier</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">// Tree with custom structure\nconst customTree = [\n  { node: { customId: &#39;abc&#39;, label: &#39;Item&#39; } }\n];\n\nconst helper = new EuiTreeHelper(customTree);\nconst path = helper.getPath(&#39;abc&#39;, &#39;node.customId&#39;);</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Helper methods are synchronous and non-blocking</li>\n<li>No direct accessibility concerns (utility class)</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Path format uses dot notation: &#39;0.2.1&#39; (indices at each level)</li>\n<li>Supports deeply nested tree structures</li>\n<li>Deep equality comparison for complex value matching</li>\n<li>Identifier key uses dot notation for nested properties</li>\n<li>Returns null/empty array if no matches found</li>\n</ul>\n",
            "rawdescription": "\n\nUtility class for navigating and querying hierarchical tree data structures.\nProvides methods to locate nodes by value, retrieve paths, and extract items from tree data.\nSupports custom identifier keys for flexible node matching across different tree schemas.\nCommonly used with eui-tree component for programmatic tree manipulation and node lookup.\n\n### Basic Usage\n```typescript\nconst treeData: TreeDataModel = [\n  {\n    node: { treeContentBlock: { id: '1', label: 'Root' } },\n    children: [\n      { node: { treeContentBlock: { id: '1.1', label: 'Child' } } }\n    ]\n  }\n];\n\nconst helper = new EuiTreeHelper(treeData);\n\n// Get path to a node by ID\nconst path = helper.getPath('1.1', 'node.treeContentBlock.id');\n// Returns: '0.0'\n\n// Get multiple paths\nconst paths = helper.getPaths(['1', '1.1'], 'node.treeContentBlock.id');\n// Returns: ['0', '0.0']\n\n// Get actual tree items\nconst items = helper.getItems(['1.1'], 'node.treeContentBlock.id');\n// Returns: [TreeItemModel]\n```\n\n### With Custom Identifier\n```typescript\n// Tree with custom structure\nconst customTree = [\n  { node: { customId: 'abc', label: 'Item' } }\n];\n\nconst helper = new EuiTreeHelper(customTree);\nconst path = helper.getPath('abc', 'node.customId');\n```\n\n### Accessibility\n- Helper methods are synchronous and non-blocking\n- No direct accessibility concerns (utility class)\n\n### Notes\n- Path format uses dot notation: '0.2.1' (indices at each level)\n- Supports deeply nested tree structures\n- Deep equality comparison for complex value matching\n- Identifier key uses dot notation for nested properties\n- Returns null/empty array if no matches found\n",
            "methods": [
                {
                    "name": "getItems",
                    "args": [
                        {
                            "name": "values",
                            "type": "Array<any>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "identifierKey",
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Array<TreeItemModel>",
                    "typeParameters": [],
                    "line": 111,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRetrieves the actual TreeItemModel objects for nodes matching the provided values.\nReturns full node data including children and metadata.\n\n",
                    "description": "<p>Retrieves the actual TreeItemModel objects for nodes matching the provided values.\nReturns full node data including children and metadata.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 4014,
                                "end": 4020,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "values"
                            },
                            "type": "Array<any>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 4008,
                                "end": 4013,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Array of values to search for in the tree</li>\n</ul>\n"
                        },
                        {
                            "name": {
                                "pos": 4079,
                                "end": 4092,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "identifierKey"
                            },
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 4073,
                                "end": 4078,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Dot-notation property path to use for matching</li>\n</ul>\n"
                        },
                        {
                            "tagName": {
                                "pos": 4150,
                                "end": 4157,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Array of TreeItemModel objects for matched nodes</p>\n"
                        }
                    ]
                },
                {
                    "name": "getPath",
                    "args": [
                        {
                            "name": "value",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "identifierKey",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "'node.treeContentBlock.id'"
                        }
                    ],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 76,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRetrieves the path string for a single node matching the provided value.\nPath format uses dot notation with indices (e.g., '0.2.1' for first child, third grandchild, second great-grandchild).\n\n",
                    "description": "<p>Retrieves the path string for a single node matching the provided value.\nPath format uses dot notation with indices (e.g., &#39;0.2.1&#39; for first child, third grandchild, second great-grandchild).</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2269,
                                "end": 2274,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "value"
                            },
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2263,
                                "end": 2268,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Value to search for in the tree</li>\n</ul>\n"
                        },
                        {
                            "name": {
                                "pos": 2323,
                                "end": 2336,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "identifierKey"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "'node.treeContentBlock.id'",
                            "tagName": {
                                "pos": 2317,
                                "end": 2322,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Dot-notation property path to use for matching (e.g., &#39;node.treeContentBlock.id&#39;). Default: &#39;node.treeContentBlock.id&#39;</li>\n</ul>\n"
                        },
                        {
                            "tagName": {
                                "pos": 2466,
                                "end": 2473,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Path string to the matched node, or null if not found</p>\n"
                        }
                    ]
                },
                {
                    "name": "getPaths",
                    "args": [
                        {
                            "name": "values",
                            "type": "Array<any>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "identifierKey",
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Array<string>",
                    "typeParameters": [],
                    "line": 95,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRetrieves path strings for multiple nodes matching the provided values.\nReturns paths in the order nodes are found during tree traversal.\n\n",
                    "description": "<p>Retrieves path strings for multiple nodes matching the provided values.\nReturns paths in the order nodes are found during tree traversal.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 3219,
                                "end": 3225,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "values"
                            },
                            "type": "Array<any>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3213,
                                "end": 3218,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Array of values to search for in the tree</li>\n</ul>\n"
                        },
                        {
                            "name": {
                                "pos": 3284,
                                "end": 3297,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "identifierKey"
                            },
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3278,
                                "end": 3283,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Dot-notation property path to use for matching</li>\n</ul>\n"
                        },
                        {
                            "tagName": {
                                "pos": 3355,
                                "end": 3362,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Array of path strings to matched nodes</p>\n"
                        }
                    ]
                }
            ],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "EuiTreePagination",
            "id": "class-EuiTreePagination-58c183b5c86bff3152aea9b2ea3814c42c064cbafd35827be581b9f14da427bba9788856dc9f44dc7032f38109e5c22b8dfbcd004baca90c9a2f8feef39320a1",
            "file": "packages/components/eui-tree/eui-tree.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "import { UxLinkLegacy } from '@eui/core';\n\nexport type TreeDataModel = Array<TreeItemModel>;\n\nexport type TreeItemModel = {\n    node: TreeNode;\n    children?: TreeDataModel;\n};\n\nexport type TreeNode = {\n    // metadata can be block content, or any\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    treeContentBlock: EuiTreeContentBlockModel | any;\n} & SelectionModel &\n    ExpandModel;\n\nexport interface EuiTreeContentBlockModel {\n    id?: string | number;\n    label: string;\n    tooltipLabel: string;\n    url: string;\n    urlExternal: string;\n    urlExternalTarget: string;\n    typeLabel: string;\n    typeClass: string;\n    chips?: Array<{ label: string; typeClass?: string; isOutline?: boolean }>;\n    iconClass: string;\n    iconTypeClass: string;\n    iconSvgName?: string;\n    rightContent?: {\n        iconClass: string;\n        iconTypeClass: string;\n        iconSvgName?: string;\n        badges?: Array<{ label: string; typeClass: string }>;\n        chips?: Array<{ label: string; typeClass?: string; isOutline?: boolean }>;\n        // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        contextMenuMetaData?: any;\n    };\n    metaData: string;\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    [key: string]: any;\n}\n\nexport type SelectionModel = {\n    selectable?: boolean;\n    isSelected?: boolean;\n    // if one of sub is selected, it becomes intermediate\n    isIndeterminate?: boolean;\n    selectConfig?: SelectConfigModel;\n};\n\nexport interface SelectConfigModel extends MultiSelectionLogic, SingleSelectionLogic {\n    /*\n    If It is true;\n    When user select parent, all the children will be selected\n    When selection state is changed, If all children is selected parent will be selected as long as noAutoSelectParent is not true\n    */\n    recursive?: boolean;\n    /* when It is true, If all children is selected, parent will not be selected, while recursive is true*/\n    noAutoSelectParent?: boolean;\n    singleSelect?: boolean;\n}\n\nexport interface MultiSelectionLogic {\n    /*\n    If It is true;\n    When user select parent, all the children will be selected\n    When selection state is changed, If all children is selected parent will be selected as long as noAutoSelectParent is not true\n    */\n    recursive?: boolean;\n    /* when It is true, If all children is selected, parent will not be selected, while recursive is true*/\n    noAutoSelectParent?: boolean;\n}\n\nexport interface SingleSelectionLogic {\n    singleSelect?: boolean;\n}\n\nexport type ExpandModel = {\n    isExpanded?: boolean;\n};\n\nexport type EuiTreeSelectionChanges = { added: TreeDataModel; removed: TreeDataModel; selection: TreeDataModel };\n\nexport type TreeDataRunTimeModel = Array<TreeItemRunTimeModel>;\n\nexport type TreeItemRunTimeModel = { index: number; path: string; children?: Array<TreeItemRunTimeModel>; last?: boolean, matched?: boolean };\n\nexport type TreeItemSelectionRecursiveModel = {\n    selectionRecursiveState: SelectionRecursiveState;\n    children?: Array<TreeItemSelectionRecursiveModel>;\n};\n\nexport type SelectionRecursiveState = 'indeterminate' | 'allSelected' | 'allNotSelected';\n\n// eslint-disable-next-line prefer-arrow/prefer-arrow-functions\nexport function uxTreeNodesMetaDataMapper(oldTree: Array<UxLinkLegacy>): TreeDataModel {\n    return oldTree.map((item) => {\n        if (item?.typeClass === 'default') {\n            // default typeClass will be\n            item.typeClass = 'secondary';\n        }\n        if (item?.badgeLabel) {\n            // default typeClass will be\n            if (item?.badges?.length > 0) {\n                item.badges.push({ label: item?.badgeLabel, typeClass: 'secondary' });\n            } else {\n                item.badges = [{ label: item?.badgeLabel, typeClass: 'secondary' }];\n            }\n        }\n        return {\n            node: {\n                treeContentBlock: {\n                    label: item.label,\n                    typeLabel: item.typeLabel,\n                    typeClass: item.typeLabel && !item.typeClass ? 'secondary' : item.typeClass,\n                    tooltipLabel: item.tooltipLabel,\n                    url: item.url,\n                    urlExternal: item.urlExternal,\n                    urlExternalTarget: item.urlExternal && item.urlExternalTarget ? item.urlExternalTarget : undefined,\n                    badges: item.badges,\n                    metadata: item.metadata,\n                },\n            },\n            children: item.children ? uxTreeNodesMetaDataMapper(item.children) : undefined,\n        };\n    });\n}\n\nexport class EuiTreePagination<T> {\n    private data: T[];\n    private startPage: number;\n    private totalItems: number;\n    private renderedPageCount: number;\n    private perPage: number;\n    private totalPages: number;\n\n    constructor(data: T[], startPage: number, renderedPageCount: number, perPage: number) {\n        this.data = data;\n        this.setCurrentStartPage(startPage);\n        this.renderedPageCount = renderedPageCount;\n        this.totalItems = this.data.length;\n        this.perPage = perPage;\n        this.totalPages = Math.ceil(this.totalItems / this.perPage);\n    }\n\n    public paginateNext(): { startPage: number; data: T[] } {\n        if (this.startPage < this.totalPages) {\n            this.startPage += 1;\n        }\n        return this.getViewData();\n    }\n\n    public paginatePrev(): { startPage: number; data: T[] } {\n        if (this.startPage > 1) {\n            this.startPage -= 1;\n        }\n        return this.getViewData();\n    }\n\n    public getCurrentStartPage(): number {\n        return this.startPage;\n    }\n\n    public setCurrentStartPage(startPage: number): void {\n        this.startPage = startPage;\n    }\n\n    public isAtMax(): boolean {\n        return this.totalPages < this.startPage + this.renderedPageCount;\n    }\n\n    public getViewData(): { startPage: number; data: T[] } {\n        const startIndex = (this.startPage - 1) * this.perPage;\n        const endIndex = startIndex + this.perPage * this.renderedPageCount;\n        const pageData = structuredClone(this.data).slice(startIndex, endIndex);\n        return {\n            startPage: this.startPage,\n            data: pageData,\n        };\n    }\n}\n\nexport class CustomNodeSelectFnHelper{\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    constructor(private compInstance: any) {\n    }\n\n    select(path: string, isChecked: boolean): void{\n        this.compInstance.silentSelect(path, isChecked);\n    }\n\n    getParents(path: string): Array<string>{\n        return this.compInstance.getParentPaths(path);\n    }\n\n    getTreeItem(path: string): TreeItemModel{\n        return this.compInstance.getTreeItem(path);\n    }\n\n    getSelectionRecursiveState(path: string): TreeItemSelectionRecursiveModel{\n        return this.compInstance.getRunTimeSelectionRecursiveState(path);\n    }\n\n}\n\nexport type CustomNodeSelectFn = (path: string, isChecked:boolean, treeItem: TreeItemModel, helper: CustomNodeSelectFnHelper) => void;\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "data",
                        "type": "T[]",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "startPage",
                        "type": "number",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "renderedPageCount",
                        "type": "number",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "perPage",
                        "type": "number",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 140,
                "jsdoctags": [
                    {
                        "name": "data",
                        "type": "T[]",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "startPage",
                        "type": "number",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "renderedPageCount",
                        "type": "number",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "perPage",
                        "type": "number",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [],
            "methods": [
                {
                    "name": "getCurrentStartPage",
                    "args": [],
                    "optional": false,
                    "returnType": "number",
                    "typeParameters": [],
                    "line": 165,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "getViewData",
                    "args": [],
                    "optional": false,
                    "returnType": "literal type",
                    "typeParameters": [],
                    "line": 177,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "isAtMax",
                    "args": [],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 173,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "paginateNext",
                    "args": [],
                    "optional": false,
                    "returnType": "literal type",
                    "typeParameters": [],
                    "line": 151,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "paginatePrev",
                    "args": [],
                    "optional": false,
                    "returnType": "literal type",
                    "typeParameters": [],
                    "line": 158,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "setCurrentStartPage",
                    "args": [
                        {
                            "name": "startPage",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 169,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "startPage",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "EuiWizardStep",
            "id": "class-EuiWizardStep-3854213e8587b53d681417454b9d1bebd67d5491530d5c8a386d6dedaa385af39a5b70c4177f5c8cc18ceea3cd8909597fd6487879081ecdf9aa5c30c06fe0b1",
            "file": "packages/components/eui-wizard/models/eui-wizard-step.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "export interface IEuiWizardStep {\n    id: string;\n    indexLabel: string;\n    indexIconSvgName: string;\n    label: string;\n    subLabel: string;\n    isCompleted: boolean;\n    isActive: boolean;\n    isShowStepTitle: boolean;\n    isInvalid: boolean;\n    isWarning: boolean;\n    isDisabled: boolean;\n    index: number;\n    url: string;\n}\n\nexport class EuiWizardStep implements IEuiWizardStep {\n    id: string;\n    indexLabel: string;\n    indexIconSvgName: string;\n    label: string;\n    subLabel: string;\n    isCompleted = false;\n    isActive = false;\n    isShowStepTitle = false;\n    isInvalid = false;\n    isWarning = false;\n    isDisabled = false;\n    index: number;\n    url: string;\n\n    // TODO:  find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    constructor(values: any = {}) {\n        Object.assign(this, values);\n    }\n\n    toString(): string {\n        return JSON.stringify(this.toJSON());\n    }\n\n    toJSON(): object {\n        return {\n            id: this.id,\n            indexLabel: this.indexLabel,\n            indexIconSvgName: this.indexIconSvgName,\n            label: this.label,\n            subLabel: this.subLabel,\n            isCompleted: this.isCompleted,\n            isActive: this.isActive,\n            isShowStepTitle: this.isShowStepTitle,\n            isInvalid: this.isInvalid,\n            isWarning: this.isWarning,\n            isDisabled: this.isDisabled,\n            index: this.index,\n            url: this.url,\n        };\n    }\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "values",
                        "type": "any",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}"
                    }
                ],
                "line": 30,
                "jsdoctags": [
                    {
                        "name": "values",
                        "type": "any",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "defaultValue": "{}",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 18
                },
                {
                    "name": "index",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 29
                },
                {
                    "name": "indexIconSvgName",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 20
                },
                {
                    "name": "indexLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 19
                },
                {
                    "name": "isActive",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 24
                },
                {
                    "name": "isCompleted",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 23
                },
                {
                    "name": "isDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 28
                },
                {
                    "name": "isInvalid",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 26
                },
                {
                    "name": "isShowStepTitle",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 25
                },
                {
                    "name": "isWarning",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 27
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 21
                },
                {
                    "name": "subLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 22
                },
                {
                    "name": "url",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 30
                }
            ],
            "methods": [
                {
                    "name": "toJSON",
                    "args": [],
                    "optional": false,
                    "returnType": "object",
                    "typeParameters": [],
                    "line": 42,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "toString",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 38,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "implements": [
                "IEuiWizardStep"
            ]
        },
        {
            "name": "HTMLCollection",
            "id": "class-HTMLCollection-04d2916c3cee8ce209c7e80b03fdd3feaf22c89bfba0fa15ada8c473ed245505615aef7f9382fd7792eee6ca5d593b8aeaac2e8fe23ef80fa48f7f897e595c52",
            "file": "packages/components/eui-select/eui-select-multiple.directive.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "import { Directive, DoCheck, ElementRef, forwardRef, Injector, Input, Provider, Renderer2, inject } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl, SelectMultipleControlValueAccessor } from '@angular/forms';\nimport { EuiSelectMultipleOption } from './eui-select-mutli-option.directive';\nimport { _extractId } from './utils';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EuiSelectComponent } from './eui-select.component';\n\nconst SELECT_MULTIPLE_VALUE_ACCESSOR: Provider = {\n    provide: NG_VALUE_ACCESSOR,\n    useExisting: forwardRef(() => EuiSelectMultipleControlValueAccessor),\n    multi: true,\n};\n\n/** Mock interface for HTML Options */\ninterface HTMLOption {\n    value: string;\n    selected: boolean;\n}\n\n/** Mock interface for HTMLCollection */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nabstract class HTMLCollection {\n    // TODO(issue/24571): remove '!'.\n    length!: number;\n    abstract item(_: number): HTMLOption;\n}\n\n/**\n * @description\n * The `ControlValueAccessor` for writing multi-select control values and listening to multi-select\n * control changes. The value accessor is used by the `FormControlDirective`, `FormControlName`, and\n * `NgModel` directives.\n *\n * @see `EuiSelectControlValueAccessor`\n *\n * @usageNotes\n *\n * ### Using a multi-select control\n *\n * The follow example shows you how to use a multi-select control with a reactive form.\n *\n * ```ts\n * const countryControl = new FormControl();\n * ```\n *\n * ```\n * <select euiSelect multiple name=\"countries\" [formControl]=\"countryControl\">\n *   <option euiOption *ngFor=\"let country of countries\" [ngValue]=\"country\">\n *     {{ country.name }}\n *   </option>\n * </select>\n * ```\n *\n * ### Customizing option selection\n *\n * To customize the default option comparison algorithm, `<select>` supports `compareWith` input.\n * See the `SelectControlValueAccessor` for usage.\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\n@Directive({\n    selector:\n        // eslint-disable-next-line @angular-eslint/directive-selector,max-len\n        'select[multiple][formControlName][euiSelect],select[multiple][formControl][euiSelect],select[multiple][ngModel][euiSelect]',\n    host: { '(change)': 'onChange($event.target)', '(blur)': 'onTouched()' },\n    providers: [SELECT_MULTIPLE_VALUE_ACCESSOR],\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class EuiSelectMultipleControlValueAccessor extends SelectMultipleControlValueAccessor implements ControlValueAccessor, DoCheck {\n    @Input()\n    public get isInvalid(): boolean {\n        return this._isInvalid || null;\n    }\n    public set isInvalid(state: BooleanInput) {\n        this._isInvalid = coerceBooleanProperty(state);\n    }\n\n    /**\n     * The current value.\n     *\n     * @nodoc\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    value: any;\n\n    /** @internal */\n    _optionMap: Map<string, EuiSelectMultipleOption> = new Map<string, EuiSelectMultipleOption>();\n\n    /** @internal */\n    _idCounter = 0;\n    protected _isInvalid: boolean;\n    private elementRef: ElementRef;\n    private renderer: Renderer2;\n    private control: NgControl;\n    private selectComponent = inject(EuiSelectComponent, { optional: true })!;\n    private injector = inject(Injector);\n\n    constructor() {\n        const _renderer = inject(Renderer2);\n        const _elementRef = inject(ElementRef);\n\n        super(_renderer, _elementRef);\n        this.elementRef = _elementRef;\n        this.renderer = _renderer;\n    }\n\n    ngDoCheck(): void {\n        if (!this.control) {\n            this.control = this.injector.get(NgControl, undefined, { optional: true });\n        }\n        this._isInvalid = this.control ? this.control.invalid && this.control.touched : this._isInvalid;\n    }\n\n    /**\n     * Sets the \"value\" property on one or of more of the select's options.\n     *\n     * @nodoc\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    writeValue(value: any): void {\n        this.value = value;\n        // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        let optionSelectedStateSetter: (opt: EuiSelectMultipleOption, o: any) => void;\n        if (Array.isArray(value)) {\n            // convert values to ids\n            const ids = value.map((v) => this._getOptionId(v));\n            optionSelectedStateSetter = (opt, o): void => {\n                opt._setSelected(ids.indexOf(o.toString()) > -1);\n            };\n        } else {\n            optionSelectedStateSetter = (opt): void => {\n                opt._setSelected(false);\n            };\n        }\n        this._optionMap.forEach(optionSelectedStateSetter);\n        this.selectComponent?.syncReadOnlyValue();\n    }\n\n    /**\n     * Registers a function called when the control value changes\n     * and writes an array of the selected options.\n     *\n     * @nodoc\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    override registerOnChange(fn: (value: any) => any): void {\n        this.onChange = (element: HTMLSelectElement): void => {\n            // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n            // eslint-disable-next-line @typescript-eslint/no-explicit-any\n            const selected: Array<any> = [];\n            const selectedOptions = element.selectedOptions;\n            if (selectedOptions !== undefined) {\n                const options = selectedOptions;\n                // eslint-disable-next-line @typescript-eslint/prefer-for-of\n                for (let i = 0; i < options.length; i++) {\n                    const opt = options[i];\n                    const val = this._getOptionValue(opt.value);\n                    selected.push(val);\n                }\n            } else {\n                const options = element.options;\n                // eslint-disable-next-line @typescript-eslint/prefer-for-of\n                for (let i = 0; i < options.length; i++) {\n                    const opt = options[i];\n                    if (opt.selected) {\n                        const val = this._getOptionValue(opt.value);\n                        selected.push(val);\n                    }\n                }\n            }\n            this.value = selected;\n            fn(selected);\n        };\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    registerOnTouched(fn: any): void {\n        this.onTouched = (): void => {\n            const control = this.injector.get(NgControl, undefined, { optional: true });\n            this.isInvalid = control.invalid;\n            if (this.isInvalid) {\n                this.renderer.addClass(this.elementRef.nativeElement, 'eui-select--invalid');\n            }\n            fn();\n        };\n    }\n\n    /** @internal */\n    _registerOption(value: EuiSelectMultipleOption): string {\n        const id: string = (this._idCounter++).toString();\n        this._optionMap.set(id, value);\n        return id;\n    }\n\n    /** @internal */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    _getOptionId(value: any): string | null {\n        for (const id of Array.from(this._optionMap.keys())) {\n            // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n            if (this['_compareWith'](this._optionMap.get(id)!._value, value)) {\n                return id;\n            }\n        }\n        return null;\n    }\n\n    /** @internal */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    _getOptionValue(valueString: string): any {\n        const id: string = _extractId(valueString);\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n        return this._optionMap.has(id) ? this._optionMap.get(id)!._value : valueString;\n    }\n}\n",
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "length",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 24
                }
            ],
            "description": "<p>Mock interface for HTMLCollection</p>\n",
            "rawdescription": "\nMock interface for HTMLCollection",
            "methods": [
                {
                    "name": "item",
                    "args": [
                        {
                            "name": "_",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "HTMLOption",
                    "typeParameters": [],
                    "line": 25,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        128
                    ],
                    "jsdoctags": [
                        {
                            "name": "_",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "OpenedDialog",
            "id": "class-OpenedDialog-9490f0412b6a62da8cd19c37e484faa43f68eb53bf647ea15feaf034c7ecc4ab41b76d07d918ad4c23dc611ab40c42fa7e18c6c87d33d8b0fd15e63be5a91753",
            "file": "packages/components/eui-dialog/models/opened-dialog.model.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "import { OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentRef } from '@angular/core';\n\nimport { EuiDialogContainerComponent } from '../container/eui-dialog-container.component';\n\nexport class OpenedDialog implements OpenedDialogInterface {\n    id: string = null;\n    order: number = null;\n    overlayRef: OverlayRef = null;\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    containerRef: ComponentRef<EuiDialogContainerComponent<any, any, any, any, any, any>> = null;\n\n    constructor(values: OpenedDialogInterface) {\n        Object.assign(this, values);\n    }\n}\n\nexport interface OpenedDialogInterface {\n    id: string;\n    order: number;\n    overlayRef: OverlayRef;\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    containerRef: ComponentRef<EuiDialogContainerComponent<any, any, any, any, any, any>>;\n}\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "values",
                        "type": "OpenedDialogInterface",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 12,
                "jsdoctags": [
                    {
                        "name": "values",
                        "type": "OpenedDialogInterface",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "containerRef",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ComponentRef<EuiDialogContainerComponent<any, any, any, any, any, any>>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 12
                },
                {
                    "name": "id",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 7
                },
                {
                    "name": "order",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "overlayRef",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "OverlayRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 9
                }
            ],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "implements": [
                "OpenedDialogInterface"
            ]
        },
        {
            "name": "RouterMock",
            "id": "class-RouterMock-e07ca68306474d8e5ba7d2cc4319aba1d4b7f8f00bd95e8e9ff9eeca7f9cda6a3b62898b5ac90ffade316f9704f07ea591764085888be369ce3535fad0efe4e1",
            "file": "packages/components/testing/mocks/router.mock.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "import { Observable } from 'rxjs';\nimport { NavigationEnd } from '@angular/router';\n\nexport class RouterMock {\n    public ne = new NavigationEnd(0, 'http://localhost:4200/login', 'http://localhost:4200/login');\n    public events = new Observable((observer) => {\n        observer.next(this.ne);\n        observer.complete();\n    });\n    public routerState: { root: object } = {\n        root: {},\n    };\n\n    navigateByUrl(url: string): string {\n        return url;\n    }\n    navigate(url: string): string {\n        return url;\n    }\n\n    createUrlTree(): void {\n        /* empty */\n    }\n\n    serializeUrl(): void {\n        /* empty */\n    }\n}\n",
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "events",
                    "defaultValue": "new Observable((observer) => {\n        observer.next(this.ne);\n        observer.complete();\n    })",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 6,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "ne",
                    "defaultValue": "new NavigationEnd(0, 'http://localhost:4200/login', 'http://localhost:4200/login')",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 5,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "routerState",
                    "defaultValue": "{\n        root: {},\n    }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methods": [
                {
                    "name": "createUrlTree",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 21,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "navigate",
                    "args": [
                        {
                            "name": "url",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 17,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "url",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "navigateByUrl",
                    "args": [
                        {
                            "name": "url",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 14,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "url",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "serializeUrl",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 25,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "SmoothScroll",
            "id": "class-SmoothScroll-27b57d1f5e607c4042ca40c637191c7c7b3780e08a509636a78e567a5aae5015b746ecc35a40851669ec54b4c291fcec087d29e80a8ca8f05bd0234eb5ee186f",
            "file": "packages/components/directives/eui-smooth-scroll.directive.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "import {\n    Directive,\n    Input,\n    HostListener,\n    OnInit,\n    ElementRef,\n    numberAttribute,\n    booleanAttribute,\n    inject,\n    PLATFORM_ID,\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\n/**\n * Directive scrolling smoothly to a target element when clicked.\n * Provides animated scroll with configurable duration, offset, and easing.\n * Supports scrolling within containers and callbacks before/after scroll.\n *\n * @usageNotes\n * ```html\n * <button euiScrollTo=\"targetSection\">Scroll to section</button>\n * <div id=\"targetSection\">Target content</div>\n * ```\n *\n * With options:\n * ```html\n * <a euiScrollTo=\"footer\" [duration]=\"1000\" [offset]=\"-50\">Go to footer</a>\n * ```\n *\n * ### Accessibility\n * - Smooth scroll provides better UX than instant jump\n * - Ensure target element has proper focus management\n * - Consider reduced motion preferences for accessibility\n *\n * ### Notes\n * - Target element identified by ID via euiScrollTo input\n * - Default duration is 800ms\n * - Offset adjusts final scroll position (negative scrolls higher)\n * - Supports multiple easing functions (easeInOutQuart default)\n * - Can scroll within specific container via containerId\n */\n@Directive({\n    selector: '[euiScrollTo]',\n})\nexport class EuiSmoothScrollToDirective {\n    targetElement: any;\n\n    @Input('euiScrollTo') public scrollTo: string;\n    @Input({alias: 'duration', transform: numberAttribute }) public duration: number;\n    @Input({ transform: numberAttribute }) public offset: number;\n    @Input('easing') public easing: string;\n    @Input('callbackBefore') public callbackBefore: any;\n    @Input('callbackAfter') public callbackAfter: any;\n    @Input('containerId') public containerId: string;\n    @Input('middleAlign') public middleAlign: any;\n\n    @HostListener('click') onClick() {\n        this.targetElement = document.getElementById(this.scrollTo);\n        if (!this.targetElement) {\n            return;\n        }\n\n        new SmoothScroll(this.targetElement, {\n            duration: this.duration,\n            offset: this.offset,\n            easing: this.easing,\n            callbackBefore: this.callbackBefore,\n            callbackAfter: this.callbackAfter,\n            containerId: this.containerId,\n            middleAlign: this.middleAlign\n        });\n    };\n\n}\n\n/**\n * Directive automatically scrolling to host element on initialization or click.\n * Provides animated scroll with configurable duration, offset, and easing.\n * Supports conditional scrolling and callbacks before/after scroll.\n *\n * @usageNotes\n * Scroll on init:\n * ```html\n * <div euiSmoothScroll [scrollIf]=\"shouldScroll\">Content</div>\n * ```\n *\n * Scroll on click:\n * ```html\n * <div euiSmoothScroll [scrollOnClick]=\"true\" [duration]=\"500\">Click to scroll here</div>\n * ```\n *\n * ### Accessibility\n * - Smooth scroll provides better UX than instant jump\n * - Use scrollIf to conditionally enable scrolling\n * - Consider reduced motion preferences for accessibility\n *\n * ### Notes\n * - Scrolls to host element automatically on init (unless scrollIf is false)\n * - Set scrollOnClick to true for click-triggered scrolling\n * - Default duration is 800ms\n * - Offset adjusts final scroll position\n * - Supports scrolling within specific container via containerId\n * - middleAlign centers element in viewport\n */\n@Directive({\n    selector: '[euiSmoothScroll]',\n})\nexport class EuiSmoothScrollDirective implements OnInit {\n    private platformId = inject(PLATFORM_ID);\n    private el = inject(ElementRef)\n\n    @Input('scrollIf') public scrollIf: boolean;\n    @Input({ transform: numberAttribute}) public duration: number;\n    @Input({ transform: numberAttribute}) public offset: number;\n    @Input('easing') public easing: string;\n    @Input('callbackBefore') public callbackBefore: any;\n    @Input('callbackAfter') public callbackAfter: any;\n    @Input('containerId') public containerId: string;\n    @Input({ transform: booleanAttribute }) public scrollOnClick: boolean;\n    @Input('middleAlign') public middleAlign: any;\n\n    @HostListener('click', ['$event.target']) onClick(target) {\n        if (this.scrollOnClick) {\n            this.scroll();\n        }\n    };\n\n    public ngOnInit() {\n        this.scroll();\n    }\n\n    private scroll() {\n        if (typeof this.scrollIf === 'undefined' || this.scrollIf === true) {\n            if(isPlatformBrowser(this.platformId)) {\n                setTimeout(() => {\n                    new SmoothScroll(this.el.nativeElement, {\n                        duration: this.duration,\n                        offset: this.offset,\n                        easing: this.easing,\n                        callbackBefore: this.callbackBefore,\n                        callbackAfter: this.callbackAfter,\n                        containerId: this.containerId,\n                        middleAlign: this.middleAlign\n                    });\n                }, 0);\n            }\n        }\n    }\n\n}\n\nclass SmoothScroll {\n    constructor(element: any, options: any) {\n        this.smoothScroll(element, options);\n    }\n    private smoothScroll(element, options) {\n        options = options || {};\n\n        // Options\n        let duration = options.duration || 800,\n            offset = options.offset || 0,\n            easing = options.easing || 'easeInOutQuart',\n            callbackBefore = options.callbackBefore || function () { },\n            callbackAfter = options.callbackAfter || function () { },\n            container = document.getElementById(options.containerId) || null,\n            containerPresent = (container != undefined && container != null),\n            middleAlign = options.middleAlign || false;\n\n\t\t/**\n\t\t * Retrieve current location\n\t\t */\n        let getScrollLocation = function () {\n            if (containerPresent) {\n                return container.scrollTop;\n            } else {\n                if (window.pageYOffset) {\n                    return window.pageYOffset;\n                } else {\n                    return document.documentElement.scrollTop;\n                }\n            }\n        };\n\n\t\t/**\n\t\t * Calculate easing pattern.\n\t\t *\n\t\t * 20150713 edit - zephinzer\n\t\t * - changed if-else to switch\n\t\t * @see http://archive.oreilly.com/pub/a/server-administration/excerpts/even-faster-websites/writing-efficient-javascript.html\n\t\t */\n        let getEasingPattern = function (type, time) {\n            switch (type) {\n            case 'easeInQuad': return time * time; // accelerating from zero velocity\n            case 'easeOutQuad': return time * (2 - time); // decelerating to zero velocity\n            case 'easeInOutQuad': return time < 0.5 ? 2 * time * time : -1 + (4 - 2 * time) * time; // acceleration until halfway, then deceleration\n            case 'easeInCubic': return time * time * time; // accelerating from zero velocity\n            case 'easeOutCubic': return (--time) * time * time + 1; // decelerating to zero velocity\n            case 'easeInOutCubic': return time < 0.5 ? 4 * time * time * time : (time - 1) * (2 * time - 2) * (2 * time - 2) + 1; // acceleration until halfway, then deceleration\n            case 'easeInQuart': return time * time * time * time; // accelerating from zero velocity\n            case 'easeOutQuart': return 1 - (--time) * time * time * time; // decelerating to zero velocity\n            case 'easeInOutQuart': return time < 0.5 ? 8 * time * time * time * time : 1 - 8 * (--time) * time * time * time; // acceleration until halfway, then deceleration\n            case 'easeInQuint': return time * time * time * time * time; // accelerating from zero velocity\n            case 'easeOutQuint': return 1 + (--time) * time * time * time * time; // decelerating to zero velocity\n            case 'easeInOutQuint': return time < 0.5 ? 16 * time * time * time * time * time : 1 + 16 * (--time) * time * time * time * time; // acceleration until halfway, then deceleration\n            default: return time;\n            }\n        };\n\n\t\t/**\n\t\t * Calculate how far to scroll\n\t\t */\n        let getEndLocation = function (element) {\n            let location = 0,\n                elementRect = element.getBoundingClientRect(),\n                absoluteElementTop = elementRect.top + window.pageYOffset;\n\n            if (middleAlign) {\n                location = (absoluteElementTop + (element.offsetHeight / 2)) - (window.innerHeight / 2);\n            } else {\n                location = absoluteElementTop;\n            }\n\n            if (offset) {\n                location = location - offset;\n            }\n\n            return Math.max(location, 0);\n        };\n\n        // Initialize the whole thing\n        setTimeout(function () {\n            let currentLocation = null,\n                startLocation = getScrollLocation(),\n                endLocation = getEndLocation(element),\n                timeLapsed = 0,\n                distance = endLocation - startLocation,\n                percentage,\n                position,\n                scrollHeight,\n                internalHeight;\n\n\t\t\t/**\n\t\t\t * Stop the scrolling animation when the anchor is reached (or at the top/bottom of the page)\n\t\t\t */\n            let stopAnimation = function () {\n                currentLocation = getScrollLocation();\n                if (containerPresent) {\n                    scrollHeight = container.scrollHeight;\n                    internalHeight = container.clientHeight + currentLocation;\n                } else {\n                    scrollHeight = document.body.scrollHeight;\n                    internalHeight = window.innerHeight + currentLocation;\n                }\n\n                if (\n                    ( // condition 1\n                        position == endLocation\n                    ) ||\n                    ( // condition 2\n                        currentLocation == endLocation\n                    ) ||\n                    ( // condition 3\n                        internalHeight > scrollHeight\n                    )\n                ) { // stop\n                    clearInterval(runAnimation);\n\n                    callbackAfter(element);\n                }\n            };\n\n\t\t\t/**\n\t\t\t * Scroll the page by an increment, and check if it's time to stop\n\t\t\t */\n            let animateScroll = function () {\n                timeLapsed += 16;\n                percentage = (timeLapsed / duration);\n                percentage = (percentage > 1) ? 1 : percentage;\n                position = startLocation + (distance * getEasingPattern(easing, percentage));\n                if (containerPresent) {\n                    container.scrollTop = position;\n                } else {\n                    window.scrollTo(0, position);\n                }\n                stopAnimation();\n            };\n\n            callbackBefore(element);\n\n            let runAnimation = setInterval(animateScroll, 16);\n        }, 0);\n\n    }\n}\n/* eslint-enable */\n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "element",
                        "type": "any",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "options",
                        "type": "any",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 156,
                "jsdoctags": [
                    {
                        "name": "element",
                        "type": "any",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "options",
                        "type": "any",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "inputsClass": [],
            "outputsClass": [],
            "properties": [],
            "methods": [],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "TranslateServiceMock",
            "id": "class-TranslateServiceMock-e3c844261cc3a1e10dba51814a8cf95ce5736d1d5116dc3caadbbf65259d92910963e3735a4fe0cc049f8361f818ef98c638c75bca1144acfcb3a5950d11b4f8",
            "file": "packages/components/testing/mocks/translate.module.mock.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "import { AfterViewChecked, Directive, ElementRef, Input, NgModule, Pipe, PipeTransform, inject } from '@angular/core';\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject, Observable, of, Subject } from 'rxjs';\n\nexport const TRANSLATED_STRING = 'i18n';\n\nexport class TranslateServiceMock {\n    onLangChangeSubject: Subject<LangChangeEvent> = new Subject();\n    onFallbackLangChangeSubject: Subject<LangChangeEvent> = new Subject();\n    onTranslationChangeSubject: Subject<string> = new Subject();\n    onDefaultLangChangeSubject: Subject<string> = new Subject();\n    isLoadedSubject: BehaviorSubject<boolean> = new BehaviorSubject(true);\n\n    onLangChange: Observable<LangChangeEvent> = this.onLangChangeSubject.asObservable();\n    onFallbackLangChange: Observable<LangChangeEvent> = this.onFallbackLangChangeSubject.asObservable();\n    onTranslationChange: Observable<string> = this.onTranslationChangeSubject.asObservable();\n    onDefaultLangChange: Observable<string> = this.onDefaultLangChangeSubject.asObservable();\n    isLoaded: Observable<boolean> = this.isLoadedSubject.asObservable();\n\n    currentLang: string;\n\n    languages: string[] = ['de'];\n\n    get(content: string): Observable<string> {\n        return of(TRANSLATED_STRING + content);\n    }\n\n    use(lang: string): void {\n        this.currentLang = lang;\n        this.onLangChangeSubject.next({ lang } as LangChangeEvent);\n    }\n\n    // stream(key: string | string[], interpolateParams?: InterpolationParameters): Observable<Translation>;\n    stream(content: string): Observable<string> {\n        return of(TRANSLATED_STRING + content);\n    }\n\n    addLangs(langs: string[]): void {\n        this.languages = [...this.languages, ...langs];\n    }\n\n    getBrowserLang(): string {\n        return '';\n    }\n\n    getLangs(): string[] {\n        return this.languages;\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    getTranslation(): Observable<any> {\n        return of({});\n    }\n\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    instant(key: string | string[], interpolateParams?: object): string {\n        return TRANSLATED_STRING + key.toString();\n    }\n\n    setDefaultLang(lang: string): void {\n        this.onDefaultLangChangeSubject.next(lang);\n    }\n}\n\n@Pipe({ name: 'translate' })\nexport class TranslateMockPipe implements PipeTransform {\n    transform(text: string): string {\n        return !text ? TRANSLATED_STRING : `${text}-${TRANSLATED_STRING}`;\n    }\n}\n\n@Directive({\n    // eslint-disable-next-line @angular-eslint/directive-selector\n    selector: '[translate]',\n})\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport class TranslateMockDirective implements AfterViewChecked {\n    @Input()\n    translateParams: any;\n    private readonly _element = inject(ElementRef);\n\n    ngAfterViewChecked(): void {\n        this._element.nativeElement.innerText += TRANSLATED_STRING;\n    }\n}\n\n@NgModule({\n    imports: [TranslateMockPipe, TranslateMockDirective],\n    exports: [TranslateMockPipe, TranslateMockDirective],\n    providers: [{ provide: TranslateService, useClass: TranslateServiceMock }],\n})\nexport class TranslateMockModule {}\n",
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "currentLang",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 20
                },
                {
                    "name": "isLoaded",
                    "defaultValue": "this.isLoadedSubject.asObservable()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Observable<boolean>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 18
                },
                {
                    "name": "isLoadedSubject",
                    "defaultValue": "new BehaviorSubject(true)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BehaviorSubject<boolean>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 12
                },
                {
                    "name": "languages",
                    "defaultValue": "['de']",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 22
                },
                {
                    "name": "onDefaultLangChange",
                    "defaultValue": "this.onDefaultLangChangeSubject.asObservable()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Observable<string>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 17
                },
                {
                    "name": "onDefaultLangChangeSubject",
                    "defaultValue": "new Subject()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Subject<string>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 11
                },
                {
                    "name": "onFallbackLangChange",
                    "defaultValue": "this.onFallbackLangChangeSubject.asObservable()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Observable<LangChangeEvent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 15
                },
                {
                    "name": "onFallbackLangChangeSubject",
                    "defaultValue": "new Subject()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Subject<LangChangeEvent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 9
                },
                {
                    "name": "onLangChange",
                    "defaultValue": "this.onLangChangeSubject.asObservable()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Observable<LangChangeEvent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 14
                },
                {
                    "name": "onLangChangeSubject",
                    "defaultValue": "new Subject()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Subject<LangChangeEvent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 8
                },
                {
                    "name": "onTranslationChange",
                    "defaultValue": "this.onTranslationChangeSubject.asObservable()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Observable<string>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 16
                },
                {
                    "name": "onTranslationChangeSubject",
                    "defaultValue": "new Subject()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Subject<string>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10
                }
            ],
            "methods": [
                {
                    "name": "addLangs",
                    "args": [
                        {
                            "name": "langs",
                            "type": "string[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 38,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "langs",
                            "type": "string[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "get",
                    "args": [
                        {
                            "name": "content",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<string>",
                    "typeParameters": [],
                    "line": 24,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "content",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getBrowserLang",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 42,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "getLangs",
                    "args": [],
                    "optional": false,
                    "returnType": "string[]",
                    "typeParameters": [],
                    "line": 46,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "getTranslation",
                    "args": [],
                    "optional": false,
                    "returnType": "Observable<any>",
                    "typeParameters": [],
                    "line": 52,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "instant",
                    "args": [
                        {
                            "name": "key",
                            "type": "string | string[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "interpolateParams",
                            "type": "object",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 57,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "key",
                            "type": "string | string[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "interpolateParams",
                            "type": "object",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "setDefaultLang",
                    "args": [
                        {
                            "name": "lang",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 61,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "lang",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "stream",
                    "args": [
                        {
                            "name": "content",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Observable<string>",
                    "typeParameters": [],
                    "line": 34,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "content",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "use",
                    "args": [
                        {
                            "name": "lang",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 28,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "lang",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": []
        },
        {
            "name": "TranslateServiceMock",
            "id": "class-TranslateServiceMock-b5dec47a63ad735cfea64d063c78ce0ac3a893b14621bede2a9405957d6164fff144591a168002a3608f83d7165b29abbe0547e20b95cb98deb3d4f027626a18-1",
            "file": "packages/components/testing/mocks/translate.service.mock.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "import { of } from 'rxjs';\n\nexport class TranslateServiceMock {\n    onLangChange = of(null);\n\n    public get(key: string): void {\n        of(key);\n    }\n\n    public stream(key: string): void {\n        of(key);\n    }\n}\n",
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "onLangChange",
                    "defaultValue": "of(null)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 4
                }
            ],
            "methods": [
                {
                    "name": "get",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 6,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "stream",
                    "args": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 10,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "key",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": [],
            "isDuplicate": true,
            "duplicateId": 1,
            "duplicateName": "TranslateServiceMock-1"
        },
        {
            "name": "UxAutocompleteTagDragServiceMock",
            "id": "class-UxAutocompleteTagDragServiceMock-acd05a3fbdb7c7a2a06d06bcca784cb215fe1842d7cb438c2f6a347bae3273834c212d9cbbc5a87bcb53311a3ec7b499299f9192419ff086b709fb1eeb370217",
            "file": "packages/components/testing/mocks/ux-autocomplete-tag-drag.service.mock.ts",
            "deprecated": false,
            "deprecationMessage": "",
            "type": "class",
            "sourceCode": "import { BehaviorSubject } from 'rxjs';\n\nexport class UxAutocompleteTagDragServiceMock {\n    public componentConnector = [];\n    public droppableArea = [];\n    public removedFromDroppable = new BehaviorSubject(null);\n\n    // eslint-disable-next-line @typescript-eslint/no-empty-function\n    setComponentConnector(): void {}\n\n    // eslint-disable-next-line @typescript-eslint/no-empty-function\n    setDroppableArea(): void {}\n\n    // eslint-disable-next-line @typescript-eslint/no-empty-function\n    resetConnector(): void {}\n}\n",
            "inputsClass": [],
            "outputsClass": [],
            "properties": [
                {
                    "name": "componentConnector",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 4,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "droppableArea",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 5,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "removedFromDroppable",
                    "defaultValue": "new BehaviorSubject(null)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 6,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methods": [
                {
                    "name": "resetConnector",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 15,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "setComponentConnector",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 9,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "setDroppableArea",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 12,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "indexSignatures": [],
            "extends": [],
            "hostBindings": [],
            "hostListeners": []
        }
    ],
    "directives": [
        {
            "name": "AutoResizeDirective",
            "id": "directive-AutoResizeDirective-94b69ce9cdf191cf7367aba89771a0db23a96de4089630e4d4d06599dd6da6aaf7f5cccbcc1eb2e5c521984d7885e46aec58bfc0293948856992f59edfb9482e",
            "file": "packages/components/eui-textarea/auto-resize.directive.ts",
            "type": "directive",
            "description": "<p>A directive that automatically adjusts the height of a textarea based on its content.</p>\n<p>The AutoResizeDirective automatically adjusts the height of a textarea element as the user types,\nensuring that all content is visible without requiring manual resizing or scrolling.\nIt supports minimum and maximum row constraints and can be enabled/disabled dynamically.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;textarea autoResize [minRows]=&quot;2&quot; [maxRows]=&quot;5&quot;&gt;&lt;/textarea&gt;</code></pre></div>",
            "rawdescription": "\n\nA directive that automatically adjusts the height of a textarea based on its content.\n\nThe AutoResizeDirective automatically adjusts the height of a textarea element as the user types,\nensuring that all content is visible without requiring manual resizing or scrolling.\nIt supports minimum and maximum row constraints and can be enabled/disabled dynamically.\n\n```html\n<textarea autoResize [minRows]=\"2\" [maxRows]=\"5\"></textarea>\n```",
            "sourceCode": "import {\n\tDirective,\n\tOnInit,\n\tOnDestroy,\n\tElementRef,\n\tHostListener,\n\tAfterViewInit,\n\tRenderer2,\n\tbooleanAttribute,\n\tnumberAttribute,\n\tinject,\n\tinput,\n\teffect,\n} from '@angular/core';\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { fromEvent, Subject } from 'rxjs';\nimport { debounceTime, startWith, takeUntil } from 'rxjs/operators';\nimport { NgControl } from '@angular/forms';\n\n/**\n * A directive that automatically adjusts the height of a textarea based on its content.\n *\n * @directive\n * @selector textarea[autoResize]\n * @description\n * The AutoResizeDirective automatically adjusts the height of a textarea element as the user types,\n * ensuring that all content is visible without requiring manual resizing or scrolling.\n * It supports minimum and maximum row constraints and can be enabled/disabled dynamically.\n *\n * @example\n * ```html\n * <textarea autoResize [minRows]=\"2\" [maxRows]=\"5\"></textarea>\n * ```\n */\n@Directive({\n    selector: 'textarea[autoResize]',\n})\nexport class AutoResizeDirective implements OnInit, AfterViewInit, OnDestroy {\n    /**\n     * @description\n     * Controls whether the auto-resize functionality is enabled.\n     * When true, the textarea will automatically adjust its height based on content.\n     * When false, the textarea will behave normally.\n     *\n     * @default true\n     */\n\tautoResize = input<boolean, BooleanInput>(true, { transform: booleanAttribute });\n    /**\n     * @description\n     * Sets the minimum number of rows for the textarea.\n     * This value determines the initial height of the textarea.\n     *\n     * @param minRows - The minimum number of rows to display\n\t * @default 1\n     */\n\tminRows = input<number, NumberInput>(1, { transform: numberAttribute });\n    /**\n     * @description\n     * Sets the maximum number of rows for the textarea.\n     * When set to a value greater than 0, the textarea will not grow beyond this number of rows\n     * and will show scrollbars if necessary.\n     * When set to 0, there is no maximum limit.\n     *\n     * @default 0\n     */\n\tmaxRows = input<number, NumberInput>(0, { transform: numberAttribute });\n\n    protected el = inject(ElementRef);\n    protected renderer = inject(Renderer2);\n    protected control = inject(NgControl, { optional: true })!;\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private observer: MutationObserver;\n\n\tconstructor() {\n\t\t/**\n\t\t * Handles changes to the directive's autoResize input property.\n\t\t * Updates the textarea's appearance and behavior accordingly.\n\t\t */\n\t\teffect(() => {\n\t\t\tconst enable = this.autoResize();\n\t\t\tthis.renderer.setProperty(this.el.nativeElement, 'rows', this.minRows());\n\t\t\tthis.renderer.setStyle(this.el.nativeElement, 'overflow', enable ? 'hidden' : '');\n\t\t\tthis.renderer.setStyle(this.el.nativeElement, 'resize', enable ? 'none' : '');\n\t\t\tif (enable) {\n\t\t\t\tthis.resize();\n\t\t\t}\n\t\t});\n    }\n\n    /**\n     * Event handler for input events on the textarea.\n     * Triggers the resize calculation when the content changes.\n     *\n     * @internal\n     */\n    @HostListener('input')\n    onInput(): void {\n        this.resize();\n    }\n\n    /**\n     * Initializes the directive by setting up window resize event handling\n     * and mutation observer for readonly attribute changes.\n     *\n     * @internal\n     */\n    ngOnInit(): void {\n        fromEvent(window, 'resize')\n            .pipe(takeUntil(this.destroy$), debounceTime(300))\n            .subscribe(() => this.resize());\n\n        // Create an observer instance linked to the callback function\n        this.observer = new MutationObserver(this.readonlyMutationObserver.bind(this));\n\n        // Start observing the target node for configured mutations\n        this.observer.observe(this.el.nativeElement, { attributes: true });\n    }\n\n    /**\n     * Performs initial resize after view initialization and sets up form control value change handling if applicable.\n     *\n     * @internal\n     */\n    ngAfterViewInit(): void {\n        if (this.autoResize()) {\n            if (this.control) {\n                this.handleFormControlChanges();\n            } else {\n                this.resize();\n            }\n        }\n    }\n\n    /**\n     * Cleans up subscriptions and disconnects observers when the directive is destroyed.\n     *\n     * @internal\n     */\n    ngOnDestroy(): void {\n        this.destroy$.complete();\n        this.destroy$.unsubscribe();\n        this.observer.disconnect();\n    }\n\n    /**\n     * Calculates and sets the appropriate height for the textarea based on its content.\n     * This method creates a temporary clone of the textarea to measure the required height,\n     * taking into account minRows and maxRows constraints.\n     *\n     * The calculation process:\n     * 1. Creates a hidden clone of the textarea\n     * 2. Sets the clone's width to match the original\n     * 3. Measures the required height based on content\n     * 4. Applies maxRows constraint if specified\n     * 5. Updates the original textarea's height\n     *\n     * @public\n     */\n    public resize(): void {\n        if (this.autoResize()) {\n            // clone element\n            const clone = this.el.nativeElement.cloneNode(true);\n            const parent = this.el.nativeElement.parentNode;\n            clone.style.width = this.el.nativeElement.offsetWidth + 'px';\n            clone.style.visibility = 'hidden';\n            clone.style.position = 'absolute';\n            clone.textContent = this.el.nativeElement.value;\n            parent.appendChild(clone);\n            clone.style['overflow-y'] = 'hidden';\n            clone.style.height = 'auto';\n            const cloneHeight = clone.scrollHeight;\n\n            this.renderer.setStyle(clone, 'height', cloneHeight);\n            // calculate height\n            const { offsetHeight } = clone;\n            let { scrollHeight } = clone;\n            // Enforce maxRows limit if set\n            if (this.maxRows() > 0) {\n                const lineHeight = parseInt(getComputedStyle(clone).lineHeight, 10);\n                const maxHeight = lineHeight * this.maxRows();\n                scrollHeight = Math.min(scrollHeight, maxHeight);\n                if(scrollHeight >= maxHeight) {\n                    this.renderer.removeStyle(this.el.nativeElement, 'overflow'); // Restore overflow behavior\n                } else {\n                    this.renderer.setStyle(this.el.nativeElement, 'overflow', 'hidden'); // Hide scrollbars during adjustment\n                }\n            }\n            let height = offsetHeight > scrollHeight ? offsetHeight : scrollHeight;\n            height = height <= 0 ? 'auto' : `${height}px`;\n            // remove clone\n            parent.removeChild(clone);\n            // set height\n            this.renderer.setStyle(this.el.nativeElement, 'height', height);\n        }\n    }\n\n    /**\n     * Sets up subscription to form control value changes to trigger resize when the value\n     * is changed programmatically through the form control.\n     *\n     * @protected\n     */\n    protected handleFormControlChanges(): void {\n        // in case value changed manually through control, call resize()\n        // startWith is being used to cause resize to be called in case of late subscription after value has changed\n        this.control.valueChanges.pipe(takeUntil(this.destroy$), startWith('')).subscribe(() => this.resize());\n    }\n\n    /**\n     * Mutation observer callback that handles changes to the readonly attribute\n     * and triggers resize when necessary.\n     *\n     * @param mutationsList - List of mutations that occurred\n     * @private\n     */\n    private readonlyMutationObserver(mutationsList: MutationRecord[]): void {\n        // Use traditional 'for loops' for IE 11\n        for (const mutation of mutationsList) {\n            if (mutation.type === 'attributes' && mutation.attributeName === 'readonly') {\n                this.resize();\n            }\n        }\n    }\n}\n",
            "selector": "textarea[autoResize]",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "name": "autoResize",
                    "defaultValue": "true, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean, BooleanInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Controls whether the auto-resize functionality is enabled.\nWhen true, the textarea will automatically adjust its height based on content.\nWhen false, the textarea will behave normally.</p>\n",
                    "line": 48,
                    "rawdescription": "\n\nControls whether the auto-resize functionality is enabled.\nWhen true, the textarea will automatically adjust its height based on content.\nWhen false, the textarea will behave normally.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 1155,
                            "end": 1388,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1156,
                                "end": 1167,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Controls whether the auto-resize functionality is enabled.\nWhen true, the textarea will automatically adjust its height based on content.\nWhen false, the textarea will behave normally.</p>\n"
                        },
                        {
                            "pos": 1388,
                            "end": 1407,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1389,
                                "end": 1396,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "maxRows",
                    "defaultValue": "0, { transform: numberAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number, NumberInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Sets the maximum number of rows for the textarea.\nWhen set to a value greater than 0, the textarea will not grow beyond this number of rows\nand will show scrollbars if necessary.\nWhen set to 0, there is no maximum limit.</p>\n",
                    "line": 67,
                    "rawdescription": "\n\nSets the maximum number of rows for the textarea.\nWhen set to a value greater than 0, the textarea will not grow beyond this number of rows\nand will show scrollbars if necessary.\nWhen set to 0, there is no maximum limit.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 1824,
                            "end": 2100,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1825,
                                "end": 1836,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Sets the maximum number of rows for the textarea.\nWhen set to a value greater than 0, the textarea will not grow beyond this number of rows\nand will show scrollbars if necessary.\nWhen set to 0, there is no maximum limit.</p>\n"
                        },
                        {
                            "pos": 2100,
                            "end": 2116,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2101,
                                "end": 2108,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>0</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "minRows",
                    "defaultValue": "1, { transform: numberAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number, NumberInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Sets the minimum number of rows for the textarea.\nThis value determines the initial height of the textarea.</p>\n",
                    "line": 57,
                    "rawdescription": "\n\nSets the minimum number of rows for the textarea.\nThis value determines the initial height of the textarea.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 1508,
                            "end": 1657,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1509,
                                "end": 1520,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Sets the minimum number of rows for the textarea.\nThis value determines the initial height of the textarea.</p>\n"
                        },
                        {
                            "pos": 1657,
                            "end": 1716,
                            "kind": 342,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1658,
                                "end": 1663,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The minimum number of rows to display</li>\n</ul>\n",
                            "name": {
                                "pos": 1664,
                                "end": 1671,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "minRows"
                            },
                            "isNameFirst": true,
                            "isBracketed": false
                        },
                        {
                            "pos": 1716,
                            "end": 1732,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1717,
                                "end": 1724,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>1</p>\n"
                        }
                    ],
                    "required": false
                }
            ],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [
                {
                    "name": "control",
                    "defaultValue": "inject(NgControl, { optional: true })!",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 71,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "el",
                    "defaultValue": "inject(ElementRef)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 69,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "renderer",
                    "defaultValue": "inject(Renderer2)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 70,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "handleFormControlChanges",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 204,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets up subscription to form control value changes to trigger resize when the value\nis changed programmatically through the form control.\n\n",
                    "description": "<p>Sets up subscription to form control value changes to trigger resize when the value\nis changed programmatically through the form control.</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": []
                },
                {
                    "name": "resize",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 160,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCalculates and sets the appropriate height for the textarea based on its content.\nThis method creates a temporary clone of the textarea to measure the required height,\ntaking into account minRows and maxRows constraints.\n\nThe calculation process:\n1. Creates a hidden clone of the textarea\n2. Sets the clone's width to match the original\n3. Measures the required height based on content\n4. Applies maxRows constraint if specified\n5. Updates the original textarea's height\n\n",
                    "description": "<p>Calculates and sets the appropriate height for the textarea based on its content.\nThis method creates a temporary clone of the textarea to measure the required height,\ntaking into account minRows and maxRows constraints.</p>\n<p>The calculation process:</p>\n<ol>\n<li>Creates a hidden clone of the textarea</li>\n<li>Sets the clone&#39;s width to match the original</li>\n<li>Measures the required height based on content</li>\n<li>Applies maxRows constraint if specified</li>\n<li>Updates the original textarea&#39;s height</li>\n</ol>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": []
                }
            ],
            "extends": [],
            "implements": [
                "OnInit",
                "AfterViewInit",
                "OnDestroy"
            ],
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 73
            }
        },
        {
            "name": "BaseStatesDirective",
            "id": "directive-BaseStatesDirective-a0399377db7a4791cb8d9b29254f09ce7cca0c46bd7f04d82462f6bad18214b967ff16ed0d0a627e84935cb6d923911e8044f28abe86a71891b5cb07e2035e73",
            "file": "packages/components/shared/base/base-states.directive.ts",
            "type": "directive",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { Directive, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\n@Directive({\n    selector: '[euiBase]',\n})\nexport class BaseStatesDirective {\n    @HostBinding('attr.aria-disabled')\n    get ariaDisabled(): boolean {\n        return this.euiDisabled ? true : null;\n    }\n    // COLORS\n    @Input()\n    public get euiPrimary(): boolean {\n        return this._euiPrimary;\n    }\n    public set euiPrimary(value: BooleanInput) {\n        this._euiPrimary = coerceBooleanProperty(value);\n        this._euiVariant = this._euiPrimary? 'primary': '';\n    }\n    @Input()\n    public get euiBranding(): boolean {\n        return this._euiBranding;\n    }\n    public set euiBranding(value: BooleanInput) {\n        this._euiBranding = coerceBooleanProperty(value);\n        this._euiVariant = this._euiBranding? 'branding': '';\n    }\n\n    @Input()\n    public get euiSecondary(): boolean {\n        return this._euiSecondary;\n    }\n    public set euiSecondary(value: BooleanInput) {\n        this._euiSecondary = coerceBooleanProperty(value);\n        this._euiVariant = this._euiSecondary? 'secondary': '';\n    }\n\n    @Input()\n    public get euiSecondaryLight(): boolean {\n        return this._euiSecondaryLight;\n    }\n    public set euiSecondaryLight(value: BooleanInput) {\n        this._euiSecondaryLight = coerceBooleanProperty(value);\n        this._euiVariant = this._euiSecondaryLight? 'secondaryLight': '';\n    }\n\n    @Input()\n    public get euiInfo(): boolean {\n        return this._euiInfo;\n    }\n    public set euiInfo(value: BooleanInput) {\n        this._euiInfo = coerceBooleanProperty(value);\n        this._euiVariant = this._euiInfo? 'info': '';\n    }\n\n    @Input()\n    public get euiSuccess(): boolean {\n        return this._euiSuccess;\n    }\n    public set euiSuccess(value: BooleanInput) {\n        this._euiSuccess = coerceBooleanProperty(value);\n        this._euiVariant = this._euiSuccess? 'success': '';\n    }\n\n    @Input()\n    public get euiWarning(): boolean {\n        return this._euiWarning;\n    }\n    public set euiWarning(value: BooleanInput) {\n        this._euiWarning = coerceBooleanProperty(value);\n        this._euiVariant = this._euiWarning? 'warning': '';\n    }\n\n    @Input()\n    public get euiDanger(): boolean {\n        return this._euiDanger;\n    }\n    public set euiDanger(value: BooleanInput) {\n        this._euiDanger = coerceBooleanProperty(value);\n        this._euiVariant = this._euiDanger? 'danger': '';\n    }\n\n    @Input()\n    public get euiInverse(): boolean {\n        return this._euiInverse;\n    }\n    public set euiInverse(value: BooleanInput) {\n        this._euiInverse = coerceBooleanProperty(value);\n        this._euiVariant = this._euiInverse? 'inverse': '';\n    }\n\n    @Input()\n    get euiVariant(): string {\n        return this._euiVariant;\n    }\n    set euiVariant(value: string) {\n        this.euiPrimary = value === 'primary';\n        this.euiBranding = value === 'branding';\n        this.euiSecondary = value === 'secondary';\n        this.euiSecondaryLight = value === 'secondaryLight';\n        this.euiWarning = value === 'warning';\n        this.euiInfo = value === 'info';\n        this.euiSuccess = value === 'success';\n        this.euiDanger = value === 'danger';\n        this.euiInverse = value === 'inverse';\n        this._euiVariant = value;\n    }\n\n    // SIZES\n    @Input()\n    public get euiSize2XS(): boolean {\n        return this._euiSize2XS;\n    }\n    public set euiSize2XS(value: BooleanInput) {\n        this._euiSize2XS = coerceBooleanProperty(value);\n        this._euiSizeVariant = this._euiSize2XS? '2xs': '';\n    }\n\n    @Input()\n    public get euiSizeXS(): boolean {\n        return this._euiSizeXS;\n    }\n    public set euiSizeXS(value: BooleanInput) {\n        this._euiSizeXS = coerceBooleanProperty(value);\n        this._euiSizeVariant = this._euiSizeXS? 'xs': '';\n    }\n\n    @Input()\n    public get euiSizeS(): boolean {\n        return this._euiSizeS;\n    }\n    public set euiSizeS(value: BooleanInput) {\n        this._euiSizeS = coerceBooleanProperty(value);\n        this._euiSizeVariant = this._euiSizeS? 's': '';\n    }\n\n    @Input()\n    public get euiSizeM(): boolean {\n        return this._euiSizeM;\n    }\n    public set euiSizeM(value: BooleanInput) {\n        this._euiSizeM = coerceBooleanProperty(value);\n        this._euiSizeVariant = this._euiSizeM? 'm': '';\n    }\n\n    @Input()\n    public get euiSizeL(): boolean {\n        return this._euiSizeL;\n    }\n    public set euiSizeL(value: BooleanInput) {\n        this._euiSizeL = coerceBooleanProperty(value);\n        this._euiSizeVariant = this._euiSizeL? 'l': '';\n    }\n\n    @Input()\n    public get euiSizeXL(): boolean {\n        return this._euiSizeXL;\n    }\n    public set euiSizeXL(value: BooleanInput) {\n        this._euiSizeXL = coerceBooleanProperty(value);\n        this._euiSizeVariant = this._euiSizeXL? 'xl': '';\n    }\n\n    @Input()\n    public get euiSize2XL(): boolean {\n        return this._euiSize2XL;\n    }\n    public set euiSize2XL(value: BooleanInput) {\n        this._euiSize2XL = coerceBooleanProperty(value);\n        this._euiSizeVariant = this._euiSize2XL? '2xl': '';\n    }\n\n    @Input()\n    public get euiSize3XL(): boolean {\n        return this._euiSize3XL;\n    }\n    public set euiSize3XL(value: BooleanInput) {\n        this._euiSize3XL = coerceBooleanProperty(value);\n        this._euiSizeVariant = this._euiSize3XL? '3xl': '';\n    }\n\n    @Input()\n    public get euiSize4XL(): boolean {\n        return this._euiSize4XL;\n    }\n    public set euiSize4XL(value: BooleanInput) {\n        this._euiSize4XL = coerceBooleanProperty(value);\n        this._euiSizeVariant = this._euiSize4XL? '4xl': '';\n    }\n\n    @Input()\n    public get euiSize5XL(): boolean {\n        return this._euiSize5XL;\n    }\n    public set euiSize5XL(value: BooleanInput) {\n        this._euiSize5XL = coerceBooleanProperty(value);\n        this._euiSizeVariant = this._euiSize5XL? '5xl': '';\n    }\n\n    @Input()\n    public get euiSize6XL(): boolean {\n        return this._euiSize6XL;\n    }\n    public set euiSize6XL(value: BooleanInput) {\n        this._euiSize6XL = coerceBooleanProperty(value);\n        this._euiSizeVariant = this._euiSize6XL? '6xl': '';\n    }\n\n    @Input()\n    public get euiSizeAuto(): boolean {\n        return this._euiSizeAuto;\n    }\n    public set euiSizeAuto(value: BooleanInput) {\n        this._euiSizeAuto = coerceBooleanProperty(value);\n        this._euiSizeVariant = this._euiSizeAuto? 'auto': '';\n    }\n\n    @Input()\n    get euiSizeVariant(): string {\n        return this._euiSizeVariant;\n    }\n    set euiSizeVariant(value: string) {\n        this.euiSize2XS = value === '2xs';\n        this.euiSizeXS = value === 'xs';\n        this.euiSizeS = value === 's';\n        this.euiSizeM = value === 'm';\n        this.euiSizeL = value === 'l';\n        this.euiSizeXL = value === 'xl';\n        this.euiSize2XL = value === '2xl';\n        this.euiSize3XL = value === '3xl';\n        this.euiSize4XL = value === '4xl';\n        this.euiSize5XL = value === '5xl';\n        this.euiSize6XL = value === '6xl';\n        this.euiSizeAuto = value === 'auto';\n        this._euiSizeVariant = value;\n    }\n\n    // EXTRA SHAPES\n    @Input({ transform: booleanAttribute }) euiRounded = false;\n    @Input({ transform: booleanAttribute }) euiOutline = false;\n    @Input({ transform: booleanAttribute }) euiCompact = false;\n    @Input({ transform: booleanAttribute }) euiDisabled = false;\n    @Input({ transform: booleanAttribute }) euiResponsive = false;\n    @Input({ transform: booleanAttribute }) euiHighlighted = false;\n    @Input({ transform: booleanAttribute }) euiClearable = false;\n    @Input({ transform: booleanAttribute }) euiLoading = false;\n    @Input({ transform: booleanAttribute }) euiInverted = false;\n    @Input({ transform: booleanAttribute }) euiStart = false;\n    @Input({ transform: booleanAttribute }) euiEnd = false;\n\n    private _euiPrimary = false;\n    private _euiBranding = false;\n    private _euiSecondary = false;\n    private _euiSecondaryLight = false;\n    private _euiInfo = false;\n    private _euiSuccess = false;\n    private _euiWarning = false;\n    private _euiDanger = false;\n    private _euiInverse = false;\n\n    private _euiSize2XS = false;\n    private _euiSizeXS = false;\n    private _euiSizeS = false;\n    private _euiSizeM = false;\n    private _euiSizeL = false;\n    private _euiSizeXL = false;\n    private _euiSize2XL = false;\n    private _euiSize3XL = false;\n    private _euiSize4XL = false;\n    private _euiSize5XL = false;\n    private _euiSize6XL = false;\n    private _euiSizeAuto = false;\n\n    private _euiSizeVariant = '';\n    private _euiVariant = '';\n\n    getCssClasses(rootClass: string): string {\n        return [\n            rootClass,\n            this.euiPrimary ? `${rootClass}--primary eui--primary` : '',\n            this.euiBranding ? `${rootClass}--branding eui--branding` : '',\n            this.euiSecondary ? `${rootClass}--secondary eui--secondary` : '',\n            this.euiSecondaryLight ? `${rootClass}--secondary-light eui--secondary-light` : '',\n            this.euiInfo ? `${rootClass}--info eui--info` : '',\n            this.euiSuccess ? `${rootClass}--success eui--success` : '',\n            this.euiWarning ? `${rootClass}--warning eui--warning` : '',\n            this.euiDanger ? `${rootClass}--danger eui--danger` : '',\n            this.euiInverse ? `${rootClass}--inverse eui--inverse` : '',\n            this.euiSize2XS ? `${rootClass}--size-2xs eui--size-2xs` : '',\n            this.euiSizeXS ? `${rootClass}--size-xs eui--size-xs` : '',\n            this.euiSizeS ? `${rootClass}--size-s eui--size-s` : '',\n            this.euiSizeM ? `${rootClass}--size-m eui--size-m` : '',\n            this.euiSizeL ? `${rootClass}--size-l eui--size-l` : '',\n            this.euiSizeXL ? `${rootClass}--size-xl eui-size-xl` : '',\n            this.euiSize2XL ? `${rootClass}--size-2xl eui--size-2xl` : '',\n            this.euiSize3XL ? `${rootClass}--size-3xl eui--size-3xl` : '',\n            this.euiSize4XL ? `${rootClass}--size-4xl eui--size-4xl` : '',\n            this.euiSize5XL ? `${rootClass}--size-5xl eui--size-5xl` : '',\n            this.euiSize6XL ? `${rootClass}--size-6xl eui--size-6xl` : '',\n            this.euiSizeAuto ? `${rootClass}--size-auto eui--size-auto` : '',\n            this.euiRounded ? `${rootClass}--rounded eui--rounded` : '',\n            this.euiOutline ? `${rootClass}--outline eui--outline` : '',\n            this.euiDisabled ? `${rootClass}--disabled eui--disabled disabled` : '',\n            this.euiCompact ? `${rootClass}--compact eui--compact` : '',\n            this.euiResponsive ? `${rootClass}--responsive` : '',\n            this.euiHighlighted ? `${rootClass}--highlighted` : '',\n            this.euiClearable ? `${rootClass}--clearable` : '',\n            this.euiLoading ? `${rootClass}--loading` : '',\n            this.euiInverted ? `${rootClass}--inverted` : '',\n            this.euiStart ? `${rootClass}--start` : '',\n            this.euiEnd ? `${rootClass}--end` : '',\n        ]\n            .filter(c => c !== '')\n            .join(' ')\n            .trim();\n    }\n}\n",
            "selector": "[euiBase]",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "name": "euiBranding",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 22,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiClearable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 246,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiCompact",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 242,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "euiDanger",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 76,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 243,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiEnd",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 250,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiHighlighted",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 245,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "euiInfo",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 49,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "euiInverse",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 85,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiInverted",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 248,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiLoading",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 247,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiOutline",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 241,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "euiPrimary",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 14,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiResponsive",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 244,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiRounded",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 240,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "euiSecondary",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 31,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "euiSecondaryLight",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 40,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "euiSize2XL",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 166,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "euiSize2XS",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 112,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "euiSize3XL",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 175,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "euiSize4XL",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 184,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "euiSize5XL",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 193,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "euiSize6XL",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 202,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "euiSizeAuto",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 211,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "euiSizeL",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 148,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "euiSizeM",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 139,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "euiSizeS",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 130,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "euiSizeVariant",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 220,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "euiSizeXL",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 157,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "euiSizeXS",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 121,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiStart",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 249,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "euiSuccess",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 58,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "euiVariant",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 94,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "euiWarning",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 67,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.aria-disabled",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 9,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "getCssClasses",
                    "args": [
                        {
                            "name": "rootClass",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 278,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "rootClass",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "extends": [],
            "accessors": {
                "ariaDisabled": {
                    "name": "ariaDisabled",
                    "getSignature": {
                        "name": "ariaDisabled",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 9
                    }
                },
                "euiPrimary": {
                    "name": "euiPrimary",
                    "setSignature": {
                        "name": "euiPrimary",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 17,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiPrimary",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 14
                    }
                },
                "euiBranding": {
                    "name": "euiBranding",
                    "setSignature": {
                        "name": "euiBranding",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 25,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiBranding",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 22
                    }
                },
                "euiSecondary": {
                    "name": "euiSecondary",
                    "setSignature": {
                        "name": "euiSecondary",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 34,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiSecondary",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 31
                    }
                },
                "euiSecondaryLight": {
                    "name": "euiSecondaryLight",
                    "setSignature": {
                        "name": "euiSecondaryLight",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 43,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiSecondaryLight",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 40
                    }
                },
                "euiInfo": {
                    "name": "euiInfo",
                    "setSignature": {
                        "name": "euiInfo",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 52,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiInfo",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 49
                    }
                },
                "euiSuccess": {
                    "name": "euiSuccess",
                    "setSignature": {
                        "name": "euiSuccess",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 61,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiSuccess",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 58
                    }
                },
                "euiWarning": {
                    "name": "euiWarning",
                    "setSignature": {
                        "name": "euiWarning",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 70,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiWarning",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 67
                    }
                },
                "euiDanger": {
                    "name": "euiDanger",
                    "setSignature": {
                        "name": "euiDanger",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 79,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiDanger",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 76
                    }
                },
                "euiInverse": {
                    "name": "euiInverse",
                    "setSignature": {
                        "name": "euiInverse",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 88,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiInverse",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 85
                    }
                },
                "euiVariant": {
                    "name": "euiVariant",
                    "setSignature": {
                        "name": "euiVariant",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "string",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 97,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "string",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiVariant",
                        "type": "string",
                        "returnType": "string",
                        "line": 94
                    }
                },
                "euiSize2XS": {
                    "name": "euiSize2XS",
                    "setSignature": {
                        "name": "euiSize2XS",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 115,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiSize2XS",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 112
                    }
                },
                "euiSizeXS": {
                    "name": "euiSizeXS",
                    "setSignature": {
                        "name": "euiSizeXS",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 124,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiSizeXS",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 121
                    }
                },
                "euiSizeS": {
                    "name": "euiSizeS",
                    "setSignature": {
                        "name": "euiSizeS",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 133,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiSizeS",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 130
                    }
                },
                "euiSizeM": {
                    "name": "euiSizeM",
                    "setSignature": {
                        "name": "euiSizeM",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 142,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiSizeM",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 139
                    }
                },
                "euiSizeL": {
                    "name": "euiSizeL",
                    "setSignature": {
                        "name": "euiSizeL",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 151,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiSizeL",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 148
                    }
                },
                "euiSizeXL": {
                    "name": "euiSizeXL",
                    "setSignature": {
                        "name": "euiSizeXL",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 160,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiSizeXL",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 157
                    }
                },
                "euiSize2XL": {
                    "name": "euiSize2XL",
                    "setSignature": {
                        "name": "euiSize2XL",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 169,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiSize2XL",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 166
                    }
                },
                "euiSize3XL": {
                    "name": "euiSize3XL",
                    "setSignature": {
                        "name": "euiSize3XL",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 178,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiSize3XL",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 175
                    }
                },
                "euiSize4XL": {
                    "name": "euiSize4XL",
                    "setSignature": {
                        "name": "euiSize4XL",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 187,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiSize4XL",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 184
                    }
                },
                "euiSize5XL": {
                    "name": "euiSize5XL",
                    "setSignature": {
                        "name": "euiSize5XL",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 196,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiSize5XL",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 193
                    }
                },
                "euiSize6XL": {
                    "name": "euiSize6XL",
                    "setSignature": {
                        "name": "euiSize6XL",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 205,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiSize6XL",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 202
                    }
                },
                "euiSizeAuto": {
                    "name": "euiSizeAuto",
                    "setSignature": {
                        "name": "euiSizeAuto",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 214,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiSizeAuto",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 211
                    }
                },
                "euiSizeVariant": {
                    "name": "euiSizeVariant",
                    "setSignature": {
                        "name": "euiSizeVariant",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "string",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 223,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "string",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiSizeVariant",
                        "type": "string",
                        "returnType": "string",
                        "line": 220
                    }
                }
            }
        },
        {
            "name": "EuiAccordionItemHeaderDirective",
            "id": "directive-EuiAccordionItemHeaderDirective-489d46d6f04913df7f5d368b66e971a22dcc725bd12b7eadad62a500fb371b10242522bc6862c77b9be36a21894b99e4c505fadc441dc1d2f288ac189b9a2b02",
            "file": "packages/components/eui-accordion/eui-accordion-item.component.ts",
            "type": "directive",
            "description": "<p>Directive for marking and styling the header content of an accordion item.\nApplied to content that should appear in the clickable header section of the accordion panel.\nThe header acts as the toggle trigger for expanding/collapsing the accordion item.\nContent projected with this directive is displayed with appropriate styling and interactive behavior.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-accordion-item&gt;\n  &lt;eui-accordion-item-header&gt;\n    Section Title\n  &lt;/eui-accordion-item-header&gt;\n  Panel content\n&lt;/eui-accordion-item&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Header content is automatically wrapped in an interactive button element</li>\n<li>Keyboard accessible with Enter/Space keys for toggling</li>\n<li>Screen readers announce the header text and expansion state</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Required for proper accordion item structure</li>\n<li>Must be a direct child of eui-accordion-item</li>\n<li>Only one header directive should be used per accordion item</li>\n<li>Header content can include text, icons, or other inline elements</li>\n</ul>\n",
            "rawdescription": "\n\nDirective for marking and styling the header content of an accordion item.\nApplied to content that should appear in the clickable header section of the accordion panel.\nThe header acts as the toggle trigger for expanding/collapsing the accordion item.\nContent projected with this directive is displayed with appropriate styling and interactive behavior.\n\n```html\n<eui-accordion-item>\n  <eui-accordion-item-header>\n    Section Title\n  </eui-accordion-item-header>\n  Panel content\n</eui-accordion-item>\n```\n\n### Accessibility\n- Header content is automatically wrapped in an interactive button element\n- Keyboard accessible with Enter/Space keys for toggling\n- Screen readers announce the header text and expansion state\n\n### Notes\n- Required for proper accordion item structure\n- Must be a direct child of eui-accordion-item\n- Only one header directive should be used per accordion item\n- Header content can include text, icons, or other inline elements\n",
            "sourceCode": "import { CdkAccordionItem, CdkAccordionModule } from '@angular/cdk/accordion';\nimport { Component, HostBinding, ChangeDetectionStrategy, Directive, inject, output } from '@angular/core';\nimport { consumeEvent } from '@eui/core';\nimport { BaseStatesDirective, euiAnimationCollapse } from '@eui/components/shared';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\n/**\n * @description\n * Individual accordion item component that can be expanded or collapsed within an eui-accordion container.\n * Provides a collapsible panel with header and content sections, supporting smooth collapse animations.\n * Uses Angular CDK's accordion item functionality for managing expansion state and accessibility.\n * Supports size variants (S, M, L) and disabled state through BaseStatesDirective.\n * Emits toggleItem event when expansion state changes, allowing parent components to track state.\n *\n * @usageNotes\n * ### Basic usage\n * ```html\n * <eui-accordion>\n *   <eui-accordion-item>\n *     <eui-accordion-item-header>Header Text</eui-accordion-item-header>\n *     Panel content goes here\n *   </eui-accordion-item>\n * </eui-accordion>\n * ```\n *\n * ### With initial expanded state and size variant\n * ```html\n * <eui-accordion-item isExpanded euiSizeS (toggleItem)=\"onToggle($event)\">\n *   <eui-accordion-item-header>Small Item</eui-accordion-item-header>\n *   Content\n * </eui-accordion-item>\n * ```\n *\n * ### Disabled item\n * ```html\n * <eui-accordion-item euiDisabled>\n *   <eui-accordion-item-header>Disabled Item</eui-accordion-item-header>\n *   Content\n * </eui-accordion-item>\n * ```\n *\n * ### Accessibility\n * - Header is keyboard accessible with Enter/Space to toggle expansion\n * - ARIA attributes (aria-expanded, aria-controls) automatically managed by CDK\n * - Screen readers announce expansion state and content visibility changes\n * - Focus remains on header after toggling for consistent keyboard navigation\n * - Disabled items are not focusable and announced as disabled to screen readers\n *\n * ### Notes\n * - Must be used within an eui-accordion parent component\n * - Requires eui-accordion-item-header directive for header content\n * - Collapse animation is applied automatically on state changes\n * - Size variants (euiSizeS, euiSizeM, euiSizeL) affect header and content spacing\n * - toggleItem event emits boolean indicating current expanded state (true = expanded)\n * - isExpanded input can be used for programmatic control of expansion state\n */\n@Component({\n    selector: 'eui-accordion-item',\n    templateUrl: './eui-accordion-item.component.html',\n    styleUrl: './eui-accordion-item.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        ...EUI_ICON,\n        CdkAccordionModule,\n    ],\n    hostDirectives: [\n        {\n            directive: CdkAccordionItem,\n            inputs: [\n                'expanded: isExpanded',\n            ],\n        },\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSizeS',\n                'euiSizeM',\n                'euiSizeL',\n                'euiSizeVariant',\n                'euiDisabled',\n            ],\n        },\n    ],\n    animations: [\n        euiAnimationCollapse,\n    ],\n})\nexport class EuiAccordionItemComponent {\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    public get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-accordion-item'),\n        ].join(' ').trim();\n    }\n    /**\n     * Event emitted when the accordion item is toggled\n     */\n    readonly toggleItem = output<boolean>();\n\n    /** @description Instance of BaseStatesDirective for managing component states */\n    protected baseStatesDirective = inject(BaseStatesDirective);\n    protected accItem = inject(CdkAccordionItem);\n\n    /**\n     * Handles the toggle event for expanding/collapsing the accordion item\n     * Prevents event propagation to avoid interfering with parent handlers\n     *\n     * @param event - The toggle event\n     */\n    onToggle(event: Event): void {\n        this.accItem.toggle();\n        this.toggleItem.emit(this.accItem.expanded);\n        consumeEvent(event);\n    }\n}\n\n/**\n * @description\n * Directive for marking and styling the header content of an accordion item.\n * Applied to content that should appear in the clickable header section of the accordion panel.\n * The header acts as the toggle trigger for expanding/collapsing the accordion item.\n * Content projected with this directive is displayed with appropriate styling and interactive behavior.\n *\n * @usageNotes\n * ```html\n * <eui-accordion-item>\n *   <eui-accordion-item-header>\n *     Section Title\n *   </eui-accordion-item-header>\n *   Panel content\n * </eui-accordion-item>\n * ```\n *\n * ### Accessibility\n * - Header content is automatically wrapped in an interactive button element\n * - Keyboard accessible with Enter/Space keys for toggling\n * - Screen readers announce the header text and expansion state\n *\n * ### Notes\n * - Required for proper accordion item structure\n * - Must be a direct child of eui-accordion-item\n * - Only one header directive should be used per accordion item\n * - Header content can include text, icons, or other inline elements\n */\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({ selector: 'eui-accordion-item-header' })\nexport class EuiAccordionItemHeaderDirective { }\n",
            "selector": "eui-accordion-item-header",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiActionButtonsDirective",
            "id": "directive-EuiActionButtonsDirective-9d4df86024095c2260b95e6ada3c14414a33c330583b735045a67195b652c433e5e447bd17dbfe2b42c34039f0bcbabcadd67c3cdabf7b1153684e74943fd677",
            "file": "packages/components/eui-datepicker/eui-datepicker.component.ts",
            "type": "directive",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import {\n    ApplicationRef,\n    Component,\n    EventEmitter,\n    Injector,\n    Input,\n    OnChanges,\n    OnDestroy,\n    DoCheck,\n    OnInit,\n    Output,\n    SimpleChanges,\n    StaticProvider,\n    ViewChild,\n    ViewEncapsulation,\n    Directive,\n    forwardRef,\n    HostBinding,\n    ContentChild,\n    AfterViewInit,\n    TemplateRef,\n    ViewContainerRef,\n    ComponentRef,\n    booleanAttribute,\n    inject,\n    ElementRef,\n} from '@angular/core';\nimport {\n    ControlValueAccessor,\n    FormControl,\n    FormsModule,\n    NgControl,\n    ReactiveFormsModule,\n    Validators,\n} from '@angular/forms';\nimport { DateAdapter, MatDateFormats, MAT_DATE_FORMATS } from '@angular/material/core';\nimport {\n    MatCalendarCellClassFunction,\n    MatDatepicker,\n    MatDatepickerInputEvent,\n    MatDatepickerModule,\n} from '@angular/material/datepicker';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { ComponentPortal, DomPortalOutlet, TemplatePortal } from '@angular/cdk/portal';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\nimport _moment, { Moment } from 'moment';\nimport { default as _rollupMoment } from 'moment';\nimport 'moment/min/locales.js';\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS } from '@angular/material-moment-adapter';\n\nimport { EuiTimepickerComponent, EuiDateTimePickerConfig } from '@eui/components/eui-timepicker';\nimport { DYNAMIC_COMPONENT_CONFIG, LocaleService, EuiAppShellService, uniqueId, injectOptional } from '@eui/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\nimport { EUI_INPUT_GROUP } from '@eui/components/eui-input-group';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\nconst moment = _rollupMoment || _moment;\n\nexport const DEFAULT_FORMATS = {\n    parse: {\n        dateInput: 'L',\n    },\n    display: {\n        dateInput: 'L',\n        monthYearLabel: 'MM/YYYY',\n        dateA11yLabel: 'LL',\n        monthYearA11yLabel: 'LL',\n    },\n};\n\n/**\n * A comprehensive date and datetime picker component that wraps Angular Material's datepicker with enhanced functionality.\n * Supports date-only, month, year, and datetime selection modes with optional timepicker integration.\n * Implements ControlValueAccessor for seamless integration with Angular reactive and template-driven forms.\n * \n * Use cases:\n * - Standard date selection with calendar popup\n * - Month or year-only selection for period-based inputs\n * - Combined date and time selection with integrated timepicker\n * - Date range validation with min/max constraints\n * - Custom date filtering and styling\n * - Responsive layouts with block-level display option\n * - Read-only and disabled states for display-only scenarios\n * \n * @usageNotes\n * ### Basic Date Picker\n * ```html\n * <eui-datepicker \n *   [placeholder]=\"'Select date'\"\n *   [(ngModel)]=\"selectedDate\">\n * </eui-datepicker>\n * ```\n * \n * ### DateTime Picker\n * ```html\n * <eui-datepicker \n *   [isDatetimepicker]=\"true\"\n *   [hasSeconds]=\"true\"\n *   [(ngModel)]=\"selectedDateTime\">\n * </eui-datepicker>\n * ```\n * \n * ### Month/Year Picker\n * ```html\n * <eui-datepicker \n *   type=\"month\"\n *   [startView]=\"'year'\"\n *   [(ngModel)]=\"selectedMonth\">\n * </eui-datepicker>\n * ```\n * \n * ### With Validation\n * ```typescript\n * // Component\n * dateControl = new FormControl(null, Validators.required);\n * minDate = new Date(2024, 0, 1);\n * maxDate = new Date(2024, 11, 31);\n * \n * // Template\n * <eui-datepicker \n *   [formControl]=\"dateControl\"\n *   [minDate]=\"minDate\"\n *   [maxDate]=\"maxDate\"\n *   [isClearable]=\"true\">\n * </eui-datepicker>\n * ```\n * \n * ### Accessibility\n * - Provides proper ARIA labels and roles for calendar navigation\n * - Keyboard navigation: Arrow keys for date selection, Enter to confirm, Escape to close\n * - Clear button is keyboard accessible when enabled\n * - Required state communicated via `aria-required` attribute\n * - Date format is announced to screen readers via placeholder\n * - Toggle button has accessible label via `togglerLabel` input\n * \n * ### Notes\n * - Use `dateOutputFormat` to control the format of emitted values (e.g., 'YYYY-MM-DD')\n * - `restrictToRegex` can limit input characters for format enforcement\n * - `datepickerFilter` enables custom date validation (e.g., disable weekends)\n * - `dateClass` allows styling specific dates (holidays, events)\n * - Time picker integrates seamlessly when `isDatetimepicker` is true\n * - `isDatepickerBlock` makes component responsive for mobile layouts\n * - `isReadOnly` allows calendar selection but prevents manual typing\n */\n@Component({\n    selector: 'eui-datepicker',\n    templateUrl: './eui-datepicker.component.html',\n    styleUrl: './eui-datepicker.scss',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        MatDatepickerModule,\n        FormsModule,\n        ReactiveFormsModule,\n        TranslateModule,\n        ...EUI_INPUT_TEXT,\n        ...EUI_INPUT_GROUP,\n        ...EUI_BUTTON,\n        ...EUI_ICON,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSuccess',\n                'euiInfo',\n                'euiWarning',\n                'euiDanger',\n                'euiVariant',\n            ],\n        },\n    ],\n})\nexport class EuiDatepickerComponent implements OnInit, AfterViewInit, ControlValueAccessor, OnDestroy, OnChanges, DoCheck {\n    baseStatesDirective = inject(BaseStatesDirective);\n    euiLetterFormat = inject(EuiLetterFormatDirective, { optional: true })!;\n\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-datepicker'),\n            this.isDatepickerBlock ? 'eui-datepicker--responsive' : '',\n        ].join(' ').trim();\n    }\n\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-datepicker';\n\n    public inputFormControl = new FormControl();\n    public breakpointsValue: any = {\n        isMobile: false,\n        isTablet: false,\n        isLtDesktop: false,\n        isDesktop: false,\n        isXL: false,\n        isXXL: false,\n    };\n    showDateButton = true;\n    timePickerInstance: EuiTimepickerComponent;\n    timePickerComponentRef: ComponentRef<EuiTimepickerComponent>;\n    @ViewChild('calendar', { static: true }) calendar: MatDatepicker<any>;\n    @ViewChild('templatePortalRef') templatePortalRef: TemplateRef<EuiActionButtonsDirective>;\n    @ViewChild('input', { read: ElementRef }) public inputRef: ElementRef<HTMLInputElement>; //used to access the input raw value trough reference\n\n    @ContentChild(forwardRef(() => EuiActionButtonsDirective)) euiActionButtons: EuiActionButtonsDirective;\n    /**\n     * Emitted when the input field value changes through user typing or programmatic updates.\n     * Payload contains the formatted date string (if dateOutputFormat is set) or Moment object, or null if cleared.\n     * Triggers on every input change, including manual text entry and clear actions.\n     */\n    @Output() inputChange = new EventEmitter<any>();\n    /**\n     * Emitted when a date is selected from the calendar popup or through date/time adjustments.\n     * Payload contains the formatted date string (if dateOutputFormat is set) or Moment object, or null if cleared.\n     * Does not trigger on manual text input, only on calendar interactions and programmatic selections.\n     */\n    @Output() dateSelect = new EventEmitter<any>();\n    /**\n     * The initial or current date value displayed in the input field.\n     * Accepts Moment objects, Date objects, or date strings compatible with the configured date adapter.\n     * When dateOutputFormat is specified, the internal value is formatted accordingly.\n     */\n    @Input() value: any;\n    /**\n     * The SVG icon name displayed on the calendar toggle button.\n     * Must be a valid eui-icon identifier.\n     */\n    @Input() togglerIconSvg = 'eui-calendar';\n    /**\n     * Accessible label text for the calendar toggle button.\n     * Used for screen readers and accessibility compliance.\n     */\n    @Input() togglerLabel: string;\n    /**\n     * Placeholder text displayed in the input field when empty.\n     * If not provided, defaults to translated placeholders based on the calendar type (regular, month, or year).\n     */\n    @Input() placeholder: string;\n    /**\n     * Determines the selection granularity and calendar behavior.\n     * 'regular' allows full date selection, 'month' selects month/year only, 'year' selects year only.\n     * Affects the calendar view, input format, and selection behavior.\n     */\n    @Input() type: 'year' | 'month' | 'regular' = 'regular';\n    /**\n     * The initial view displayed when the calendar popup opens.\n     * 'month' shows the day grid, 'year' shows month selection, 'multi-year' shows year range selection.\n     * If not specified, defaults based on the type property.\n     */\n    @Input() startView: 'month' | 'year' | 'multi-year';\n    /**\n     * The earliest selectable date in the calendar.\n     * Dates before this value are disabled and cannot be selected.\n     * Accepts Moment objects, Date objects, or date strings compatible with the date adapter.\n     */\n    @Input() minDate: any;\n    /**\n     * The latest selectable date in the calendar.\n     * Dates after this value are disabled and cannot be selected.\n     * Accepts Moment objects, Date objects, or date strings compatible with the date adapter.\n     */\n    @Input() maxDate: any;\n    /**\n     * Custom filter function to enable or disable specific dates in the calendar.\n     * Receives each date as a parameter and should return true to enable the date, false to disable it.\n     * Useful for implementing business rules like disabling weekends or holidays.\n     */\n    @Input() datepickerFilter: (d: any) => boolean = this.datepickerFiltering;\n    /**\n     * Moment.js format string for the output value emitted through form control and events.\n     * When specified, all emitted values are formatted strings instead of Moment objects.\n     * Example: 'YYYY-MM-DD' or 'DD/MM/YYYY HH:mm:ss'.\n     */\n    @Input() dateOutputFormat: string;\n    /**\n     * Custom component class to replace the default calendar header.\n     * Must be a valid Angular component that implements the Material datepicker header interface.\n     * Allows complete customization of the calendar header appearance and behavior.\n     */\n    @Input() customHeader: any;\n    /**\n     * Function that returns CSS class names to apply to specific calendar date cells.\n     * Receives each date as a parameter and returns a string or array of class names.\n     * Enables visual styling of specific dates like holidays, events, or special occasions.\n     */\n    @Input() dateClass: MatCalendarCellClassFunction<any>;\n    /**\n     * Increment/decrement step for hour adjustments in the timepicker.\n     * Only applicable when isDatetimepicker is true.\n     * Determines how many hours are added or subtracted with each button click.\n     */\n    @Input() stepHours = 1;\n    /**\n     * Increment/decrement step for minute adjustments in the timepicker.\n     * Only applicable when isDatetimepicker is true.\n     * Determines how many minutes are added or subtracted with each button click.\n     */\n    @Input() stepMinutes = 1;\n    /**\n     * Increment/decrement step for second adjustments in the timepicker.\n     * Only applicable when isDatetimepicker is true and hasSeconds is true.\n     * Determines how many seconds are added or subtracted with each button click.\n     */\n    @Input() stepSeconds = 1;\n    /**\n     * Unique identifier for the input element.\n     * Used for label association, form integration, and testing selectors.\n     * Auto-generated if not provided.\n     */\n    @Input() inputId = `eui-datepicker-${uniqueId()}`;\n    /**\n     * Custom CSS class or classes applied to the calendar popup panel.\n     * Accepts a single class name string or an array of class names.\n     * Useful for theme customization or specific styling requirements.\n     */\n    @Input() customPanelClass: string | string[] | null = null;\n    /**\n     * Enables datetime selection mode with an integrated timepicker in the calendar popup.\n     * When true, displays hour, minute, and optionally second selectors below the calendar.\n     * Changes the component behavior to handle both date and time values.\n     */\n    @Input({ transform: booleanAttribute }) isDatetimepicker = false;\n    /**\n     * Displays seconds selector in the timepicker.\n     * Only applicable when isDatetimepicker is true.\n     * When false, only hours and minutes are selectable.\n     */\n    @Input({ transform: booleanAttribute }) hasSeconds = false;\n    /**\n     * Renders the timepicker with a single combined input field instead of separate hour/minute/second inputs.\n     * Only applicable when isDatetimepicker is true.\n     * Provides a more compact timepicker interface.\n     */\n    @Input({ transform: booleanAttribute }) isOneInputField = false;\n    /**\n     * Hides the calendar toggle button, leaving only the input field visible.\n     * Users can still open the calendar by clicking the input field if isShownOnInputClick is true.\n     * Useful for minimalist layouts or when calendar access should be input-driven only.\n     */\n    @Input({ transform: booleanAttribute }) hasNoButton = false;\n    /**\n     * Applies block-level display styling to make the component fill its container width.\n     * Enables responsive behavior for mobile and tablet layouts.\n     * When true, the input and button stretch to 100% width.\n     */\n    @Input({ transform: booleanAttribute }) isDatepickerBlock = false;\n    /**\n     * Makes the input field read-only, preventing manual text entry.\n     * Users can still select dates from the calendar popup.\n     * Automatically disables the clear button when true.\n     */\n    @Input({ transform: booleanAttribute }) isReadOnly = false;\n    /**\n     * Disables the entire component including input field, toggle button, and calendar popup.\n     * When true, no user interaction is possible and the component appears visually disabled.\n     * Integrates with Angular forms disabled state.\n     */\n    @Input({ transform: booleanAttribute }) isDisabled = false;\n    /**\n     * Disables only the input field while keeping the calendar toggle button enabled.\n     * Users can select dates from the calendar but cannot type manually.\n     * Useful for enforcing calendar-only date selection.\n     */\n    @Input({ transform: booleanAttribute }) isInputDisabled = false;\n    /**\n     * Disables only the calendar toggle button while keeping the input field enabled.\n     * Users can type dates manually but cannot open the calendar popup.\n     * Useful for keyboard-only or text-based date entry scenarios.\n     */\n    @Input({ transform: booleanAttribute }) isButtonDisabled = false;\n    /**\n     * Disables the calendar popup functionality while keeping the input field enabled.\n     * Prevents the calendar from opening through any interaction method.\n     * Similar to isButtonDisabled but also blocks input-click calendar opening.\n     */\n    @Input({ transform: booleanAttribute }) isPickerDisabled = false;\n    /**\n     * Controls whether clicking the input field opens the calendar popup.\n     * When false, the calendar only opens via the toggle button.\n     * Useful when the input should be primarily for manual text entry.\n     */\n    @Input({ transform: booleanAttribute }) isShownOnInputClick = true;\n    /**\n     * Displays a clear button in the input field to reset the value to null.\n     * Automatically disabled when isReadOnly is true.\n     * Clicking the clear button emits null through inputChange and dateSelect events.\n     */\n    @Input()\n    get isClearable(): boolean {\n        return this._isClearable && !this.isReadOnly;\n    }\n    set isClearable(value: BooleanInput) {\n        this._isClearable = coerceBooleanProperty(value);\n    }\n    private _isClearable = false;\n    /**\n     * Regular expression pattern to restrict which characters can be typed in the input field.\n     * Accepts a RegExp object or a string that will be converted to RegExp.\n     * Each keypress is validated against this pattern; non-matching keys are blocked.\n     * Useful for enforcing numeric-only input or specific date format characters.\n     */\n    @Input()\n    get restrictToRegex(): RegExp {\n        return this._restrictToRegex;\n    }\n    set restrictToRegex(value: string | RegExp) {\n        try {\n            if (value instanceof RegExp) {\n                this._restrictToRegex = value;\n            } else if (typeof value === 'string') {\n                this._restrictToRegex = new RegExp(value);\n            } else {\n                throw new Error(`restrictToRegex can only be string or RegExp, it cannot be ${typeof value}`);\n            }\n        } catch (e) {\n            console.error(e);\n        }\n    }\n    private _restrictToRegex: RegExp;\n\n    /**\n     * Returns an array of CSS classes to apply to the mat-datepicker panel.\n     * Combines internal classes with user-provided customPanelClass.\n     */\n    get mergedPanelClass(): string[] {\n        const classes = [`mat-calendar-${this.type}`];\n\n        if (this.isDatetimepicker) {\n            classes.push('eui-datepicker--container-height-large');\n        }\n\n        if (this.customPanelClass) {\n            if (Array.isArray(this.customPanelClass)) {\n                classes.push(...this.customPanelClass);\n            } else {\n                classes.push(this.customPanelClass);\n            }\n        }\n\n        return classes;\n    }\n\n    protected hasAriaRequiredAttribute: boolean;\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private format: MatDateFormats = inject(MAT_DATE_FORMATS, { optional: true });\n    private portalHost: DomPortalOutlet;\n    private portal: ComponentPortal<EuiTimepickerComponent>;\n    private templatePortal: TemplatePortal<EuiActionButtonsDirective>;\n    private isNull = false;\n    private adapter = inject<DateAdapter<any>>(DateAdapter);\n    private translateService = inject(TranslateService);\n    private localeService = injectOptional(LocaleService);\n    private EuiAppShellService = inject(EuiAppShellService);\n    private injector = inject(Injector);\n    private appRef = inject(ApplicationRef);\n    private viewContainerRef = inject(ViewContainerRef);\n    private control = inject(NgControl, { self: true, optional: true })!;\n    private momentAdapterOptions = injectOptional(MAT_MOMENT_DATE_ADAPTER_OPTIONS);\n\n    constructor() {\n        if (this.control) {\n            this.control.valueAccessor = this;\n        }\n    }\n\n    ngOnInit(): void {\n        this.inputFormControl.setValue(this.value);\n        // eslint-disable-next-line\n        this.isInputDisabled ? this.inputFormControl.disable() : this.inputFormControl.enable();\n\n        this.localeService\n            ?.getState()\n            .pipe(takeUntil(this.destroy$))\n            .subscribe((state) => {\n                this.adapter.setLocale(state.id);\n            });\n\n        if (this.isDatetimepicker && (this.minDate || this.maxDate)) {\n            this.inputFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(() => {\n                setTimeout(() => {\n                    this.checkTimePickerValidity();\n                });\n            });\n        }\n\n        if (!this.placeholder) {\n            if (this.type === 'regular' && !this.isDatetimepicker) {\n                this.translateService\n                    .stream('eui.datepicker.PLACEHOLDER')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((result: string) => {\n                        this.placeholder = result;\n                    });\n            } else if (this.type === 'regular' && this.isDatetimepicker) {\n                this.translateService\n                    .stream('eui.datepicker.ISDATETIMEPICKER')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((result: string) => {\n                        this.placeholder = result;\n                    });\n            } else if (this.type === 'year') {\n                this.translateService\n                    .stream('eui.datepicker.YEAR-PLACEHOLDER')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((result: string) => {\n                        this.placeholder = result;\n                    });\n            } else if (this.type === 'month') {\n                this.translateService\n                    .stream('eui.datepicker.MONTH-PLACEHOLDER')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((result: string) => {\n                        this.placeholder = result;\n                    });\n            }\n        }\n\n        this.EuiAppShellService.breakpoints$.pipe(takeUntil(this.destroy$)).subscribe((bkps) => (this.breakpointsValue = bkps));\n\n        this.updateInputAriaRequiredAttribute(this.control);\n        this.control?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(() => {\n            this.updateInputAriaRequiredAttribute(this.control);\n        });\n    }\n\n    ngAfterViewInit(): void {\n        if (this.euiActionButtons) {\n            this.templatePortal = new TemplatePortal(this.templatePortalRef, this.viewContainerRef);\n        }\n\n        if (this.isDatetimepicker || this.euiActionButtons) {\n            this.calendar['closeCalendar'] = this.calendar.close;\n            this.calendar.close = (): boolean => false;\n        }\n        \n        // Store input reference in control for validator access\n        if (this.control?.control) {\n            (this.control.control as any)._inputRef = this.inputRef;\n        }\n        \n        // Listen to native input event to trigger validation on every keystroke\n        if (this.inputRef) {\n            fromEvent(this.inputRef.nativeElement, 'input')\n                .pipe(takeUntil(this.destroy$))\n                .subscribe(() => {\n                    this.control?.control?.updateValueAndValidity({ emitEvent: false });\n                });\n        }\n    }\n\n    ngDoCheck(): void {\n        if (this.control) {\n            // marks the input control as touched/invalid if the form control is touched/invalid\n            // eslint-disable-next-line\n            this.control?.touched ? this.inputFormControl.markAsTouched() : this.inputFormControl.markAsUntouched();\n            // eslint-disable-next-line\n            this.control?.invalid ? this.inputFormControl.setErrors(this.control.errors) : this.inputFormControl.setErrors(null);\n        }\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes && changes['isReadOnly']) {\n            if (this.isReadOnly) {\n                this.showDateButton = false;\n            } else {\n                this.showDateButton = true;\n            }\n        }\n\n        if (changes && changes['isDisabled']) {\n            this.setDisabledState(this.isDisabled);\n        }\n\n        if (changes && changes['value']) {\n            this.inputFormControl.setValue(this.value);\n        } else {\n            if (this.dateOutputFormat && (this.value && this.value.value !== null)) {\n                this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n            }\n        }\n\n        if (changes && changes['isClearable']) {\n            // when is clearable is used listen if onclear is fired and update the value\n            if (this.isClearable) {\n                this.inputChange.pipe(takeUntil(this.destroy$)).subscribe((event) => {\n                    if (event === null) {\n                        this.value = event;\n                        this.propagateChange(event);\n                    }\n                });\n            }\n        }\n    }\n    /**\n     * Creates an injector for the timepicker component.\n     * @param data - The data to be passed to the timepicker component.\n     * @return {Injector} - The created injector.\n     */\n    createInjector(data: any): Injector {\n        const injectorTokens: StaticProvider = [{ provide: DYNAMIC_COMPONENT_CONFIG, useValue: data }];\n        return Injector.create({\n            parent: this.injector,\n            providers: injectorTokens,\n        });\n    }\n    /**\n     * Opens the calendar if read-only is false, listens to the keydown event when isDatetimepicker or euiActionButtons used\n     * and creates the time config passed to the timepicker component.\n     */\n    openCalendar(): void {\n        if (!this.isReadOnly) {\n            this.calendar.open();\n\n            if (this.isDatetimepicker || this.euiActionButtons) {\n                this.calendar.opened = true;\n                // listens to the keydown event once the calendar opened\n                fromEvent<KeyboardEvent>(document, 'keydown')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((event: KeyboardEvent) => {\n                        switch (event.key) {\n                            case 'Escape': //closes the calendar on Escape\n                                this.closeCalendar();\n                                break;\n                            case 'Enter': {\n                                //closes the calendar if pressing Enter on the close calendar button only\n                                this.getEventPath(event).forEach((p: any) => {\n                                    if (p.className && p.className.indexOf('mat-datepicker-close-button') !== -1) {\n                                        this.closeCalendar();\n                                    }\n                                });\n                                break;\n                            }\n                        }\n                    });\n            }\n\n            if (this.isDatetimepicker) {\n                this.portalHost = new DomPortalOutlet(\n                    document.querySelector('mat-calendar'),\n                    this.appRef,\n                    this.injector,\n                );\n                const timeConfig: EuiDateTimePickerConfig = {\n                    hours: this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().hours() : this.value && moment(this.value).hours(),\n                    mins: this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().minutes() : this.value && moment(this.value).minutes(),\n                    secs: this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().seconds() : this.value && moment(this.value).seconds(),\n                    isDatetimepicker: this.isDatetimepicker,\n                    hasSeconds: this.hasSeconds,\n                    isOneInputField: this.isOneInputField,\n                    stepHours: this.stepHours,\n                    stepMinutes: this.stepMinutes,\n                    stepSeconds: this.stepSeconds,\n                    isDisabled: !this.value || this.value === '',\n                    callbackFn: (hours: number, mins: number, secs: number) => {\n                        // Don't allow time changes when no date is selected\n                        if (!this.value || this.value === '') {\n                            return;\n                        }\n\n                        this.value =\n                            typeof this.value === 'string'\n                                ? moment(this.value, moment.ISO_8601)\n                                : moment(this.value, this.format.parse.dateInput);\n                        this.value.set({\n                            hour: hours || 0,\n                            minute: mins || 0,\n                            second: secs || 0,\n                        });\n\n                        this.inputFormControl.setValue(this.value);\n\n                        if (this.dateOutputFormat) {\n                            this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n                            this.dateSelect.emit(moment(this.value).format(this.dateOutputFormat));\n                        } else {\n                            this.propagateChange(moment(this.value));\n                            this.dateSelect.emit(this.value);\n                        }\n                    },\n                };\n\n                this.portal = new ComponentPortal(EuiTimepickerComponent, null, this.createInjector(timeConfig));\n                const componentRef: ComponentRef<EuiTimepickerComponent> = this.portalHost.attachComponentPortal(this.portal);\n                this.timePickerInstance = componentRef.instance;\n                this.timePickerComponentRef = componentRef;\n            }\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n\n        this.portalHost?.detach();\n    }\n\n    /**\n     * When calendar opens and isDatetimepicker or eui-action-buttons directive used, it closes the calendar when clicking outside of the\n     * overlay. If eui-action-buttons directive is used it registers the template portal where the user can add projected content as a\n     * footer.\n     */\n    onOpened(): void {\n        if (this.isDatetimepicker || this.euiActionButtons) {\n            if (this.euiActionButtons) {\n                this.calendar.registerActions(this.templatePortal);\n            }\n\n            this.calendar['_overlayRef']['_pane'].classList.add('eui-21');\n\n            this.calendar['_overlayRef']['_backdropClick'].pipe(takeUntil(this.destroy$)).subscribe(() => {\n                this.closeCalendar();\n            });\n        }\n    }\n\n    /**\n     * Retrieves the event path for a given event. This method provides a fallback\n     * for browsers that do not support the `event.path` property by constructing\n     * the path manually.\n     *\n     * @param event - The event object of type `KeyboardEvent`.\n     * @returns An array representing the event path, starting from the event target\n     *          and traversing up through its ancestors, ending with the `document`\n     *          and `window` objects.\n     */\n    getEventPath(event: KeyboardEvent): EventTarget[] {\n        if (event.composedPath) {\n            return event.composedPath();\n        }\n\n        // Fallback for browsers that do not support composedPath()\n        const path: EventTarget[] = [];\n        let target: EventTarget | null = event.target as EventTarget;\n\n        while (target) {\n            path.push(target);\n            target = (target as HTMLElement).parentNode as EventTarget;\n        }\n\n        path.push(document, window);\n\n        return path;\n    }\n    /**\n     * Fires when the type of the calendar is either month or year,\n     * formats the date if dateOutputFormat used\n     * emits and propagates the selected date value\n     * and closes the calendar.\n     * @param normalizedDate - The selected date in the calendar.\n     * @param calendar - The MatDatepicker instance.\n     */\n    chosenDateHandler(normalizedDate: any, calendar: MatDatepicker<any>): void {\n        if (this.dateOutputFormat) {\n            const formattedValue = moment(normalizedDate, this.dateOutputFormat);\n            this.value = formattedValue;\n            this.inputFormControl.setValue(formattedValue);\n\n            this.propagateChange(formattedValue.format(this.dateOutputFormat));\n            this.inputChange.emit(formattedValue.format(this.dateOutputFormat));\n            this.dateSelect.emit(formattedValue.format(this.dateOutputFormat));\n        } else {\n            this.value = normalizedDate;\n            this.inputFormControl.setValue(this.value);\n\n            this.propagateChange(this.value);\n            this.dateSelect.emit(this.value ? this.value : null);\n            this.inputChange.emit(this.value ? this.value : null);\n        }\n        calendar.close();\n    }\n    /**\n     * Method which returns true in order to mark the date as valid.\n     * @returns {boolean} - Returns true if the date is valid.\n     */\n    public datepickerFiltering(): boolean {\n        return true;\n    }\n    /**\n     * Method which fires when the datepicker input value changes and applies logic when isDatetimepicker is false.\n     * @param e - The MatDatepickerInputEvent object containing the new value.\n     */\n    public onDateInput(e: MatDatepickerInputEvent<Moment | Date | string>): void {\n        if (!this.isDatetimepicker) {\n            if (e.value === null) {\n                this.propagateChange(null);\n                this.inputChange.emit(null);\n            } else {\n                const correctedDate = this.validateDateRange(e.value);\n                this.value = correctedDate;\n\n                if (this.dateOutputFormat) {\n                    const formatted = this.adapterToMoment(correctedDate).format(this.dateOutputFormat);\n                    this.propagateChange(formatted);\n                    this.inputChange.emit(formatted);\n                } else {\n                    this.propagateChange(correctedDate);\n                    this.inputChange.emit(correctedDate);\n                }\n            }\n            this.propagateTouched();\n        }\n    }\n    /**\n     * Method which fires when there is a date change from the calendar popup,\n     * formats, emits and propagates the new value also when isDatetimepicker true.\n     * @param e - The MatDatepickerInputEvent object containing the new value.\n     */\n    public onDateChange(e: MatDatepickerInputEvent<Moment | Date | string>): void {\n        if (e.value === null) {\n            this.propagateChange(null);\n            this.dateSelect.emit(null);\n            this.isNull = true;\n        } else {\n            this.isNull = false;\n            if (this.isDatetimepicker) {\n                const hours = this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().hours() : this.value && moment(this.value).hours()\n                const mins = this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().minutes() : this.value && moment(this.value).minutes();\n                const secs = this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().seconds() : this.value && moment(this.value).seconds();\n\n                this.value = moment(e.value, this.format.parse.dateInput);\n                this.value.set({\n                    hour: hours || 0,\n                    minute: mins || 0,\n                    second: secs || 0,\n                });\n\n                if (this.calendar.opened) {\n                    // Enable timepicker when date is selected\n                    setTimeout(() => this.updateTimePickerDisabledState());\n                    this.inputFormControl.setValue(this.value);\n                }\n\n                if (this.dateOutputFormat && this.value != null) {\n                    this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n                    this.dateSelect.emit(this.value.format(this.dateOutputFormat));\n                } else {\n                    this.propagateChange(moment(this.value));\n                    this.dateSelect.emit(e?.value);\n                }\n            } else {\n                if (this.dateOutputFormat) {\n                    const formatted = this.adapterToMoment(e.value).format(this.dateOutputFormat);\n                    this.value = e.value;\n                    this.dateSelect.emit(formatted);\n                } else {\n                    this.dateSelect.emit(e?.value ? e.value : null);\n                }\n            }\n        }\n    }\n    /**\n     * Method which fires when the input value changes and applies logic when isDatetimepicker true.\n     * @param e - The new value of the input field.\n     */\n    changedInput(e: string | Event): void {\n        const value = typeof e === 'string' ? e : (e.target as HTMLInputElement).value;\n        if (!this.isNull) {\n            const parsedDate = this.momentAdapterOptions?.useUtc ? moment(value, this.format.parse.dateInput).utcOffset(0, true) : moment(value, this.format.parse.dateInput);\n            const correctedDate = this.validateDateRange(parsedDate);\n            \n            this.value = correctedDate;\n            this.inputFormControl.setValue(this.value);\n            if (this.dateOutputFormat && this.value != null) {\n                this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n                this.inputChange.emit(moment(this.value).format(this.dateOutputFormat));\n            } else {\n                this.propagateChange(moment(this.value));\n                this.inputChange.emit(this.value);\n            }\n        }\n    }\n    /**\n     * Method which fires when clearing the input field and emits/propagates the null value.\n     */\n    onClear(): void {\n        this.dateSelect.emit(null);\n        this.inputChange.emit(null);\n        this.propagateChange(null);\n    }\n    /**\n     * Method which fires upon keypress and opens the calendar if isShownOnInputClick is true and the Enter key is pressed.\n     * Also if there is a restrictToRegex, it prevents the default action if the key is not matching the regex.\n     * @param e - The KeyboardEvent object.\n     */\n    onKeypress(e: KeyboardEvent): void {\n        if (e.key === 'Enter' && this.isShownOnInputClick) {\n            this.openCalendar();\n            e.preventDefault();\n        }\n\n        if (this._restrictToRegex) {\n            if (!this._restrictToRegex.test(e.key)) {\n                e.preventDefault();\n            }\n        }\n    }\n\n    /**\n     * Selects today's date\n     */\n    selectToday(): void {\n        this.inputFormControl.setValue(moment());\n    }\n\n    /**\n     * Closes the calendar when isDatetimepicker or eui-action-buttons used and removes the applied footer when eui-action-buttons used\n     */\n    closeCalendar(): void {\n        this.calendar['closeCalendar']();\n\n        if (this.euiActionButtons) {\n            this.calendar.removeActions(this.templatePortal);\n        }\n    }\n\n    /**\n     * When eui-action-buttons used, it applies the date selection and closes the calendar\n     */\n    onDateSelectApply(): void {\n        this.calendar._applyPendingSelection();\n        this.closeCalendar();\n    }\n\n    writeValue(value: any): void {\n        this.value = value || '';\n        this.inputFormControl.setValue(value, { emitEvent: false });\n    }\n\n    registerOnChange(fn: () => void): void {\n        this.propagateChange = fn;\n    }\n\n    registerOnTouched(fn: () => void): void {\n        this.propagateTouched = fn;\n    }\n    /**\n     * Converts the type of the calendar to the corresponding start view.\n     * @param type - The type of the calendar.\n     * @returns {('year' | 'month' | 'multi-year')} - The start view of the calendar.\n     */\n    convTypeToStartView(type: string): 'year' | 'month' | 'multi-year' {\n        switch (type) {\n            case 'month':\n                return 'year';\n            case 'year':\n                return 'multi-year';\n            case 'regular':\n                return 'month';\n        }\n    }\n    /**\n     * Sets the disabled state of the component based on the boolean value passed.\n     * @param isDisabled - The boolean value indicating whether the component should be disabled or not.\n     */\n    public setDisabledState?(isDisabled: boolean): void {\n        this.isDisabled = isDisabled;\n        if (isDisabled) {\n            // disables only the input through reactive forms\n            if (this.isInputDisabled && !this.isPickerDisabled) {\n                this.isInputDisabled = true;\n                this.isButtonDisabled = this.isPickerDisabled = false;\n                // disables only the button through reactive forms\n            } else if (this.isButtonDisabled && !this.isInputDisabled) {\n                this.isInputDisabled = false;\n                this.isButtonDisabled = this.isPickerDisabled = true;\n            } else {\n                this.isInputDisabled = this.isPickerDisabled = this.isButtonDisabled = true;\n            }\n        } else {\n            this.isInputDisabled = this.isPickerDisabled = this.isButtonDisabled = false;\n        }\n\n        // eslint-disable-next-line\n        this.isInputDisabled ? this.inputFormControl.disable() : this.inputFormControl.enable();\n    }\n\n    /**\n     * Marks the form field as touched when focusing out to trigger validation\n     */\n    protected onFocusOut(): void {\n        this.propagateTouched();\n    }\n    /**\n     * Checks the validity of the time picker based on the minDate and maxDate properties.\n     * If the value is outside the range, it adjusts the time picker values accordingly.\n     */\n    private checkTimePickerValidity(): void {\n        const getTime = (d: any): moment.Moment => {\n            const deserialized = this.adapter.deserialize(d);\n            return moment(new Date(this.adapter.getYear(deserialized), this.adapter.getMonth(deserialized), this.adapter.getDate(deserialized)));\n        };\n\n        if (this.minDate && (!moment(this.minDate).isBefore(this.value) || this.areSameDates(this.value, this.minDate))) {\n            this.timePickerInstance.hoursDownDisable(true);\n            this.timePickerInstance.minutesDownDisable(true);\n            this.timePickerInstance.secondsDownDisable(true);\n\n            if (!moment(this.minDate).isBefore(this.value)) {\n                const minMoment = getTime(this.minDate);\n                const hours = minMoment.hours();\n                const minutes = minMoment.minutes();\n                const seconds = minMoment.seconds();\n\n                setTimeout(() => {\n                    this.timePickerInstance.hours = hours;\n                    this.timePickerInstance.mins = minutes;\n                    this.timePickerInstance.secs = seconds;\n                });\n\n                this.value = typeof this.value === 'string' ? moment(this.value, moment.ISO_8601) : moment(this.value, this.format.parse.dateInput);\n                this.value.set({ hour: hours || 0, minute: minutes || 0, second: seconds || 0 });\n            }\n        } else {\n            this.timePickerInstance?.hoursDownDisable(false);\n            this.timePickerInstance?.minutesDownDisable(false);\n            this.timePickerInstance?.secondsDownDisable(false);\n        }\n\n        if (this.maxDate && this.adapter.compareDate(this.adapter.deserialize(this.value), this.adapter.deserialize(this.maxDate)) >= 0) {\n            this.timePickerInstance.hoursUpDisable(true);\n            this.timePickerInstance.minutesUpDisable(true);\n            this.timePickerInstance.secondsUpDisable(true);\n\n            if (this.adapter.compareDate(this.adapter.deserialize(this.value), this.adapter.deserialize(this.maxDate)) > 0) {\n                const maxMoment = getTime(this.maxDate);\n                const hours = maxMoment.hours();\n                const minutes = maxMoment.minutes();\n                const seconds = maxMoment.seconds();\n\n                setTimeout(() => {\n                    this.timePickerInstance.hours = hours;\n                    this.timePickerInstance.mins = minutes;\n                    this.timePickerInstance.secs = seconds;\n                });\n\n                this.value = typeof this.value === 'string' ? moment(this.value, moment.ISO_8601) : moment(this.value, this.format.parse.dateInput);\n                this.value.set({ hour: hours || 0, minute: minutes || 0, second: seconds || 0 });\n            }\n\n            if (this.value.hour() === 0 && this.value.minute() === 0 && this.value.second() === 0 &&\n                getTime(this.maxDate).hour() === 0 && getTime(this.maxDate).minute() === 0 && getTime(this.maxDate).second() === 0 &&\n                this.minDate && this.areSameDates(this.value, this.minDate)) {\n                this.timePickerInstance.hoursDownDisable(true);\n                this.timePickerInstance.minutesDownDisable(true);\n                this.timePickerInstance.secondsDownDisable(true);\n            } else {\n                this.timePickerInstance.hoursDownDisable(false);\n                this.timePickerInstance.minutesDownDisable(false);\n                this.timePickerInstance.secondsDownDisable(false);\n            }\n        } else {\n            this.timePickerInstance.hoursUpDisable(false);\n            this.timePickerInstance.minutesUpDisable(false);\n            this.timePickerInstance.secondsUpDisable(false);\n        }\n    }\n    /**\n     * Compares two dates and checks if they are the same.\n     * @param date1 - The first date to compare.\n     * @param date2 - The second date to compare.\n     * @returns {boolean} - Returns true if the dates are the same, otherwise false.\n     */\n    private areSameDates(date1: any, date2: any): boolean {\n        const d1 = this.adapter.deserialize(date1);\n        const d2 = this.adapter.deserialize(date2);\n        return this.adapter.compareDate(d1, d2) === 0;\n    }\n\n    private propagateChange = (_: any): void => {/* empty */};\n\n    private propagateTouched = (): void => {/* empty */};\n\n    /**\n     * Updates the `aria-required` attribute on the input element.\n     * @private\n     */\n    private updateInputAriaRequiredAttribute(control: NgControl): void {\n        this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);\n    }\n\n    /**\n     * Validates and corrects the date to ensure it falls within the specified minDate and maxDate range.\n     * If the date is before minDate, returns minDate. If the date is after maxDate, returns maxDate.\n     * Otherwise, returns the original date unchanged.\n     * \n     * @param date - The date to validate (can be Moment, Date, or string)\n     * @returns The validated date as a Moment object within the allowed range\n     */\n    private validateDateRange(date: Moment | Date | string): Moment | Date | string {\n        const minDate = this.minDate ? this.adapter.deserialize(this.minDate) : null;\n        const maxDate = this.maxDate ? this.adapter.deserialize(this.maxDate) : null;\n        if (minDate && this.adapter.compareDate(date as any, minDate) < 0) {\n            return minDate;\n        }\n        if (maxDate && this.adapter.compareDate(date as any, maxDate) > 0) {\n            return maxDate;\n        }\n        return date;\n    }\n\n    /**\n     * Updates the disabled state of the timepicker based on whether a date is selected.\n     * @private\n     */\n    private updateTimePickerDisabledState(): void {\n        if (this.timePickerInstance) {\n            const hasDate = this.value && this.value !== '';\n            this.timePickerInstance.isDisabled = !hasDate;\n            this.timePickerComponentRef?.changeDetectorRef.markForCheck();\n        }\n    }\n\n    /**\n     * Converts a date from any adapter format to Moment formats used with dateOutputFormat property.\n     * @private\n     * @param date - The date to convert, can be of any type supported by the adapter.\n     * @returns The converted date as a Moment object.\n     */\n    private adapterToMoment = (date: any): ReturnType<typeof moment> => moment({\n        year: this.adapter.getYear(date),\n        month: this.adapter.getMonth(date),\n        date: this.adapter.getDate(date),\n    });\n}\n\nexport const LETTER_FORMAT = {\n    parse: {\n        dateInput: 'LL',\n    },\n    display: {\n        dateInput: 'LL',\n        monthYearLabel: 'LL',\n    },\n};\n\nexport const YEAR_FORMAT = {\n    parse: {\n        dateInput: 'YYYY',\n    },\n    display: {\n        dateInput: 'YYYY',\n        monthYearLabel: 'YYYY',\n        dateA11yLabel: 'YYYY',\n        monthYearA11yLabel: 'YYYY',\n    },\n};\n\nexport const MONTH_YEAR_FORMAT = {\n    parse: {\n        dateInput: 'MM/YYYY',\n    },\n    display: {\n        dateInput: 'MM/YYYY',\n        monthYearLabel: 'MMM YYYY',\n        dateA11yLabel: 'LL',\n        monthYearA11yLabel: 'MMMM YYYY',\n    },\n};\n\n@Directive({\n    selector: '[euiLetterFormat]',\n    providers: [{ provide: MAT_DATE_FORMATS, useValue: LETTER_FORMAT }],\n})\nexport class EuiLetterFormatDirective {}\n\n@Directive({\n    selector: '[euiYearFormat]',\n    providers: [{ provide: MAT_DATE_FORMATS, useValue: YEAR_FORMAT }],\n})\nexport class EuiYearFormatDirective {}\n\n@Directive({\n    selector: '[euiMonthYearFormat]',\n    providers: [{ provide: MAT_DATE_FORMATS, useValue: MONTH_YEAR_FORMAT }],\n})\nexport class EuiMonthYearFormatDirective {}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-action-buttons' })\nexport class EuiActionButtonsDirective {\n    @HostBinding('class') class = 'eui-datepicker__action-buttons';\n }\n",
            "selector": "eui-action-buttons",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-datepicker__action-buttons'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 1183,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "propertiesClass": [
                {
                    "name": "class",
                    "defaultValue": "'eui-datepicker__action-buttons'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 1183,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiAppPageWrapperDirective",
            "id": "directive-EuiAppPageWrapperDirective-4aea83bc1088f6fcb8d7d2d3089e9dddd6258fc7efa3ac167536ba9e679e2f7f410e7b27f9765d8e41e6ebb2e1f0c21b040bb52b37ff539af07e4be79f39aa0d",
            "file": "packages/components/layout/eui-app/eui-app.component.ts",
            "type": "directive",
            "description": "<p>Marker directive to identify custom page wrapper content projected into the eui-app component.\nWhen present, prevents the default page wrapper from being rendered, allowing full control over page layout structure.\nUsed internally by EuiAppComponent to detect custom content projection.</p>\n",
            "rawdescription": "\n\nMarker directive to identify custom page wrapper content projected into the eui-app component.\nWhen present, prevents the default page wrapper from being rendered, allowing full control over page layout structure.\nUsed internally by EuiAppComponent to detect custom content projection.\n",
            "sourceCode": "import {\n    Component,\n    Directive,\n    ViewEncapsulation,\n    HostBinding,\n    OnInit,\n    OnDestroy,\n    Input,\n    ContentChild,\n    forwardRef,\n    OnChanges,\n    SimpleChanges,\n    ChangeDetectorRef,\n    AfterContentInit,\n    inject,\n    PLATFORM_ID,\n    booleanAttribute,\n    Injector,\n    ComponentRef,\n} from '@angular/core';\nimport { AsyncPipe, DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { RouterOutlet } from '@angular/router';\nimport { Subject, fromEvent, debounceTime, take, takeUntil, withLatestFrom } from 'rxjs';\nimport { GlobalPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal, PortalModule } from '@angular/cdk/portal';\n\nimport { EuiAppShellService, EuiGrowlService, CssUtils } from '@eui/core';\nimport { EUI_DIMMER } from '@eui/components/eui-dimmer';\nimport { EuiGrowlComponent } from '@eui/components/eui-growl';\nimport { EuiBlockDocumentComponent } from '@eui/components/eui-block-document';\nimport { EUI_USER_PROFILE } from '@eui/components/eui-user-profile';\n\nimport { EuiToolbarComponent, EuiToolbarItemComponent, EuiToolbarItemsComponent } from '../eui-toolbar';\nimport { EuiAppSidebarBodyComponent, EuiAppSidebarComponent, EuiAppSidebarMenuComponent } from './eui-app-sidebar';\nimport { EuiAppToolbarComponent } from './eui-app-toolbar';\n\n/**\n * @description\n * Root application shell component that provides the foundational layout structure for EUI applications.\n * Manages the main application frame including sidebar navigation, toolbar, page content area, and global UI services.\n * Handles responsive behavior, viewport tracking, and theme application across the entire application.\n * Integrates with EuiAppShellService to maintain centralized application state for layout configuration.\n * \n * @usageNotes\n * ```html\n * <!-- Basic app shell -->\n * <eui-app>\n *   <eui-app-sidebar>\n *     <eui-app-sidebar-menu>\n *       <!-- Navigation menu items -->\n *     </eui-app-sidebar-menu>\n *   </eui-app-sidebar>\n *   \n *   <eui-app-toolbar>\n *     <!-- Toolbar content -->\n *   </eui-app-toolbar>\n *   \n *   <router-outlet></router-outlet>\n * </eui-app>\n *\n * <!-- With custom configuration -->\n * <eui-app \n *   [isSidebarOpen]=\"sidebarOpen\"\n *   [isShrinkHeaderActive]=\"true\"\n *   [themeClass]=\"'dark-theme'\"\n *   appSubTitle=\"Dashboard\">\n *   <eui-app-sidebar>\n *     <!-- Sidebar content -->\n *   </eui-app-sidebar>\n *   <router-outlet></router-outlet>\n * </eui-app>\n *\n * <!-- Without sidebar -->\n * <eui-app [isSidebarHidden]=\"true\">\n *   <eui-app-toolbar>\n *     <!-- Toolbar only layout -->\n *   </eui-app-toolbar>\n *   <router-outlet></router-outlet>\n * </eui-app>\n * ```\n *\n * ```ts\n * export class AppComponent {\n *   sidebarOpen = true;\n *   \n *   constructor(private appShellService: EuiAppShellService) {\n *     // Access global app state\n *     this.appShellService.state$.subscribe(state => {\n *       console.log('App state:', state);\n *     });\n *   }\n * }\n * ```\n *\n * ### Accessibility\n * - Provides semantic application structure with proper landmarks\n * - Sidebar navigation is keyboard accessible\n * - Focus management handled during sidebar expand/collapse\n * - Responsive behavior maintains usability across devices\n * - Theme changes preserve contrast ratios for accessibility\n * - Growl notifications use ARIA live regions for screen reader announcements\n *\n * ### Notes\n * - Must be used as root layout component in application\n * - Integrates with EuiAppShellService for centralized state management\n * - Automatically tracks viewport dimensions and updates on resize\n * - Applies 'eui-21' class to HTML element for global styling\n * - isSidebarOpen controls sidebar expanded/collapsed state (default: true)\n * - isSidebarHidden completely removes sidebar from layout (default: false)\n * - isShrinkHeaderActive enables header shrinking on scroll (default: true)\n * - themeClass applies custom theme styling to entire application\n * - appSubTitle displays contextual subtitle in header/toolbar\n * - Manages growl notification overlay positioning and lifecycle\n * - Handles browser detection for Chrome, IE, Firefox specific behaviors\n * - Automatically sets CSS custom properties for viewport dimensions\n * - Content projection expects eui-app-sidebar, eui-app-toolbar, and router-outlet\n * - Use EuiAppPageWrapperDirective for custom page wrapper layouts\n * - Responsive breakpoints handled automatically via media queries\n */\n@Component({\n    selector: 'eui-app',\n    templateUrl: './eui-app.component.html',\n    styleUrl: './_styles/_index.scss',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        RouterOutlet,\n        AsyncPipe,\n        EuiAppSidebarComponent,\n        EuiAppSidebarMenuComponent,\n        EuiAppSidebarBodyComponent,\n        EuiAppToolbarComponent,\n        EuiToolbarComponent,\n        EuiToolbarItemsComponent,\n        EuiToolbarItemComponent,\n        ...EUI_USER_PROFILE,\n        ...EUI_DIMMER,\n        PortalModule,\n    ],\n})\nexport class EuiAppComponent implements OnInit, OnDestroy, OnChanges, AfterContentInit {\n    @HostBinding('class') cssClasses = 'eui-app';\n\n    /**\n     * Subtitle text displayed in the application header or toolbar area.\n     * Typically used to show contextual information about the current view or section.\n     * @default empty string\n     */\n    @Input() appSubTitle = '';\n\n    /**\n     * CSS class name to apply a custom theme to the application shell.\n     * Allows theme switching by applying predefined theme class names to the root component.\n     * @default empty string\n     */\n    @Input() themeClass = '';\n\n    hasNoPageWrapper = false;\n\n    isViewLoaded: boolean;\n\n    /**\n     * Controls the expanded/collapsed state of the application sidebar.\n     * When true, sidebar is fully expanded showing labels and content. When false, sidebar collapses to icon-only mode.\n     * Syncs with EuiAppShellService state to coordinate sidebar behavior across the application.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isSidebarOpen = true;\n\n    /**\n     * Enables automatic header shrinking behavior on scroll.\n     * When true, the application header reduces its height when user scrolls down, maximizing content area.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isShrinkHeaderActive = true;\n\n    /**\n     * Completely hides the sidebar from the layout.\n     * When true, sidebar is removed from DOM and content area expands to full width.\n     * Differs from isSidebarOpen which only collapses the sidebar.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isSidebarHidden = false;\n    \n    @ContentChild(forwardRef(() => EuiAppSidebarComponent))\n    appSidebar: EuiAppSidebarComponent;\n\n    @ContentChild(forwardRef(() => EuiAppPageWrapperDirective))\n    customPageWrapper: EuiAppPageWrapperDirective;\n\n    @ContentChild(forwardRef(() => EuiAppToolbarComponent))\n    appToolbar: EuiAppToolbarComponent;\n\n    asService = inject(EuiAppShellService);\n    euiGrowlService = inject(EuiGrowlService);\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private cdRef = inject(ChangeDetectorRef);\n    private platformId = inject(PLATFORM_ID);\n    private document = inject<Document>(DOCUMENT);\n    private overlay = inject(Overlay);\n    private overlayRefs: OverlayRef[] = [];\n    private growlInstance: ComponentRef<EuiGrowlComponent> = null;\n    private blockDocumentOverlayRef: OverlayRef = null;\n    private blockDocumentInstance: ComponentRef<EuiBlockDocumentComponent> = null;\n\n    ngAfterContentInit(): void {\n        this.hasNoPageWrapper = !this.customPageWrapper;\n        this.isViewLoaded = true;\n    }\n\n    ngOnInit(): void {\n        this.isViewLoaded = false;\n\n        CssUtils.initCssVars(this.document, this.platformId);\n\n        CssUtils.setHtmlClass('eui-21', this.document);\n\n        if(isPlatformBrowser(this.platformId)) {\n            const browserAgent = window.navigator.userAgent.toLowerCase();\n\n            this.asService.setState({\n                ...this.asService.state,\n                windowHeight: window.innerHeight,\n                windowWidth: window.innerWidth,\n                hasHeader: false,\n                hasSidebar: false,\n                deviceInfo: {\n                    isChrome: browserAgent.indexOf('chrome') > -1,\n                    isIE: browserAgent.indexOf('trident') > -1,\n                    isFF: browserAgent.indexOf('firefox') > -1,\n                },\n                appBaseFontSize: this.asService.getBaseFontSize(),\n            });\n        }\n\n        this.asService\n            .getState('wrapperClasses')\n            .pipe(takeUntil(this.destroy$))\n            .subscribe((state: string) => {\n                this.cdRef.detach();\n                this.cssClasses = ['eui-app', state].join(' ');\n                this.cdRef.reattach();\n                this.cdRef.detectChanges();\n            });\n\n        if(isPlatformBrowser(this.platformId)) {\n            fromEvent(window, 'resize')\n                .pipe(debounceTime(50), takeUntil(this.destroy$))\n                .subscribe(() => {\n                    this.asService?.setState({\n                        ...this.asService.state,\n                        windowHeight: window.innerHeight,\n                        windowWidth: window.innerWidth,\n                    });\n                    CssUtils.setAppViewportCssVars(this.platformId);\n                });\n        }\n\n        this.euiGrowlService.growlMessages\n            .pipe(\n                withLatestFrom(\n                this.euiGrowlService.isGrowlSticky,\n                this.euiGrowlService.isCloseAllSticky,\n                this.euiGrowlService.growlLife,\n                this.euiGrowlService.growlPosition,\n                this.euiGrowlService.growlCallback,\n                this.euiGrowlService.ariaGrowlLive,\n                ),\n                takeUntil(this.destroy$),\n            )\n        .subscribe(([messages, sticky, closeAllSticky, life, position, callback, ariaLive]) => {\n            if (messages.length > 0) {\n                if (!this.growlInstance) {\n                    const overlayRef = this.overlay.create({\n                        hasBackdrop: false,\n                        disposeOnNavigation: true,\n                        panelClass: ['eui-growl', 'eui-growl--' + position, 'eui-21'],\n                        positionStrategy: this.getPositionStrategy(position),\n                    });\n    \n                    this.overlayRefs.push(overlayRef);\n                    this.overlayRefs.slice(0, -1).forEach(ref => ref.dispose());\n                    this.overlayRefs = this.overlayRefs.slice(-1);\n\n                    const containerPortal = new ComponentPortal<EuiGrowlComponent>(EuiGrowlComponent);\n                    this.growlInstance = overlayRef.attach(containerPortal);\n\n                    this.growlInstance.setInput('value', messages);\n                    this.growlInstance.setInput('sticky', sticky);\n                    this.growlInstance.setInput('closeAllSticky', closeAllSticky);\n                    this.growlInstance.setInput('life', life);\n                    this.growlInstance.setInput('position', position);\n                    this.growlInstance.setInput('ariaLive', ariaLive);\n                    this.growlInstance.setInput('callback', callback);\n\n                    this.growlInstance.instance.growlClose.pipe(take(1)).subscribe(() => {\n                        if (messages.length === 0) {\n                            this.overlayRefs.forEach(ref => ref.dispose());\n                            this.overlayRefs = [];\n                            this.growlInstance = null;\n                        }\n                    });\n                } else {\n                    this.growlInstance.setInput('value', messages);\n                    this.growlInstance.instance.growlClose.pipe(take(1)).subscribe(() => {\n                        if (messages.length === 0) {\n                            this.overlayRefs.forEach(ref => ref.dispose());\n                            this.overlayRefs = [];\n                            this.growlInstance = null;\n                        }\n                    });\n                }\n            } else {\n                this.overlayRefs.forEach(ref => ref.dispose());\n                this.overlayRefs = [];\n                this.growlInstance = null;\n            }\n        });\n\n        this.asService\n            .getState('isBlockDocumentActive')\n            .pipe(takeUntil(this.destroy$))\n            .subscribe((isBlocked: boolean) => {\n                if (isBlocked) {\n                    if (!this.blockDocumentInstance) {\n                        this.blockDocumentOverlayRef = this.overlay.create({\n                            hasBackdrop: false,\n                            disposeOnNavigation: false,\n                            panelClass: ['eui-21'],\n                            positionStrategy: this.overlay.position().global(),\n                        });\n\n                        const blockPortal = new ComponentPortal<EuiBlockDocumentComponent>(EuiBlockDocumentComponent);\n                        this.blockDocumentInstance = this.blockDocumentOverlayRef.attach(blockPortal);\n                        this.blockDocumentInstance.setInput('isBlocked', true);\n                    }\n                } else {\n                    if (this.blockDocumentOverlayRef) {\n                        this.blockDocumentOverlayRef.dispose();\n                        this.blockDocumentOverlayRef = null;\n                        this.blockDocumentInstance = null;\n                    }\n                }\n            });\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes.isSidebarHidden) {\n            this.asService.setState({\n                ...this.asService.state,\n                isSidebarHidden: changes.isSidebarHidden.currentValue,\n            });\n        }\n        if (changes.isSidebarOpen) {\n            this.asService.setState({\n                ...this.asService.state,\n                isSidebarOpen: changes.isSidebarOpen.currentValue,\n            });\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n        this.overlayRefs.forEach(ref => ref.dispose());\n        this.overlayRefs = [];\n        this.growlInstance = null;\n        if (this.blockDocumentOverlayRef) {\n            this.blockDocumentOverlayRef.dispose();\n            this.blockDocumentOverlayRef = null;\n            this.blockDocumentInstance = null;\n        }\n    }\n\n    private getPositionStrategy(position: string): GlobalPositionStrategy {\n        const strategy = this.overlay.position().global();\n\n        switch (position) {\n            case 'bottom-right':\n            return strategy.bottom().right();\n\n            case 'bottom-left':\n            return strategy.bottom().left();\n\n            case 'top-right':\n            return strategy.top().right();\n\n            case 'top-left':\n            return strategy.top().left();\n\n            case 'bottom-center':\n            return strategy.bottom().centerHorizontally();\n\n            case 'top-center':\n            return strategy.top().centerHorizontally();\n\n            default:\n            return strategy.bottom().right();\n        }\n    }\n}\n\n/**\n * @description\n * Marker directive to identify custom page wrapper content projected into the eui-app component.\n * When present, prevents the default page wrapper from being rendered, allowing full control over page layout structure.\n * Used internally by EuiAppComponent to detect custom content projection.\n */\n/* eslint-disable */\n@Directive({ selector: 'eui-app-page-wrapper' })\nexport class EuiAppPageWrapperDirective { }\n\n",
            "selector": "eui-app-page-wrapper",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiArrowKeyNavigableDirective",
            "id": "directive-EuiArrowKeyNavigableDirective-c8598c7f5d8645efc0d5bdef6c4142e7be1876f6ce5e7b39966a3c4f2a5a3f5a2c34034f1d3b317d850f0166315abac63e88bd83e364c13ef4fc5a1f3517a382",
            "file": "packages/components/directives/eui-arrow-key-navigable.directive.ts",
            "type": "directive",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { Directive, ElementRef, HostBinding, HostListener, inject } from '@angular/core';\n\n@Directive({\n    selector: '[euiArrowKeyNavigable]',\n})\n\n/**\n * Directive enabling keyboard arrow key navigation for focusable content within list items.\n * Makes rich content elements keyboard-accessible by managing focus state and tabindex.\n * Typically used in dropdown menus, list boxes, or custom navigation components.\n *\n * @usageNotes\n * ```html\n * <div euiArrowKeyNavigable>\n *   <a href=\"#\">Focusable link</a>\n *   <button>Focusable button</button>\n * </div>\n * ```\n *\n * ### Accessibility\n * - Sets tabindex=\"-1\" to remove from default tab order while allowing programmatic focus\n * - Tracks focus state for visual feedback and navigation management\n * - Use with arrow key navigation logic in parent component\n *\n * ### Notes\n * - Element is not in default tab order but can receive focus programmatically\n * - Commonly paired with list navigation components that handle arrow key events\n * - Focus state tracked via isFocused property\n */\nexport class EuiArrowKeyNavigableDirective {\n    elementRef = inject(ElementRef);\n\n    @HostBinding('attr.tabindex') tabindex = '-1';\n    isFocused = false;\n\n    @HostListener('focus')\n    onFocus(): void {\n        this.isFocused = true;\n    }\n\n    @HostListener('blur')\n    onBlur(): void {\n        this.isFocused = false;\n    }\n}\n",
            "selector": "[euiArrowKeyNavigable]",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.tabindex",
                    "defaultValue": "'-1'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 33,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [
                {
                    "name": "blur",
                    "args": [],
                    "argsDecorator": [],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 42
                },
                {
                    "name": "focus",
                    "args": [],
                    "argsDecorator": [],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 37
                }
            ],
            "propertiesClass": [
                {
                    "name": "elementRef",
                    "defaultValue": "inject(ElementRef)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 31
                },
                {
                    "name": "isFocused",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 34
                },
                {
                    "name": "tabindex",
                    "defaultValue": "'-1'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 33,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.tabindex'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onBlur",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 42,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'blur'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "onFocus",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 37,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'focus'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "extends": []
        },
        {
            "name": "EuiChipListAdditionalContentDirective",
            "id": "directive-EuiChipListAdditionalContentDirective-51a3343030ab060c4e47e050556747c75cfc73d096026de37b5f28b4e0e3899c0a84e430f0e07ebf34e4c1094133ad04c15d12e2c87a07dcd8c8546446e41d76",
            "file": "packages/components/eui-chip-list/eui-chip-list.component.ts",
            "type": "directive",
            "description": "<p>Directive for wrapping non-chip content within eui-chip-list.\nExcludes wrapped content from the list ARIA structure for proper accessibility.\nUsed to include additional elements alongside chips without affecting semantic list structure.</p>\n",
            "rawdescription": "\n\nDirective for wrapping non-chip content within eui-chip-list.\nExcludes wrapped content from the list ARIA structure for proper accessibility.\nUsed to include additional elements alongside chips without affecting semantic list structure.\n",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy, Directive, Input } from '@angular/core';\n\n/**\n * @description\n * Directive for appending content to chip list, used internally by eui-autocomplete component.\n * Enables positioning of chips above, below, or inside the text input field.\n * Used exclusively within eui-autocomplete for flexible chip placement.\n */\n/* eslint-disable */\n@Directive({ \n    selector: 'eui-chip-list-append-content'\n})\nexport class EuiChipListAppendContentDirective {}\n\n/**\n * @description\n * Directive for wrapping non-chip content within eui-chip-list.\n * Excludes wrapped content from the list ARIA structure for proper accessibility.\n * Used to include additional elements alongside chips without affecting semantic list structure.\n */\n@Directive({ \n    selector: 'eui-chip-list-additional-content'\n})\nexport class EuiChipListAdditionalContentDirective {}\n/* eslint-enable */\n\n/**\n * @description\n * Container component for displaying multiple interactive chip elements as a cohesive group.\n * Provides semantic list structure with ARIA attributes for accessibility.\n * Automatically manages layout and spacing for chip collections.\n * Supports additional content via directives for flexible composition.\n * Typically used for displaying tags, filters, selected items, or multi-value selections.\n * \n * @usageNotes\n * ```html\n * <eui-chip-list>\n *     <eui-chip><span euiLabel>Label</span></eui-chip>\n * </eui-chip-list>\n * ```\n * \n * @usageNotes\n * With icon\n * ```html\n * <eui-chip-list>\n *     <eui-chip><span [class]=\"eui-user\"></span><span euiLabel>Label</span></eui-chip>\n * </eui-chip-list>\n * ```\n * \n * @usageNotes\n * Max visible chips\n * ```html\n * <eui-chip-list>\n *     \\@for (chip of chips; let i = $index; track chip.id) {\n *         \\@if (isMaxVisibleChipsOpened || i <= maxVisibleChipsCount) {\n *             <eui-chip [data]=\"{ id: chip.id }\" [euiVariant]=\"chip.variant\"><span euiLabel>{{ chip.label }}</span></eui-chip>\n *         }\n *     }\n *     <eui-chip-list-additional-content>\n *         \\@if (maxVisibleChipsCount && chips && chips.length > maxVisibleChipsCount) {\n *             <button\n *                 euiButton\n *                 euiBasicButton\n *                 euiSecondary\n *                 euiSizeS\n *                 type=\"button\"\n *                 class=\"eui-chip-list__expand-button\"\n *                 [aria-label]=\"isMaxVisibleChipsOpened ? 'Collapse tags' : 'Expand tags'\"\n *                 (click)=\"toggleTags()\">\n *                 \\@if (isMaxVisibleChipsOpened) {\n *                     <eui-icon-svg icon=\"eui-chevron-left\"/>\n *                 } \\@else {\n *                     <eui-icon-svg icon=\"eui-chevron-right\"/>\n *                 }\n *            </button>\n *         }\n *     </eui-chip-list-additional-content>\n * </eui-chip-list>\n * ```\n * \n * Typescript logic\n * ```ts\n * public chips = [\n *     { id: 1, label: 'Chip label', variant: 'primary' },\n * ];\n * \n * public maxVisibleChipsCount = 2;\n * public isMaxVisibleChipsOpened = false;\n * \n * public toggleTags(): void {\n *     this.isMaxVisibleChipsOpened = !this.isMaxVisibleChipsOpened;\n * }\n * ```\n */\n@Component({\n    templateUrl: './eui-chip-list.component.html',\n    selector: 'eui-chip-list',\n    styleUrls: ['./chip-list.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiChipListComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return 'eui-chip-list';\n    }\n\n    /**\n     * ARIA label for the chip list container for screen reader accessibility.\n     * Provides semantic description of the chip list purpose.\n     * @default 'eUI Chip list'\n     */\n    @Input() ariaLabel = 'eUI Chip list';\n}\n",
            "selector": "eui-chip-list-additional-content",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiChipListAppendContentDirective",
            "id": "directive-EuiChipListAppendContentDirective-51a3343030ab060c4e47e050556747c75cfc73d096026de37b5f28b4e0e3899c0a84e430f0e07ebf34e4c1094133ad04c15d12e2c87a07dcd8c8546446e41d76",
            "file": "packages/components/eui-chip-list/eui-chip-list.component.ts",
            "type": "directive",
            "description": "<p>Directive for appending content to chip list, used internally by eui-autocomplete component.\nEnables positioning of chips above, below, or inside the text input field.\nUsed exclusively within eui-autocomplete for flexible chip placement.</p>\n",
            "rawdescription": "\n\nDirective for appending content to chip list, used internally by eui-autocomplete component.\nEnables positioning of chips above, below, or inside the text input field.\nUsed exclusively within eui-autocomplete for flexible chip placement.\n",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy, Directive, Input } from '@angular/core';\n\n/**\n * @description\n * Directive for appending content to chip list, used internally by eui-autocomplete component.\n * Enables positioning of chips above, below, or inside the text input field.\n * Used exclusively within eui-autocomplete for flexible chip placement.\n */\n/* eslint-disable */\n@Directive({ \n    selector: 'eui-chip-list-append-content'\n})\nexport class EuiChipListAppendContentDirective {}\n\n/**\n * @description\n * Directive for wrapping non-chip content within eui-chip-list.\n * Excludes wrapped content from the list ARIA structure for proper accessibility.\n * Used to include additional elements alongside chips without affecting semantic list structure.\n */\n@Directive({ \n    selector: 'eui-chip-list-additional-content'\n})\nexport class EuiChipListAdditionalContentDirective {}\n/* eslint-enable */\n\n/**\n * @description\n * Container component for displaying multiple interactive chip elements as a cohesive group.\n * Provides semantic list structure with ARIA attributes for accessibility.\n * Automatically manages layout and spacing for chip collections.\n * Supports additional content via directives for flexible composition.\n * Typically used for displaying tags, filters, selected items, or multi-value selections.\n * \n * @usageNotes\n * ```html\n * <eui-chip-list>\n *     <eui-chip><span euiLabel>Label</span></eui-chip>\n * </eui-chip-list>\n * ```\n * \n * @usageNotes\n * With icon\n * ```html\n * <eui-chip-list>\n *     <eui-chip><span [class]=\"eui-user\"></span><span euiLabel>Label</span></eui-chip>\n * </eui-chip-list>\n * ```\n * \n * @usageNotes\n * Max visible chips\n * ```html\n * <eui-chip-list>\n *     \\@for (chip of chips; let i = $index; track chip.id) {\n *         \\@if (isMaxVisibleChipsOpened || i <= maxVisibleChipsCount) {\n *             <eui-chip [data]=\"{ id: chip.id }\" [euiVariant]=\"chip.variant\"><span euiLabel>{{ chip.label }}</span></eui-chip>\n *         }\n *     }\n *     <eui-chip-list-additional-content>\n *         \\@if (maxVisibleChipsCount && chips && chips.length > maxVisibleChipsCount) {\n *             <button\n *                 euiButton\n *                 euiBasicButton\n *                 euiSecondary\n *                 euiSizeS\n *                 type=\"button\"\n *                 class=\"eui-chip-list__expand-button\"\n *                 [aria-label]=\"isMaxVisibleChipsOpened ? 'Collapse tags' : 'Expand tags'\"\n *                 (click)=\"toggleTags()\">\n *                 \\@if (isMaxVisibleChipsOpened) {\n *                     <eui-icon-svg icon=\"eui-chevron-left\"/>\n *                 } \\@else {\n *                     <eui-icon-svg icon=\"eui-chevron-right\"/>\n *                 }\n *            </button>\n *         }\n *     </eui-chip-list-additional-content>\n * </eui-chip-list>\n * ```\n * \n * Typescript logic\n * ```ts\n * public chips = [\n *     { id: 1, label: 'Chip label', variant: 'primary' },\n * ];\n * \n * public maxVisibleChipsCount = 2;\n * public isMaxVisibleChipsOpened = false;\n * \n * public toggleTags(): void {\n *     this.isMaxVisibleChipsOpened = !this.isMaxVisibleChipsOpened;\n * }\n * ```\n */\n@Component({\n    templateUrl: './eui-chip-list.component.html',\n    selector: 'eui-chip-list',\n    styleUrls: ['./chip-list.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiChipListComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return 'eui-chip-list';\n    }\n\n    /**\n     * ARIA label for the chip list container for screen reader accessibility.\n     * Provides semantic description of the chip list purpose.\n     * @default 'eUI Chip list'\n     */\n    @Input() ariaLabel = 'eUI Chip list';\n}\n",
            "selector": "eui-chip-list-append-content",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiClearableDirective",
            "id": "directive-EuiClearableDirective-7d168882113567766b169d90cf38f5bc3d8a012908aed1543b58e5a2626a307cc506251088bfc04f66e6ca8cf7e927f61a2133a1a0db6c0c4efb445830f88166",
            "file": "packages/components/directives/eui-clearable.directive.ts",
            "type": "directive",
            "description": "<p>Directive adding a clear button to text and number input fields for quick value reset.\nDynamically creates a close icon that appears when input has content and clears value on click.\nAutomatically handles form control integration and disabled/readonly states.\nOnly works with euiInputText and euiInputNumber input types.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;input euiInputText euiClearable [(ngModel)]=&quot;searchTerm&quot; /&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;input euiInputNumber euiClearable formControlName=&quot;amount&quot; /&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Clear icon has aria-label=&quot;Clear input field&quot; for screen readers</li>\n<li>Icon is keyboard accessible with Enter key support</li>\n<li>Icon hidden when input is empty to avoid confusion</li>\n<li>Disabled state removes keyboard access and pointer events</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Only compatible with text, search, and eui-number input types</li>\n<li>Clear icon visibility toggles based on input value presence</li>\n<li>Works with both ngModel and reactive forms</li>\n<li>Dispatches &#39;clear&#39; event when value is cleared</li>\n<li>Automatically manages wrapper div for icon positioning</li>\n</ul>\n",
            "rawdescription": "\n\nDirective adding a clear button to text and number input fields for quick value reset.\nDynamically creates a close icon that appears when input has content and clears value on click.\nAutomatically handles form control integration and disabled/readonly states.\nOnly works with euiInputText and euiInputNumber input types.\n\n```html\n<input euiInputText euiClearable [(ngModel)]=\"searchTerm\" />\n```\n\n```html\n<input euiInputNumber euiClearable formControlName=\"amount\" />\n```\n\n### Accessibility\n- Clear icon has aria-label=\"Clear input field\" for screen readers\n- Icon is keyboard accessible with Enter key support\n- Icon hidden when input is empty to avoid confusion\n- Disabled state removes keyboard access and pointer events\n\n### Notes\n- Only compatible with text, search, and eui-number input types\n- Clear icon visibility toggles based on input value presence\n- Works with both ngModel and reactive forms\n- Dispatches 'clear' event when value is cleared\n- Automatically manages wrapper div for icon positioning\n",
            "sourceCode": "import {\n    AfterViewInit,\n    booleanAttribute,\n    ComponentRef,\n    Directive,\n    ElementRef,\n    HostBinding,\n    HostListener,\n    Injector,\n    Input,\n    OnChanges,\n    Renderer2,\n    SimpleChanges,\n    ViewContainerRef,\n    inject,\n} from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { NgControl, NgModel } from '@angular/forms';\nimport { EuiIconSvgComponent } from '@eui/components/eui-icon';\nimport { EuiLoadingDirective } from './eui-loading.directive';\n\n/**\n * Directive adding a clear button to text and number input fields for quick value reset.\n * Dynamically creates a close icon that appears when input has content and clears value on click.\n * Automatically handles form control integration and disabled/readonly states.\n * Only works with euiInputText and euiInputNumber input types.\n *\n * @usageNotes\n * ```html\n * <input euiInputText euiClearable [(ngModel)]=\"searchTerm\" />\n * ```\n *\n * ```html\n * <input euiInputNumber euiClearable formControlName=\"amount\" />\n * ```\n *\n * ### Accessibility\n * - Clear icon has aria-label=\"Clear input field\" for screen readers\n * - Icon is keyboard accessible with Enter key support\n * - Icon hidden when input is empty to avoid confusion\n * - Disabled state removes keyboard access and pointer events\n *\n * ### Notes\n * - Only compatible with text, search, and eui-number input types\n * - Clear icon visibility toggles based on input value presence\n * - Works with both ngModel and reactive forms\n * - Dispatches 'clear' event when value is cleared\n * - Automatically manages wrapper div for icon positioning\n */\n@Directive({\n    selector: 'input[euiClearable]',\n})\nexport class EuiClearableDirective implements OnChanges, AfterViewInit {\n    @Input({ transform: booleanAttribute }) euiClearable: boolean;\n\n    @HostBinding('attr.readonly')\n    @Input()\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    get readonly(): any {\n        return this._isReadonly ? '' : null;\n    }\n    set readonly(v: BooleanInput) {\n        this._isReadonly = coerceBooleanProperty(v);\n    }\n\n    @HostBinding('disabled')\n    @Input()\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    get disabled(): any {\n        return this._disabled ? '' : null;\n    }\n    set disabled(v: BooleanInput) {\n        this._disabled = coerceBooleanProperty(v);\n    }\n\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [this._cssClasses, this.euiClearable ? `${this._elementRef.nativeElement.rootClassName}--clearable` : ''].join(' ').trim();\n    }\n    public set cssClasses(value: string) {\n        this._cssClasses = value;\n    }\n    private _cssClasses: string;\n\n    protected _clearableIcon: ComponentRef<EuiIconSvgComponent>;\n    private _euiUFlexWrapper: HTMLDivElement;\n    private _isReadonly: boolean;\n    private _disabled: boolean;\n    private _elementRef = inject(ElementRef);\n    private _viewContainerRef = inject(ViewContainerRef);\n    private _renderer = inject(Renderer2);\n    private injector = inject(Injector);\n\n    ngAfterViewInit(): void {\n        if (this._clearableIcon) {\n            const control = this.injector.get(NgControl, null, { optional: true });\n            const value = control\n                ? control instanceof NgModel\n                    ? control.model?.toString()\n                    : control.value?.toString()\n                : this._elementRef.nativeElement.value;\n            this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'visibility', value?.length > 0 ? 'visible' : 'hidden');\n        }\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes.euiClearable) {\n            // get a type of the control\n            const type = this._elementRef.nativeElement.type;\n            if (coerceBooleanProperty(changes['euiClearable'].currentValue)) {\n                // check if the type is not euiInputNumber or euiInputText, reset and throw error\n                if (type !== 'eui-number' && type !== 'text' && type !== 'search') {\n                    this.euiClearable = true;\n                    throw new Error('euiClearable is only allowed in euiInputNumber or euiInputText');\n                }\n                // dynamically create the icon\n                this.createClearableIcon();\n\n                // wrap them all in an eui-u-flex class\n                this.createFlexWrapper();\n                this._renderer.appendChild(this._euiUFlexWrapper, this._clearableIcon.location.nativeElement);\n            } else if (this._clearableIcon) {\n                this.removeClearableIcon();\n                const euiLoading = this.injector.get(EuiLoadingDirective, null, { optional: true })?.euiLoading;\n                if (!euiLoading) {\n                    this.removeFlexWrapper();\n                }\n            }\n        }\n\n        if (changes['readonly']) {\n            if (changes['readonly'].currentValue === false && this.euiClearable) {\n                // create wrapper\n                this.createFlexWrapper();\n                // dynamically create the icon\n                this.createClearableIcon();\n                this._renderer.appendChild(this._euiUFlexWrapper, this._clearableIcon.location.nativeElement);\n            }\n            if (changes['readonly'].currentValue === true) {\n                this.removeClearableIcon();\n                this.removeFlexWrapper();\n            }\n        }\n\n        if (changes['disabled']) {\n            if (this._clearableIcon) {\n                const disabled = changes['disabled']?.currentValue;\n                if (disabled) {\n                    this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'pointer-events', 'none');\n                    this._renderer.removeAttribute(this._clearableIcon.location.nativeElement, 'tabindex');\n                } else {\n                    this._renderer.removeStyle(this._clearableIcon.location.nativeElement, 'pointer-events');\n                    this._renderer.setAttribute(this._clearableIcon.location.nativeElement, 'tabindex', '0');\n                }\n            }\n        }\n    }\n\n    @HostListener('input', ['$any($event.target).value'])\n    @HostListener('ngModelChange', ['$event'])\n    public onKeyUpAndModelChange(value): void {\n        if (this.euiClearable) {\n            const visibility = value?.toString().length > 0 ? 'visible' : 'hidden';\n            this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'visibility', visibility);\n        }\n    }\n\n    private onClearableClicked(): void {\n        if (this._elementRef.nativeElement.disabled) {\n            return;\n        }\n        const control = this.injector.get(NgControl, undefined, { optional: true });\n        if (control) {\n            control.reset();\n        } else {\n            const inputEvent = new InputEvent('input', { data: null });\n            this._elementRef.nativeElement.value = null;\n            this._elementRef.nativeElement.dispatchEvent(inputEvent);\n        }\n        const clearEvent = new InputEvent('clear');\n        this._elementRef.nativeElement.dispatchEvent(clearEvent);\n        this._elementRef.nativeElement.focus();\n    }\n\n    /**\n     * creates the Clearable icon component\n     *\n     * @private\n     */\n    private createClearableIcon(): void {\n        if (!this._clearableIcon) {\n            // TODO: turn import of EuiIconSvgComponent into a type?\n            this._clearableIcon = this._viewContainerRef.createComponent(EuiIconSvgComponent);\n            this._clearableIcon.instance.set = 'eui';\n            this._clearableIcon.instance.icon = 'eui-close';\n            this._clearableIcon.instance.ariaLabel = 'Clear input field';\n            this._renderer.addClass(this._clearableIcon.location.nativeElement, 'eui-input-text--clearable-icon');\n            this._renderer.listen(this._clearableIcon.location.nativeElement, 'click', this.onClearableClicked.bind(this));\n            this._renderer.listen(this._clearableIcon.location.nativeElement, 'keydown.enter', this.onClearableClicked.bind(this));\n            const control = this.injector.get(NgControl, null, { optional: true });\n            const value = control\n                ? control instanceof NgModel\n                    ? control.model?.toString()\n                    : control.value?.toString()\n                : this._elementRef.nativeElement.value;\n            this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'visibility', value?.length > 0 ? 'visible' : 'hidden');\n            if (!this._elementRef.nativeElement.disabled) {\n                this._renderer.setAttribute(this._clearableIcon.location.nativeElement, 'tabindex', '0');\n                this._clearableIcon.instance.ariaRole = 'button';\n                this._clearableIcon.instance.ariaHidden = false;\n            } else {\n                this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'pointer-events', 'none');\n            }\n        }\n    }\n\n    /**\n     * detach the Clearable icon from the view\n     *\n     * @private\n     */\n    private removeClearableIcon(): void {\n        if (this._clearableIcon) {\n            const index = this._viewContainerRef.indexOf(this._clearableIcon.hostView);\n            this._viewContainerRef.detach(index);\n            this._clearableIcon = null;\n        }\n    }\n\n    /**\n     * create a flex wrapper for the input to hold the icon\n     *\n     * @private\n     */\n    private createFlexWrapper(): void {\n        if (!this._euiUFlexWrapper && !this.doesParentHasAFlexWrapper()) {\n            this._euiUFlexWrapper = this._renderer.createElement('div');\n            this._renderer.addClass(this._euiUFlexWrapper, 'eui-u-flex');\n            this._renderer.addClass(this._euiUFlexWrapper, 'eui-u-p-relative');\n            this._renderer.setAttribute(this._euiUFlexWrapper, 'flexWrapper', null);\n            this._renderer.insertBefore(\n                this._elementRef.nativeElement.parentElement,\n                this._euiUFlexWrapper,\n                this._elementRef.nativeElement,\n            );\n            this._renderer.appendChild(this._euiUFlexWrapper, this._elementRef.nativeElement);\n        }\n        if (!this._euiUFlexWrapper && this.doesParentHasAFlexWrapper()) {\n            this._euiUFlexWrapper = this._elementRef.nativeElement.parentElement;\n        }\n    }\n\n    /**\n     * checks if the parent has a flexWrapper. This is used to avoid creating multiple flexWrappers\n     *\n     * @private\n     */\n    private doesParentHasAFlexWrapper(): boolean {\n        return this._elementRef.nativeElement.parentElement.hasAttribute('flexWrapper');\n    }\n\n    /**\n     * removes the flexWrapper while keeping the input element intact\n     *\n     * @private\n     */\n    private removeFlexWrapper(): void {\n        if (this._euiUFlexWrapper) {\n            this._renderer.insertBefore(this._euiUFlexWrapper.parentElement, this._elementRef.nativeElement, this._euiUFlexWrapper);\n            this._renderer.removeChild(this._euiUFlexWrapper.parentElement, this._euiUFlexWrapper);\n            this._euiUFlexWrapper.remove();\n            this._euiUFlexWrapper = null;\n        }\n    }\n}\n",
            "selector": "input[euiClearable]",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "name": "disabled",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 71,
                    "type": "any",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiClearable",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 54,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "readonly",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 60,
                    "type": "any",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 79,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [
                {
                    "name": "input",
                    "args": [
                        {
                            "name": "value",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$any($event.target).value"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 163
                },
                {
                    "name": "ngModelChange",
                    "args": [
                        {
                            "name": "value",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$event"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 163
                }
            ],
            "propertiesClass": [
                {
                    "name": "_clearableIcon",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ComponentRef<EuiIconSvgComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 87,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 96,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 108,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onKeyUpAndModelChange",
                    "args": [
                        {
                            "name": "value",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 163,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'input', ['$any($event.target).value']"
                        },
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'ngModelChange', ['$event']"
                        }
                    ],
                    "modifierKind": [
                        171,
                        171,
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "extends": [],
            "implements": [
                "OnChanges",
                "AfterViewInit"
            ],
            "accessors": {
                "readonly": {
                    "name": "readonly",
                    "setSignature": {
                        "name": "readonly",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "v",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 63,
                        "jsdoctags": [
                            {
                                "name": "v",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "readonly",
                        "type": "any",
                        "returnType": "any",
                        "line": 60
                    }
                },
                "disabled": {
                    "name": "disabled",
                    "setSignature": {
                        "name": "disabled",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "v",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 74,
                        "jsdoctags": [
                            {
                                "name": "v",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "disabled",
                        "type": "any",
                        "returnType": "any",
                        "line": 71
                    }
                },
                "cssClasses": {
                    "name": "cssClasses",
                    "setSignature": {
                        "name": "cssClasses",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "string",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 82,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "string",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 79
                    }
                }
            }
        },
        {
            "name": "EuiDialogFooterDirective",
            "id": "directive-EuiDialogFooterDirective-80036d0bc7a564dea21ce9ca434ae0b38e0ee857eaafa662811d2511c50c97de6254fed4dd1a2c492aa9dc8d39733362995180835e8280e0d375d33b8cf4f0c1",
            "file": "packages/components/eui-dialog/eui-dialog.component.ts",
            "type": "directive",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import {\n    Component,\n    ChangeDetectionStrategy,\n    ViewEncapsulation,\n    Input,\n    ViewChild,\n    TemplateRef,\n    ViewContainerRef,\n    AfterViewInit,\n    OnDestroy,\n    Output,\n    EventEmitter,\n    Directive,\n    ContentChild,\n    forwardRef,\n    QueryList,\n    ElementRef,\n    OnInit,\n    booleanAttribute,\n    SimpleChanges,\n    OnChanges,\n    inject,\n} from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiDialogService } from './services/eui-dialog.service';\nimport { EuiDialogInterface } from './models/eui-dialog.config';\nimport { DIALOG_COMPONENT_CONFIG } from './services/eui-dialog.token';\nimport { OpenedDialog } from './models/opened-dialog.model';\nimport { EuiDialogVerticalPosition } from './models/eui-dialog-alignment';\n\n/**\n * @description\n * A modal dialog component that displays content in an overlay above the main application.\n * Supports customizable headers, footers, action buttons, and various interaction behaviors.\n * Can be opened programmatically via the openDialog method or controlled declaratively.\n * Integrates with EuiDialogService for centralized dialog management and supports features\n * like dragging, fullscreen mode, message box mode, and flexible positioning.\n * \n * @usageNotes\n * ### Using Dialog Service\n * ```typescript\n * // Component\n * constructor(private euiDialogService: EuiDialogService) {}\n * \n * openDialog(): void {\n *   const config = new EuiDialogConfig({\n *     title: 'Confirm Action',\n *     content: 'Are you sure you want to proceed?',\n *     accept: () => console.log('Accepted'),\n *     dismiss: () => console.log('Dismissed')\n *   });\n *   this.euiDialogService.openDialog(config);\n * }\n * \n * // Template\n * <button euiButton (click)=\"openDialog()\" aria-haspopup=\"dialog\">\n *   Open Dialog\n * </button>\n * ```\n * \n * ### Template Reference\n * ```html\n * <button euiButton (click)=\"dialog.openDialog()\" aria-haspopup=\"dialog\">\n *   Open Dialog\n * </button>\n * \n * <eui-dialog #dialog \n *   [title]=\"'Confirmation'\" \n *   [width]=\"'600px'\"\n *   (accept)=\"onAccept()\"\n *   (dismiss)=\"onDismiss()\">\n *   <p>Dialog content goes here</p>\n * </eui-dialog>\n * ```\n * \n * ### Custom Header and Footer\n * ```html\n * <eui-dialog #dialog [hasFooter]=\"false\">\n *   <eui-dialog-header>\n *     <h2>Custom Header</h2>\n *   </eui-dialog-header>\n *   \n *   <p>Main content</p>\n *   \n *   <eui-dialog-footer>\n *     <button euiButton (click)=\"dialog.closeDialog()\">Close</button>\n *   </eui-dialog-footer>\n * </eui-dialog>\n * ```\n * \n * ### Accessibility\n * - Automatically manages focus trap within dialog\n * - Escape key closes dialog by default (configurable via `hasClosedOnEscape`)\n * - Close button has proper ARIA label\n * - Dialog has `role=\"dialog\"` and `aria-modal=\"true\"`\n * - Focus returns to trigger element on close\n * - Use `aria-haspopup=\"dialog\"` on trigger buttons\n * \n * ### Notes\n * - Use `isMessageBox` for critical confirmations that require explicit user action\n * - `isDraggable` enables repositioning for multi-dialog scenarios\n * - `isFullScreen` automatically sets width to 98vw and height to 97vh\n * - `hasClosedOnClickOutside` allows backdrop click to close dialog\n * - Manual close control via `isHandleCloseOn*` properties for custom workflows\n * - `verticalPosition` controls dialog placement (top, center, bottom)\n * - Methods like `disableAcceptButton()` and `scrollToBottom()` available for dynamic control\n */\n@Component({\n    selector: 'eui-dialog',\n    templateUrl: './eui-dialog.component.html',\n    styleUrl: './eui-dialog.scss',\n    providers: [{ provide: DIALOG_COMPONENT_CONFIG, useValue: null }],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiPrimary',\n                'euiSecondary',\n                'euiInfo',\n                'euiSuccess',\n                'euiWarning',\n                'euiDanger',\n                'euiVariant',\n            ],\n        },\n    ],\n})\nexport class EuiDialogComponent implements AfterViewInit, OnDestroy, OnInit, OnChanges {\n    /**\n     * End-to-end testing attribute identifier for the dialog element.\n     * @default 'eui-dialog'\n     */\n    @Input() e2eAttr = 'eui-dialog';\n\n    /**\n     * Title text displayed in the dialog header.\n     * When changed after dialog is opened, the title updates dynamically.\n     */\n    @Input() title: string;\n\n    /**\n     * Translation key or label text for the accept button.\n     * @default 'eui.OK'\n     */\n    @Input() acceptLabel = 'eui.OK';\n\n    /**\n     * Translation key or label text for the dismiss button.\n     * @default 'eui.CANCEL'\n     */\n    @Input() dismissLabel = 'eui.CANCEL';\n\n    /**\n     * Vertical alignment position of the dialog within the viewport.\n     * Controls whether the dialog appears at top, center, or bottom of the screen.\n     */\n    @Input() verticalPosition: EuiDialogVerticalPosition;\n\n    /**\n     * Width of the dialog. Accepts CSS units (px, %, vw, etc.).\n     * Overridden to '98vw' when isFullScreen is true.\n     * @default '50%'\n     */\n    @Input() width = '50%';\n\n    /**\n     * Height of the dialog. Accepts CSS units (px, %, vh, auto, etc.).\n     * Overridden to '97vh' when isFullScreen is true.\n     * @default 'auto'\n     */\n    @Input() height = 'auto';\n\n    /**\n     * Enables fullscreen mode, automatically setting width to 98vw and height to 97vh.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isFullScreen = false;\n\n    /**\n     * Controls visibility of the close (X) button in the dialog header.\n     * Automatically set to false when isMessageBox is true.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasCloseButton = true;\n\n    /**\n     * Controls visibility of the accept button in the dialog footer.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasAcceptButton = true;\n\n    /**\n     * Controls visibility of the dismiss button in the dialog footer.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasDismissButton = true;\n\n    /**\n     * Enables custom sizing behavior on mobile devices.\n     * When true, applies mobile-specific width and height adjustments.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasMobileCustomSize = false;\n\n    /**\n     * Enables automatic dialog closure when clicking outside the dialog boundaries.\n     * Works in conjunction with isHandleCloseOnClickOutside for manual control.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasClosedOnClickOutside = false;\n\n    /**\n     * Enables automatic dialog closure when pressing the Escape key.\n     * Automatically set to false when isMessageBox is true.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasClosedOnEscape = true;\n\n    /**\n     * Prevents automatic dialog closure when dismiss button is clicked.\n     * When true, developer must manually handle closure via the dismiss event.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHandleCloseOnDismiss = false;\n\n    /**\n     * Prevents automatic dialog closure when close (X) button is clicked.\n     * When true, developer must manually handle closure via the dialogClose event.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHandleCloseOnClose = false;\n\n    /**\n     * Prevents automatic dialog closure when accept button is clicked.\n     * When true, developer must manually handle closure via the accept event.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHandleCloseOnAccept = false;\n\n    /**\n     * Prevents automatic dialog closure when clicking outside the dialog.\n     * When true, developer must manually handle closure via the clickOutside event.\n     * Requires hasClosedOnClickOutside to be true to have effect.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHandleCloseOnClickOutside = false;\n\n    /**\n     * Prevents automatic dialog closure when pressing Escape key.\n     * When true, developer must manually handle closure via the escape event.\n     * Requires hasClosedOnEscape to be true to have effect.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHandleCloseOnEscape = false;\n\n    /**\n     * Enables message box mode, which disables Escape key closure and hides the close button.\n     * Intended for dialogs requiring explicit user action via accept or dismiss buttons.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isMessageBox = false;\n\n    /**\n     * Enables drag-and-drop functionality, allowing users to reposition the dialog.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isDraggable = false;\n\n    /**\n     * Removes default padding from the dialog body content area.\n     * Useful for custom layouts or full-width content.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasNoBodyPadding = false;\n\n    /**\n     * Controls visibility of the entire footer section containing action buttons.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasFooter = true;\n\n    /**\n     * Additional CSS class names to apply to the dialog container.\n     * Allows custom styling without modifying component styles.\n     * @default null\n     */\n    @Input() classList: string = null;\n\n    /**\n     * Emitted when user clicks outside the dialog boundaries.\n     * Fires regardless of hasClosedOnClickOutside setting.\n     */\n    @Output() clickOutside = new EventEmitter();\n\n    /**\n     * Emitted when user presses the Escape key while dialog has focus.\n     * Fires regardless of hasClosedOnEscape setting.\n     */\n    @Output() escape = new EventEmitter();\n\n    /**\n     * Emitted immediately after the dialog opens and becomes visible.\n     */\n    @Output() dialogOpen = new EventEmitter();\n\n    /**\n     * Emitted when the close (X) button is clicked.\n     * Dialog closes automatically unless isHandleCloseOnClose is true.\n     */\n    @Output() dialogClose = new EventEmitter();\n\n    /**\n     * Emitted when the dismiss button is clicked.\n     * Dialog closes automatically unless isHandleCloseOnDismiss is true.\n     */\n    @Output() dismiss = new EventEmitter();\n\n    /**\n     * Emitted when the accept button is clicked.\n     * Dialog closes automatically unless isHandleCloseOnAccept is true.\n     */\n    @Output() accept = new EventEmitter();\n\n    public content: string | TemplatePortal;\n    public isOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n    @ViewChild('templateRefHeader') templateRefHeader: TemplateRef<EuiDialogHeaderDirective>;\n    @ViewChild('templateRefContent') templateRefContent: TemplateRef<ElementRef>;\n    @ViewChild('templateRefFooter') templateRefFooter: TemplateRef<EuiDialogFooterDirective>;\n\n    @ContentChild(forwardRef(() => EuiDialogHeaderDirective)) euiDialogHeaderDirective: QueryList<EuiDialogHeaderDirective>;\n    @ContentChild(forwardRef(() => EuiDialogFooterDirective)) euiDialogFooterDirective: QueryList<EuiDialogFooterDirective>;\n\n    baseStatesDirective = inject(BaseStatesDirective);\n    private dialog: OpenedDialog;\n    private templatePortalHeader: TemplatePortal<EuiDialogHeaderDirective>;\n    private templatePortalContent: TemplatePortal<ElementRef>;\n    private templatePortalFooter: TemplatePortal<EuiDialogFooterDirective>;\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private viewContainerRef = inject(ViewContainerRef);\n    private euiDialogService = inject(EuiDialogService);\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes.title && this.dialog && this.euiDialogService.getDialog(this.dialog.id)) {\n            const newTitle = changes.title.currentValue;\n\n            // Update the dialog service with the new title\n            this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.dialogContainerConfig.title = newTitle;\n\n            // Trigger change detection to reflect the updated title\n            this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.cd.markForCheck();\n        }\n    }\n\n    ngOnInit(): void {\n        if (this.isFullScreen) {\n            this.width = '98vw';\n            this.height = '97vh';\n        }\n\n        if (this.isMessageBox) {\n            this.hasClosedOnEscape = false;\n            this.hasCloseButton = false;\n        }\n    }\n\n    ngAfterViewInit(): void {\n        if (this.euiDialogHeaderDirective) {\n            this.templatePortalHeader = new TemplatePortal(this.templateRefHeader, this.viewContainerRef);\n        }\n\n        this.templatePortalContent = new TemplatePortal(this.templateRefContent, this.viewContainerRef);\n\n        if (this.euiDialogFooterDirective) {\n            this.templatePortalFooter = new TemplatePortal(this.templateRefFooter, this.viewContainerRef);\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    /**\n     * Whether the eui-dialog is open.\n     *\n     * @usageNotes\n     * ```html\n     * <eui-dialog #dialog>\n     *      \\@if (dialog.isOpen) {\n     *          <my-component></my-component>\n     *      }\n     * </eui-dialog>\n     * ```\n     * @returns A boolean with value `true` when open, otherwise `false`.\n     */\n    get isOpen(): boolean {\n        return this.isOpen$.value;\n    }\n\n    /**\n     * Open a dialog.\n     *\n     * @returns A dialog object of type `OpenedDialog`\n     */\n    public openDialog<HC, HCC, BC, BCC, FC, FCC>(): OpenedDialog {\n        const config: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {\n            e2eAttr: this.e2eAttr,\n            title: this.title,\n            width: this.width,\n            height: this.height,\n            isFullScreen: this.isFullScreen,\n            variant: this.baseStatesDirective.euiVariant,\n            acceptLabel: this.acceptLabel,\n            dismissLabel: this.dismissLabel,\n            hasCloseButton: this.hasCloseButton,\n            hasAcceptButton: this.hasAcceptButton,\n            hasDismissButton: this.hasDismissButton,\n            hasMobileCustomSize: this.hasMobileCustomSize,\n            hasClosedOnClickOutside: this.hasClosedOnClickOutside,\n            hasClosedOnEscape: this.hasClosedOnEscape,\n            isHandleCloseOnDismiss: this.isHandleCloseOnDismiss,\n            isHandleCloseOnClose: this.isHandleCloseOnClose,\n            isHandleCloseOnAccept: this.isHandleCloseOnAccept,\n            isHandleCloseOnClickOutside: this.isHandleCloseOnClickOutside,\n            isHandleCloseOnEscape: this.isHandleCloseOnEscape,\n            isDraggable: this.isDraggable,\n            hasNoBodyPadding: this.hasNoBodyPadding,\n            hasFooter: this.hasFooter,\n            verticalPosition: this.verticalPosition,\n            header: this.templatePortalHeader,\n            content: this.templatePortalContent,\n            footer: this.templatePortalFooter,\n            classList: this.classList,\n            clickOutside: () => {\n                if (this.hasClosedOnClickOutside && !this.isHandleCloseOnClickOutside) {\n                    this.isOpen$.next(false);\n                }\n                this.clickOutside.emit();\n            },\n            escape: () => {\n                if (this.hasClosedOnEscape && !this.isHandleCloseOnEscape) {\n                    this.isOpen$.next(false);\n                }\n                this.escape.emit();\n            },\n            open: () => {\n                this.dialogOpen.emit();\n            },\n            close: () => {\n                if (!this.isHandleCloseOnClose) {\n                    this.isOpen$.next(false);\n                }\n                this.dialogClose.emit();\n            },\n            dismiss: () => {\n                if (!this.isHandleCloseOnDismiss) {\n                    this.isOpen$.next(false);\n                }\n                this.dismiss.emit();\n            },\n            accept: () => {\n                if (!this.isHandleCloseOnAccept) {\n                    this.isOpen$.next(false);\n                }\n                this.accept.emit();\n            },\n        };\n\n        this.isOpen$.next(true);\n        this.dialog = this.euiDialogService.openDialog(config);\n\n        return this.dialog;\n    }\n\n    /**\n     * Close a Dialog\n     */\n    public closeDialog(): void {\n        this.isOpen$.next(false);\n        this.euiDialogService.closeDialog();\n    }\n\n    /**\n     * Disable Accept button of default eui-dialog footer.\n     */\n    public disableAcceptButton(): void {\n        this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.disableAcceptButton();\n    }\n\n    /**\n     * Enable Accept button of default eui-dialog footer.\n     */\n    public enableAcceptButton(): void {\n        this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.enableAcceptButton();\n    }\n\n    /**\n     * Disable Dismiss button of default eui-dialog footer.\n     */\n    public disableDismissButton(): void {\n        this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.disableDismissButton();\n    }\n\n    /**\n     * Enable Dismiss button of default eui-dialog footer.\n     */\n    public enableDismissButton(): void {\n        this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.enableDismissButton();\n    }\n\n    /**\n     * Scroll to the bottom of the content\n     */\n    public scrollToBottom(): void {\n        this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.scrollToBottom();\n    }\n\n    /**\n     * Scroll to the top of the content\n     */\n    public scrollToTop(): void {\n        this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.scrollToTop();\n    }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-dialog-header', })\nexport class EuiDialogHeaderDirective {}\n\n@Directive({ selector: 'eui-dialog-footer', })\nexport class EuiDialogFooterDirective {}\n/* eslint-enable */\n",
            "selector": "eui-dialog-footer",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiDialogHeaderDirective",
            "id": "directive-EuiDialogHeaderDirective-80036d0bc7a564dea21ce9ca434ae0b38e0ee857eaafa662811d2511c50c97de6254fed4dd1a2c492aa9dc8d39733362995180835e8280e0d375d33b8cf4f0c1",
            "file": "packages/components/eui-dialog/eui-dialog.component.ts",
            "type": "directive",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import {\n    Component,\n    ChangeDetectionStrategy,\n    ViewEncapsulation,\n    Input,\n    ViewChild,\n    TemplateRef,\n    ViewContainerRef,\n    AfterViewInit,\n    OnDestroy,\n    Output,\n    EventEmitter,\n    Directive,\n    ContentChild,\n    forwardRef,\n    QueryList,\n    ElementRef,\n    OnInit,\n    booleanAttribute,\n    SimpleChanges,\n    OnChanges,\n    inject,\n} from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiDialogService } from './services/eui-dialog.service';\nimport { EuiDialogInterface } from './models/eui-dialog.config';\nimport { DIALOG_COMPONENT_CONFIG } from './services/eui-dialog.token';\nimport { OpenedDialog } from './models/opened-dialog.model';\nimport { EuiDialogVerticalPosition } from './models/eui-dialog-alignment';\n\n/**\n * @description\n * A modal dialog component that displays content in an overlay above the main application.\n * Supports customizable headers, footers, action buttons, and various interaction behaviors.\n * Can be opened programmatically via the openDialog method or controlled declaratively.\n * Integrates with EuiDialogService for centralized dialog management and supports features\n * like dragging, fullscreen mode, message box mode, and flexible positioning.\n * \n * @usageNotes\n * ### Using Dialog Service\n * ```typescript\n * // Component\n * constructor(private euiDialogService: EuiDialogService) {}\n * \n * openDialog(): void {\n *   const config = new EuiDialogConfig({\n *     title: 'Confirm Action',\n *     content: 'Are you sure you want to proceed?',\n *     accept: () => console.log('Accepted'),\n *     dismiss: () => console.log('Dismissed')\n *   });\n *   this.euiDialogService.openDialog(config);\n * }\n * \n * // Template\n * <button euiButton (click)=\"openDialog()\" aria-haspopup=\"dialog\">\n *   Open Dialog\n * </button>\n * ```\n * \n * ### Template Reference\n * ```html\n * <button euiButton (click)=\"dialog.openDialog()\" aria-haspopup=\"dialog\">\n *   Open Dialog\n * </button>\n * \n * <eui-dialog #dialog \n *   [title]=\"'Confirmation'\" \n *   [width]=\"'600px'\"\n *   (accept)=\"onAccept()\"\n *   (dismiss)=\"onDismiss()\">\n *   <p>Dialog content goes here</p>\n * </eui-dialog>\n * ```\n * \n * ### Custom Header and Footer\n * ```html\n * <eui-dialog #dialog [hasFooter]=\"false\">\n *   <eui-dialog-header>\n *     <h2>Custom Header</h2>\n *   </eui-dialog-header>\n *   \n *   <p>Main content</p>\n *   \n *   <eui-dialog-footer>\n *     <button euiButton (click)=\"dialog.closeDialog()\">Close</button>\n *   </eui-dialog-footer>\n * </eui-dialog>\n * ```\n * \n * ### Accessibility\n * - Automatically manages focus trap within dialog\n * - Escape key closes dialog by default (configurable via `hasClosedOnEscape`)\n * - Close button has proper ARIA label\n * - Dialog has `role=\"dialog\"` and `aria-modal=\"true\"`\n * - Focus returns to trigger element on close\n * - Use `aria-haspopup=\"dialog\"` on trigger buttons\n * \n * ### Notes\n * - Use `isMessageBox` for critical confirmations that require explicit user action\n * - `isDraggable` enables repositioning for multi-dialog scenarios\n * - `isFullScreen` automatically sets width to 98vw and height to 97vh\n * - `hasClosedOnClickOutside` allows backdrop click to close dialog\n * - Manual close control via `isHandleCloseOn*` properties for custom workflows\n * - `verticalPosition` controls dialog placement (top, center, bottom)\n * - Methods like `disableAcceptButton()` and `scrollToBottom()` available for dynamic control\n */\n@Component({\n    selector: 'eui-dialog',\n    templateUrl: './eui-dialog.component.html',\n    styleUrl: './eui-dialog.scss',\n    providers: [{ provide: DIALOG_COMPONENT_CONFIG, useValue: null }],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiPrimary',\n                'euiSecondary',\n                'euiInfo',\n                'euiSuccess',\n                'euiWarning',\n                'euiDanger',\n                'euiVariant',\n            ],\n        },\n    ],\n})\nexport class EuiDialogComponent implements AfterViewInit, OnDestroy, OnInit, OnChanges {\n    /**\n     * End-to-end testing attribute identifier for the dialog element.\n     * @default 'eui-dialog'\n     */\n    @Input() e2eAttr = 'eui-dialog';\n\n    /**\n     * Title text displayed in the dialog header.\n     * When changed after dialog is opened, the title updates dynamically.\n     */\n    @Input() title: string;\n\n    /**\n     * Translation key or label text for the accept button.\n     * @default 'eui.OK'\n     */\n    @Input() acceptLabel = 'eui.OK';\n\n    /**\n     * Translation key or label text for the dismiss button.\n     * @default 'eui.CANCEL'\n     */\n    @Input() dismissLabel = 'eui.CANCEL';\n\n    /**\n     * Vertical alignment position of the dialog within the viewport.\n     * Controls whether the dialog appears at top, center, or bottom of the screen.\n     */\n    @Input() verticalPosition: EuiDialogVerticalPosition;\n\n    /**\n     * Width of the dialog. Accepts CSS units (px, %, vw, etc.).\n     * Overridden to '98vw' when isFullScreen is true.\n     * @default '50%'\n     */\n    @Input() width = '50%';\n\n    /**\n     * Height of the dialog. Accepts CSS units (px, %, vh, auto, etc.).\n     * Overridden to '97vh' when isFullScreen is true.\n     * @default 'auto'\n     */\n    @Input() height = 'auto';\n\n    /**\n     * Enables fullscreen mode, automatically setting width to 98vw and height to 97vh.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isFullScreen = false;\n\n    /**\n     * Controls visibility of the close (X) button in the dialog header.\n     * Automatically set to false when isMessageBox is true.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasCloseButton = true;\n\n    /**\n     * Controls visibility of the accept button in the dialog footer.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasAcceptButton = true;\n\n    /**\n     * Controls visibility of the dismiss button in the dialog footer.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasDismissButton = true;\n\n    /**\n     * Enables custom sizing behavior on mobile devices.\n     * When true, applies mobile-specific width and height adjustments.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasMobileCustomSize = false;\n\n    /**\n     * Enables automatic dialog closure when clicking outside the dialog boundaries.\n     * Works in conjunction with isHandleCloseOnClickOutside for manual control.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasClosedOnClickOutside = false;\n\n    /**\n     * Enables automatic dialog closure when pressing the Escape key.\n     * Automatically set to false when isMessageBox is true.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasClosedOnEscape = true;\n\n    /**\n     * Prevents automatic dialog closure when dismiss button is clicked.\n     * When true, developer must manually handle closure via the dismiss event.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHandleCloseOnDismiss = false;\n\n    /**\n     * Prevents automatic dialog closure when close (X) button is clicked.\n     * When true, developer must manually handle closure via the dialogClose event.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHandleCloseOnClose = false;\n\n    /**\n     * Prevents automatic dialog closure when accept button is clicked.\n     * When true, developer must manually handle closure via the accept event.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHandleCloseOnAccept = false;\n\n    /**\n     * Prevents automatic dialog closure when clicking outside the dialog.\n     * When true, developer must manually handle closure via the clickOutside event.\n     * Requires hasClosedOnClickOutside to be true to have effect.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHandleCloseOnClickOutside = false;\n\n    /**\n     * Prevents automatic dialog closure when pressing Escape key.\n     * When true, developer must manually handle closure via the escape event.\n     * Requires hasClosedOnEscape to be true to have effect.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHandleCloseOnEscape = false;\n\n    /**\n     * Enables message box mode, which disables Escape key closure and hides the close button.\n     * Intended for dialogs requiring explicit user action via accept or dismiss buttons.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isMessageBox = false;\n\n    /**\n     * Enables drag-and-drop functionality, allowing users to reposition the dialog.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isDraggable = false;\n\n    /**\n     * Removes default padding from the dialog body content area.\n     * Useful for custom layouts or full-width content.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasNoBodyPadding = false;\n\n    /**\n     * Controls visibility of the entire footer section containing action buttons.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasFooter = true;\n\n    /**\n     * Additional CSS class names to apply to the dialog container.\n     * Allows custom styling without modifying component styles.\n     * @default null\n     */\n    @Input() classList: string = null;\n\n    /**\n     * Emitted when user clicks outside the dialog boundaries.\n     * Fires regardless of hasClosedOnClickOutside setting.\n     */\n    @Output() clickOutside = new EventEmitter();\n\n    /**\n     * Emitted when user presses the Escape key while dialog has focus.\n     * Fires regardless of hasClosedOnEscape setting.\n     */\n    @Output() escape = new EventEmitter();\n\n    /**\n     * Emitted immediately after the dialog opens and becomes visible.\n     */\n    @Output() dialogOpen = new EventEmitter();\n\n    /**\n     * Emitted when the close (X) button is clicked.\n     * Dialog closes automatically unless isHandleCloseOnClose is true.\n     */\n    @Output() dialogClose = new EventEmitter();\n\n    /**\n     * Emitted when the dismiss button is clicked.\n     * Dialog closes automatically unless isHandleCloseOnDismiss is true.\n     */\n    @Output() dismiss = new EventEmitter();\n\n    /**\n     * Emitted when the accept button is clicked.\n     * Dialog closes automatically unless isHandleCloseOnAccept is true.\n     */\n    @Output() accept = new EventEmitter();\n\n    public content: string | TemplatePortal;\n    public isOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n    @ViewChild('templateRefHeader') templateRefHeader: TemplateRef<EuiDialogHeaderDirective>;\n    @ViewChild('templateRefContent') templateRefContent: TemplateRef<ElementRef>;\n    @ViewChild('templateRefFooter') templateRefFooter: TemplateRef<EuiDialogFooterDirective>;\n\n    @ContentChild(forwardRef(() => EuiDialogHeaderDirective)) euiDialogHeaderDirective: QueryList<EuiDialogHeaderDirective>;\n    @ContentChild(forwardRef(() => EuiDialogFooterDirective)) euiDialogFooterDirective: QueryList<EuiDialogFooterDirective>;\n\n    baseStatesDirective = inject(BaseStatesDirective);\n    private dialog: OpenedDialog;\n    private templatePortalHeader: TemplatePortal<EuiDialogHeaderDirective>;\n    private templatePortalContent: TemplatePortal<ElementRef>;\n    private templatePortalFooter: TemplatePortal<EuiDialogFooterDirective>;\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private viewContainerRef = inject(ViewContainerRef);\n    private euiDialogService = inject(EuiDialogService);\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes.title && this.dialog && this.euiDialogService.getDialog(this.dialog.id)) {\n            const newTitle = changes.title.currentValue;\n\n            // Update the dialog service with the new title\n            this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.dialogContainerConfig.title = newTitle;\n\n            // Trigger change detection to reflect the updated title\n            this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.cd.markForCheck();\n        }\n    }\n\n    ngOnInit(): void {\n        if (this.isFullScreen) {\n            this.width = '98vw';\n            this.height = '97vh';\n        }\n\n        if (this.isMessageBox) {\n            this.hasClosedOnEscape = false;\n            this.hasCloseButton = false;\n        }\n    }\n\n    ngAfterViewInit(): void {\n        if (this.euiDialogHeaderDirective) {\n            this.templatePortalHeader = new TemplatePortal(this.templateRefHeader, this.viewContainerRef);\n        }\n\n        this.templatePortalContent = new TemplatePortal(this.templateRefContent, this.viewContainerRef);\n\n        if (this.euiDialogFooterDirective) {\n            this.templatePortalFooter = new TemplatePortal(this.templateRefFooter, this.viewContainerRef);\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    /**\n     * Whether the eui-dialog is open.\n     *\n     * @usageNotes\n     * ```html\n     * <eui-dialog #dialog>\n     *      \\@if (dialog.isOpen) {\n     *          <my-component></my-component>\n     *      }\n     * </eui-dialog>\n     * ```\n     * @returns A boolean with value `true` when open, otherwise `false`.\n     */\n    get isOpen(): boolean {\n        return this.isOpen$.value;\n    }\n\n    /**\n     * Open a dialog.\n     *\n     * @returns A dialog object of type `OpenedDialog`\n     */\n    public openDialog<HC, HCC, BC, BCC, FC, FCC>(): OpenedDialog {\n        const config: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {\n            e2eAttr: this.e2eAttr,\n            title: this.title,\n            width: this.width,\n            height: this.height,\n            isFullScreen: this.isFullScreen,\n            variant: this.baseStatesDirective.euiVariant,\n            acceptLabel: this.acceptLabel,\n            dismissLabel: this.dismissLabel,\n            hasCloseButton: this.hasCloseButton,\n            hasAcceptButton: this.hasAcceptButton,\n            hasDismissButton: this.hasDismissButton,\n            hasMobileCustomSize: this.hasMobileCustomSize,\n            hasClosedOnClickOutside: this.hasClosedOnClickOutside,\n            hasClosedOnEscape: this.hasClosedOnEscape,\n            isHandleCloseOnDismiss: this.isHandleCloseOnDismiss,\n            isHandleCloseOnClose: this.isHandleCloseOnClose,\n            isHandleCloseOnAccept: this.isHandleCloseOnAccept,\n            isHandleCloseOnClickOutside: this.isHandleCloseOnClickOutside,\n            isHandleCloseOnEscape: this.isHandleCloseOnEscape,\n            isDraggable: this.isDraggable,\n            hasNoBodyPadding: this.hasNoBodyPadding,\n            hasFooter: this.hasFooter,\n            verticalPosition: this.verticalPosition,\n            header: this.templatePortalHeader,\n            content: this.templatePortalContent,\n            footer: this.templatePortalFooter,\n            classList: this.classList,\n            clickOutside: () => {\n                if (this.hasClosedOnClickOutside && !this.isHandleCloseOnClickOutside) {\n                    this.isOpen$.next(false);\n                }\n                this.clickOutside.emit();\n            },\n            escape: () => {\n                if (this.hasClosedOnEscape && !this.isHandleCloseOnEscape) {\n                    this.isOpen$.next(false);\n                }\n                this.escape.emit();\n            },\n            open: () => {\n                this.dialogOpen.emit();\n            },\n            close: () => {\n                if (!this.isHandleCloseOnClose) {\n                    this.isOpen$.next(false);\n                }\n                this.dialogClose.emit();\n            },\n            dismiss: () => {\n                if (!this.isHandleCloseOnDismiss) {\n                    this.isOpen$.next(false);\n                }\n                this.dismiss.emit();\n            },\n            accept: () => {\n                if (!this.isHandleCloseOnAccept) {\n                    this.isOpen$.next(false);\n                }\n                this.accept.emit();\n            },\n        };\n\n        this.isOpen$.next(true);\n        this.dialog = this.euiDialogService.openDialog(config);\n\n        return this.dialog;\n    }\n\n    /**\n     * Close a Dialog\n     */\n    public closeDialog(): void {\n        this.isOpen$.next(false);\n        this.euiDialogService.closeDialog();\n    }\n\n    /**\n     * Disable Accept button of default eui-dialog footer.\n     */\n    public disableAcceptButton(): void {\n        this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.disableAcceptButton();\n    }\n\n    /**\n     * Enable Accept button of default eui-dialog footer.\n     */\n    public enableAcceptButton(): void {\n        this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.enableAcceptButton();\n    }\n\n    /**\n     * Disable Dismiss button of default eui-dialog footer.\n     */\n    public disableDismissButton(): void {\n        this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.disableDismissButton();\n    }\n\n    /**\n     * Enable Dismiss button of default eui-dialog footer.\n     */\n    public enableDismissButton(): void {\n        this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.enableDismissButton();\n    }\n\n    /**\n     * Scroll to the bottom of the content\n     */\n    public scrollToBottom(): void {\n        this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.scrollToBottom();\n    }\n\n    /**\n     * Scroll to the top of the content\n     */\n    public scrollToTop(): void {\n        this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.scrollToTop();\n    }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-dialog-header', })\nexport class EuiDialogHeaderDirective {}\n\n@Directive({ selector: 'eui-dialog-footer', })\nexport class EuiDialogFooterDirective {}\n/* eslint-enable */\n",
            "selector": "eui-dialog-header",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiDropdownContentDirective",
            "id": "directive-EuiDropdownContentDirective-2a80a8584627bb3fa031f2c16728c2cb0ccfa85eeac3d9d47331a5b2a8aec0adbeacd8a2e1b74772c44ab7c9465764bf2ed3f3a15234bee246f42762a1cb75d1",
            "file": "packages/components/eui-dropdown/directives/eui-dropdown-content.directive.ts",
            "type": "directive",
            "description": "<p>Structural directive that marks the content area of an <code>eui-dropdown</code> component.\nApplies semantic role and styling to the dropdown panel container.\nMust be used as a direct child of <code>eui-dropdown</code> to define the menu content that appears in the overlay.\nAutomatically applies ARIA menu role for accessibility compliance.</p>\n",
            "rawdescription": "\n\nStructural directive that marks the content area of an `eui-dropdown` component.\nApplies semantic role and styling to the dropdown panel container.\nMust be used as a direct child of `eui-dropdown` to define the menu content that appears in the overlay.\nAutomatically applies ARIA menu role for accessibility compliance.\n",
            "sourceCode": "import { Directive, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Structural directive that marks the content area of an `eui-dropdown` component.\n * Applies semantic role and styling to the dropdown panel container.\n * Must be used as a direct child of `eui-dropdown` to define the menu content that appears in the overlay.\n * Automatically applies ARIA menu role for accessibility compliance.\n */\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({ selector: 'eui-dropdown-content' })\nexport class EuiDropdownContentDirective {\n    @HostBinding('attr.role') role = 'menu';\n    @HostBinding('class') c = 'eui-dropdown-content';\n}\n",
            "selector": "eui-dropdown-content",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'menu'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 13,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "defaultValue": "'eui-dropdown-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 14,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "propertiesClass": [
                {
                    "name": "c",
                    "defaultValue": "'eui-dropdown-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 14,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "role",
                    "defaultValue": "'menu'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 13,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiDropdownTreeDirective",
            "id": "directive-EuiDropdownTreeDirective-3341c5dbdbb895d9d3f204750216afdfc7c1063c0e48d526909f1d2b4941028483bcb8157895b7d23633a4a354a23685c9010fbff904a0bd0d7d31e84e0c2494",
            "file": "packages/components/eui-tree/eui-dropdown-tree.directive.ts",
            "type": "directive",
            "description": "<p>Directive that integrates eui-tree with eui-dropdown for tree-based selection in dropdown menus.\nAutomatically updates dropdown trigger button label based on tree selection state.\nSupports custom button templates for flexible trigger rendering.\nDisplays selected node labels as comma-separated text in the dropdown trigger.\nMust be applied to eui-dropdown component containing an eui-tree child.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dropdown euiDropdownTree&gt;\n  &lt;button euiButton&gt;Select Items&lt;/button&gt;\n  &lt;eui-dropdown-content&gt;\n    &lt;eui-tree\n      [nodes]=&quot;treeData&quot;\n      [isMultiselect]=&quot;true&quot;\n      (selectionChange)=&quot;onSelectionChange($event)&quot;&gt;\n    &lt;/eui-tree&gt;\n  &lt;/eui-dropdown-content&gt;\n&lt;/eui-dropdown&gt;</code></pre></div><h3>With Custom Button Template</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dropdown euiDropdownTree [buttonTemplateRef]=&quot;customButton&quot;&gt;\n  &lt;eui-dropdown-content&gt;\n    &lt;eui-tree [nodes]=&quot;data&quot; [isMultiselect]=&quot;true&quot; /&gt;\n  &lt;/eui-dropdown-content&gt;\n&lt;/eui-dropdown&gt;\n\n&lt;ng-template #customButton let-label&gt;\n  &lt;button euiButton euiPrimary&gt;\n    &lt;eui-icon-svg icon=&quot;eui-tree&quot; /&gt;\n    {{ label || &#39;Select from tree&#39; }}\n  &lt;/button&gt;\n&lt;/ng-template&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Dropdown trigger button maintains keyboard accessibility</li>\n<li>Selection state announced through button label updates</li>\n<li>Tree navigation remains accessible within dropdown</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Button label automatically updates on selection changes</li>\n<li>Default label shows comma-separated selected node labels</li>\n<li>Custom template receives current label as $implicit context</li>\n<li>Works with both single and multi-select tree modes</li>\n</ul>\n",
            "rawdescription": "\n\nDirective that integrates eui-tree with eui-dropdown for tree-based selection in dropdown menus.\nAutomatically updates dropdown trigger button label based on tree selection state.\nSupports custom button templates for flexible trigger rendering.\nDisplays selected node labels as comma-separated text in the dropdown trigger.\nMust be applied to eui-dropdown component containing an eui-tree child.\n\n### Basic Usage\n```html\n<eui-dropdown euiDropdownTree>\n  <button euiButton>Select Items</button>\n  <eui-dropdown-content>\n    <eui-tree\n      [nodes]=\"treeData\"\n      [isMultiselect]=\"true\"\n      (selectionChange)=\"onSelectionChange($event)\">\n    </eui-tree>\n  </eui-dropdown-content>\n</eui-dropdown>\n```\n\n### With Custom Button Template\n```html\n<eui-dropdown euiDropdownTree [buttonTemplateRef]=\"customButton\">\n  <eui-dropdown-content>\n    <eui-tree [nodes]=\"data\" [isMultiselect]=\"true\" />\n  </eui-dropdown-content>\n</eui-dropdown>\n\n<ng-template #customButton let-label>\n  <button euiButton euiPrimary>\n    <eui-icon-svg icon=\"eui-tree\" />\n    {{ label || 'Select from tree' }}\n  </button>\n</ng-template>\n```\n\n### Accessibility\n- Dropdown trigger button maintains keyboard accessibility\n- Selection state announced through button label updates\n- Tree navigation remains accessible within dropdown\n\n### Notes\n- Button label automatically updates on selection changes\n- Default label shows comma-separated selected node labels\n- Custom template receives current label as $implicit context\n- Works with both single and multi-select tree modes\n",
            "sourceCode": "import {\n    Directive,\n    AfterContentInit,\n    ContentChild,\n    Input,\n    TemplateRef,\n    AfterViewInit,\n    ChangeDetectorRef,\n    ElementRef,\n    Renderer2,\n    inject,\n} from '@angular/core';\nimport { EuiTreeComponent } from './eui-tree.component';\nimport { TreeDataModel } from './eui-tree.model';\nimport { EuiDropdownComponent } from '@eui/components/eui-dropdown';\n\n/**\n * @description\n * Directive that integrates eui-tree with eui-dropdown for tree-based selection in dropdown menus.\n * Automatically updates dropdown trigger button label based on tree selection state.\n * Supports custom button templates for flexible trigger rendering.\n * Displays selected node labels as comma-separated text in the dropdown trigger.\n * Must be applied to eui-dropdown component containing an eui-tree child.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-dropdown euiDropdownTree>\n *   <button euiButton>Select Items</button>\n *   <eui-dropdown-content>\n *     <eui-tree\n *       [nodes]=\"treeData\"\n *       [isMultiselect]=\"true\"\n *       (selectionChange)=\"onSelectionChange($event)\">\n *     </eui-tree>\n *   </eui-dropdown-content>\n * </eui-dropdown>\n * ```\n *\n * ### With Custom Button Template\n * ```html\n * <eui-dropdown euiDropdownTree [buttonTemplateRef]=\"customButton\">\n *   <eui-dropdown-content>\n *     <eui-tree [nodes]=\"data\" [isMultiselect]=\"true\" />\n *   </eui-dropdown-content>\n * </eui-dropdown>\n *\n * <ng-template #customButton let-label>\n *   <button euiButton euiPrimary>\n *     <eui-icon-svg icon=\"eui-tree\" />\n *     {{ label || 'Select from tree' }}\n *   </button>\n * </ng-template>\n * ```\n *\n * ### Accessibility\n * - Dropdown trigger button maintains keyboard accessibility\n * - Selection state announced through button label updates\n * - Tree navigation remains accessible within dropdown\n *\n * ### Notes\n * - Button label automatically updates on selection changes\n * - Default label shows comma-separated selected node labels\n * - Custom template receives current label as $implicit context\n * - Works with both single and multi-select tree modes\n */\n@Directive({\n    selector: 'eui-dropdown[euiDropdownTree]',\n})\nexport class EuiDropdownTreeDirective implements AfterContentInit, AfterViewInit {\n    /**\n     * Template reference for custom dropdown trigger button rendering.\n     * Receives current selection label as template context ($implicit).\n     * Allows complete customization of dropdown trigger appearance.\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    @Input() buttonTemplateRef: TemplateRef<any>;\n    @ContentChild(EuiTreeComponent, { static: false }) euiTree: EuiTreeComponent;\n\n    private buttonLabel: string;\n    private buttonViewRef;\n    private changeDetectorRef = inject(ChangeDetectorRef);\n    private hostElement = inject(ElementRef);\n    private renderer = inject(Renderer2);\n    private euiDropdown = inject(EuiDropdownComponent, { host: true });\n\n    ngAfterContentInit(): void {\n        this.buttonLabel = this.createButtonLabel(this.euiTree.getSelection());\n        this.euiTree.selectionChange.subscribe((selectionChanges) => {\n            this.buttonLabel = this.createButtonLabel(selectionChanges.selection);\n            this.buttonViewRef.context.$implicit = this.buttonLabel;\n            this.buttonViewRef.detectChanges();\n        });\n    }\n\n    ngAfterViewInit(): void {\n        if (this.buttonTemplateRef) {\n            const triggerContainer = this.hostElement.nativeElement.querySelector('.eui-dropdown__trigger-container');\n            if (!triggerContainer) {\n                console.error('Could not find the triggerContainer');\n                return;\n            }\n            while (triggerContainer.firstChild) {\n                triggerContainer.removeChild(triggerContainer.firstChild);\n            }\n            this.buttonViewRef = this.buttonTemplateRef.createEmbeddedView({ $implicit: this.buttonLabel });\n            this.buttonViewRef.detectChanges();\n\n            this.buttonViewRef.rootNodes.forEach((node) => {\n                if (node.nodeType === Node.ELEMENT_NODE) {\n                    this.renderer.appendChild(triggerContainer, node);\n                }\n            });\n        }\n    }\n\n    private createButtonLabel(selection: TreeDataModel): string {\n        if (selection?.length > 0) {\n            return this.euiTree\n                .getSelection()\n                ?.map((item) => item.node.treeContentBlock.label)\n                .join(',') as string;\n        }\n        return 'No node selected.';\n    }\n}\n",
            "selector": "eui-dropdown[euiDropdownTree]",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "name": "buttonTemplateRef",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nTemplate reference for custom dropdown trigger button rendering.\nReceives current selection label as template context ($implicit).\nAllows complete customization of dropdown trigger appearance.\n",
                    "description": "<p>Template reference for custom dropdown trigger button rendering.\nReceives current selection label as template context ($implicit).\nAllows complete customization of dropdown trigger appearance.</p>\n",
                    "line": 78,
                    "type": "TemplateRef<any>",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [
                {
                    "name": "euiTree",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiTreeComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 79,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "EuiTreeComponent, {static: false}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 88,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 97,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "extends": [],
            "implements": [
                "AfterContentInit",
                "AfterViewInit"
            ]
        },
        {
            "name": "EuiEditorCustomToolbarTagDirective",
            "id": "directive-EuiEditorCustomToolbarTagDirective-1de77e37aa0b813aae17399396f7d46e58ab3e5b4bda74580b0e07df4426a74c5b8018d75987479ddf3a70a7427590ff3bcf9ef8f612aaedf2c957f800c735ab",
            "file": "packages/components/externals/eui-editor/eui-editor.component.ts",
            "type": "directive",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import {\n    Component,\n    EventEmitter,\n    Input,\n    Output,\n    OnInit,\n    ViewEncapsulation,\n    ChangeDetectionStrategy,\n    HostBinding,\n    OnDestroy,\n    Directive,\n    ContentChild,\n    forwardRef,\n    ElementRef,\n    HostListener,\n    Pipe,\n    ChangeDetectorRef,\n    OnChanges,\n    SimpleChanges,\n    inject,\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormGroup, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { ContentChange, QuillModules, QuillModule } from '@eui/components/externals/quill';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n// eslint-disable-next-line @typescript-eslint/naming-convention,no-underscore-dangle,id-denylist,id-match\nconst QuillType: any = window['Quill'];\nimport { startWith, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport Delta from 'quill-delta';\n\nimport { EuiDialogConfig, EuiDialogService } from '@eui/components/eui-dialog';\n\nimport { LoaderService, BetterTableModule, Blur, EditorChangeSelection, Focus, SelectionChange, ToolbarItemConfig } from '@eui/components/externals/quill';\nimport { EuiEditorImageDialogComponent } from './image-url-dialog/image-url-dialog.component';\nimport { NgStyle } from '@angular/common';\nimport { EuiTooltipDirective } from '@eui/components/directives';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EuiEditorCountersComponent } from './counters/eui-editor-counters.component';\nimport { EuiEditorJsonViewComponent } from './json-view/eui-editor-json-view.component';\n// eslint-disable-next-line prefer-const\nlet QuillBetterTable = window['quillBetterTable'];\n\n/**\n * @description\n * Rich text editor component based on Quill with customizable toolbar and formatting options.\n * Provides WYSIWYG editing capabilities with support for text formatting, images, tables, links, and code blocks.\n * Implements ControlValueAccessor for seamless integration with Angular forms.\n * Supports both HTML and JSON output formats with character and word counting.\n * Commonly used for content management, document editing, comment systems, and rich text input fields.\n * Dependencies: Quill editor library, EuiDialogService for image URL dialogs.\n */\n@Component({\n    // eslint-disable-next-line\n    selector: 'eui-editor',\n    templateUrl: './eui-editor.component.html',\n    styleUrls: ['./styles/_index.scss'],\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [\n        // TODO: Check to change the providing way. Provide with injector reference\n        EuiDialogService,\n    ],\n    imports: [\n        QuillModule,\n        NgStyle,\n        ReactiveFormsModule,\n        EuiTooltipDirective,\n        EuiEditorCountersComponent,\n        EuiEditorJsonViewComponent,\n        TranslateModule,\n        forwardRef(() => ClassFilterPipe),\n        ...EUI_ICON,\n    ],\n})\nexport class EuiEditorComponent implements ControlValueAccessor, OnInit, OnDestroy, OnChanges {\n    @HostBinding('class')\n    get class(): string {\n        return [\n            'eui-editor',\n            this.isReadOnly ? 'eui-editor--readonly' : '',\n            this.isReadOnly && this.value ? '': 'eui-editor--empty',\n            !this.isReadOnly ? 'eui-editor-wrapper' : '',\n            this.isFocused ? 'eui-editor--focused' : '',\n            this.isEnabledOnFocus ? 'eui-editor--enabled-on-focus' : '',\n        ].join(' ').trim();\n    }\n    @Input() e2eAttr = 'eui-editor';\n    @Input() id: string;\n    @Input() placeholder = '';\n    @Input() format: 'html' | 'json' = 'html';\n    @Input() theme: 'snow' | 'bubble' = 'snow';\n    @Input() debug: 'warn' | 'log' | 'error' | false = false;\n    @Input() customToolbarPosition: 'top' | 'bottom' = 'top';\n    @HostBinding('attr.tabindex')\n    @Input() tabindex = '0';\n    @Input() modules: QuillModules;\n    @Input() formats?: string[] | null;\n    // NEW EUI INPUTS\n    @Input() customToolbarConfig: ToolbarItemConfig[];\n    @HostBinding('style.height')\n    @Input() height: string;\n    // NEW OUTPUTS => eUI13+ only\n    @Output() editorCreate = new EventEmitter<typeof QuillType>();\n    @Output() editorChange = new EventEmitter<EditorChangeSelection | ContentChange>();\n    @Output() contentChange = new EventEmitter<ContentChange>();\n    @Output() selectionChange = new EventEmitter<SelectionChange>();\n    @Output() focus = new EventEmitter<Focus>();\n    @Output() blur = new EventEmitter<Blur>();\n    @Output() charactersCountChange = new EventEmitter<number>();\n    @Output() wordsCountChange = new EventEmitter<number>();\n\n    @HostBinding('class.eui-editor') true: boolean;\n\n    @HostBinding('attr.readonly')\n    get readonly(): string {\n        return this.isReadOnly ? 'readonly' : null;\n    }\n\n    public value: string | any = '';\n    public charactersCount = 0;\n    public wordsCount = 0;\n    public bytesCount = 0;\n    public isFocused = false;\n    public generatedId: string;\n    public formControl: FormControl = new FormControl();\n    public jsonToHtmlContent: string;\n    public toolbarConfig: { [id: string]: { label: string; options: any[]; dialogMessage: string } };\n    protected readyToRender: boolean = false;\n\n    // eslint-disable-next-line max-len\n    @ContentChild(forwardRef(() => EuiEditorCustomToolbarTagDirective), { static: false })\n    euiEditorCustomToolbar: EuiEditorCustomToolbarTagDirective;\n\n    @Input()\n    get isReadOnly(): boolean {\n        return this._isReadOnly;\n    }\n    set isReadOnly(value: BooleanInput) {\n        this._isReadOnly = coerceBooleanProperty(value);\n    }\n    private _isReadOnly = false;\n    @Input()\n    get showCounters(): boolean {\n        return this._showCounters;\n    }\n    set showCounters(value: BooleanInput) {\n        this._showCounters = coerceBooleanProperty(value);\n    }\n    private _showCounters = true;\n    \n     /** @deprecated The input isEnabledOnFocus will be deprecated in next major version of eUI.\n     * Please check the showcase sample in order to replace this feature using the focus emitter.\n    */\n    @Input()\n    get isEnabledOnFocus(): boolean {\n        return this._isEnabledOnFocus;\n    }\n    set isEnabledOnFocus(value) {\n        this._isEnabledOnFocus = coerceBooleanProperty(value);\n    }\n    private _isEnabledOnFocus = false;\n    @Input()\n    get isMinimalToolbar(): boolean {\n        return this._isMinimalToolbar;\n    }\n    set isMinimalToolbar(value: BooleanInput) {\n        this._isMinimalToolbar = coerceBooleanProperty(value);\n    }\n    private _isMinimalToolbar = false;\n\n    @HostBinding('attr.aria-invalid')\n    get isInvalid(): boolean {\n        return this._isInvalid;\n    }\n    set isInvalid(value: BooleanInput) {\n        this._isInvalid = coerceBooleanProperty(value);\n    }\n    private _isInvalid = false;\n\n    private quill: typeof QuillType;\n    private minimalToolbarConfig: ToolbarItemConfig[] = [\n        { name: 'headings' },\n        { name: 'bold' },\n        { name: 'italic' },\n        { name: 'underline' },\n        { name: 'fontColor' },\n        { name: 'textAlign' },\n        { name: 'link' },\n        { name: 'image' },\n        { name: 'imageUrl' },\n        { name: 'clean' },\n        { name: 'delete' },\n        { name: 'undo' },\n        { name: 'redo' },\n        { name: 'counters' },\n    ];\n    private defaultToolbarConfig: ToolbarItemConfig[] = [\n        { name: 'headings', label: 'Style - Apply an HTML tag or CSS class to the selected text', options: [1, 2, 3, 4, 5, 6] },\n        { name: 'font', label: 'Font - Change the font face' },\n        { name: 'bold', label: 'Bold (Ctrl + B) - Make the selected text bold' },\n        { name: 'italic', label: 'Italic (Ctrl + I) - Italicize the selected text' },\n        { name: 'underline', label: 'Underline (Ctrl + U) - Underline the selected text' },\n        { name: 'strike', label: 'Strikethrough - Draw a line to the middle of the selected text' },\n        { name: 'fontColor', label: 'Font Color - Change the text color' },\n        { name: 'fontBackground', label: 'Font Background - Change the text background color' },\n        { name: 'subscript', label: 'Subscript - Create ssmall letters below the text baseline' },\n        { name: 'superscript', label: 'Superscript - Create small letters above the line of the text' },\n        { name: 'textAlign', label: 'Text Align - Align the text to the selected position: left (default), center, right or justify' },\n        { name: 'orderedList', label: 'Numbering - Start an ordered list' },\n        { name: 'bulletList', label: 'Bullets - Start a bulleted list' },\n        { name: 'indentLess', label: 'Decrease Indent - Decrease the indent level of the paragraph' },\n        { name: 'indentMore', label: 'Increase Indent - Increase the indent level of the paragraph' },\n        { name: 'blockquote', label: 'Blockquote - Create a quoted block of the selected text' },\n        { name: 'codeBlock', label: 'Insert Code Block - Insert a code block at the cursor row position' },\n        { name: 'link', label: 'Insert Hyperlink (Ctrl + K) - Create a link to a Web page, a picture, an e-mail address or a program' },\n        { name: 'image', label: 'Insert Picture - Insert a picture from a file' },\n        { name: 'imageUrl', label: 'Insert Picture from URL - Insert a picture from a remote URL', dialogMessage: 'Enter image link URL' },\n        { name: 'video', label: 'Insert Video - Insert a video from a file' },\n        { name: 'table', label: 'Insert Table - Insert a 3x3 rows/cols table' },\n        { name: 'clean', label: 'Remove Styles - Remove the styles of the selected text' },\n        { name: 'delete', label: \"Delete content - Permanently deletes editor's contents\" },\n        { name: 'undo', label: 'Undo (Ctrl + Z) - Cancels the previous action' },\n        { name: 'redo', label: 'Redo (Ctrl + Y) - Do the next history action again' },\n        {\n            name: 'counters',\n            label: 'Counters - Characters and words counters (stripped Html)',\n            options: [\n                { name: 'characters', label: 'Characters' },\n                { name: 'words', label: 'Words' },\n            ],\n        },\n    ];\n    private destroy$ = new Subject<boolean>();\n    private euiDialogService = inject(EuiDialogService);\n    private cdr = inject(ChangeDetectorRef);\n    private ngControl = inject(NgControl);\n    private loader = inject(LoaderService);\n\n    constructor() {\n        this.ngControl.valueAccessor = this;\n    }\n\n    ngOnChanges(c: SimpleChanges) {\n        if (!c.isReadOnly?.currentValue) {\n            this.calculateCounters(this.value);\n        }\n    }\n\n    ngOnInit(): void {\n        this.loader.load().subscribe({\n            complete: () => {\n                this.readyToRender = true;\n                this.ngControl.statusChanges.pipe(startWith(this.ngControl.control.status), takeUntil(this.destroy$)).subscribe((status) => {\n                    this.isInvalid = status !== 'VALID';\n                });\n\n                this.generatedId = this.id ? this.id : 'eui-editor-' + (Math.floor(Math.random() * 1000000) + 1).toString();\n\n                this.toolbarConfig = {};\n                if (!this.customToolbarConfig && !this.isMinimalToolbar) {\n                    this.defaultToolbarConfig.forEach((t) => {\n                        this.toolbarConfig = {\n                            ...this.toolbarConfig,\n                            [t.name]: { label: t.label, options: t.options, dialogMessage: t.dialogMessage },\n                        };\n                    });\n                }\n\n                if (this.customToolbarConfig && !this.isMinimalToolbar) {\n                    this.customToolbarConfig.forEach((t) => {\n                        const label = !t.label ? this.defaultToolbarConfig.find((c) => c.name === t.name).label : t.label;\n                        let options = !t.options ? this.defaultToolbarConfig.find((c) => c.name === t.name).options : t.options;\n                        const d = !t.dialogMessage ? this.defaultToolbarConfig.find((c) => c.name === t.name).dialogMessage : t.dialogMessage;\n\n                        if (t.name === 'counters') {\n                            if (!t.options) {\n                                options = this.defaultToolbarConfig.find((c) => c.name === t.name).options;\n                            } else {\n                                options = t.options.map((option) => {\n                                    const optionLabel = option.label\n                                        ? option.label\n                                        : this.defaultToolbarConfig\n                                            .find((dtc) => dtc.name === 'counters')\n                                            .options.find((o) => o.name === option.name).label;\n                                    return { name: option.name, label: optionLabel };\n                                });\n                            }\n                        }\n\n                        this.toolbarConfig = {\n                            ...this.toolbarConfig,\n                            [t.name]: { label, options, dialogMessage: d },\n                        };\n                    });\n                }\n\n                if (this.isMinimalToolbar) {\n                    this.minimalToolbarConfig.forEach((t) => {\n                        const label = !t.label ? this.defaultToolbarConfig.find((c) => c.name === t.name).label : t.label;\n                        const options = !t.options ? this.defaultToolbarConfig.find((c) => c.name === t.name).options : t.options;\n                        const d = !t.dialogMessage ? this.defaultToolbarConfig.find((c) => c.name === t.name).dialogMessage : t.dialogMessage;\n\n                        this.toolbarConfig = {\n                            ...this.toolbarConfig,\n                            [t.name]: { label, options, dialogMessage: d },\n                        };\n                    });\n                }\n                this.cdr.markForCheck();\n            }\n        });\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    public enableEditorOnFocus(event: any): void {\n        this.isReadOnly = false;\n        this.isFocused = true;\n    }\n\n    public imageUrlHandler(): void {\n        let imageUrlDialogForm: FormGroup = null;\n        this.euiDialogService.openDialog(\n            new EuiDialogConfig({\n                title: this.toolbarConfig.imageUrl.dialogMessage,\n                isHandleCloseOnAccept: true,\n                bodyComponent: {\n                    component: EuiEditorImageDialogComponent,\n                    config: {\n                        onFormValueChange: (form: FormGroup): void => {\n                            imageUrlDialogForm = form;\n                        },\n                    },\n                },\n                accept: (): void => {\n                    if (imageUrlDialogForm && imageUrlDialogForm.valid) {\n                        this.euiDialogService.closeDialog();\n\n                        const range = this.quill.getSelection() || { index: 0, length: 0 };\n                        this.quill.insertEmbed(range.index, 'image', imageUrlDialogForm.get('url').value, 'user');\n                    }\n                },\n            })\n        );\n    }\n\n    public editorUndo(): void {\n        this.quill['history'].undo();\n    }\n\n    public editorRedo(): void {\n        this.quill['history'].redo();\n    }\n\n    public editorDeleteContent(): void {\n        const config = new EuiDialogConfig({\n            title: 'Delete content',\n            content: \"<p>Are you sure you want to delete editor's content?</p>\",\n            hasCloseButton: false,\n            accept: (): void => {\n                this.quill.setContents(null);\n            },\n        });\n\n        this.euiDialogService.openDialog(config);\n    }\n\n    public insertTable(): void {\n        this.tableModule.insertTable(3, 3);\n    }\n\n    get hasImageFeature(): boolean {\n        return this.euiEditorCustomToolbar\n            ? this.euiEditorCustomToolbar?.elementRef.nativeElement.querySelector('.ql-image')\n            : !!this.toolbarConfig?.image;\n    }\n\n    public _onEditorCreated(quill: typeof QuillType): void {\n        this.quill = quill;\n\n        if (this.isEnabledOnFocus && !this.isReadOnly) {\n            this.quill.focus();     // places the focus cursor visible\n        }\n\n        if (this.format === 'html') {\n            const delta = this.quill.clipboard.convert({ html: this.value as string });\n            this.formControl.patchValue(delta);\n            this.quill.setContents(delta);\n        }\n\n        if (this.format === 'json') {\n            this.formControl.patchValue(this.value);\n            this.quill.setContents(JSON.parse(this.value));\n        }\n\n        if (!this.hasImageFeature) {\n            quill.clipboard.addMatcher('IMG', (element: Element, delta: Delta) => new Delta().insert(''));\n            quill.clipboard.addMatcher('PICTURE', (element: Element, delta: Delta) => new Delta().insert(''));\n        }\n\n        this.editorCreate.emit(quill);\n    }\n\n    private _internalChange = false;  // Add this property to the class\n\n    public _onContentChanged(event: ContentChange): void {\n        if (this.format === 'html') {\n            this.value = event.html;\n            this.calculateCounters(this.value as string);\n            // Only call onChange if it's not an internal change\n            if (!this._internalChange) {\n                this.onChange(this.htmlEntitiesDecode(this.value as string));\n            }\n        }\n        if (this.format === 'json') {\n            if (event.text !== '\\n') {\n                this.value = event.content;\n                this.calculateCounters(event.text);\n                this.jsonToHtmlContent = this.htmlEntitiesDecode(JSON.stringify(this.value));\n                // Only call onChange if it's not an internal change\n                if (!this._internalChange) {\n                    this.onChange(this.jsonToHtmlContent);\n                }\n            } else {\n                this.value = null;\n                this.calculateCounters('');\n                this.jsonToHtmlContent = '';\n                // Only call onChange if it's not an internal change\n                if (!this._internalChange) {\n                    this.onChange(null);\n                }\n            }\n        }\n        this.contentChange.emit(event); // New emitter\n    }\n\n    public _onSelectionChanged(event: SelectionChange): void {\n        this.selectionChange.emit(event);\n    }\n\n    public _onFocus(event: Focus): void {\n        this.isFocused = true;\n        this.calculateCounters(this.value);\n        this.focus.emit(event);\n    }\n\n    public _onBlur(event: Blur): void {\n        this.isFocused = false;\n        this.onTouch();\n        this.blur.emit(event);\n    }\n\n    public registerOnChange(fn: any): void {\n        this.onChange = fn;\n    }\n\n    public registerOnTouched(fn: any): void {\n        this.onTouch = fn;\n    }\n\n    public writeValue(value: string): void {\n        // Store the value\n        this.value = value || null;\n        this.jsonToHtmlContent = this.value;\n\n        // Skip triggering onChange during writeValue operations\n        if (this.quill) {\n            // Use a flag to prevent triggering onChange in _onContentChanged\n            this._internalChange = true;\n\n            if (this.format === 'html') {\n                const delta = this.quill.clipboard.convert({ html: this.value as string });\n                this.formControl.patchValue(delta, { emitEvent: false });\n                this.quill.setContents(delta);\n            }\n\n            if (this.format === 'json' && this.value) {\n                this.formControl.patchValue(this.value, { emitEvent: false });\n                // this.quill.setContents(JSON.parse(this.value));\n            }\n\n            this.calculateCounters(this.value);\n\n            // Reset the flag after a short delay to allow Quill to complete its operations\n            setTimeout(() => {\n                this._internalChange = false;\n            });\n        }\n    }\n\n    private get tableModule(): BetterTableModule {\n        return this.quill.getModule('better-table');\n    }\n\n    private onChange: any = () => {};\n\n    private onTouch: any = () => {};\n\n    private htmlEntitiesDecode(content: string): string {\n        let c = content;\n        if (c) {\n            c = c.replace('&amp;', '&');\n            c = c.replace('&nbsp;', ' ');\n        }\n\n        return c;\n    }\n\n    get hasCharactersCounter(): boolean {\n        return this.toolbarConfig.counters.options.find((o) => o.name === 'characters');\n    }\n\n    get charactersCounterLabel(): string {\n        return this.toolbarConfig.counters.options.find((o) => o.name === 'characters')?.label;\n    }\n\n    get hasWordsCounter(): boolean {\n        return this.toolbarConfig.counters.options.find((o) => o.name === 'words');\n    }\n\n    get wordsCounterLabel(): string {\n        return this.toolbarConfig.counters.options.find((o) => o.name === 'words')?.label;\n    }\n\n    private calculateCounters(content: string): void {\n        let text: string;\n        const regex = /[\\s\\n]+/;\n\n        if (this.format === 'html') {\n            if (content && content.length > 0) {\n                text = this.stripHtml(content);\n                this.charactersCount = text.length;\n\n                text = content.replace(/<\\/(p|div|br|li|h[1-6])>/gi, ' ').replace(/<[^>]+>/g, '');\n                this.wordsCount = !text ? 0 : text.trim().split(regex).filter(t => t !== '').length;\n            } else {\n                this.charactersCount = 0;\n                this.wordsCount = 0;\n                this.bytesCount = 0;\n            }\n        }\n\n        if (this.format === 'json') {\n            if (content && this.quill) {\n                text = this.stripHtml(this.quill.root.innerHTML);\n                this.charactersCount = text.length;\n\n                text = this.quill.root.innerHTML.replace(/<\\/(p|div|br|li|h[1-6])>/gi, ' ').replace(/<[^>]+>/g, '');\n                this.wordsCount = !text ? 0 : text.trim().split(regex).filter(t => t !== '').length;\n            } else {\n                this.charactersCount = 0;\n                this.wordsCount = 0;\n                this.bytesCount = 0;\n            }\n        }\n\n        this.charactersCountChange.emit(this.charactersCount);\n        this.wordsCountChange.emit(this.wordsCount);\n    }\n\n    private stripHtml(content: string): string {\n        const regex = /(<([^>]+)>)/gm;\n        const contentToReplace = content.replace(regex, '');\n        return contentToReplace.replace(/[\\u200B-\\u200D\\uFEFF]/g, '');\n    }\n\n    private cleanHtml(content: string): string {\n        const contentToReplace = content.replace(/<[^>]*>/g, '');\n        return contentToReplace.replace(/[\\u200B-\\u200D\\uFEFF]/g, '');\n    }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'euiEditorCustomToolbar', })\nexport class EuiEditorCustomToolbarTagDirective {\n    elementRef = inject(ElementRef);\n\n    @HostBinding('class') elementClass = 'eui-editor-custom-toolbar';\n}\n/* eslint-enable */\n\n/**\n * Pipe to remove classes from the editor\n */\n@Pipe({ name: 'classFilter', })\nexport class ClassFilterPipe {\n    transform(value: string): string {\n        return value\n            .replace(/eui-editor-wrapper/g, '')\n            .replace(/eui-editor--readonly/g, '')\n            .replace(/eui-editor--empty/g, '');\n    }\n}\n",
            "selector": "euiEditorCustomToolbar",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-editor-custom-toolbar'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 583,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "propertiesClass": [
                {
                    "name": "elementClass",
                    "defaultValue": "'eui-editor-custom-toolbar'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 583,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "elementRef",
                    "defaultValue": "inject(ElementRef)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 581
                }
            ],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiEditorMaxlengthDirective",
            "id": "directive-EuiEditorMaxlengthDirective-e01856e54f344e5a34a9751ac7637bbf0d8ddb6d4b5681b2f3dbce7e85617c097af0df235d9cbe183fbfd9d156b4113f2fd0a16b5197ab54301b69e084517e5a",
            "file": "packages/components/externals/eui-editor/directives/eui-editor-maxlength.directive.ts",
            "type": "directive",
            "description": "<p>Directive for enforcing maximum character length on eui-editor components.\nDisplays remaining character count indicator and prevents exceeding the specified limit.\nStrips HTML tags when counting characters in HTML format mode.\nMust be used with formControlName on eui-editor elements.\nAutomatically updates counter as content changes and applies error styling when limit exceeded.</p>\n",
            "rawdescription": "\n\nDirective for enforcing maximum character length on eui-editor components.\nDisplays remaining character count indicator and prevents exceeding the specified limit.\nStrips HTML tags when counting characters in HTML format mode.\nMust be used with formControlName on eui-editor elements.\nAutomatically updates counter as content changes and applies error styling when limit exceeded.\n",
            "sourceCode": "import { Directive, ElementRef, Input, AfterContentInit, OnDestroy, OnChanges, SimpleChanges, Renderer2, inject } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { coerceBooleanProperty, coerceNumberProperty, BooleanInput, NumberInput } from '@angular/cdk/coercion';\n\n/**\n * @description\n * Directive for enforcing maximum character length on eui-editor components.\n * Displays remaining character count indicator and prevents exceeding the specified limit.\n * Strips HTML tags when counting characters in HTML format mode.\n * Must be used with formControlName on eui-editor elements.\n * Automatically updates counter as content changes and applies error styling when limit exceeded.\n */\n@Directive({\n    /* eslint-disable-next-line */\n    selector: '[formControlName][euiEditorMaxlength]', })\nexport class EuiEditorMaxlengthDirective implements AfterContentInit, OnDestroy, OnChanges {\n    /**\n     * Content format of the editor being validated.\n     * Determines how content is parsed for character counting.\n     * 'html' strips HTML tags, 'json' parses Quill Delta format.\n     * @default 'html'\n     */\n    @Input() format: 'html' | 'json' = 'html';\n    /**\n     * Maximum allowed character count for editor content.\n     * Characters are counted after stripping HTML tags or formatting.\n     * Required for directive to function.\n     */\n    @Input()\n    get euiEditorMaxlength(): number {\n        return this._euiEditorMaxlength;\n    }\n    set euiEditorMaxlength(value: NumberInput) {\n        this._euiEditorMaxlength = coerceNumberProperty(value);\n    }\n    private _euiEditorMaxlength: number;\n    /**\n     * Shows or hides the remaining character count indicator.\n     * When true, displays counter below editor showing characters remaining.\n     * Counter turns red when limit is exceeded.\n     * @default true\n     */\n    @Input()\n    get isShowMaxlength(): boolean {\n        return this._isShowMaxlength;\n    }\n    set isShowMaxlength(value: BooleanInput) {\n        this._isShowMaxlength = coerceBooleanProperty(value);\n    }\n    private _isShowMaxlength = true;\n\n    private valueChangesSubscription: Subscription;\n    private maxLengthSpan: HTMLSpanElement;\n    private wrapper: HTMLDivElement;\n    private el = inject(ElementRef);\n    private renderer = inject(Renderer2);\n    private control = inject(NgControl, { self: true });\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes['isShowMaxlength'] && this.maxLengthSpan) {\n            if (this.isShowMaxlength) {\n                this.createMaxLengthBox();\n                this.refreshValue();\n            } else {\n                this.destroyMaxLengthBox();\n            }\n        }\n    }\n\n    ngAfterContentInit(): void {\n        if (this.euiEditorMaxlength) {\n            this.createMaxLengthBox();\n            this.refreshValue();\n        }\n\n        if (this.control?.valueChanges) {\n            this.valueChangesSubscription = this.control.valueChanges.subscribe(() => {\n                this.refreshValue();\n            });\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroyMaxLengthBox();\n\n        if (this.valueChangesSubscription) {\n            this.valueChangesSubscription.unsubscribe();\n        }\n    }\n\n    private refreshValue(): void {\n        let valueLength = 0;\n        let remainingLength = 0;\n\n        if (this.format === 'html') {\n            const regex = /(<([^>]+)>)/gi;\n            const tagsStrippedContent = this.control.value ? this.control.value.replace(regex, '') : '';\n            valueLength = tagsStrippedContent.length;\n            remainingLength = this.euiEditorMaxlength - valueLength;\n        } else {\n            const content =\n                this.control.value && this.control.value !== ''\n                    ? JSON.parse(this.control.value)\n                          .ops.filter((c: { attributes: string; insert: string }) => typeof c.insert === 'string')\n                          .map((c: { attributes: string; insert: string }) => c.insert.replace(/\\n/g, ''))\n                    : [''];\n\n            const jsonStrippedContent = content.join('');\n            valueLength = jsonStrippedContent.length;\n            remainingLength = this.euiEditorMaxlength - valueLength;\n        }\n\n        if (remainingLength < 0 && this.maxLengthSpan) {\n            this.maxLengthSpan.classList.add('error');\n            this.maxLengthSpan.innerHTML = '0';\n        } else {\n            if (remainingLength >= 0 && this.maxLengthSpan) {\n                this.maxLengthSpan.innerHTML = (this.euiEditorMaxlength - valueLength).toString();\n                this.maxLengthSpan.classList.remove('error');\n            }\n        }\n    }\n\n    private createMaxLengthBox(): void {\n        this.maxLengthSpan = this.renderer.createElement('span');\n        this.renderer.addClass(this.maxLengthSpan, 'input-maxlength');\n        this.renderer.setAttribute(this.maxLengthSpan, 'innerHTML', this.euiEditorMaxlength.toString());\n\n        const nativeElement: HTMLElement = this.el.nativeElement;\n        if (nativeElement != null) {\n            this.renderer.setStyle(nativeElement, 'width', '100%');\n            const parent: Node = nativeElement.parentNode;\n            if (parent != null && this.isShowMaxlength) {\n                this.wrapper = this.renderer.createElement('div');\n                this.renderer.addClass(this.wrapper, 'input-maxlength-wrapper');\n                parent.replaceChild(this.wrapper, nativeElement);\n                this.renderer.appendChild(this.wrapper, nativeElement);\n                this.renderer.appendChild(this.wrapper, this.maxLengthSpan);\n            }\n        }\n    }\n\n    private destroyMaxLengthBox(): void {\n        if (this.maxLengthSpan) {\n            this.renderer.removeChild(this.maxLengthSpan.parentElement, this.maxLengthSpan);\n        }\n\n        if (this.wrapper) {\n            const parent: Node = this.wrapper.parentNode;\n            const nativeElement: HTMLElement = this.el.nativeElement;\n            parent.replaceChild(nativeElement, this.wrapper);\n            this.renderer.removeChild(this.wrapper.parentElement, this.wrapper);\n        }\n    }\n}\n",
            "selector": "[formControlName][euiEditorMaxlength]",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "name": "euiEditorMaxlength",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMaximum allowed character count for editor content.\nCharacters are counted after stripping HTML tags or formatting.\nRequired for directive to function.\n",
                    "description": "<p>Maximum allowed character count for editor content.\nCharacters are counted after stripping HTML tags or formatting.\nRequired for directive to function.</p>\n",
                    "line": 31,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "format",
                    "defaultValue": "'html'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1147,
                            "end": 1168,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1148,
                                "end": 1155,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;html&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nContent format of the editor being validated.\nDetermines how content is parsed for character counting.\n'html' strips HTML tags, 'json' parses Quill Delta format.\n",
                    "description": "<p>Content format of the editor being validated.\nDetermines how content is parsed for character counting.\n&#39;html&#39; strips HTML tags, &#39;json&#39; parses Quill Delta format.</p>\n",
                    "line": 24,
                    "type": "\"html\" | \"json\"",
                    "decorators": []
                },
                {
                    "name": "isShowMaxlength",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1871,
                            "end": 1890,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1872,
                                "end": 1879,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nShows or hides the remaining character count indicator.\nWhen true, displays counter below editor showing characters remaining.\nCounter turns red when limit is exceeded.\n",
                    "description": "<p>Shows or hides the remaining character count indicator.\nWhen true, displays counter below editor showing characters remaining.\nCounter turns red when limit is exceeded.</p>\n",
                    "line": 45,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 71,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 60,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 84,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "extends": [],
            "implements": [
                "AfterContentInit",
                "OnDestroy",
                "OnChanges"
            ],
            "accessors": {
                "euiEditorMaxlength": {
                    "name": "euiEditorMaxlength",
                    "setSignature": {
                        "name": "euiEditorMaxlength",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "NumberInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 34,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "NumberInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiEditorMaxlength",
                        "type": "number",
                        "returnType": "number",
                        "line": 31,
                        "rawdescription": "\n\nMaximum allowed character count for editor content.\nCharacters are counted after stripping HTML tags or formatting.\nRequired for directive to function.\n",
                        "description": "<p>Maximum allowed character count for editor content.\nCharacters are counted after stripping HTML tags or formatting.\nRequired for directive to function.</p>\n"
                    }
                },
                "isShowMaxlength": {
                    "name": "isShowMaxlength",
                    "setSignature": {
                        "name": "isShowMaxlength",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 48,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "isShowMaxlength",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 45,
                        "rawdescription": "\n\nShows or hides the remaining character count indicator.\nWhen true, displays counter below editor showing characters remaining.\nCounter turns red when limit is exceeded.\n",
                        "description": "<p>Shows or hides the remaining character count indicator.\nWhen true, displays counter below editor showing characters remaining.\nCounter turns red when limit is exceeded.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 1871,
                                "end": 1890,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 1872,
                                    "end": 1879,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "default"
                                },
                                "comment": "<p>true</p>\n"
                            }
                        ]
                    }
                }
            }
        },
        {
            "name": "EuiFieldsetLabelExtraContentTagDirective",
            "id": "directive-EuiFieldsetLabelExtraContentTagDirective-ae4c8f7ce95e2bc0fab18d78358f552f532bda4b5dd947aa40a4bcd70d5c80a3dbd4a3b5def8190479b89f1a720fbaf3cf8e6a4d9d6cb521bfe6282ca6c47c96",
            "file": "packages/components/eui-fieldset/eui-fieldset.component.ts",
            "type": "directive",
            "description": "<p>Directive for projecting additional content below the main fieldset label.\nUsed to add descriptive text, hints, or secondary information in the label section.</p>\n",
            "rawdescription": "\n\nDirective for projecting additional content below the main fieldset label.\nUsed to add descriptive text, hints, or secondary information in the label section.\n",
            "sourceCode": "import {\n    AfterContentInit,\n    Component,\n    ContentChildren,\n    Directive,\n    EventEmitter,\n    HostBinding,\n    Input,\n    Output,\n    QueryList,\n    TemplateRef,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\nimport { EuiTemplateDirective } from '@eui/components/directives';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_ICON_BUTTON_EXPANDER } from '@eui/components/eui-icon-button-expander';\nimport { EUI_ICON_STATE } from '@eui/components/eui-icon-state';\n\n/**\n * Directive for projecting custom content into the right side of the fieldset label area.\n * Used to add supplementary controls or information aligned to the right of the label text.\n */\n// eslint-disable-next-line\n@Directive({ selector: 'euiFieldsetLabelRightContent' })\nexport class EuiFieldsetLabelRightContentTagDirective {}\n\n/**\n * Directive for projecting additional content below the main fieldset label.\n * Used to add descriptive text, hints, or secondary information in the label section.\n */\n// eslint-disable-next-line\n@Directive({ selector: 'euiFieldsetLabelExtraContent' })\nexport class EuiFieldsetLabelExtraContentTagDirective {}\n\n/**\n * @description\n * `eui-fieldset` is a container component that groups related form controls or content sections with a labeled border.\n * `eui-fieldset` supports collapsible/expandable behavior, custom icons, and flexible content projection.\n * Commonly used to organize complex forms into logical sections or create accordion-style interfaces.\n * `eui-fieldset` Provides visual hierarchy through theming variants and size options.\n *\n * @usageNotes\n * ### Basic fieldset\n * ```html\n * <eui-fieldset label=\"Personal Information\">\n *   <eui-input-text label=\"Name\"></eui-input-text>\n *   <eui-input-text label=\"Email\"></eui-input-text>\n * </eui-fieldset>\n * ```\n *\n * ### Expandable fieldset\n * ```html\n * <eui-fieldset \n *   label=\"Advanced Options\" \n *   [isExpandable]=\"true\" \n *   [isExpanded]=\"false\"\n *   (expand)=\"onExpand($event)\">\n *   <ng-template euiTemplate=\"eui-fieldset-content\">\n *     <p>Collapsible content here</p>\n *   </ng-template>\n * </eui-fieldset>\n * ```\n *\n * ### Accessibility\n * - Uses semantic `<fieldset>` and `<legend>` elements for proper form grouping\n * - Expand/collapse button includes descriptive aria-label\n * - Keyboard navigation supported for expandable fieldsets\n *\n * ### Notes\n * - Use `isExpandable` with lazy-loaded content via `euiTemplate` for performance\n * - Apply state variants (euiPrimary, euiSuccess, etc.) for visual emphasis\n * - Set `isFirst` to remove top margin in stacked layouts\n */\n@Component({\n    selector: 'eui-fieldset',\n    templateUrl: './eui-fieldset.component.html',\n    styleUrl: './eui-fieldset.scss',\n    imports: [\n        NgTemplateOutlet,\n        ...EUI_ICON,\n        ...EUI_ICON_BUTTON_EXPANDER,\n        ...EUI_ICON_STATE,\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 EuiFieldsetComponent implements AfterContentInit {\n    /** CSS classes applied to the host element */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-fieldset'),\n            this.isFirst ? 'eui-fieldset--first' : '',\n            this.isExpandable ? 'eui-fieldset--expandable' : '',\n            this.iconSvgFillColor ? 'eui-fieldset--has-icon-color': '',\n        ].join(' ').trim();\n    }\n\n    /**\n     * Data attribute used for end-to-end testing identification.\n     * @default 'eui-fieldset'\n     */\n    @HostBinding('attr.data-e2e')\n    @Input() e2eAttr = 'eui-fieldset';\n\n    /**\n     * Unique identifier for the fieldset element.\n     * Emitted in the expand event to identify which fieldset was toggled.\n     * Required when using expandable fieldsets to track state.\n     */\n    @Input() id: string;\n\n    /**\n     * Primary text displayed in the fieldset header.\n     * Provides a descriptive title for the grouped content.\n     */\n    @Input() label: string;\n\n    /**\n     * CSS class name for a custom icon displayed in the fieldset header.\n     * Alternative to iconSvgName for using icon fonts or custom icon implementations.\n     */\n    @Input() iconClass: string;\n\n    /**\n     * Name of the SVG icon to display in the fieldset header.\n     * Follows EUI icon naming conventions for consistent visual language.\n     */\n    @Input() iconSvgName: string;\n\n    /**\n     * Fill color applied to the SVG icon in the fieldset header.\n     * Accepts CSS color values to customize icon appearance.\n     */\n    @Input() iconSvgFillColor: string;\n\n    /**\n     * Displays a default icon in the fieldset header when no custom icon is specified.\n     * Provides visual consistency across fieldsets.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasDefaultIcon = false;\n\n    /**\n     * Enables expand/collapse functionality for the fieldset content.\n     * Adds an interactive toggle button to the header for showing/hiding content.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isExpandable = false;\n\n    /**\n     * Controls the expanded state of the fieldset content.\n     * Only effective when isExpandable is true.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isExpanded = true;\n\n    /**\n     * Positions the expand/collapse toggle button on the left side of the header.\n     * By default, the expander appears on the right.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasLeftExpander = false;\n\n    /**\n     * Applies larger sizing to the fieldset header and spacing.\n     * Used to create visual hierarchy or emphasize important sections.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isLarge = false;\n\n    /**\n     * Removes top margin when the fieldset is the first in a sequence.\n     * Ensures proper spacing in stacked fieldset layouts.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isFirst = false;\n\n    /**\n     * Emitted when the fieldset is expanded or collapsed.\n     * Payload: string containing the fieldset's id property.\n     * Triggered by user interaction with the expand/collapse toggle.\n     */\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    /** Template reference for lazy-loaded content */\n    protected lazyContent: TemplateRef<HTMLElement>;\n\n    /** Query list of template directives for content projection */\n    @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n    protected baseStatesDirective: BaseStatesDirective = inject(BaseStatesDirective);\n\n    ngAfterContentInit(): void {\n        const lazyTemplate = this.templates.filter(t => t.name === 'eui-fieldset-content')[0];\n        if (lazyTemplate) {\n            this.lazyContent = lazyTemplate.template;\n        }\n    }\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",
            "selector": "euiFieldsetLabelExtraContent",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiFieldsetLabelRightContentTagDirective",
            "id": "directive-EuiFieldsetLabelRightContentTagDirective-ae4c8f7ce95e2bc0fab18d78358f552f532bda4b5dd947aa40a4bcd70d5c80a3dbd4a3b5def8190479b89f1a720fbaf3cf8e6a4d9d6cb521bfe6282ca6c47c96",
            "file": "packages/components/eui-fieldset/eui-fieldset.component.ts",
            "type": "directive",
            "description": "<p>Directive for projecting custom content into the right side of the fieldset label area.\nUsed to add supplementary controls or information aligned to the right of the label text.</p>\n",
            "rawdescription": "\n\nDirective for projecting custom content into the right side of the fieldset label area.\nUsed to add supplementary controls or information aligned to the right of the label text.\n",
            "sourceCode": "import {\n    AfterContentInit,\n    Component,\n    ContentChildren,\n    Directive,\n    EventEmitter,\n    HostBinding,\n    Input,\n    Output,\n    QueryList,\n    TemplateRef,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\nimport { EuiTemplateDirective } from '@eui/components/directives';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_ICON_BUTTON_EXPANDER } from '@eui/components/eui-icon-button-expander';\nimport { EUI_ICON_STATE } from '@eui/components/eui-icon-state';\n\n/**\n * Directive for projecting custom content into the right side of the fieldset label area.\n * Used to add supplementary controls or information aligned to the right of the label text.\n */\n// eslint-disable-next-line\n@Directive({ selector: 'euiFieldsetLabelRightContent' })\nexport class EuiFieldsetLabelRightContentTagDirective {}\n\n/**\n * Directive for projecting additional content below the main fieldset label.\n * Used to add descriptive text, hints, or secondary information in the label section.\n */\n// eslint-disable-next-line\n@Directive({ selector: 'euiFieldsetLabelExtraContent' })\nexport class EuiFieldsetLabelExtraContentTagDirective {}\n\n/**\n * @description\n * `eui-fieldset` is a container component that groups related form controls or content sections with a labeled border.\n * `eui-fieldset` supports collapsible/expandable behavior, custom icons, and flexible content projection.\n * Commonly used to organize complex forms into logical sections or create accordion-style interfaces.\n * `eui-fieldset` Provides visual hierarchy through theming variants and size options.\n *\n * @usageNotes\n * ### Basic fieldset\n * ```html\n * <eui-fieldset label=\"Personal Information\">\n *   <eui-input-text label=\"Name\"></eui-input-text>\n *   <eui-input-text label=\"Email\"></eui-input-text>\n * </eui-fieldset>\n * ```\n *\n * ### Expandable fieldset\n * ```html\n * <eui-fieldset \n *   label=\"Advanced Options\" \n *   [isExpandable]=\"true\" \n *   [isExpanded]=\"false\"\n *   (expand)=\"onExpand($event)\">\n *   <ng-template euiTemplate=\"eui-fieldset-content\">\n *     <p>Collapsible content here</p>\n *   </ng-template>\n * </eui-fieldset>\n * ```\n *\n * ### Accessibility\n * - Uses semantic `<fieldset>` and `<legend>` elements for proper form grouping\n * - Expand/collapse button includes descriptive aria-label\n * - Keyboard navigation supported for expandable fieldsets\n *\n * ### Notes\n * - Use `isExpandable` with lazy-loaded content via `euiTemplate` for performance\n * - Apply state variants (euiPrimary, euiSuccess, etc.) for visual emphasis\n * - Set `isFirst` to remove top margin in stacked layouts\n */\n@Component({\n    selector: 'eui-fieldset',\n    templateUrl: './eui-fieldset.component.html',\n    styleUrl: './eui-fieldset.scss',\n    imports: [\n        NgTemplateOutlet,\n        ...EUI_ICON,\n        ...EUI_ICON_BUTTON_EXPANDER,\n        ...EUI_ICON_STATE,\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 EuiFieldsetComponent implements AfterContentInit {\n    /** CSS classes applied to the host element */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-fieldset'),\n            this.isFirst ? 'eui-fieldset--first' : '',\n            this.isExpandable ? 'eui-fieldset--expandable' : '',\n            this.iconSvgFillColor ? 'eui-fieldset--has-icon-color': '',\n        ].join(' ').trim();\n    }\n\n    /**\n     * Data attribute used for end-to-end testing identification.\n     * @default 'eui-fieldset'\n     */\n    @HostBinding('attr.data-e2e')\n    @Input() e2eAttr = 'eui-fieldset';\n\n    /**\n     * Unique identifier for the fieldset element.\n     * Emitted in the expand event to identify which fieldset was toggled.\n     * Required when using expandable fieldsets to track state.\n     */\n    @Input() id: string;\n\n    /**\n     * Primary text displayed in the fieldset header.\n     * Provides a descriptive title for the grouped content.\n     */\n    @Input() label: string;\n\n    /**\n     * CSS class name for a custom icon displayed in the fieldset header.\n     * Alternative to iconSvgName for using icon fonts or custom icon implementations.\n     */\n    @Input() iconClass: string;\n\n    /**\n     * Name of the SVG icon to display in the fieldset header.\n     * Follows EUI icon naming conventions for consistent visual language.\n     */\n    @Input() iconSvgName: string;\n\n    /**\n     * Fill color applied to the SVG icon in the fieldset header.\n     * Accepts CSS color values to customize icon appearance.\n     */\n    @Input() iconSvgFillColor: string;\n\n    /**\n     * Displays a default icon in the fieldset header when no custom icon is specified.\n     * Provides visual consistency across fieldsets.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasDefaultIcon = false;\n\n    /**\n     * Enables expand/collapse functionality for the fieldset content.\n     * Adds an interactive toggle button to the header for showing/hiding content.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isExpandable = false;\n\n    /**\n     * Controls the expanded state of the fieldset content.\n     * Only effective when isExpandable is true.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isExpanded = true;\n\n    /**\n     * Positions the expand/collapse toggle button on the left side of the header.\n     * By default, the expander appears on the right.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasLeftExpander = false;\n\n    /**\n     * Applies larger sizing to the fieldset header and spacing.\n     * Used to create visual hierarchy or emphasize important sections.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isLarge = false;\n\n    /**\n     * Removes top margin when the fieldset is the first in a sequence.\n     * Ensures proper spacing in stacked fieldset layouts.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isFirst = false;\n\n    /**\n     * Emitted when the fieldset is expanded or collapsed.\n     * Payload: string containing the fieldset's id property.\n     * Triggered by user interaction with the expand/collapse toggle.\n     */\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    /** Template reference for lazy-loaded content */\n    protected lazyContent: TemplateRef<HTMLElement>;\n\n    /** Query list of template directives for content projection */\n    @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n    protected baseStatesDirective: BaseStatesDirective = inject(BaseStatesDirective);\n\n    ngAfterContentInit(): void {\n        const lazyTemplate = this.templates.filter(t => t.name === 'eui-fieldset-content')[0];\n        if (lazyTemplate) {\n            this.lazyContent = lazyTemplate.template;\n        }\n    }\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",
            "selector": "euiFieldsetLabelRightContent",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiHasPermissionDirective",
            "id": "directive-EuiHasPermissionDirective-ce8e7528b6be825fc90481c997ee9b03f650df8d2f287f9223f9fcafe0d73dee393679ed105723fd486d1fc243696bbda68abcf0f639f563e962648a947ede8b",
            "file": "packages/components/directives/eui-has-permission.directive.ts",
            "type": "directive",
            "description": "<p>Structural directive conditionally rendering content based on user permissions.\nChecks permissions via EuiPermissionService and shows/hides content accordingly.\nSupports single or multiple permission checks with AND/OR logical operators.\nSimilar to *ngIf but permission-based instead of boolean-based.</p>\n<p>Single permission:</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;button *euiHasPermission=&quot;[&#39;EDIT_USER&#39;]&quot;&gt;Edit&lt;/button&gt;</code></pre></div><p>Multiple permissions (AND - all required):</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;div *euiHasPermission=&quot;[&#39;READ_DATA&#39;, &#39;WRITE_DATA&#39;]&quot;&gt;\n  Admin content\n&lt;/div&gt;</code></pre></div><p>Multiple permissions (OR - any required):</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;div *euiHasPermission=&quot;[&#39;MANAGER&#39;, &#39;ADMIN&#39;]&quot; euiHasPermissionOperator=&quot;OR&quot;&gt;\n  Manager or Admin content\n&lt;/div&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Content completely removed from DOM when permissions not granted</li>\n<li>No visual indication of hidden content to unauthorized users</li>\n<li>Screen readers will not encounter permission-restricted content</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Default operator is AND (all permissions required)</li>\n<li>Use OR operator when any single permission should grant access</li>\n<li>Requires EuiPermissionService to be configured in application</li>\n<li>Permission checks happen synchronously on directive initialization and input changes</li>\n</ul>\n",
            "rawdescription": "\n\nStructural directive conditionally rendering content based on user permissions.\nChecks permissions via EuiPermissionService and shows/hides content accordingly.\nSupports single or multiple permission checks with AND/OR logical operators.\nSimilar to *ngIf but permission-based instead of boolean-based.\n\nSingle permission:\n```html\n<button *euiHasPermission=\"['EDIT_USER']\">Edit</button>\n```\n\nMultiple permissions (AND - all required):\n```html\n<div *euiHasPermission=\"['READ_DATA', 'WRITE_DATA']\">\n  Admin content\n</div>\n```\n\nMultiple permissions (OR - any required):\n```html\n<div *euiHasPermission=\"['MANAGER', 'ADMIN']\" euiHasPermissionOperator=\"OR\">\n  Manager or Admin content\n</div>\n```\n\n### Accessibility\n- Content completely removed from DOM when permissions not granted\n- No visual indication of hidden content to unauthorized users\n- Screen readers will not encounter permission-restricted content\n\n### Notes\n- Default operator is AND (all permissions required)\n- Use OR operator when any single permission should grant access\n- Requires EuiPermissionService to be configured in application\n- Permission checks happen synchronously on directive initialization and input changes\n",
            "sourceCode": "import {\n\tDirective,\n\tInput,\n\tTemplateRef,\n\tViewContainerRef,\n\tinject,\n\tsignal,\n\tWritableSignal,\n} from '@angular/core';\nimport { EuiPermissionService } from '@eui/core';\n\nexport enum ConditionOperator {\n\tAND = 'AND',\n\tOR = 'OR',\n}\n\n/**\n * Structural directive conditionally rendering content based on user permissions.\n * Checks permissions via EuiPermissionService and shows/hides content accordingly.\n * Supports single or multiple permission checks with AND/OR logical operators.\n * Similar to *ngIf but permission-based instead of boolean-based.\n *\n * @usageNotes\n * Single permission:\n * ```html\n * <button *euiHasPermission=\"['EDIT_USER']\">Edit</button>\n * ```\n *\n * Multiple permissions (AND - all required):\n * ```html\n * <div *euiHasPermission=\"['READ_DATA', 'WRITE_DATA']\">\n *   Admin content\n * </div>\n * ```\n *\n * Multiple permissions (OR - any required):\n * ```html\n * <div *euiHasPermission=\"['MANAGER', 'ADMIN']\" euiHasPermissionOperator=\"OR\">\n *   Manager or Admin content\n * </div>\n * ```\n *\n * ### Accessibility\n * - Content completely removed from DOM when permissions not granted\n * - No visual indication of hidden content to unauthorized users\n * - Screen readers will not encounter permission-restricted content\n *\n * ### Notes\n * - Default operator is AND (all permissions required)\n * - Use OR operator when any single permission should grant access\n * - Requires EuiPermissionService to be configured in application\n * - Permission checks happen synchronously on directive initialization and input changes\n */\n@Directive({\n    selector: '[euiHasPermission]',\n})\nexport class EuiHasPermissionDirective {\n    /**\n     * @internal\n     * Array storing the current permission requirements\n     */\n    private permissions = signal<string[]>([]);\n\t/**\n\t * @internal\n\t * Logical operator for permission checks (AND/OR). Defaults to AND.\n\t */\n\tprivate operator: WritableSignal<ConditionOperator> = signal(ConditionOperator.AND);\n    /**\n     * @internal\n     * Flag tracking whether the content is currently hidden\n     */\n    private isHidden = true;\n\n\t/**\n\t * Sets the logical operator for permission checks.\n\t * 'AND' requires all permissions, 'OR' requires at least one permission.\n\t * Default: 'AND'\n\t */\n\t@Input() set euiHasPermissionOperator(operator: ConditionOperator) {\n\t\tthis.operator.set(operator || ConditionOperator.AND);\n\t\tthis.updateView();\n\t}\n\n\t/**\n\t * Array of permission strings required to display the content.\n\t * Can be single permission or multiple permissions.\n\t */\n    @Input()\n    set euiHasPermission(val) {\n        this.permissions.set(val);\n        this.updateView();\n    }\n    private templateRef = inject<TemplateRef<unknown>>(TemplateRef);\n    private viewContainer = inject(ViewContainerRef);\n    private permissionService = inject(EuiPermissionService);\n\n    /**\n     * @internal\n     * @description\n     * Updates the view based on the current permission check results.\n     * If permissions are granted, displays the content.\n     * If permissions are not granted, hides the content.\n     */\n    private updateView(): void {\n        if (this.checkPermission()) {\n            if (this.isHidden) {\n                this.viewContainer.createEmbeddedView(this.templateRef);\n                this.isHidden = false;\n            }\n        } else {\n            this.isHidden = true;\n            this.viewContainer.clear();\n        }\n    }\n\n    /**\n     * @internal\n     * @description\n     * Checks if all required permissions are granted.\n     * Uses AND logic - all permissions must be granted for the method to return true.\n     *\n     * @returns {boolean} True if all permissions are granted, false otherwise\n     */\n    private checkPermission(): boolean {\n\t\tif (this.operator() === ConditionOperator.OR) {\n\t\t\treturn this.permissions().some((permission) =>\n\t\t\t\tthis.permissionService.checkAttributePermission(permission),\n\t\t\t);\n\t\t}\n\n\t\treturn this.permissions().every((permission) =>\n\t\t\tthis.permissionService.checkAttributePermission(permission),\n\t\t);\n\t}\n}\n",
            "selector": "[euiHasPermission]",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "name": "euiHasPermission",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nArray of permission strings required to display the content.\nCan be single permission or multiple permissions.\n",
                    "description": "<p>Array of permission strings required to display the content.\nCan be single permission or multiple permissions.</p>\n",
                    "line": 89,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "euiHasPermissionOperator",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the logical operator for permission checks.\n'AND' requires all permissions, 'OR' requires at least one permission.\nDefault: 'AND'\n",
                    "description": "<p>Sets the logical operator for permission checks.\n&#39;AND&#39; requires all permissions, &#39;OR&#39; requires at least one permission.\nDefault: &#39;AND&#39;</p>\n",
                    "line": 79,
                    "type": "ConditionOperator",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [],
            "extends": [],
            "accessors": {
                "euiHasPermissionOperator": {
                    "name": "euiHasPermissionOperator",
                    "setSignature": {
                        "name": "euiHasPermissionOperator",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "operator",
                                "type": "ConditionOperator",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 79,
                        "rawdescription": "\n\nSets the logical operator for permission checks.\n'AND' requires all permissions, 'OR' requires at least one permission.\nDefault: 'AND'\n",
                        "description": "<p>Sets the logical operator for permission checks.\n&#39;AND&#39; requires all permissions, &#39;OR&#39; requires at least one permission.\nDefault: &#39;AND&#39;</p>\n",
                        "jsdoctags": [
                            {
                                "name": "operator",
                                "type": "ConditionOperator",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    }
                },
                "euiHasPermission": {
                    "name": "euiHasPermission",
                    "setSignature": {
                        "name": "euiHasPermission",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "val",
                                "type": "unknown",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 89,
                        "rawdescription": "\n\nArray of permission strings required to display the content.\nCan be single permission or multiple permissions.\n",
                        "description": "<p>Array of permission strings required to display the content.\nCan be single permission or multiple permissions.</p>\n",
                        "jsdoctags": [
                            {
                                "name": "val",
                                "type": "unknown",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    }
                }
            }
        },
        {
            "name": "EuiIconDirective",
            "id": "directive-EuiIconDirective-7b6461c130ac0c23f0157295de8bd7242b1e03f5fdadab62d9ad2c3c86200b01613816e50216ac1231014f11cf89398051597c9fb9b72cb04947364d47f88f7f",
            "file": "packages/components/eui-input-text/eui-icon.directive.ts",
            "type": "directive",
            "description": "<p>Directive to add an icon to an eui-input-text element, allowing for click events too.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;input euiInputText [euiIcon]=&quot;{ icon: &#39;eui-search&#39; }&quot; /&gt;</code></pre></div><h3>Clickable Icon</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;input euiInputText\n  [euiIcon]=&quot;{ icon: &#39;eui-close&#39;, clickable: true, ariaLabel: &#39;Clear search&#39; }&quot;\n  (iconClick)=&quot;clearSearch()&quot; /&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Non-clickable icons should be decorative (<code>aria-hidden=&quot;true&quot;</code>)</li>\n<li>Clickable icons must have <code>ariaLabel</code> for screen readers</li>\n<li>Clickable icons are keyboard accessible (Tab + Enter)</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Icon is positioned at the end of the input</li>\n<li>Automatically creates flex wrapper for layout</li>\n<li>Supports custom icon colors via <code>colour</code> property</li>\n</ul>\n",
            "rawdescription": "\n\nDirective to add an icon to an eui-input-text element, allowing for click events too.\n\n### Basic Usage\n```html\n<input euiInputText [euiIcon]=\"{ icon: 'eui-search' }\" />\n```\n\n### Clickable Icon\n```html\n<input euiInputText\n  [euiIcon]=\"{ icon: 'eui-close', clickable: true, ariaLabel: 'Clear search' }\"\n  (iconClick)=\"clearSearch()\" />\n```\n\n### Accessibility\n- Non-clickable icons should be decorative (`aria-hidden=\"true\"`)\n- Clickable icons must have `ariaLabel` for screen readers\n- Clickable icons are keyboard accessible (Tab + Enter)\n\n### Notes\n- Icon is positioned at the end of the input\n- Automatically creates flex wrapper for layout\n- Supports custom icon colors via `colour` property\n",
            "sourceCode": "import {\n    booleanAttribute,\n    ComponentRef,\n    Directive,\n    ElementRef,\n    HostBinding,\n    Renderer2,\n    ViewContainerRef,\n    inject,\n    input,\n    effect,\n    output,\n    computed,\n    OnDestroy,\n} from '@angular/core';\nimport { EuiIconSvgComponent } from '@eui/components/eui-icon';\n\n/**\n * @description\n * Metadata for the icon directive used in input elements.\n * This interface defines the properties that can be used to configure the icon,\n * including the icon name, aria label, and whether the icon is clickable.\n */\nexport interface InputIconMetadata {\n    /**\n     * @description\n     * The icon name to be displayed. This should correspond to an icon in the icon set.\n     */\n    icon: string;\n    /**\n     * @description\n     * The aria-label for the icon, used for accessibility purposes.\n     * This should describe the icon's function or purpose.\n     */\n    ariaLabel?: string;\n    /**\n     * @description\n     * Indicates whether the icon is clickable. If true, the icon will respond to click events.\n     * If false, the icon will not respond to click events and will not have pointer events enabled.\n     */\n    clickable?: boolean;\n    /**\n     * @description\n     * The color of the icon. This can be used to customize the appearance of the icon.\n     * If not specified, the default color will be used.\n     */\n    colour?: string;\n}\n\n/**\n * @description\n * Directive to add an icon to an eui-input-text element, allowing for click events too.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <input euiInputText [euiIcon]=\"{ icon: 'eui-search' }\" />\n * ```\n *\n * ### Clickable Icon\n * ```html\n * <input euiInputText \n *   [euiIcon]=\"{ icon: 'eui-close', clickable: true, ariaLabel: 'Clear search' }\"\n *   (iconClick)=\"clearSearch()\" />\n * ```\n *\n * ### Accessibility\n * - Non-clickable icons should be decorative (`aria-hidden=\"true\"`)\n * - Clickable icons must have `ariaLabel` for screen readers\n * - Clickable icons are keyboard accessible (Tab + Enter)\n *\n * ### Notes\n * - Icon is positioned at the end of the input\n * - Automatically creates flex wrapper for layout\n * - Supports custom icon colors via `colour` property\n */\n@Directive({\n    selector: 'input[euiInputText][euiIcon]',\n\thost: {\n\t\t'[class]': 'cssClasses',\n\t},\n})\nexport class EuiIconDirective implements OnDestroy {\n    euiIcon = input<InputIconMetadata>()\n    readonly = input(null, { transform: booleanAttribute });\n    iconClick = output()\n    public get cssClasses(): string {\n        return [this._cssClasses, this.euiIcon()?.icon ? `${this._elementRef.nativeElement.rootClassName}--loading` : ''].join(' ').trim();\n    }\n    public set cssClasses(value: string) {\n        this._cssClasses = value;\n    }\n    @HostBinding('attr.readonly') protected _readonly: string | null;\n    protected _icon: ComponentRef<EuiIconSvgComponent>;\n    private _euiUFlexWrapper: HTMLDivElement;\n    private _cssClasses: string;\n    private _elementRef = inject(ElementRef);\n    private _viewContainerRef = inject(ViewContainerRef);\n    private _renderer = inject(Renderer2);\n    private listeners: (() => void)[] = [];\n    private clickable = computed(() => this.euiIcon()?.clickable ?? false);\n    private icon = computed(() => this.euiIcon()?.icon);\n    private iconColour = computed(() => this.euiIcon()?.colour);\n    private readonly DEFAULT_ICON_COLOUR = 'secondary';\n\n    constructor() {\n        effect(() => {\n            this._readonly = this.readonly() ? '' : null;\n            if(this.readonly()) {\n                this.removeIcon();\n                this.removeFlexWrapper();\n            } else if (this.euiIcon()?.icon && this.readonly() === false) {\n                // create wrapper\n                this.createFlexWrapper();\n\n                // dynamically create the icon\n                this.createIcon();\n                this._renderer.appendChild(this._euiUFlexWrapper, this._icon.location.nativeElement);\n            }\n        });\n\n        effect(() => {\n            const icon = this.icon();\n            if(!icon) {\n                this.removeIcon();\n                this.removeFlexWrapper();\n            } else if (!this._icon && !this.readonly()) {\n                this.createFlexWrapper();\n                this.createIcon();\n            } else if (this._icon) {\n                this._icon.setInput('icon', icon);\n            }\n        });\n\n        effect(() => {\n            const clickable = this.clickable();\n            if(!clickable) {\n                this._renderer.removeAttribute(this._icon.location.nativeElement, 'tabindex');\n                this._renderer.setStyle(this._icon.location.nativeElement, 'pointer-events', 'none');\n            } else {\n                this._renderer.setAttribute(this._icon.location.nativeElement, 'tabindex', '0');\n                this._icon.setInput('ariaHidden', false);\n                this._icon.setInput('focusable', true);\n                this._icon.setInput('ariaLabel', this.euiIcon()?.ariaLabel || 'Input icon');\n                this._renderer.removeStyle(this._icon.location.nativeElement, 'pointer-events');\n            }\n        });\n\n        effect(() => {\n            const iconColour = this.iconColour();\n            if (this._icon) {\n                this._icon.setInput('fillColor', iconColour || this.DEFAULT_ICON_COLOUR);\n            }\n        })\n    }\n\n    ngOnDestroy(): void {\n        // Clean up listeners\n        this.listeners?.forEach(listener => listener());\n        this.listeners = [];\n    }\n\n    /**\n     * create a flex wrapper for the input to hold the icon\n     *\n     * @private\n     */\n    private createFlexWrapper(): void {\n        if (!this._euiUFlexWrapper && !this.doesParentHasAFlexWrapper()) {\n            this._euiUFlexWrapper = this._renderer.createElement('div');\n            this._renderer.addClass(this._euiUFlexWrapper, 'eui-u-flex');\n            this._renderer.setAttribute(this._euiUFlexWrapper, 'flexWrapper', null);\n            this._renderer.setStyle(this._euiUFlexWrapper, 'position', 'relative');\n            this._renderer.insertBefore(\n                this._elementRef.nativeElement.parentElement,\n                this._euiUFlexWrapper,\n                this._elementRef.nativeElement,\n            );\n            this._renderer.appendChild(this._euiUFlexWrapper, this._elementRef.nativeElement);\n        }\n        if (!this._euiUFlexWrapper && this.doesParentHasAFlexWrapper()) {\n            this._euiUFlexWrapper = this._elementRef.nativeElement.parentElement;\n        }\n    }\n\n    /**\n     * checks if the parent has a flexWrapper. This is used to avoid creating multiple flexWrappers\n     *\n     * @private\n     */\n    private doesParentHasAFlexWrapper(): boolean {\n        return this._elementRef.nativeElement.parentElement.hasAttribute('flexWrapper');\n    }\n\n    /**\n     * removes the flexWrapper while keeping the input element intact\n     *\n     * @private\n     */\n    private removeFlexWrapper(): void {\n        if (this._euiUFlexWrapper) {\n            this._renderer.insertBefore(this._euiUFlexWrapper.parentElement, this._elementRef.nativeElement, this._euiUFlexWrapper);\n            this._renderer.removeChild(this._euiUFlexWrapper.parentElement, this._euiUFlexWrapper);\n            this._euiUFlexWrapper.remove();\n            this._euiUFlexWrapper = null;\n        }\n    }\n\n    private registerIconClickListener(): void {\n        this.listeners.push(\n            this._renderer.listen(this._icon.location.nativeElement, 'click', this.onIconClicked.bind(this)),\n            this._renderer.listen(this._icon.location.nativeElement, 'keydown.enter', this.onIconClicked.bind(this)),\n            this._renderer.listen(this._icon.location.nativeElement, 'focus', () => {\n                if (!this.readonly() && this.euiIcon()?.clickable) {\n                    this._renderer.setStyle(this._icon.location.nativeElement, 'transition', 'none');\n                    this._renderer.setStyle(this._icon.location.nativeElement, 'outline-offset', '-2px !important');\n                    this._renderer.setStyle(this._icon.location.nativeElement, 'outline', '2px solid var(--eui-c-focus-visible) !important');\n                }\n            }),\n            this._renderer.listen(this._icon.location.nativeElement, 'blur', () => {\n                this._renderer.removeStyle(this._icon.location.nativeElement, 'outline');\n                this._renderer.removeStyle(this._icon.location.nativeElement, 'outline-offset');\n                this._renderer.removeStyle(this._icon.location.nativeElement, 'transition');\n            }),\n        );\n    }\n\n    /**\n     * creates the icon component\n     *\n     * @private\n     */\n    private createIcon(): void {\n        if (!this._icon) {\n            this._icon = this._viewContainerRef.createComponent(EuiIconSvgComponent);\n            this._icon.instance.isInputIcon = true;\n            this._icon.instance.euiEnd = true;\n            this._icon.instance.icon = this.euiIcon()?.icon;\n            this._icon.instance.ariaLabel = this.euiIcon()?.ariaLabel;\n            this._icon.instance.fillColor = this.euiIcon()?.colour || this.DEFAULT_ICON_COLOUR;\n            this.registerIconClickListener();\n\n            this._renderer.appendChild(this._euiUFlexWrapper, this._icon.location.nativeElement);\n        }\n    }\n\n    /**\n     * @description\n     * Handles the click event on the icon.\n     */\n    private onIconClicked(): void {\n        this.iconClick.emit();\n    }\n\n    /**\n     * removes the icon component\n     *\n     * @private\n     */\n    private removeIcon(): void {\n        if (this._icon) {\n            const index = this._viewContainerRef.indexOf(this._icon.hostView);\n            this._viewContainerRef.detach(index);\n            this._icon = null;\n            // Clean up listeners\n            this.listeners.forEach(listener => listener());\n            this.listeners = [];\n        }\n    }\n}\n",
            "selector": "input[euiInputText][euiIcon]",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "name": "euiIcon",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "InputIconMetadata",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 84,
                    "required": false
                },
                {
                    "name": "readonly",
                    "defaultValue": "null, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 85,
                    "required": false
                }
            ],
            "outputsClass": [
                {
                    "name": "iconClick",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 86,
                    "required": false
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.readonly",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 93,
                    "type": "string | null",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "propertiesClass": [
                {
                    "name": "_icon",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ComponentRef<EuiIconSvgComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 94,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "_readonly",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string | null",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 93,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.readonly'"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 157,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "extends": [],
            "implements": [
                "OnDestroy"
            ],
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 104
            },
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "setSignature": {
                        "name": "cssClasses",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "string",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 90,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "string",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 87
                    }
                }
            }
        },
        {
            "name": "EuiInputNumberDirective",
            "id": "directive-EuiInputNumberDirective-cdf60ab62aeb9f9e950e2a1e0accabcd4617ad23b32593eb0b119c69195a0d115f4fad7035e986d98b35a7c627e7be548cedaf70bdbfc87a940f7347b4471564",
            "file": "packages/components/eui-input-number/eui-number-control.directive.ts",
            "type": "directive",
            "description": "<p>Directive for the {@link EuiInputNumberComponent}. This directive is used to\nhandle the value changes of the input element and update the value of the\ndirective and the form control. It also implements the ControlValueAccessor\ninterface to allow the directive to be used with reactive forms.</p>\n<h3>With Reactive Forms</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">form = new FormGroup({\n  price: new FormControl(0)\n});</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;input euiInputNumber formControlName=&quot;price&quot; [fractionDigits]=&quot;2&quot; /&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Integrates with Angular Forms validation</li>\n<li>Automatically handles disabled state</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Automatically applied when using formControl, formControlName, or ngModel</li>\n<li>Handles large number precision by returning strings when needed</li>\n</ul>\n",
            "rawdescription": "\n\nDirective for the {@link EuiInputNumberComponent}. This directive is used to\nhandle the value changes of the input element and update the value of the\ndirective and the form control. It also implements the ControlValueAccessor\ninterface to allow the directive to be used with reactive forms.\n\n### With Reactive Forms\n```typescript\nform = new FormGroup({\n  price: new FormControl(0)\n});\n```\n\n```html\n<input euiInputNumber formControlName=\"price\" [fractionDigits]=\"2\" />\n```\n\n### Accessibility\n- Integrates with Angular Forms validation\n- Automatically handles disabled state\n\n### Notes\n- Automatically applied when using formControl, formControlName, or ngModel\n- Handles large number precision by returning strings when needed\n",
            "sourceCode": "import { Directive, ElementRef, forwardRef, OnInit, PLATFORM_ID, inject } from '@angular/core';\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\nimport { CleaveInstance, EuiInputNumberComponent } from './eui-input-number.component';\nimport Cleave from 'cleave.js';\nimport { DOCUMENT, isPlatformServer } from '@angular/common';\n\ninterface ConvertToNumberResult {\n\tcanConvert: boolean;\n\treason: string;\n\tvalue: number | null;\n\toriginal?: string;\n\tconverted?: number;\n}\n\n/**\n * @description\n * Directive for the {@link EuiInputNumberComponent}. This directive is used to\n * handle the value changes of the input element and update the value of the\n * directive and the form control. It also implements the ControlValueAccessor\n * interface to allow the directive to be used with reactive forms.\n *\n * @usageNotes\n * ### With Reactive Forms\n * ```typescript\n * form = new FormGroup({\n *   price: new FormControl(0)\n * });\n * ```\n *\n * ```html\n * <input euiInputNumber formControlName=\"price\" [fractionDigits]=\"2\" />\n * ```\n *\n * ### Accessibility\n * - Integrates with Angular Forms validation\n * - Automatically handles disabled state\n *\n * ### Notes\n * - Automatically applied when using formControl, formControlName, or ngModel\n * - Handles large number precision by returning strings when needed\n */\n@Directive({\n    selector: 'input[euiInputNumber][formControl],input[euiInputNumber][formControlName],input[euiInputNumber][ngModel]',\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => EuiInputNumberDirective),\n            multi: true,\n        },\n        {\n            provide: NG_VALIDATORS,\n            useExisting: forwardRef(() => EuiInputNumberDirective),\n            multi: true,\n        },\n    ],\n})\nexport class EuiInputNumberDirective implements ControlValueAccessor, Validator, OnInit {\n    private onValidatorChange: () => void;\n    private wasIncomplete = false;\n    /**\n     * holds a copy of the value\n     */\n    private value: number | string;\n    private onChange: (t: number | string) => void;\n    private elementRef = inject(ElementRef);\n    private euiNumberComponent = inject(EuiInputNumberComponent, { optional: true })!;\n    private document = inject<Document>(DOCUMENT);\n    private platformId = inject(PLATFORM_ID);\n\n    ngOnInit(): void {\n        this.euiNumberComponent['initCleave'](this.valueChanges.bind(this));\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    writeValue(obj: any): void {\n        if (isPlatformServer(this.platformId)) {\n            return;\n        }\n        const cleave: CleaveInstance = new Cleave(this.document.createElement('input'), { ...this.euiNumberComponent['options'] });\n        cleave.setRawValue(obj);\n        if (this.euiNumberComponent.fillFraction() && obj !== '' && obj) {\n            this.euiNumberComponent['applyFractionFill'](obj, cleave);\n        }\n        let valueOfElement: string;\n        // fill leading zero\n        if (this.euiNumberComponent.leadingZero()) {\n            const size =\n                this.euiNumberComponent.leadingZero() > this.euiNumberComponent.digits() && this.euiNumberComponent.digits() > 0\n                    ? this.euiNumberComponent.digits()\n                    : this.euiNumberComponent.leadingZero();\n            valueOfElement = this.euiNumberComponent['padZero'](cleave.getFormattedValue(), size);\n        } else {\n            valueOfElement = cleave.getFormattedValue();\n        }\n        this.elementRef.nativeElement.value = valueOfElement;\n\t\tconst { canConvert } = this.canSafelyConvertToNumber(cleave.getRawValue())\n\t\tthis.value = !canConvert ? cleave.getRawValue() : Number.parseFloat(cleave.getRawValue());\n\t\tcleave.destroy();\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    registerOnChange(fn: any): void {\n        this.onChange = (t): void => {\n            this.value = t;\n            fn(t);\n        };\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    registerOnTouched(fn: any): void {\n        this.onTouched = fn;\n    }\n\n    /**\n     * Set the disabled state of the input element.\n     *\n     * @param isDisabled\n     */\n    setDisabledState(isDisabled: boolean): void {\n        this.euiNumberComponent.disabled = isDisabled;\n    }\n\n    validate(control: AbstractControl): ValidationErrors | null {\n        const raw = this.elementRef.nativeElement.value;\n        return raw !== '' && !/\\d/.test(raw) ? { incomplete: true } : null;\n    }\n\n    registerOnValidatorChange(fn: () => void): void {\n        this.onValidatorChange = fn;\n    }\n\n    private onTouched(): void {\n        // this.euiNumberComponent.isInvalid = this.control.invalid;\n    }\n\n    /**\n     * Handle the value changes of the input element and update the value of the\n     * directive and the form control. For large numbers, the value is a string.\n     *\n     * @param event\n     */\n    private valueChanges(event): void {\n        const { target } = event;\n\n        this.euiNumberComponent['onValueChanged'](event);\n\n        // Skip intermediate/incomplete values that contain no digit yet\n        const isIncomplete = target.rawValue !== '' && !/\\d/.test(target.rawValue);\n        if (isIncomplete !== this.wasIncomplete) {\n            this.wasIncomplete = isIncomplete;\n            this.onValidatorChange?.();\n        }\n        if (isIncomplete) {\n            return;\n        }\n\n\t\tconst { canConvert, value } = this.canSafelyConvertToNumber(target.rawValue);\n\t\t// Only emit change if the value has actually changed\n\t\tif (this.value !== target.rawValue && this.onChange) {\n\t\t\tthis.onChange(!canConvert ? target.rawValue: value);\n\t\t}\n    }\n\n\t/**\n\t * Check if a numeric string can be safely converted to a number without\n\t * losing precision or exceeding JavaScript's maximum safe integer limit.\n\t * This is important for very large numbers that may be represented\n\t * as strings to avoid precision loss.\n\t *\n\t * @param numString The numeric string to check\n\t * @return An object indicating if conversion is safe, the reason if not, and the converted value if safe\n\t */\n\tprivate canSafelyConvertToNumber(numString: string): ConvertToNumberResult {\n\t\t// Remove whitespace\n\t\tconst trimmed = numString.trim();\n\n\t\tif (trimmed === '') {\n\t\t\treturn {\n\t\t\t\tcanConvert: false,\n\t\t\t\treason: 'Empty string converts to null',\n\t\t\t\tvalue: null,\n\t\t\t};\n\t\t}\n\n\t\t// Convert to number\n\t\tconst numValue = Number(trimmed);\n\n\t\t// Check if it's infinity (exceeds MAX_VALUE)\n\t\tif (!isFinite(numValue)) {\n\t\t\treturn {\n\t\t\t\tcanConvert: false,\n\t\t\t\treason: 'Number exceeds maximum value',\n\t\t\t\tvalue: null,\n\t\t\t};\n\t\t}\n\n\t\t// Convert back to string\n\t\tconst convertedBack = numValue.toString();\n\n\t\t// Normalize BOTH strings without converting to number\n\t\tconst normalizedOriginal = this.normalizeStringOnly(trimmed);\n\t\tconst normalizedConverted = this.normalizeStringOnly(convertedBack);\n\n\t\tif (normalizedOriginal !== normalizedConverted) {\n\t\t\treturn {\n\t\t\t\tcanConvert: false,\n\t\t\t\treason: 'Precision loss detected',\n\t\t\t\tvalue: null,\n\t\t\t\toriginal: trimmed,\n\t\t\t\tconverted: numValue,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tcanConvert: true,\n\t\t\treason: 'Safe to convert',\n\t\t\tvalue: numValue,\n\t\t};\n\t}\n\n\t/**\n\t * Normalize a numeric string by removing leading/trailing zeros and signs,\n\t * without converting to a number. This helps compare the original and converted\n\t * strings for equivalence.\n\t *\n\t * @param str The numeric string to normalize\n\t * @returns The normalized string\n\t */\n\tprivate normalizeStringOnly(str: string): string {\n\t\tlet s = str.trim();\n\n\t\t// Remove leading + sign\n\t\tif (s.startsWith('+')) {\n\t\t\ts = s.substring(1);\n\t\t}\n\n\t\t// Handle decimal numbers\n\t\tif (s.includes('.')) {\n\t\t\tlet [intPart, decPart] = s.split('.');\n\n\t\t\t// Remove leading zeros from integer part (but keep at least one zero)\n\t\t\tintPart = intPart.replace(/^0+/, '') || '0';\n\n\t\t\t// Remove trailing zeros from decimal part\n\t\t\tdecPart = decPart.replace(/0+$/, '');\n\n\t\t\t// If no decimal digits left, return just integer\n\t\t\tif (decPart === '') {\n\t\t\t\treturn intPart;\n\t\t\t}\n\n\t\t\treturn intPart + '.' + decPart;\n\t\t} else {\n\t\t\t// Integer - remove leading zeros\n\t\t\treturn s.replace(/^0+/, '') || '0';\n\t\t}\n\t}\n\n}\n",
            "selector": "input[euiInputNumber][formControl],input[euiInputNumber][formControlName],input[euiInputNumber][ngModel]",
            "providers": [
                {
                    "name": ")"
                },
                {
                    "name": ")"
                }
            ],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 70,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "registerOnChange",
                    "args": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 104,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "registerOnTouched",
                    "args": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 113,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "registerOnValidatorChange",
                    "args": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": []
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 131,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [],
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "setDisabledState",
                    "args": [
                        {
                            "name": "isDisabled",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 122,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSet the disabled state of the input element.\n\n",
                    "description": "<p>Set the disabled state of the input element.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 4615,
                                "end": 4625,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "isDisabled"
                            },
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 4609,
                                "end": 4614,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        }
                    ]
                },
                {
                    "name": "validate",
                    "args": [
                        {
                            "name": "control",
                            "type": "AbstractControl",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "ValidationErrors | null",
                    "typeParameters": [],
                    "line": 126,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "control",
                            "type": "AbstractControl",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "writeValue",
                    "args": [
                        {
                            "name": "obj",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 76,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "obj",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "extends": [],
            "implements": [
                "ControlValueAccessor",
                "Validator",
                "OnInit"
            ]
        },
        {
            "name": "EuiLetterFormatDirective",
            "id": "directive-EuiLetterFormatDirective-9d4df86024095c2260b95e6ada3c14414a33c330583b735045a67195b652c433e5e447bd17dbfe2b42c34039f0bcbabcadd67c3cdabf7b1153684e74943fd677",
            "file": "packages/components/eui-datepicker/eui-datepicker.component.ts",
            "type": "directive",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import {\n    ApplicationRef,\n    Component,\n    EventEmitter,\n    Injector,\n    Input,\n    OnChanges,\n    OnDestroy,\n    DoCheck,\n    OnInit,\n    Output,\n    SimpleChanges,\n    StaticProvider,\n    ViewChild,\n    ViewEncapsulation,\n    Directive,\n    forwardRef,\n    HostBinding,\n    ContentChild,\n    AfterViewInit,\n    TemplateRef,\n    ViewContainerRef,\n    ComponentRef,\n    booleanAttribute,\n    inject,\n    ElementRef,\n} from '@angular/core';\nimport {\n    ControlValueAccessor,\n    FormControl,\n    FormsModule,\n    NgControl,\n    ReactiveFormsModule,\n    Validators,\n} from '@angular/forms';\nimport { DateAdapter, MatDateFormats, MAT_DATE_FORMATS } from '@angular/material/core';\nimport {\n    MatCalendarCellClassFunction,\n    MatDatepicker,\n    MatDatepickerInputEvent,\n    MatDatepickerModule,\n} from '@angular/material/datepicker';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { ComponentPortal, DomPortalOutlet, TemplatePortal } from '@angular/cdk/portal';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\nimport _moment, { Moment } from 'moment';\nimport { default as _rollupMoment } from 'moment';\nimport 'moment/min/locales.js';\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS } from '@angular/material-moment-adapter';\n\nimport { EuiTimepickerComponent, EuiDateTimePickerConfig } from '@eui/components/eui-timepicker';\nimport { DYNAMIC_COMPONENT_CONFIG, LocaleService, EuiAppShellService, uniqueId, injectOptional } from '@eui/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\nimport { EUI_INPUT_GROUP } from '@eui/components/eui-input-group';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\nconst moment = _rollupMoment || _moment;\n\nexport const DEFAULT_FORMATS = {\n    parse: {\n        dateInput: 'L',\n    },\n    display: {\n        dateInput: 'L',\n        monthYearLabel: 'MM/YYYY',\n        dateA11yLabel: 'LL',\n        monthYearA11yLabel: 'LL',\n    },\n};\n\n/**\n * A comprehensive date and datetime picker component that wraps Angular Material's datepicker with enhanced functionality.\n * Supports date-only, month, year, and datetime selection modes with optional timepicker integration.\n * Implements ControlValueAccessor for seamless integration with Angular reactive and template-driven forms.\n * \n * Use cases:\n * - Standard date selection with calendar popup\n * - Month or year-only selection for period-based inputs\n * - Combined date and time selection with integrated timepicker\n * - Date range validation with min/max constraints\n * - Custom date filtering and styling\n * - Responsive layouts with block-level display option\n * - Read-only and disabled states for display-only scenarios\n * \n * @usageNotes\n * ### Basic Date Picker\n * ```html\n * <eui-datepicker \n *   [placeholder]=\"'Select date'\"\n *   [(ngModel)]=\"selectedDate\">\n * </eui-datepicker>\n * ```\n * \n * ### DateTime Picker\n * ```html\n * <eui-datepicker \n *   [isDatetimepicker]=\"true\"\n *   [hasSeconds]=\"true\"\n *   [(ngModel)]=\"selectedDateTime\">\n * </eui-datepicker>\n * ```\n * \n * ### Month/Year Picker\n * ```html\n * <eui-datepicker \n *   type=\"month\"\n *   [startView]=\"'year'\"\n *   [(ngModel)]=\"selectedMonth\">\n * </eui-datepicker>\n * ```\n * \n * ### With Validation\n * ```typescript\n * // Component\n * dateControl = new FormControl(null, Validators.required);\n * minDate = new Date(2024, 0, 1);\n * maxDate = new Date(2024, 11, 31);\n * \n * // Template\n * <eui-datepicker \n *   [formControl]=\"dateControl\"\n *   [minDate]=\"minDate\"\n *   [maxDate]=\"maxDate\"\n *   [isClearable]=\"true\">\n * </eui-datepicker>\n * ```\n * \n * ### Accessibility\n * - Provides proper ARIA labels and roles for calendar navigation\n * - Keyboard navigation: Arrow keys for date selection, Enter to confirm, Escape to close\n * - Clear button is keyboard accessible when enabled\n * - Required state communicated via `aria-required` attribute\n * - Date format is announced to screen readers via placeholder\n * - Toggle button has accessible label via `togglerLabel` input\n * \n * ### Notes\n * - Use `dateOutputFormat` to control the format of emitted values (e.g., 'YYYY-MM-DD')\n * - `restrictToRegex` can limit input characters for format enforcement\n * - `datepickerFilter` enables custom date validation (e.g., disable weekends)\n * - `dateClass` allows styling specific dates (holidays, events)\n * - Time picker integrates seamlessly when `isDatetimepicker` is true\n * - `isDatepickerBlock` makes component responsive for mobile layouts\n * - `isReadOnly` allows calendar selection but prevents manual typing\n */\n@Component({\n    selector: 'eui-datepicker',\n    templateUrl: './eui-datepicker.component.html',\n    styleUrl: './eui-datepicker.scss',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        MatDatepickerModule,\n        FormsModule,\n        ReactiveFormsModule,\n        TranslateModule,\n        ...EUI_INPUT_TEXT,\n        ...EUI_INPUT_GROUP,\n        ...EUI_BUTTON,\n        ...EUI_ICON,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSuccess',\n                'euiInfo',\n                'euiWarning',\n                'euiDanger',\n                'euiVariant',\n            ],\n        },\n    ],\n})\nexport class EuiDatepickerComponent implements OnInit, AfterViewInit, ControlValueAccessor, OnDestroy, OnChanges, DoCheck {\n    baseStatesDirective = inject(BaseStatesDirective);\n    euiLetterFormat = inject(EuiLetterFormatDirective, { optional: true })!;\n\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-datepicker'),\n            this.isDatepickerBlock ? 'eui-datepicker--responsive' : '',\n        ].join(' ').trim();\n    }\n\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-datepicker';\n\n    public inputFormControl = new FormControl();\n    public breakpointsValue: any = {\n        isMobile: false,\n        isTablet: false,\n        isLtDesktop: false,\n        isDesktop: false,\n        isXL: false,\n        isXXL: false,\n    };\n    showDateButton = true;\n    timePickerInstance: EuiTimepickerComponent;\n    timePickerComponentRef: ComponentRef<EuiTimepickerComponent>;\n    @ViewChild('calendar', { static: true }) calendar: MatDatepicker<any>;\n    @ViewChild('templatePortalRef') templatePortalRef: TemplateRef<EuiActionButtonsDirective>;\n    @ViewChild('input', { read: ElementRef }) public inputRef: ElementRef<HTMLInputElement>; //used to access the input raw value trough reference\n\n    @ContentChild(forwardRef(() => EuiActionButtonsDirective)) euiActionButtons: EuiActionButtonsDirective;\n    /**\n     * Emitted when the input field value changes through user typing or programmatic updates.\n     * Payload contains the formatted date string (if dateOutputFormat is set) or Moment object, or null if cleared.\n     * Triggers on every input change, including manual text entry and clear actions.\n     */\n    @Output() inputChange = new EventEmitter<any>();\n    /**\n     * Emitted when a date is selected from the calendar popup or through date/time adjustments.\n     * Payload contains the formatted date string (if dateOutputFormat is set) or Moment object, or null if cleared.\n     * Does not trigger on manual text input, only on calendar interactions and programmatic selections.\n     */\n    @Output() dateSelect = new EventEmitter<any>();\n    /**\n     * The initial or current date value displayed in the input field.\n     * Accepts Moment objects, Date objects, or date strings compatible with the configured date adapter.\n     * When dateOutputFormat is specified, the internal value is formatted accordingly.\n     */\n    @Input() value: any;\n    /**\n     * The SVG icon name displayed on the calendar toggle button.\n     * Must be a valid eui-icon identifier.\n     */\n    @Input() togglerIconSvg = 'eui-calendar';\n    /**\n     * Accessible label text for the calendar toggle button.\n     * Used for screen readers and accessibility compliance.\n     */\n    @Input() togglerLabel: string;\n    /**\n     * Placeholder text displayed in the input field when empty.\n     * If not provided, defaults to translated placeholders based on the calendar type (regular, month, or year).\n     */\n    @Input() placeholder: string;\n    /**\n     * Determines the selection granularity and calendar behavior.\n     * 'regular' allows full date selection, 'month' selects month/year only, 'year' selects year only.\n     * Affects the calendar view, input format, and selection behavior.\n     */\n    @Input() type: 'year' | 'month' | 'regular' = 'regular';\n    /**\n     * The initial view displayed when the calendar popup opens.\n     * 'month' shows the day grid, 'year' shows month selection, 'multi-year' shows year range selection.\n     * If not specified, defaults based on the type property.\n     */\n    @Input() startView: 'month' | 'year' | 'multi-year';\n    /**\n     * The earliest selectable date in the calendar.\n     * Dates before this value are disabled and cannot be selected.\n     * Accepts Moment objects, Date objects, or date strings compatible with the date adapter.\n     */\n    @Input() minDate: any;\n    /**\n     * The latest selectable date in the calendar.\n     * Dates after this value are disabled and cannot be selected.\n     * Accepts Moment objects, Date objects, or date strings compatible with the date adapter.\n     */\n    @Input() maxDate: any;\n    /**\n     * Custom filter function to enable or disable specific dates in the calendar.\n     * Receives each date as a parameter and should return true to enable the date, false to disable it.\n     * Useful for implementing business rules like disabling weekends or holidays.\n     */\n    @Input() datepickerFilter: (d: any) => boolean = this.datepickerFiltering;\n    /**\n     * Moment.js format string for the output value emitted through form control and events.\n     * When specified, all emitted values are formatted strings instead of Moment objects.\n     * Example: 'YYYY-MM-DD' or 'DD/MM/YYYY HH:mm:ss'.\n     */\n    @Input() dateOutputFormat: string;\n    /**\n     * Custom component class to replace the default calendar header.\n     * Must be a valid Angular component that implements the Material datepicker header interface.\n     * Allows complete customization of the calendar header appearance and behavior.\n     */\n    @Input() customHeader: any;\n    /**\n     * Function that returns CSS class names to apply to specific calendar date cells.\n     * Receives each date as a parameter and returns a string or array of class names.\n     * Enables visual styling of specific dates like holidays, events, or special occasions.\n     */\n    @Input() dateClass: MatCalendarCellClassFunction<any>;\n    /**\n     * Increment/decrement step for hour adjustments in the timepicker.\n     * Only applicable when isDatetimepicker is true.\n     * Determines how many hours are added or subtracted with each button click.\n     */\n    @Input() stepHours = 1;\n    /**\n     * Increment/decrement step for minute adjustments in the timepicker.\n     * Only applicable when isDatetimepicker is true.\n     * Determines how many minutes are added or subtracted with each button click.\n     */\n    @Input() stepMinutes = 1;\n    /**\n     * Increment/decrement step for second adjustments in the timepicker.\n     * Only applicable when isDatetimepicker is true and hasSeconds is true.\n     * Determines how many seconds are added or subtracted with each button click.\n     */\n    @Input() stepSeconds = 1;\n    /**\n     * Unique identifier for the input element.\n     * Used for label association, form integration, and testing selectors.\n     * Auto-generated if not provided.\n     */\n    @Input() inputId = `eui-datepicker-${uniqueId()}`;\n    /**\n     * Custom CSS class or classes applied to the calendar popup panel.\n     * Accepts a single class name string or an array of class names.\n     * Useful for theme customization or specific styling requirements.\n     */\n    @Input() customPanelClass: string | string[] | null = null;\n    /**\n     * Enables datetime selection mode with an integrated timepicker in the calendar popup.\n     * When true, displays hour, minute, and optionally second selectors below the calendar.\n     * Changes the component behavior to handle both date and time values.\n     */\n    @Input({ transform: booleanAttribute }) isDatetimepicker = false;\n    /**\n     * Displays seconds selector in the timepicker.\n     * Only applicable when isDatetimepicker is true.\n     * When false, only hours and minutes are selectable.\n     */\n    @Input({ transform: booleanAttribute }) hasSeconds = false;\n    /**\n     * Renders the timepicker with a single combined input field instead of separate hour/minute/second inputs.\n     * Only applicable when isDatetimepicker is true.\n     * Provides a more compact timepicker interface.\n     */\n    @Input({ transform: booleanAttribute }) isOneInputField = false;\n    /**\n     * Hides the calendar toggle button, leaving only the input field visible.\n     * Users can still open the calendar by clicking the input field if isShownOnInputClick is true.\n     * Useful for minimalist layouts or when calendar access should be input-driven only.\n     */\n    @Input({ transform: booleanAttribute }) hasNoButton = false;\n    /**\n     * Applies block-level display styling to make the component fill its container width.\n     * Enables responsive behavior for mobile and tablet layouts.\n     * When true, the input and button stretch to 100% width.\n     */\n    @Input({ transform: booleanAttribute }) isDatepickerBlock = false;\n    /**\n     * Makes the input field read-only, preventing manual text entry.\n     * Users can still select dates from the calendar popup.\n     * Automatically disables the clear button when true.\n     */\n    @Input({ transform: booleanAttribute }) isReadOnly = false;\n    /**\n     * Disables the entire component including input field, toggle button, and calendar popup.\n     * When true, no user interaction is possible and the component appears visually disabled.\n     * Integrates with Angular forms disabled state.\n     */\n    @Input({ transform: booleanAttribute }) isDisabled = false;\n    /**\n     * Disables only the input field while keeping the calendar toggle button enabled.\n     * Users can select dates from the calendar but cannot type manually.\n     * Useful for enforcing calendar-only date selection.\n     */\n    @Input({ transform: booleanAttribute }) isInputDisabled = false;\n    /**\n     * Disables only the calendar toggle button while keeping the input field enabled.\n     * Users can type dates manually but cannot open the calendar popup.\n     * Useful for keyboard-only or text-based date entry scenarios.\n     */\n    @Input({ transform: booleanAttribute }) isButtonDisabled = false;\n    /**\n     * Disables the calendar popup functionality while keeping the input field enabled.\n     * Prevents the calendar from opening through any interaction method.\n     * Similar to isButtonDisabled but also blocks input-click calendar opening.\n     */\n    @Input({ transform: booleanAttribute }) isPickerDisabled = false;\n    /**\n     * Controls whether clicking the input field opens the calendar popup.\n     * When false, the calendar only opens via the toggle button.\n     * Useful when the input should be primarily for manual text entry.\n     */\n    @Input({ transform: booleanAttribute }) isShownOnInputClick = true;\n    /**\n     * Displays a clear button in the input field to reset the value to null.\n     * Automatically disabled when isReadOnly is true.\n     * Clicking the clear button emits null through inputChange and dateSelect events.\n     */\n    @Input()\n    get isClearable(): boolean {\n        return this._isClearable && !this.isReadOnly;\n    }\n    set isClearable(value: BooleanInput) {\n        this._isClearable = coerceBooleanProperty(value);\n    }\n    private _isClearable = false;\n    /**\n     * Regular expression pattern to restrict which characters can be typed in the input field.\n     * Accepts a RegExp object or a string that will be converted to RegExp.\n     * Each keypress is validated against this pattern; non-matching keys are blocked.\n     * Useful for enforcing numeric-only input or specific date format characters.\n     */\n    @Input()\n    get restrictToRegex(): RegExp {\n        return this._restrictToRegex;\n    }\n    set restrictToRegex(value: string | RegExp) {\n        try {\n            if (value instanceof RegExp) {\n                this._restrictToRegex = value;\n            } else if (typeof value === 'string') {\n                this._restrictToRegex = new RegExp(value);\n            } else {\n                throw new Error(`restrictToRegex can only be string or RegExp, it cannot be ${typeof value}`);\n            }\n        } catch (e) {\n            console.error(e);\n        }\n    }\n    private _restrictToRegex: RegExp;\n\n    /**\n     * Returns an array of CSS classes to apply to the mat-datepicker panel.\n     * Combines internal classes with user-provided customPanelClass.\n     */\n    get mergedPanelClass(): string[] {\n        const classes = [`mat-calendar-${this.type}`];\n\n        if (this.isDatetimepicker) {\n            classes.push('eui-datepicker--container-height-large');\n        }\n\n        if (this.customPanelClass) {\n            if (Array.isArray(this.customPanelClass)) {\n                classes.push(...this.customPanelClass);\n            } else {\n                classes.push(this.customPanelClass);\n            }\n        }\n\n        return classes;\n    }\n\n    protected hasAriaRequiredAttribute: boolean;\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private format: MatDateFormats = inject(MAT_DATE_FORMATS, { optional: true });\n    private portalHost: DomPortalOutlet;\n    private portal: ComponentPortal<EuiTimepickerComponent>;\n    private templatePortal: TemplatePortal<EuiActionButtonsDirective>;\n    private isNull = false;\n    private adapter = inject<DateAdapter<any>>(DateAdapter);\n    private translateService = inject(TranslateService);\n    private localeService = injectOptional(LocaleService);\n    private EuiAppShellService = inject(EuiAppShellService);\n    private injector = inject(Injector);\n    private appRef = inject(ApplicationRef);\n    private viewContainerRef = inject(ViewContainerRef);\n    private control = inject(NgControl, { self: true, optional: true })!;\n    private momentAdapterOptions = injectOptional(MAT_MOMENT_DATE_ADAPTER_OPTIONS);\n\n    constructor() {\n        if (this.control) {\n            this.control.valueAccessor = this;\n        }\n    }\n\n    ngOnInit(): void {\n        this.inputFormControl.setValue(this.value);\n        // eslint-disable-next-line\n        this.isInputDisabled ? this.inputFormControl.disable() : this.inputFormControl.enable();\n\n        this.localeService\n            ?.getState()\n            .pipe(takeUntil(this.destroy$))\n            .subscribe((state) => {\n                this.adapter.setLocale(state.id);\n            });\n\n        if (this.isDatetimepicker && (this.minDate || this.maxDate)) {\n            this.inputFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(() => {\n                setTimeout(() => {\n                    this.checkTimePickerValidity();\n                });\n            });\n        }\n\n        if (!this.placeholder) {\n            if (this.type === 'regular' && !this.isDatetimepicker) {\n                this.translateService\n                    .stream('eui.datepicker.PLACEHOLDER')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((result: string) => {\n                        this.placeholder = result;\n                    });\n            } else if (this.type === 'regular' && this.isDatetimepicker) {\n                this.translateService\n                    .stream('eui.datepicker.ISDATETIMEPICKER')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((result: string) => {\n                        this.placeholder = result;\n                    });\n            } else if (this.type === 'year') {\n                this.translateService\n                    .stream('eui.datepicker.YEAR-PLACEHOLDER')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((result: string) => {\n                        this.placeholder = result;\n                    });\n            } else if (this.type === 'month') {\n                this.translateService\n                    .stream('eui.datepicker.MONTH-PLACEHOLDER')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((result: string) => {\n                        this.placeholder = result;\n                    });\n            }\n        }\n\n        this.EuiAppShellService.breakpoints$.pipe(takeUntil(this.destroy$)).subscribe((bkps) => (this.breakpointsValue = bkps));\n\n        this.updateInputAriaRequiredAttribute(this.control);\n        this.control?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(() => {\n            this.updateInputAriaRequiredAttribute(this.control);\n        });\n    }\n\n    ngAfterViewInit(): void {\n        if (this.euiActionButtons) {\n            this.templatePortal = new TemplatePortal(this.templatePortalRef, this.viewContainerRef);\n        }\n\n        if (this.isDatetimepicker || this.euiActionButtons) {\n            this.calendar['closeCalendar'] = this.calendar.close;\n            this.calendar.close = (): boolean => false;\n        }\n        \n        // Store input reference in control for validator access\n        if (this.control?.control) {\n            (this.control.control as any)._inputRef = this.inputRef;\n        }\n        \n        // Listen to native input event to trigger validation on every keystroke\n        if (this.inputRef) {\n            fromEvent(this.inputRef.nativeElement, 'input')\n                .pipe(takeUntil(this.destroy$))\n                .subscribe(() => {\n                    this.control?.control?.updateValueAndValidity({ emitEvent: false });\n                });\n        }\n    }\n\n    ngDoCheck(): void {\n        if (this.control) {\n            // marks the input control as touched/invalid if the form control is touched/invalid\n            // eslint-disable-next-line\n            this.control?.touched ? this.inputFormControl.markAsTouched() : this.inputFormControl.markAsUntouched();\n            // eslint-disable-next-line\n            this.control?.invalid ? this.inputFormControl.setErrors(this.control.errors) : this.inputFormControl.setErrors(null);\n        }\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes && changes['isReadOnly']) {\n            if (this.isReadOnly) {\n                this.showDateButton = false;\n            } else {\n                this.showDateButton = true;\n            }\n        }\n\n        if (changes && changes['isDisabled']) {\n            this.setDisabledState(this.isDisabled);\n        }\n\n        if (changes && changes['value']) {\n            this.inputFormControl.setValue(this.value);\n        } else {\n            if (this.dateOutputFormat && (this.value && this.value.value !== null)) {\n                this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n            }\n        }\n\n        if (changes && changes['isClearable']) {\n            // when is clearable is used listen if onclear is fired and update the value\n            if (this.isClearable) {\n                this.inputChange.pipe(takeUntil(this.destroy$)).subscribe((event) => {\n                    if (event === null) {\n                        this.value = event;\n                        this.propagateChange(event);\n                    }\n                });\n            }\n        }\n    }\n    /**\n     * Creates an injector for the timepicker component.\n     * @param data - The data to be passed to the timepicker component.\n     * @return {Injector} - The created injector.\n     */\n    createInjector(data: any): Injector {\n        const injectorTokens: StaticProvider = [{ provide: DYNAMIC_COMPONENT_CONFIG, useValue: data }];\n        return Injector.create({\n            parent: this.injector,\n            providers: injectorTokens,\n        });\n    }\n    /**\n     * Opens the calendar if read-only is false, listens to the keydown event when isDatetimepicker or euiActionButtons used\n     * and creates the time config passed to the timepicker component.\n     */\n    openCalendar(): void {\n        if (!this.isReadOnly) {\n            this.calendar.open();\n\n            if (this.isDatetimepicker || this.euiActionButtons) {\n                this.calendar.opened = true;\n                // listens to the keydown event once the calendar opened\n                fromEvent<KeyboardEvent>(document, 'keydown')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((event: KeyboardEvent) => {\n                        switch (event.key) {\n                            case 'Escape': //closes the calendar on Escape\n                                this.closeCalendar();\n                                break;\n                            case 'Enter': {\n                                //closes the calendar if pressing Enter on the close calendar button only\n                                this.getEventPath(event).forEach((p: any) => {\n                                    if (p.className && p.className.indexOf('mat-datepicker-close-button') !== -1) {\n                                        this.closeCalendar();\n                                    }\n                                });\n                                break;\n                            }\n                        }\n                    });\n            }\n\n            if (this.isDatetimepicker) {\n                this.portalHost = new DomPortalOutlet(\n                    document.querySelector('mat-calendar'),\n                    this.appRef,\n                    this.injector,\n                );\n                const timeConfig: EuiDateTimePickerConfig = {\n                    hours: this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().hours() : this.value && moment(this.value).hours(),\n                    mins: this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().minutes() : this.value && moment(this.value).minutes(),\n                    secs: this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().seconds() : this.value && moment(this.value).seconds(),\n                    isDatetimepicker: this.isDatetimepicker,\n                    hasSeconds: this.hasSeconds,\n                    isOneInputField: this.isOneInputField,\n                    stepHours: this.stepHours,\n                    stepMinutes: this.stepMinutes,\n                    stepSeconds: this.stepSeconds,\n                    isDisabled: !this.value || this.value === '',\n                    callbackFn: (hours: number, mins: number, secs: number) => {\n                        // Don't allow time changes when no date is selected\n                        if (!this.value || this.value === '') {\n                            return;\n                        }\n\n                        this.value =\n                            typeof this.value === 'string'\n                                ? moment(this.value, moment.ISO_8601)\n                                : moment(this.value, this.format.parse.dateInput);\n                        this.value.set({\n                            hour: hours || 0,\n                            minute: mins || 0,\n                            second: secs || 0,\n                        });\n\n                        this.inputFormControl.setValue(this.value);\n\n                        if (this.dateOutputFormat) {\n                            this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n                            this.dateSelect.emit(moment(this.value).format(this.dateOutputFormat));\n                        } else {\n                            this.propagateChange(moment(this.value));\n                            this.dateSelect.emit(this.value);\n                        }\n                    },\n                };\n\n                this.portal = new ComponentPortal(EuiTimepickerComponent, null, this.createInjector(timeConfig));\n                const componentRef: ComponentRef<EuiTimepickerComponent> = this.portalHost.attachComponentPortal(this.portal);\n                this.timePickerInstance = componentRef.instance;\n                this.timePickerComponentRef = componentRef;\n            }\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n\n        this.portalHost?.detach();\n    }\n\n    /**\n     * When calendar opens and isDatetimepicker or eui-action-buttons directive used, it closes the calendar when clicking outside of the\n     * overlay. If eui-action-buttons directive is used it registers the template portal where the user can add projected content as a\n     * footer.\n     */\n    onOpened(): void {\n        if (this.isDatetimepicker || this.euiActionButtons) {\n            if (this.euiActionButtons) {\n                this.calendar.registerActions(this.templatePortal);\n            }\n\n            this.calendar['_overlayRef']['_pane'].classList.add('eui-21');\n\n            this.calendar['_overlayRef']['_backdropClick'].pipe(takeUntil(this.destroy$)).subscribe(() => {\n                this.closeCalendar();\n            });\n        }\n    }\n\n    /**\n     * Retrieves the event path for a given event. This method provides a fallback\n     * for browsers that do not support the `event.path` property by constructing\n     * the path manually.\n     *\n     * @param event - The event object of type `KeyboardEvent`.\n     * @returns An array representing the event path, starting from the event target\n     *          and traversing up through its ancestors, ending with the `document`\n     *          and `window` objects.\n     */\n    getEventPath(event: KeyboardEvent): EventTarget[] {\n        if (event.composedPath) {\n            return event.composedPath();\n        }\n\n        // Fallback for browsers that do not support composedPath()\n        const path: EventTarget[] = [];\n        let target: EventTarget | null = event.target as EventTarget;\n\n        while (target) {\n            path.push(target);\n            target = (target as HTMLElement).parentNode as EventTarget;\n        }\n\n        path.push(document, window);\n\n        return path;\n    }\n    /**\n     * Fires when the type of the calendar is either month or year,\n     * formats the date if dateOutputFormat used\n     * emits and propagates the selected date value\n     * and closes the calendar.\n     * @param normalizedDate - The selected date in the calendar.\n     * @param calendar - The MatDatepicker instance.\n     */\n    chosenDateHandler(normalizedDate: any, calendar: MatDatepicker<any>): void {\n        if (this.dateOutputFormat) {\n            const formattedValue = moment(normalizedDate, this.dateOutputFormat);\n            this.value = formattedValue;\n            this.inputFormControl.setValue(formattedValue);\n\n            this.propagateChange(formattedValue.format(this.dateOutputFormat));\n            this.inputChange.emit(formattedValue.format(this.dateOutputFormat));\n            this.dateSelect.emit(formattedValue.format(this.dateOutputFormat));\n        } else {\n            this.value = normalizedDate;\n            this.inputFormControl.setValue(this.value);\n\n            this.propagateChange(this.value);\n            this.dateSelect.emit(this.value ? this.value : null);\n            this.inputChange.emit(this.value ? this.value : null);\n        }\n        calendar.close();\n    }\n    /**\n     * Method which returns true in order to mark the date as valid.\n     * @returns {boolean} - Returns true if the date is valid.\n     */\n    public datepickerFiltering(): boolean {\n        return true;\n    }\n    /**\n     * Method which fires when the datepicker input value changes and applies logic when isDatetimepicker is false.\n     * @param e - The MatDatepickerInputEvent object containing the new value.\n     */\n    public onDateInput(e: MatDatepickerInputEvent<Moment | Date | string>): void {\n        if (!this.isDatetimepicker) {\n            if (e.value === null) {\n                this.propagateChange(null);\n                this.inputChange.emit(null);\n            } else {\n                const correctedDate = this.validateDateRange(e.value);\n                this.value = correctedDate;\n\n                if (this.dateOutputFormat) {\n                    const formatted = this.adapterToMoment(correctedDate).format(this.dateOutputFormat);\n                    this.propagateChange(formatted);\n                    this.inputChange.emit(formatted);\n                } else {\n                    this.propagateChange(correctedDate);\n                    this.inputChange.emit(correctedDate);\n                }\n            }\n            this.propagateTouched();\n        }\n    }\n    /**\n     * Method which fires when there is a date change from the calendar popup,\n     * formats, emits and propagates the new value also when isDatetimepicker true.\n     * @param e - The MatDatepickerInputEvent object containing the new value.\n     */\n    public onDateChange(e: MatDatepickerInputEvent<Moment | Date | string>): void {\n        if (e.value === null) {\n            this.propagateChange(null);\n            this.dateSelect.emit(null);\n            this.isNull = true;\n        } else {\n            this.isNull = false;\n            if (this.isDatetimepicker) {\n                const hours = this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().hours() : this.value && moment(this.value).hours()\n                const mins = this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().minutes() : this.value && moment(this.value).minutes();\n                const secs = this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().seconds() : this.value && moment(this.value).seconds();\n\n                this.value = moment(e.value, this.format.parse.dateInput);\n                this.value.set({\n                    hour: hours || 0,\n                    minute: mins || 0,\n                    second: secs || 0,\n                });\n\n                if (this.calendar.opened) {\n                    // Enable timepicker when date is selected\n                    setTimeout(() => this.updateTimePickerDisabledState());\n                    this.inputFormControl.setValue(this.value);\n                }\n\n                if (this.dateOutputFormat && this.value != null) {\n                    this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n                    this.dateSelect.emit(this.value.format(this.dateOutputFormat));\n                } else {\n                    this.propagateChange(moment(this.value));\n                    this.dateSelect.emit(e?.value);\n                }\n            } else {\n                if (this.dateOutputFormat) {\n                    const formatted = this.adapterToMoment(e.value).format(this.dateOutputFormat);\n                    this.value = e.value;\n                    this.dateSelect.emit(formatted);\n                } else {\n                    this.dateSelect.emit(e?.value ? e.value : null);\n                }\n            }\n        }\n    }\n    /**\n     * Method which fires when the input value changes and applies logic when isDatetimepicker true.\n     * @param e - The new value of the input field.\n     */\n    changedInput(e: string | Event): void {\n        const value = typeof e === 'string' ? e : (e.target as HTMLInputElement).value;\n        if (!this.isNull) {\n            const parsedDate = this.momentAdapterOptions?.useUtc ? moment(value, this.format.parse.dateInput).utcOffset(0, true) : moment(value, this.format.parse.dateInput);\n            const correctedDate = this.validateDateRange(parsedDate);\n            \n            this.value = correctedDate;\n            this.inputFormControl.setValue(this.value);\n            if (this.dateOutputFormat && this.value != null) {\n                this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n                this.inputChange.emit(moment(this.value).format(this.dateOutputFormat));\n            } else {\n                this.propagateChange(moment(this.value));\n                this.inputChange.emit(this.value);\n            }\n        }\n    }\n    /**\n     * Method which fires when clearing the input field and emits/propagates the null value.\n     */\n    onClear(): void {\n        this.dateSelect.emit(null);\n        this.inputChange.emit(null);\n        this.propagateChange(null);\n    }\n    /**\n     * Method which fires upon keypress and opens the calendar if isShownOnInputClick is true and the Enter key is pressed.\n     * Also if there is a restrictToRegex, it prevents the default action if the key is not matching the regex.\n     * @param e - The KeyboardEvent object.\n     */\n    onKeypress(e: KeyboardEvent): void {\n        if (e.key === 'Enter' && this.isShownOnInputClick) {\n            this.openCalendar();\n            e.preventDefault();\n        }\n\n        if (this._restrictToRegex) {\n            if (!this._restrictToRegex.test(e.key)) {\n                e.preventDefault();\n            }\n        }\n    }\n\n    /**\n     * Selects today's date\n     */\n    selectToday(): void {\n        this.inputFormControl.setValue(moment());\n    }\n\n    /**\n     * Closes the calendar when isDatetimepicker or eui-action-buttons used and removes the applied footer when eui-action-buttons used\n     */\n    closeCalendar(): void {\n        this.calendar['closeCalendar']();\n\n        if (this.euiActionButtons) {\n            this.calendar.removeActions(this.templatePortal);\n        }\n    }\n\n    /**\n     * When eui-action-buttons used, it applies the date selection and closes the calendar\n     */\n    onDateSelectApply(): void {\n        this.calendar._applyPendingSelection();\n        this.closeCalendar();\n    }\n\n    writeValue(value: any): void {\n        this.value = value || '';\n        this.inputFormControl.setValue(value, { emitEvent: false });\n    }\n\n    registerOnChange(fn: () => void): void {\n        this.propagateChange = fn;\n    }\n\n    registerOnTouched(fn: () => void): void {\n        this.propagateTouched = fn;\n    }\n    /**\n     * Converts the type of the calendar to the corresponding start view.\n     * @param type - The type of the calendar.\n     * @returns {('year' | 'month' | 'multi-year')} - The start view of the calendar.\n     */\n    convTypeToStartView(type: string): 'year' | 'month' | 'multi-year' {\n        switch (type) {\n            case 'month':\n                return 'year';\n            case 'year':\n                return 'multi-year';\n            case 'regular':\n                return 'month';\n        }\n    }\n    /**\n     * Sets the disabled state of the component based on the boolean value passed.\n     * @param isDisabled - The boolean value indicating whether the component should be disabled or not.\n     */\n    public setDisabledState?(isDisabled: boolean): void {\n        this.isDisabled = isDisabled;\n        if (isDisabled) {\n            // disables only the input through reactive forms\n            if (this.isInputDisabled && !this.isPickerDisabled) {\n                this.isInputDisabled = true;\n                this.isButtonDisabled = this.isPickerDisabled = false;\n                // disables only the button through reactive forms\n            } else if (this.isButtonDisabled && !this.isInputDisabled) {\n                this.isInputDisabled = false;\n                this.isButtonDisabled = this.isPickerDisabled = true;\n            } else {\n                this.isInputDisabled = this.isPickerDisabled = this.isButtonDisabled = true;\n            }\n        } else {\n            this.isInputDisabled = this.isPickerDisabled = this.isButtonDisabled = false;\n        }\n\n        // eslint-disable-next-line\n        this.isInputDisabled ? this.inputFormControl.disable() : this.inputFormControl.enable();\n    }\n\n    /**\n     * Marks the form field as touched when focusing out to trigger validation\n     */\n    protected onFocusOut(): void {\n        this.propagateTouched();\n    }\n    /**\n     * Checks the validity of the time picker based on the minDate and maxDate properties.\n     * If the value is outside the range, it adjusts the time picker values accordingly.\n     */\n    private checkTimePickerValidity(): void {\n        const getTime = (d: any): moment.Moment => {\n            const deserialized = this.adapter.deserialize(d);\n            return moment(new Date(this.adapter.getYear(deserialized), this.adapter.getMonth(deserialized), this.adapter.getDate(deserialized)));\n        };\n\n        if (this.minDate && (!moment(this.minDate).isBefore(this.value) || this.areSameDates(this.value, this.minDate))) {\n            this.timePickerInstance.hoursDownDisable(true);\n            this.timePickerInstance.minutesDownDisable(true);\n            this.timePickerInstance.secondsDownDisable(true);\n\n            if (!moment(this.minDate).isBefore(this.value)) {\n                const minMoment = getTime(this.minDate);\n                const hours = minMoment.hours();\n                const minutes = minMoment.minutes();\n                const seconds = minMoment.seconds();\n\n                setTimeout(() => {\n                    this.timePickerInstance.hours = hours;\n                    this.timePickerInstance.mins = minutes;\n                    this.timePickerInstance.secs = seconds;\n                });\n\n                this.value = typeof this.value === 'string' ? moment(this.value, moment.ISO_8601) : moment(this.value, this.format.parse.dateInput);\n                this.value.set({ hour: hours || 0, minute: minutes || 0, second: seconds || 0 });\n            }\n        } else {\n            this.timePickerInstance?.hoursDownDisable(false);\n            this.timePickerInstance?.minutesDownDisable(false);\n            this.timePickerInstance?.secondsDownDisable(false);\n        }\n\n        if (this.maxDate && this.adapter.compareDate(this.adapter.deserialize(this.value), this.adapter.deserialize(this.maxDate)) >= 0) {\n            this.timePickerInstance.hoursUpDisable(true);\n            this.timePickerInstance.minutesUpDisable(true);\n            this.timePickerInstance.secondsUpDisable(true);\n\n            if (this.adapter.compareDate(this.adapter.deserialize(this.value), this.adapter.deserialize(this.maxDate)) > 0) {\n                const maxMoment = getTime(this.maxDate);\n                const hours = maxMoment.hours();\n                const minutes = maxMoment.minutes();\n                const seconds = maxMoment.seconds();\n\n                setTimeout(() => {\n                    this.timePickerInstance.hours = hours;\n                    this.timePickerInstance.mins = minutes;\n                    this.timePickerInstance.secs = seconds;\n                });\n\n                this.value = typeof this.value === 'string' ? moment(this.value, moment.ISO_8601) : moment(this.value, this.format.parse.dateInput);\n                this.value.set({ hour: hours || 0, minute: minutes || 0, second: seconds || 0 });\n            }\n\n            if (this.value.hour() === 0 && this.value.minute() === 0 && this.value.second() === 0 &&\n                getTime(this.maxDate).hour() === 0 && getTime(this.maxDate).minute() === 0 && getTime(this.maxDate).second() === 0 &&\n                this.minDate && this.areSameDates(this.value, this.minDate)) {\n                this.timePickerInstance.hoursDownDisable(true);\n                this.timePickerInstance.minutesDownDisable(true);\n                this.timePickerInstance.secondsDownDisable(true);\n            } else {\n                this.timePickerInstance.hoursDownDisable(false);\n                this.timePickerInstance.minutesDownDisable(false);\n                this.timePickerInstance.secondsDownDisable(false);\n            }\n        } else {\n            this.timePickerInstance.hoursUpDisable(false);\n            this.timePickerInstance.minutesUpDisable(false);\n            this.timePickerInstance.secondsUpDisable(false);\n        }\n    }\n    /**\n     * Compares two dates and checks if they are the same.\n     * @param date1 - The first date to compare.\n     * @param date2 - The second date to compare.\n     * @returns {boolean} - Returns true if the dates are the same, otherwise false.\n     */\n    private areSameDates(date1: any, date2: any): boolean {\n        const d1 = this.adapter.deserialize(date1);\n        const d2 = this.adapter.deserialize(date2);\n        return this.adapter.compareDate(d1, d2) === 0;\n    }\n\n    private propagateChange = (_: any): void => {/* empty */};\n\n    private propagateTouched = (): void => {/* empty */};\n\n    /**\n     * Updates the `aria-required` attribute on the input element.\n     * @private\n     */\n    private updateInputAriaRequiredAttribute(control: NgControl): void {\n        this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);\n    }\n\n    /**\n     * Validates and corrects the date to ensure it falls within the specified minDate and maxDate range.\n     * If the date is before minDate, returns minDate. If the date is after maxDate, returns maxDate.\n     * Otherwise, returns the original date unchanged.\n     * \n     * @param date - The date to validate (can be Moment, Date, or string)\n     * @returns The validated date as a Moment object within the allowed range\n     */\n    private validateDateRange(date: Moment | Date | string): Moment | Date | string {\n        const minDate = this.minDate ? this.adapter.deserialize(this.minDate) : null;\n        const maxDate = this.maxDate ? this.adapter.deserialize(this.maxDate) : null;\n        if (minDate && this.adapter.compareDate(date as any, minDate) < 0) {\n            return minDate;\n        }\n        if (maxDate && this.adapter.compareDate(date as any, maxDate) > 0) {\n            return maxDate;\n        }\n        return date;\n    }\n\n    /**\n     * Updates the disabled state of the timepicker based on whether a date is selected.\n     * @private\n     */\n    private updateTimePickerDisabledState(): void {\n        if (this.timePickerInstance) {\n            const hasDate = this.value && this.value !== '';\n            this.timePickerInstance.isDisabled = !hasDate;\n            this.timePickerComponentRef?.changeDetectorRef.markForCheck();\n        }\n    }\n\n    /**\n     * Converts a date from any adapter format to Moment formats used with dateOutputFormat property.\n     * @private\n     * @param date - The date to convert, can be of any type supported by the adapter.\n     * @returns The converted date as a Moment object.\n     */\n    private adapterToMoment = (date: any): ReturnType<typeof moment> => moment({\n        year: this.adapter.getYear(date),\n        month: this.adapter.getMonth(date),\n        date: this.adapter.getDate(date),\n    });\n}\n\nexport const LETTER_FORMAT = {\n    parse: {\n        dateInput: 'LL',\n    },\n    display: {\n        dateInput: 'LL',\n        monthYearLabel: 'LL',\n    },\n};\n\nexport const YEAR_FORMAT = {\n    parse: {\n        dateInput: 'YYYY',\n    },\n    display: {\n        dateInput: 'YYYY',\n        monthYearLabel: 'YYYY',\n        dateA11yLabel: 'YYYY',\n        monthYearA11yLabel: 'YYYY',\n    },\n};\n\nexport const MONTH_YEAR_FORMAT = {\n    parse: {\n        dateInput: 'MM/YYYY',\n    },\n    display: {\n        dateInput: 'MM/YYYY',\n        monthYearLabel: 'MMM YYYY',\n        dateA11yLabel: 'LL',\n        monthYearA11yLabel: 'MMMM YYYY',\n    },\n};\n\n@Directive({\n    selector: '[euiLetterFormat]',\n    providers: [{ provide: MAT_DATE_FORMATS, useValue: LETTER_FORMAT }],\n})\nexport class EuiLetterFormatDirective {}\n\n@Directive({\n    selector: '[euiYearFormat]',\n    providers: [{ provide: MAT_DATE_FORMATS, useValue: YEAR_FORMAT }],\n})\nexport class EuiYearFormatDirective {}\n\n@Directive({\n    selector: '[euiMonthYearFormat]',\n    providers: [{ provide: MAT_DATE_FORMATS, useValue: MONTH_YEAR_FORMAT }],\n})\nexport class EuiMonthYearFormatDirective {}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-action-buttons' })\nexport class EuiActionButtonsDirective {\n    @HostBinding('class') class = 'eui-datepicker__action-buttons';\n }\n",
            "selector": "[euiLetterFormat]",
            "providers": [
                {
                    "name": "LETTER_FORMAT"
                }
            ],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiLoadingDirective",
            "id": "directive-EuiLoadingDirective-e1113df0691fdc7f59db47045e1735727a7872a894e6b2b228040d03e16f6a8043d3fc2a778ac7167a11474e79db0365f1bcc952030520e329aa74db7ef3e56d",
            "file": "packages/components/directives/eui-loading.directive.ts",
            "type": "directive",
            "description": "<p>Directive displaying a loading spinner icon inside input fields during async operations.\nDynamically creates and positions a loading icon that appears when euiLoading is true.\nAutomatically manages wrapper div for icon positioning and handles readonly state.\nCompatible with euiClearable directive for combined loading and clear functionality.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;input euiInputText [euiLoading]=&quot;isSearching&quot; [(ngModel)]=&quot;searchTerm&quot; /&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">isSearching = false;\n\nonSearch() {\n  this.isSearching = true;\n  this.api.search().subscribe(() =&gt; this.isSearching = false);\n}</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Loading icon positioned at end of input for visual feedback</li>\n<li>Input becomes readonly while loading to prevent changes during operation</li>\n<li>Icon has aria-label for screen reader announcement</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Loading icon automatically positioned at input end</li>\n<li>Works alongside euiClearable directive without conflicts</li>\n<li>Wrapper div created automatically for icon positioning</li>\n<li>Input set to readonly state when loading is active</li>\n</ul>\n",
            "rawdescription": "\n\nDirective displaying a loading spinner icon inside input fields during async operations.\nDynamically creates and positions a loading icon that appears when euiLoading is true.\nAutomatically manages wrapper div for icon positioning and handles readonly state.\nCompatible with euiClearable directive for combined loading and clear functionality.\n\n```html\n<input euiInputText [euiLoading]=\"isSearching\" [(ngModel)]=\"searchTerm\" />\n```\n\n```typescript\nisSearching = false;\n\nonSearch() {\n  this.isSearching = true;\n  this.api.search().subscribe(() => this.isSearching = false);\n}\n```\n\n### Accessibility\n- Loading icon positioned at end of input for visual feedback\n- Input becomes readonly while loading to prevent changes during operation\n- Icon has aria-label for screen reader announcement\n\n### Notes\n- Loading icon automatically positioned at input end\n- Works alongside euiClearable directive without conflicts\n- Wrapper div created automatically for icon positioning\n- Input set to readonly state when loading is active\n",
            "sourceCode": "import {\n    booleanAttribute,\n    ComponentRef,\n    Directive,\n    ElementRef,\n    HostBinding,\n    Injector,\n    Input,\n    OnChanges,\n    Renderer2,\n    SimpleChanges,\n    ViewContainerRef,\n    inject,\n} from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EuiClearableDirective } from './eui-clearable.directive';\nimport { EuiIconSvgComponent } from '@eui/components/eui-icon';\n\n/**\n * Directive displaying a loading spinner icon inside input fields during async operations.\n * Dynamically creates and positions a loading icon that appears when euiLoading is true.\n * Automatically manages wrapper div for icon positioning and handles readonly state.\n * Compatible with euiClearable directive for combined loading and clear functionality.\n *\n * @usageNotes\n * ```html\n * <input euiInputText [euiLoading]=\"isSearching\" [(ngModel)]=\"searchTerm\" />\n * ```\n *\n * ```typescript\n * isSearching = false;\n *\n * onSearch() {\n *   this.isSearching = true;\n *   this.api.search().subscribe(() => this.isSearching = false);\n * }\n * ```\n *\n * ### Accessibility\n * - Loading icon positioned at end of input for visual feedback\n * - Input becomes readonly while loading to prevent changes during operation\n * - Icon has aria-label for screen reader announcement\n *\n * ### Notes\n * - Loading icon automatically positioned at input end\n * - Works alongside euiClearable directive without conflicts\n * - Wrapper div created automatically for icon positioning\n * - Input set to readonly state when loading is active\n */\n@Directive({\n    selector: '[euiLoading]',\n})\nexport class EuiLoadingDirective implements OnChanges {\n    @Input({ transform: booleanAttribute }) euiLoading: boolean;\n\n    @HostBinding('attr.readonly')\n    @Input()\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    get readonly(): any {\n        return this._isReadonly ? '' : null;\n    }\n    set readonly(v: BooleanInput) {\n        this._isReadonly = coerceBooleanProperty(v);\n    }\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [this._cssClasses, this.euiLoading ? `${this._elementRef.nativeElement.rootClassName}--loading` : ''].join(' ').trim();\n    }\n    public set cssClasses(value: string) {\n        this._cssClasses = value;\n    }\n    protected _loadingIcon: ComponentRef<EuiIconSvgComponent>;\n    private _euiUFlexWrapper: HTMLDivElement;\n    private _cssClasses: string;\n    private _isReadonly: boolean;\n    private _elementRef = inject(ElementRef);\n    private _viewContainerRef = inject(ViewContainerRef);\n    private _renderer = inject(Renderer2);\n    private injector = inject(Injector);\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes.euiLoading) {\n            const euiClearable = this.injector.get(EuiClearableDirective, undefined, { optional: true })?.euiClearable;\n            if (coerceBooleanProperty(changes['euiLoading'].currentValue)) {\n                // wrap them all in an eui-u-flex class\n                this.createFlexWrapper();\n\n                // dynamically create the icon\n                this.createLoadingIcon();\n            } else if (this._loadingIcon) {\n                this.removeLoadingIcon();\n                if (!euiClearable) {\n                    this.removeFlexWrapper();\n                }\n            }\n        }\n\n        if (changes['readonly']) {\n            if (changes['readonly'].currentValue === false && this.euiLoading) {\n                // create wrapper\n                this.createFlexWrapper();\n\n                // dynamically create the icon\n                this.createLoadingIcon();\n                this._renderer.appendChild(this._euiUFlexWrapper, this._loadingIcon.location.nativeElement);\n            }\n            if (changes['readonly'].currentValue === true) {\n                this.removeLoadingIcon();\n                this.removeFlexWrapper();\n            }\n        }\n    }\n\n    /**\n     * create a flex wrapper for the input to hold the icon\n     *\n     * @private\n     */\n    private createFlexWrapper(): void {\n        if (!this._euiUFlexWrapper && !this.doesParentHasAFlexWrapper()) {\n            this._euiUFlexWrapper = this._renderer.createElement('div');\n            this._renderer.addClass(this._euiUFlexWrapper, 'eui-u-flex');\n            this._renderer.setAttribute(this._euiUFlexWrapper, 'flexWrapper', null);\n            this._renderer.setStyle(this._euiUFlexWrapper, 'position', 'relative');\n            this._renderer.insertBefore(\n                this._elementRef.nativeElement.parentElement,\n                this._euiUFlexWrapper,\n                this._elementRef.nativeElement,\n            );\n            this._renderer.appendChild(this._euiUFlexWrapper, this._elementRef.nativeElement);\n        }\n        if (!this._euiUFlexWrapper && this.doesParentHasAFlexWrapper()) {\n            this._euiUFlexWrapper = this._elementRef.nativeElement.parentElement;\n        }\n    }\n\n    /**\n     * checks if the parent has a flexWrapper. This is used to avoid creating multiple flexWrappers\n     *\n     * @private\n     */\n    private doesParentHasAFlexWrapper(): boolean {\n        return this._elementRef.nativeElement.parentElement.hasAttribute('flexWrapper');\n    }\n\n    /**\n     * removes the flexWrapper while keeping the input element intact\n     *\n     * @private\n     */\n    private removeFlexWrapper(): void {\n        if (this._euiUFlexWrapper) {\n            this._renderer.insertBefore(this._euiUFlexWrapper.parentElement, this._elementRef.nativeElement, this._euiUFlexWrapper);\n            this._renderer.removeChild(this._euiUFlexWrapper.parentElement, this._euiUFlexWrapper);\n            this._euiUFlexWrapper.remove();\n            this._euiUFlexWrapper = null;\n        }\n    }\n\n    /**\n     * creates the loading icon component\n     *\n     * @private\n     */\n    private createLoadingIcon(): void {\n        if (!this._loadingIcon) {\n            this._loadingIcon = this._viewContainerRef.createComponent(EuiIconSvgComponent);\n            this._loadingIcon.instance.isLoading = true;\n            this._loadingIcon.instance.isInputIcon = true;\n            this._loadingIcon.instance.euiEnd = true;\n            this._loadingIcon.instance.ariaLabel = 'XXXXX';\n            this._renderer.appendChild(this._euiUFlexWrapper, this._loadingIcon.location.nativeElement);\n        }\n    }\n\n    /**\n     * removes the loading icon component\n     *\n     * @private\n     */\n    private removeLoadingIcon(): void {\n        if (this._loadingIcon) {\n            const index = this._viewContainerRef.indexOf(this._loadingIcon.hostView);\n            this._viewContainerRef.detach(index);\n            this._loadingIcon = null;\n        }\n    }\n}\n",
            "selector": "[euiLoading]",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "required": false,
                    "name": "euiLoading",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 54,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "readonly",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 60,
                    "type": "any",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 67,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "propertiesClass": [
                {
                    "name": "_loadingIcon",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ComponentRef<EuiIconSvgComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 73,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 82,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "extends": [],
            "implements": [
                "OnChanges"
            ],
            "accessors": {
                "readonly": {
                    "name": "readonly",
                    "setSignature": {
                        "name": "readonly",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "v",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 63,
                        "jsdoctags": [
                            {
                                "name": "v",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "readonly",
                        "type": "any",
                        "returnType": "any",
                        "line": 60
                    }
                },
                "cssClasses": {
                    "name": "cssClasses",
                    "setSignature": {
                        "name": "cssClasses",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "string",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 70,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "string",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 67
                    }
                }
            }
        },
        {
            "name": "EuiMaxLengthDirective",
            "id": "directive-EuiMaxLengthDirective-c88d6854811f55e94a02f54c66b9d0fa42c2ac71cec397ac0a75f48cc5694006546fa2c7f8e2cc60f30251e6ad04bba51c40481e0c3f5fb3d946618e760c55f6",
            "file": "packages/components/directives/eui-maxlength.directive.ts",
            "type": "directive",
            "description": "<p>A directive that adds maxLength functionality to input and textarea elements with visual feedback.\nIt shows the remaining characters count and provides visual indication when the limit is reached.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">### Basic usage\n```html\n&lt;input [euiMaxlength]=&quot;50&quot;&gt;</code></pre></div><h3>With form control</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;input [formControlName]=&quot;&#39;name&#39;&quot; [euiMaxlength]=&quot;100&quot;&gt;</code></pre></div><h3>Hide maxlength indicator</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;textarea [euiMaxlength]=&quot;200&quot; [isShowMaxlength]=&quot;false&quot;&gt;&lt;/textarea&gt;</code></pre></div>",
            "rawdescription": "\n\nA directive that adds maxLength functionality to input and textarea elements with visual feedback.\nIt shows the remaining characters count and provides visual indication when the limit is reached.\n\n\n```html\n### Basic usage\n```html\n<input [euiMaxlength]=\"50\">\n```\n### With form control\n```html\n<input [formControlName]=\"'name'\" [euiMaxlength]=\"100\">\n```\n\n### Hide maxlength indicator\n```html\n<textarea [euiMaxlength]=\"200\" [isShowMaxlength]=\"false\"></textarea>\n```\n\n",
            "sourceCode": "import {\n    Directive,\n    ElementRef,\n    Input,\n    Output,\n    AfterContentInit,\n    EventEmitter,\n    OnDestroy,\n    HostListener,\n    OnChanges,\n    SimpleChanges,\n    Renderer2,\n    numberAttribute,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\n/**\n * @description\n * A directive that adds maxLength functionality to input and textarea elements with visual feedback.\n * It shows the remaining characters count and provides visual indication when the limit is reached.\n *\n * @selector input[euiMaxlength], textarea[euiMaxlength], [ngModel][euiMaxlength], [formControlName][euiMaxlength]\n *\n * @example\n * ### Basic usage\n * ```html\n * <input [euiMaxlength]=\"50\">\n * ```\n *\n * ### With form control\n * ```html\n * <input [formControlName]=\"'name'\" [euiMaxlength]=\"100\">\n * ```\n *\n * ### Hide maxlength indicator\n * ```html\n * <textarea [euiMaxlength]=\"200\" [isShowMaxlength]=\"false\"></textarea>\n * ```\n *\n * @publicApi\n */\n@Directive({\n    selector: `\n    input[euiMaxlength],\n    textarea[euiMaxlength],\n    [ngModel][euiMaxlength],\n    [formControlName][euiMaxlength]`,\n})\nexport class EuiMaxLengthDirective implements AfterContentInit, OnDestroy, OnChanges {\n    /**\n     * @description\n     * It accepts number values to indicate the maxLength of an input. To reset or disable it set the value to null.\n     * NULL value will remove any MaxLength indicator even if another input like isShowMaxlength equals true.\n     */\n    @Input({ alias:'euiMaxlength', transform: numberAttribute }) maxLength: number;\n    /**\n     * @description\n     * Controls the visibility of the maxLength indicator.\n     * When true, shows a counter with remaining characters.\n     * When false, hides the counter but maintains the maxLength restriction.\n     *\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isShowMaxlength = true;\n    /**\n     * @description\n     * Emits when the input value length reaches or exceeds the maxLength limit.\n     * Emits true when a limit is reached, false when below limit.\n     *\n     * @emits {boolean} True when max length is reached, false otherwise\n     */\n    @Output() maxLengthReached: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n    valueChangesSubscription: Subscription;\n\n    private maxLengthSpan: HTMLSpanElement;\n    private wrapper: HTMLDivElement;\n    private lengthCalcFn: () => number;\n    private el = inject(ElementRef);\n    private renderer = inject(Renderer2);\n    private control = inject(NgControl, { self: true, optional: true })!;\n\n    constructor() {\n        // set the default length calculation behavior\n        this.setLengthCalcFactory((value) => value?.length || 0);\n    }\n\n    ngOnDestroy(): void {\n        // remove all DOM added elements\n        this.destroyMaxLengthBox();\n\n        // unsubscribe from valueChanges\n        if(this.valueChangesSubscription) {\n            this.valueChangesSubscription.unsubscribe();\n        }\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if(changes['isShowMaxlength']) {\n            if(this.isShowMaxlength) {\n                this.createMaxLengthBox();\n                this._refreshValue();\n            } else {\n                this.destroyMaxLengthBox();\n            }\n        }\n        if(changes['maxLength']) {\n            if(this.maxLength < 0) {\n                throw new Error('euiMaxlength of an input or a textarea cannot be negative.')\n            }\n            if(this.maxLength) {\n                // re-create in case you previously destroyed it\n                if(this.isShowMaxlength && !this.maxLengthSpan) {\n                    this.createMaxLengthBox();\n                }\n                this._refreshValue();\n            } else {\n                this.renderer.removeAttribute(this.el.nativeElement, 'maxLength');\n                this.destroyMaxLengthBox();\n            }\n        }\n    }\n\n    ngAfterContentInit(): void {\n        if (this.maxLength) {\n            this.createMaxLengthBox();\n            this._refreshValue();\n        }\n\n        // this subscription is needed apart from HostListener to Changes in case usage of this directive\n        // in custom component that implements ngDefaultControl\n        if (this.control?.valueChanges) {\n            this.valueChangesSubscription = this.control.valueChanges.subscribe(() => {\n                this._refreshValue();\n            });\n        }\n    }\n\n    @HostListener('change')\n    onChange(): void {\n        if(!this.control || this.control?.control.updateOn !== 'change') {\n            this._refreshValue();\n        }\n    }\n\n    @HostListener('input')\n    onInput(): void {\n        if(!this.control || this.control?.control.updateOn !== 'change') {\n            this._refreshValue();\n        }\n    }\n\n    @HostListener('paste', ['$any($event)'])\n    onPaste(event: ClipboardEvent): void {\n        // get the value from clipboard\n        const value = (event.clipboardData || window['clipboardData']).getData('text');\n        // calculate and set the maxLength based on the clipboard value\n        const input = <HTMLInputElement>this.el.nativeElement;\n        if(this.maxLength) {\n            this.renderer.setProperty(input, 'maxLength', this.calculateMaxLength(value));\n        }\n    }\n\n    /**\n     * Sets a custom function to calculate the length of the input value.\n     * Useful for implementing custom length calculation logic (e.g., counting characters differently).\n     *\n     * @param fn Function that takes a string input and returns its calculated length\n     *\n     * @example\n     * ```typescript\n     * // Custom length calculation excluding spaces\n     * directive.setLengthCalcFactory((value: string) => value.replace(/\\s/g, '').length);\n     * ```\n     */\n    public setLengthCalcFactory(fn: (input: string) => number): void {\n        this.lengthCalcFn = (): number => {\n            const value = this.getValue();\n            return fn(value);\n        }\n    }\n\n    /**\n     * Calculates the maximum length for the input element based on current value or provided value.\n     *\n     * @param value Optional value to calculate max length against (overrides the current input value)\n     * @returns {number} Calculated maximum length\n     * @private\n     */\n    private calculateMaxLength(value?: string): number {\n        const inputValue = this.getValue();\n        return (value?.length || (inputValue?.length || 0) - this.lengthCalcFn()) + this.maxLength;\n    }\n\n    /**\n     * @description\n     * Refreshes the visual state of the maxLength indicator and updates input restrictions.\n     * - Updates the remaining characters count\n     * - Applies/removes error styling\n     * - Emits maxLengthReached event\n     * - Truncates value if it exceeds maxLength\n     *\n     * @private\n     */\n    private _refreshValue(): void {\n        if(isNaN(this.maxLength)) {\n            return;\n        }\n        const input = <HTMLInputElement>this.el.nativeElement;\n        const valueLength = this.lengthCalcFn();\n        const remainingLength = this.maxLength - valueLength;\n\n        this.renderer.setProperty(input, 'maxLength', this.calculateMaxLength());\n        if(this.maxLengthSpan) {\n            // based on the remaining length add/remove the error class\n            if (remainingLength <= 0) {\n                this.renderer.addClass(this.maxLengthSpan, 'eui-input-maxlength--invalid')\n                this.maxLengthReached.emit(true);\n            } else {\n                this.renderer.removeClass(this.maxLengthSpan, 'eui-input-maxlength--invalid')\n                this.maxLengthReached.emit(false);\n            }\n            // set the value of remaining characters\n            if (remainingLength < 0) {\n                // this feature is only available when the calculation of length is not custom\n                // to support this feature you need to calculate this.maxLength also\n                if (this.control) {\n                    this.control.control.setValue(input.value.substring(0, this.calculateMaxLength()))\n                } else {\n                    input.value = input.value.substring(0, this.calculateMaxLength());\n                }\n                this.renderer.setProperty(this.maxLengthSpan, 'textContent', '0')\n            } else if (remainingLength >= 0) {\n                this.renderer.setProperty(this.maxLengthSpan, 'textContent', (this.maxLength - valueLength).toString())\n            }\n        }\n    }\n\n    /**\n     * @description\n     * Creates the maxLength indicator box in the DOM.\n     * Wraps the input element and adds the counter span with appropriate styling.\n     *\n     * @private\n     */\n    private createMaxLengthBox(): void {\n        if(this.maxLengthSpan) {\n            this.destroyMaxLengthBox();\n        }\n        // creates the span that holds the max length value which changes according to input\n        this.maxLengthSpan = this.renderer.createElement('span');\n        this.renderer.addClass(this.maxLengthSpan, 'eui-input-maxlength')\n        this.renderer.setAttribute(this.maxLengthSpan, 'textContent', this.maxLength.toString());\n\n        // create wrapper element\n        const nativeElement: HTMLElement = this.el.nativeElement;\n        if (nativeElement != null) {\n            // set width to 100%\n            this.renderer.setStyle(nativeElement, 'width', '100%');\n            const parent: Node = nativeElement.parentNode;\n            if (parent != null && this.isShowMaxlength) {\n                // creates wrapper div of input and maxLength span\n                this.wrapper = this.renderer.createElement('div');\n                this.renderer.addClass(this.wrapper, 'eui-input-maxlength-wrapper');\n                // swap, wrapper should wrap the nativeElement and maxLength span\n                parent.replaceChild(this.wrapper, nativeElement);\n                this.renderer.appendChild(this.wrapper, nativeElement);\n                this.renderer.appendChild(this.wrapper, this.maxLengthSpan);\n            }\n        }\n    }\n\n    /**\n     * @description\n     * Removes the maxLength indicator box from the DOM.\n     * Restores the original DOM structure by unwrapping the input element.\n     *\n     * @private\n     */\n    private destroyMaxLengthBox(): void {\n        // removes maxlength element from DOM\n        if(this.maxLengthSpan) {\n            this.renderer.removeChild(this.maxLengthSpan.parentElement, this.maxLengthSpan);\n            this.maxLengthSpan = undefined;\n        }\n\n        // remove wrapper from DOM\n        if(this.wrapper) {\n            // get parent node of wrapper\n            const parent: Node = this.wrapper.parentNode;\n            const nativeElement: HTMLElement = this.el.nativeElement;\n            // swap wrapper and nativeElement\n            parent?.replaceChild(nativeElement, this.wrapper);\n            // removes wrapper element from DOM\n            this.renderer.removeChild(this.wrapper.parentElement, this.wrapper);\n            this.wrapper = undefined;\n        }\n    }\n\n    /**\n     * @description\n     * Returns the current value of the input element.\n     * Handles different update strategies when used with forms.\n     *\n     * @returns {string} Current input value\n     * @private\n     */\n    private getValue(): string {\n        const input = <HTMLInputElement>this.el.nativeElement;\n        return this.control && this.control.control.updateOn === 'change' ? this.control.value : input.value;\n    }\n}\n\n",
            "selector": "\n    input[euiMaxlength],\n    textarea[euiMaxlength],\n    [ngModel][euiMaxlength],\n    [formControlName][euiMaxlength]",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "required": false,
                    "name": "euiMaxlength",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1275,
                            "end": 1520,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1276,
                                "end": 1287,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>It accepts number values to indicate the maxLength of an input. To reset or disable it set the value to null.\nNULL value will remove any MaxLength indicator even if another input like isShowMaxlength equals true.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIt accepts number values to indicate the maxLength of an input. To reset or disable it set the value to null.\nNULL value will remove any MaxLength indicator even if another input like isShowMaxlength equals true.\n",
                    "description": "<p>It accepts number values to indicate the maxLength of an input. To reset or disable it set the value to null.\nNULL value will remove any MaxLength indicator even if another input like isShowMaxlength equals true.</p>\n",
                    "line": 58,
                    "type": "number",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowMaxlength",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1622,
                            "end": 1847,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1623,
                                "end": 1634,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Controls the visibility of the maxLength indicator.\nWhen true, shows a counter with remaining characters.\nWhen false, hides the counter but maintains the maxLength restriction.</p>\n"
                        },
                        {
                            "pos": 1847,
                            "end": 1866,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1848,
                                "end": 1855,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls the visibility of the maxLength indicator.\nWhen true, shows a counter with remaining characters.\nWhen false, hides the counter but maintains the maxLength restriction.\n\n",
                    "description": "<p>Controls the visibility of the maxLength indicator.\nWhen true, shows a counter with remaining characters.\nWhen false, hides the counter but maintains the maxLength restriction.</p>\n",
                    "line": 67,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "maxLengthReached",
                    "defaultValue": "new EventEmitter<boolean>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmits when the input value length reaches or exceeds the maxLength limit.\nEmits true when a limit is reached, false when below limit.\n\n",
                    "description": "<p>Emits when the input value length reaches or exceeds the maxLength limit.\nEmits true when a limit is reached, false when below limit.</p>\n",
                    "jsdoctags": [
                        {
                            "pos": 1952,
                            "end": 2127,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1953,
                                "end": 1964,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Emits when the input value length reaches or exceeds the maxLength limit.\nEmits true when a limit is reached, false when below limit.</p>\n"
                        },
                        {
                            "pos": 2127,
                            "end": 2198,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2128,
                                "end": 2133,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "emits"
                            },
                            "comment": "<p>{boolean} True when max length is reached, false otherwise</p>\n"
                        }
                    ],
                    "line": 75,
                    "type": "EventEmitter<boolean>"
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [
                {
                    "name": "change",
                    "args": [],
                    "argsDecorator": [],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 143
                },
                {
                    "name": "input",
                    "args": [],
                    "argsDecorator": [],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 150
                },
                {
                    "name": "paste",
                    "args": [
                        {
                            "name": "event",
                            "type": "ClipboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$any($event)"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 157
                }
            ],
            "propertiesClass": [
                {
                    "name": "valueChangesSubscription",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Subscription",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 77
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 127,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 101,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 91,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onChange",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 143,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'change'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "onInput",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 150,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'input'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "onPaste",
                    "args": [
                        {
                            "name": "event",
                            "type": "ClipboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 157,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'paste', ['$any($event)']"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "ClipboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "setLengthCalcFactory",
                    "args": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "input",
                                    "type": "string",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ]
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 179,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets a custom function to calculate the length of the input value.\nUseful for implementing custom length calculation logic (e.g., counting characters differently).\n\n\n```typescript\n// Custom length calculation excluding spaces\ndirective.setLengthCalcFactory((value: string) => value.replace(/\\s/g, '').length);\n```",
                    "description": "<p>Sets a custom function to calculate the length of the input value.\nUseful for implementing custom length calculation logic (e.g., counting characters differently).</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">// Custom length calculation excluding spaces\ndirective.setLengthCalcFactory((value: string) =&gt; value.replace(/\\s/g, &#39;&#39;).length);</code></pre></div>",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 5507,
                                "end": 5509,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "fn"
                            },
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "input",
                                    "type": "string",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ],
                            "tagName": {
                                "pos": 5501,
                                "end": 5506,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Function that takes a string input and returns its calculated length</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 5594,
                                "end": 5601,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "example"
                            },
                            "comment": "<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">// Custom length calculation excluding spaces\ndirective.setLengthCalcFactory((value: string) =&gt; value.replace(/\\s/g, &#39;&#39;).length);</code></pre></div>"
                        }
                    ]
                }
            ],
            "extends": [],
            "implements": [
                "AfterContentInit",
                "OnDestroy",
                "OnChanges"
            ],
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 84
            }
        },
        {
            "name": "EuiMessageBoxFooterDirective",
            "id": "directive-EuiMessageBoxFooterDirective-1673abd944d1525d7154a75b11662c33a2e712653b00ad84b3e1aaa8561bfba5267795629db6de1dee3f69402d2ec583892aeb9b17bfdfd4238b4bb767947ff9",
            "file": "packages/components/eui-message-box/eui-message-box.component.ts",
            "type": "directive",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import {\n    Component,\n    ChangeDetectionStrategy,\n    ViewEncapsulation,\n    Input,\n    ViewChild,\n    TemplateRef,\n    ViewContainerRef,\n    AfterViewInit,\n    OnDestroy,\n    Output,\n    EventEmitter,\n    Directive,\n    ContentChild,\n    forwardRef,\n    QueryList,\n    ElementRef,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Subject } from 'rxjs';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiDialogInterface } from '@eui/components/eui-dialog';\n\nimport { EuiMessageBoxService } from './services/eui-message-box.service';\n\n/**\n * @description\n * Component for displaying modal message boxes with structured content and customizable actions.\n * This component provides a user-friendly interface for confirmation dialogs, alerts, and other\n * types of modal messages.\n *\n * The component supports various styling variants through the BaseStatesDirective hostDirective,\n * customizable buttons, and configurable behavior for dialog actions.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-message-box #messageBox\n *   title=\"Confirm Action\"\n *   (accept)=\"onConfirm()\"\n *   (dismiss)=\"onCancel()\">\n *   Are you sure you want to proceed?\n * </eui-message-box>\n * ```\n *\n * ```typescript\n * @ViewChild('messageBox') messageBox: EuiMessageBoxComponent;\n *\n * showMessage() {\n *   this.messageBox.openMessageBox();\n * }\n * ```\n *\n * ### With Custom Footer\n * ```html\n * <eui-message-box title=\"Custom Actions\">\n *   <p>Message content</p>\n *   <eui-message-box-footer>\n *     <button euiButton>Custom Action</button>\n *   </eui-message-box-footer>\n * </eui-message-box>\n * ```\n *\n * ### Accessibility\n * - Modal traps focus within the dialog\n * - Escape key closes the dialog by default\n * - Accept/Dismiss buttons are keyboard accessible\n *\n * ### Notes\n * - Use `openMessageBox()` and `closeMessageBox()` methods to control visibility\n * - Supports draggable positioning with `isDraggable` input\n * - Variant styling (primary, danger, warning, etc.) via BaseStatesDirective\n */\n@Component({\n    selector: 'eui-message-box',\n    templateUrl: './eui-message-box.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        TranslateModule,\n        PortalModule,\n        OverlayModule,\n        A11yModule,\n        DragDropModule,\n        ...EUI_BUTTON,\n        ...EUI_ICON,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiPrimary',\n                'euiSecondary',\n                'euiInfo',\n                'euiSuccess',\n                'euiWarning',\n                'euiDanger',\n                'euiVariant',\n            ],\n        },\n    ],\n})\nexport class EuiMessageBoxComponent implements AfterViewInit, OnDestroy {\n    /**\n     * Data attribute for e2e testing purposes.\n     * @default 'eui-dialog'\n     */\n    @Input() e2eAttr = 'eui-dialog';\n\n    /**\n     * Title text displayed in the message box header.\n     */\n    @Input() title: string;\n\n    /**\n     * Width of the message box.\n     * @default '33rem'\n     */\n    @Input() width = '33rem';\n\n    /**\n     * Height of the message box.\n     * @default 'auto'\n     */\n    @Input() height = 'auto';\n\n    /**\n     * Whether to show the accept/confirm button.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasAcceptButton = true;\n\n    /**\n     * Whether to show the dismiss/cancel button.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasDismissButton = true;\n\n    /**\n     * Label for the accept/confirm button. Can be a translation key.\n     * @default 'eui.OK'\n     */\n    @Input() acceptLabel = 'eui.OK';\n\n    /**\n     * Label for the dismiss/cancel button. Can be a translation key.\n     * @default 'eui.CANCEL'\n     */\n    @Input() dismissLabel = 'eui.CANCEL';\n\n    /**\n     * Whether to manually handle closing the dialog on dismiss button click.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHandleCloseOnDismiss = false;\n\n    /**\n     * Whether to manually handle closing the dialog on close button click.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHandleCloseOnClose = false;\n\n    /**\n     * Whether to manually handle closing the dialog on accept button click.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHandleCloseOnAccept = false;\n\n    /**\n     * Whether the message box can be dragged around the screen.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isDraggable = false;\n\n    /**\n     * Whether to remove padding from the message box body.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasNoBodyPadding = false;\n\n    /**\n     * Event emitted when the message box opens.\n     */\n    @Output() messageBoxOpen = new EventEmitter();\n\n    /**\n     * Event emitted when the message box closes.\n     */\n    @Output() messageBoxClose = new EventEmitter();\n\n    /**\n     * Event emitted when the dismiss/cancel button is clicked.\n     */\n    @Output() dismiss = new EventEmitter();\n\n    /**\n     * Event emitted when the accept/confirm button is clicked.\n     */\n    @Output() accept = new EventEmitter();\n\n    /**\n     * Reference to the template containing the message box content.\n     * This will be used to create a portal for the content section.\n     */\n    @ViewChild('templateRefContent') templateRefContent: TemplateRef<ElementRef>;\n\n    /**\n     * Reference to the template containing the message box footer.\n     * This will be used to create a portal for the footer section.\n     */\n    @ViewChild('templateRefFooter') templateRefFooter: TemplateRef<EuiMessageBoxFooterDirective>;\n\n    /**\n     * Reference to any custom footer content provided through the eui-message-box-footer directive.\n     * Forward reference is used to resolve the circular dependency between the component and directive.\n     */\n    @ContentChild(forwardRef(() => EuiMessageBoxFooterDirective)) euiMessageBoxFooterDirective: QueryList<EuiMessageBoxFooterDirective>;\n\n    baseStatesDirective = inject(BaseStatesDirective);\n    /**\n     * Content that will be displayed in the message box body.\n     * Can be either a simple string message or a TemplatePortal for more complex content.\n     */\n    public content: string | TemplatePortal;\n\n    /**\n     * Portal instance for the content section of the message box.\n     * Created from the templateRefContent template reference.\n     */\n    private templatePortalContent: TemplatePortal<ElementRef>;\n\n    /**\n     * Portal instance for the footer section of the message box.\n     * Created from the templateRefFooter template reference when a custom footer is provided.\n     */\n    private templatePortalFooter: TemplatePortal<EuiMessageBoxFooterDirective>;\n\n    /**\n     * Subject used for cleaning up subscriptions when the component is destroyed.\n     */\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private viewContainerRef = inject(ViewContainerRef);\n    private euiMessageBoxService = inject(EuiMessageBoxService);\n\n    /**\n     * Lifecycle hook called after Angular has fully initialized the component's view.\n     * Creates the template portals for content and footer (if available).\n     */\n    ngAfterViewInit(): void {\n        this.templatePortalContent = new TemplatePortal(this.templateRefContent, this.viewContainerRef);\n\n        if (this.euiMessageBoxFooterDirective) {\n            this.templatePortalFooter = new TemplatePortal(this.templateRefFooter, this.viewContainerRef);\n        }\n    }\n\n    /**\n     * Lifecycle hook that's called when the component is destroyed.\n     * Cleans up any subscriptions to prevent memory leaks.\n     */\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    /**\n     * Opens the message box with the current configuration.\n     * This method configures and displays the message box using the EuiMessageBoxService.\n     */\n    public openMessageBox<HC, HCC, BC, BCC, FC, FCC>(): void {\n        const config: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {\n            e2eAttr: this.e2eAttr,\n            title: this.title,\n            width: this.width,\n            height: this.height,\n            variant: this.baseStatesDirective.euiVariant.length > 0 ? this.baseStatesDirective.euiVariant : 'primary',\n            acceptLabel: this.acceptLabel,\n            dismissLabel: this.dismissLabel,\n            hasCloseButton: false,\n            hasAcceptButton: this.hasAcceptButton,\n            hasDismissButton: this.hasDismissButton,\n            hasClosedOnClickOutside: false,\n            hasClosedOnEscape: false,\n            isHandleCloseOnDismiss: this.isHandleCloseOnDismiss,\n            isHandleCloseOnClose: this.isHandleCloseOnClose,\n            isHandleCloseOnAccept: this.isHandleCloseOnAccept,\n            isHandleCloseOnClickOutside: false,\n            isHandleCloseOnEscape: false,\n            isDraggable: coerceBooleanProperty(this.isDraggable),\n            hasNoBodyPadding: coerceBooleanProperty(this.hasNoBodyPadding),\n            content: this.templatePortalContent,\n            footer: this.templatePortalFooter,\n            isMessageBox: true,\n            open: () => {\n                this.messageBoxOpen.emit();\n            },\n            close: () => {\n                this.messageBoxClose.emit();\n            },\n            dismiss: () => {\n                this.dismiss.emit();\n            },\n            accept: () => {\n                this.accept.emit();\n            },\n        };\n\n        this.euiMessageBoxService.openMessageBox(config);\n    }\n\n    /**\n     * Closes the currently open message box.\n     * This method uses the EuiMessageBoxService to close the dialog.\n     */\n    public closeMessageBox(): void {\n        this.euiMessageBoxService.closeMessageBox();\n    }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-message-box-footer' })\nexport class EuiMessageBoxFooterDirective {}\n/* eslint-enable */\n",
            "selector": "eui-message-box-footer",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiMonthYearFormatDirective",
            "id": "directive-EuiMonthYearFormatDirective-9d4df86024095c2260b95e6ada3c14414a33c330583b735045a67195b652c433e5e447bd17dbfe2b42c34039f0bcbabcadd67c3cdabf7b1153684e74943fd677",
            "file": "packages/components/eui-datepicker/eui-datepicker.component.ts",
            "type": "directive",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import {\n    ApplicationRef,\n    Component,\n    EventEmitter,\n    Injector,\n    Input,\n    OnChanges,\n    OnDestroy,\n    DoCheck,\n    OnInit,\n    Output,\n    SimpleChanges,\n    StaticProvider,\n    ViewChild,\n    ViewEncapsulation,\n    Directive,\n    forwardRef,\n    HostBinding,\n    ContentChild,\n    AfterViewInit,\n    TemplateRef,\n    ViewContainerRef,\n    ComponentRef,\n    booleanAttribute,\n    inject,\n    ElementRef,\n} from '@angular/core';\nimport {\n    ControlValueAccessor,\n    FormControl,\n    FormsModule,\n    NgControl,\n    ReactiveFormsModule,\n    Validators,\n} from '@angular/forms';\nimport { DateAdapter, MatDateFormats, MAT_DATE_FORMATS } from '@angular/material/core';\nimport {\n    MatCalendarCellClassFunction,\n    MatDatepicker,\n    MatDatepickerInputEvent,\n    MatDatepickerModule,\n} from '@angular/material/datepicker';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { ComponentPortal, DomPortalOutlet, TemplatePortal } from '@angular/cdk/portal';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\nimport _moment, { Moment } from 'moment';\nimport { default as _rollupMoment } from 'moment';\nimport 'moment/min/locales.js';\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS } from '@angular/material-moment-adapter';\n\nimport { EuiTimepickerComponent, EuiDateTimePickerConfig } from '@eui/components/eui-timepicker';\nimport { DYNAMIC_COMPONENT_CONFIG, LocaleService, EuiAppShellService, uniqueId, injectOptional } from '@eui/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\nimport { EUI_INPUT_GROUP } from '@eui/components/eui-input-group';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\nconst moment = _rollupMoment || _moment;\n\nexport const DEFAULT_FORMATS = {\n    parse: {\n        dateInput: 'L',\n    },\n    display: {\n        dateInput: 'L',\n        monthYearLabel: 'MM/YYYY',\n        dateA11yLabel: 'LL',\n        monthYearA11yLabel: 'LL',\n    },\n};\n\n/**\n * A comprehensive date and datetime picker component that wraps Angular Material's datepicker with enhanced functionality.\n * Supports date-only, month, year, and datetime selection modes with optional timepicker integration.\n * Implements ControlValueAccessor for seamless integration with Angular reactive and template-driven forms.\n * \n * Use cases:\n * - Standard date selection with calendar popup\n * - Month or year-only selection for period-based inputs\n * - Combined date and time selection with integrated timepicker\n * - Date range validation with min/max constraints\n * - Custom date filtering and styling\n * - Responsive layouts with block-level display option\n * - Read-only and disabled states for display-only scenarios\n * \n * @usageNotes\n * ### Basic Date Picker\n * ```html\n * <eui-datepicker \n *   [placeholder]=\"'Select date'\"\n *   [(ngModel)]=\"selectedDate\">\n * </eui-datepicker>\n * ```\n * \n * ### DateTime Picker\n * ```html\n * <eui-datepicker \n *   [isDatetimepicker]=\"true\"\n *   [hasSeconds]=\"true\"\n *   [(ngModel)]=\"selectedDateTime\">\n * </eui-datepicker>\n * ```\n * \n * ### Month/Year Picker\n * ```html\n * <eui-datepicker \n *   type=\"month\"\n *   [startView]=\"'year'\"\n *   [(ngModel)]=\"selectedMonth\">\n * </eui-datepicker>\n * ```\n * \n * ### With Validation\n * ```typescript\n * // Component\n * dateControl = new FormControl(null, Validators.required);\n * minDate = new Date(2024, 0, 1);\n * maxDate = new Date(2024, 11, 31);\n * \n * // Template\n * <eui-datepicker \n *   [formControl]=\"dateControl\"\n *   [minDate]=\"minDate\"\n *   [maxDate]=\"maxDate\"\n *   [isClearable]=\"true\">\n * </eui-datepicker>\n * ```\n * \n * ### Accessibility\n * - Provides proper ARIA labels and roles for calendar navigation\n * - Keyboard navigation: Arrow keys for date selection, Enter to confirm, Escape to close\n * - Clear button is keyboard accessible when enabled\n * - Required state communicated via `aria-required` attribute\n * - Date format is announced to screen readers via placeholder\n * - Toggle button has accessible label via `togglerLabel` input\n * \n * ### Notes\n * - Use `dateOutputFormat` to control the format of emitted values (e.g., 'YYYY-MM-DD')\n * - `restrictToRegex` can limit input characters for format enforcement\n * - `datepickerFilter` enables custom date validation (e.g., disable weekends)\n * - `dateClass` allows styling specific dates (holidays, events)\n * - Time picker integrates seamlessly when `isDatetimepicker` is true\n * - `isDatepickerBlock` makes component responsive for mobile layouts\n * - `isReadOnly` allows calendar selection but prevents manual typing\n */\n@Component({\n    selector: 'eui-datepicker',\n    templateUrl: './eui-datepicker.component.html',\n    styleUrl: './eui-datepicker.scss',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        MatDatepickerModule,\n        FormsModule,\n        ReactiveFormsModule,\n        TranslateModule,\n        ...EUI_INPUT_TEXT,\n        ...EUI_INPUT_GROUP,\n        ...EUI_BUTTON,\n        ...EUI_ICON,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSuccess',\n                'euiInfo',\n                'euiWarning',\n                'euiDanger',\n                'euiVariant',\n            ],\n        },\n    ],\n})\nexport class EuiDatepickerComponent implements OnInit, AfterViewInit, ControlValueAccessor, OnDestroy, OnChanges, DoCheck {\n    baseStatesDirective = inject(BaseStatesDirective);\n    euiLetterFormat = inject(EuiLetterFormatDirective, { optional: true })!;\n\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-datepicker'),\n            this.isDatepickerBlock ? 'eui-datepicker--responsive' : '',\n        ].join(' ').trim();\n    }\n\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-datepicker';\n\n    public inputFormControl = new FormControl();\n    public breakpointsValue: any = {\n        isMobile: false,\n        isTablet: false,\n        isLtDesktop: false,\n        isDesktop: false,\n        isXL: false,\n        isXXL: false,\n    };\n    showDateButton = true;\n    timePickerInstance: EuiTimepickerComponent;\n    timePickerComponentRef: ComponentRef<EuiTimepickerComponent>;\n    @ViewChild('calendar', { static: true }) calendar: MatDatepicker<any>;\n    @ViewChild('templatePortalRef') templatePortalRef: TemplateRef<EuiActionButtonsDirective>;\n    @ViewChild('input', { read: ElementRef }) public inputRef: ElementRef<HTMLInputElement>; //used to access the input raw value trough reference\n\n    @ContentChild(forwardRef(() => EuiActionButtonsDirective)) euiActionButtons: EuiActionButtonsDirective;\n    /**\n     * Emitted when the input field value changes through user typing or programmatic updates.\n     * Payload contains the formatted date string (if dateOutputFormat is set) or Moment object, or null if cleared.\n     * Triggers on every input change, including manual text entry and clear actions.\n     */\n    @Output() inputChange = new EventEmitter<any>();\n    /**\n     * Emitted when a date is selected from the calendar popup or through date/time adjustments.\n     * Payload contains the formatted date string (if dateOutputFormat is set) or Moment object, or null if cleared.\n     * Does not trigger on manual text input, only on calendar interactions and programmatic selections.\n     */\n    @Output() dateSelect = new EventEmitter<any>();\n    /**\n     * The initial or current date value displayed in the input field.\n     * Accepts Moment objects, Date objects, or date strings compatible with the configured date adapter.\n     * When dateOutputFormat is specified, the internal value is formatted accordingly.\n     */\n    @Input() value: any;\n    /**\n     * The SVG icon name displayed on the calendar toggle button.\n     * Must be a valid eui-icon identifier.\n     */\n    @Input() togglerIconSvg = 'eui-calendar';\n    /**\n     * Accessible label text for the calendar toggle button.\n     * Used for screen readers and accessibility compliance.\n     */\n    @Input() togglerLabel: string;\n    /**\n     * Placeholder text displayed in the input field when empty.\n     * If not provided, defaults to translated placeholders based on the calendar type (regular, month, or year).\n     */\n    @Input() placeholder: string;\n    /**\n     * Determines the selection granularity and calendar behavior.\n     * 'regular' allows full date selection, 'month' selects month/year only, 'year' selects year only.\n     * Affects the calendar view, input format, and selection behavior.\n     */\n    @Input() type: 'year' | 'month' | 'regular' = 'regular';\n    /**\n     * The initial view displayed when the calendar popup opens.\n     * 'month' shows the day grid, 'year' shows month selection, 'multi-year' shows year range selection.\n     * If not specified, defaults based on the type property.\n     */\n    @Input() startView: 'month' | 'year' | 'multi-year';\n    /**\n     * The earliest selectable date in the calendar.\n     * Dates before this value are disabled and cannot be selected.\n     * Accepts Moment objects, Date objects, or date strings compatible with the date adapter.\n     */\n    @Input() minDate: any;\n    /**\n     * The latest selectable date in the calendar.\n     * Dates after this value are disabled and cannot be selected.\n     * Accepts Moment objects, Date objects, or date strings compatible with the date adapter.\n     */\n    @Input() maxDate: any;\n    /**\n     * Custom filter function to enable or disable specific dates in the calendar.\n     * Receives each date as a parameter and should return true to enable the date, false to disable it.\n     * Useful for implementing business rules like disabling weekends or holidays.\n     */\n    @Input() datepickerFilter: (d: any) => boolean = this.datepickerFiltering;\n    /**\n     * Moment.js format string for the output value emitted through form control and events.\n     * When specified, all emitted values are formatted strings instead of Moment objects.\n     * Example: 'YYYY-MM-DD' or 'DD/MM/YYYY HH:mm:ss'.\n     */\n    @Input() dateOutputFormat: string;\n    /**\n     * Custom component class to replace the default calendar header.\n     * Must be a valid Angular component that implements the Material datepicker header interface.\n     * Allows complete customization of the calendar header appearance and behavior.\n     */\n    @Input() customHeader: any;\n    /**\n     * Function that returns CSS class names to apply to specific calendar date cells.\n     * Receives each date as a parameter and returns a string or array of class names.\n     * Enables visual styling of specific dates like holidays, events, or special occasions.\n     */\n    @Input() dateClass: MatCalendarCellClassFunction<any>;\n    /**\n     * Increment/decrement step for hour adjustments in the timepicker.\n     * Only applicable when isDatetimepicker is true.\n     * Determines how many hours are added or subtracted with each button click.\n     */\n    @Input() stepHours = 1;\n    /**\n     * Increment/decrement step for minute adjustments in the timepicker.\n     * Only applicable when isDatetimepicker is true.\n     * Determines how many minutes are added or subtracted with each button click.\n     */\n    @Input() stepMinutes = 1;\n    /**\n     * Increment/decrement step for second adjustments in the timepicker.\n     * Only applicable when isDatetimepicker is true and hasSeconds is true.\n     * Determines how many seconds are added or subtracted with each button click.\n     */\n    @Input() stepSeconds = 1;\n    /**\n     * Unique identifier for the input element.\n     * Used for label association, form integration, and testing selectors.\n     * Auto-generated if not provided.\n     */\n    @Input() inputId = `eui-datepicker-${uniqueId()}`;\n    /**\n     * Custom CSS class or classes applied to the calendar popup panel.\n     * Accepts a single class name string or an array of class names.\n     * Useful for theme customization or specific styling requirements.\n     */\n    @Input() customPanelClass: string | string[] | null = null;\n    /**\n     * Enables datetime selection mode with an integrated timepicker in the calendar popup.\n     * When true, displays hour, minute, and optionally second selectors below the calendar.\n     * Changes the component behavior to handle both date and time values.\n     */\n    @Input({ transform: booleanAttribute }) isDatetimepicker = false;\n    /**\n     * Displays seconds selector in the timepicker.\n     * Only applicable when isDatetimepicker is true.\n     * When false, only hours and minutes are selectable.\n     */\n    @Input({ transform: booleanAttribute }) hasSeconds = false;\n    /**\n     * Renders the timepicker with a single combined input field instead of separate hour/minute/second inputs.\n     * Only applicable when isDatetimepicker is true.\n     * Provides a more compact timepicker interface.\n     */\n    @Input({ transform: booleanAttribute }) isOneInputField = false;\n    /**\n     * Hides the calendar toggle button, leaving only the input field visible.\n     * Users can still open the calendar by clicking the input field if isShownOnInputClick is true.\n     * Useful for minimalist layouts or when calendar access should be input-driven only.\n     */\n    @Input({ transform: booleanAttribute }) hasNoButton = false;\n    /**\n     * Applies block-level display styling to make the component fill its container width.\n     * Enables responsive behavior for mobile and tablet layouts.\n     * When true, the input and button stretch to 100% width.\n     */\n    @Input({ transform: booleanAttribute }) isDatepickerBlock = false;\n    /**\n     * Makes the input field read-only, preventing manual text entry.\n     * Users can still select dates from the calendar popup.\n     * Automatically disables the clear button when true.\n     */\n    @Input({ transform: booleanAttribute }) isReadOnly = false;\n    /**\n     * Disables the entire component including input field, toggle button, and calendar popup.\n     * When true, no user interaction is possible and the component appears visually disabled.\n     * Integrates with Angular forms disabled state.\n     */\n    @Input({ transform: booleanAttribute }) isDisabled = false;\n    /**\n     * Disables only the input field while keeping the calendar toggle button enabled.\n     * Users can select dates from the calendar but cannot type manually.\n     * Useful for enforcing calendar-only date selection.\n     */\n    @Input({ transform: booleanAttribute }) isInputDisabled = false;\n    /**\n     * Disables only the calendar toggle button while keeping the input field enabled.\n     * Users can type dates manually but cannot open the calendar popup.\n     * Useful for keyboard-only or text-based date entry scenarios.\n     */\n    @Input({ transform: booleanAttribute }) isButtonDisabled = false;\n    /**\n     * Disables the calendar popup functionality while keeping the input field enabled.\n     * Prevents the calendar from opening through any interaction method.\n     * Similar to isButtonDisabled but also blocks input-click calendar opening.\n     */\n    @Input({ transform: booleanAttribute }) isPickerDisabled = false;\n    /**\n     * Controls whether clicking the input field opens the calendar popup.\n     * When false, the calendar only opens via the toggle button.\n     * Useful when the input should be primarily for manual text entry.\n     */\n    @Input({ transform: booleanAttribute }) isShownOnInputClick = true;\n    /**\n     * Displays a clear button in the input field to reset the value to null.\n     * Automatically disabled when isReadOnly is true.\n     * Clicking the clear button emits null through inputChange and dateSelect events.\n     */\n    @Input()\n    get isClearable(): boolean {\n        return this._isClearable && !this.isReadOnly;\n    }\n    set isClearable(value: BooleanInput) {\n        this._isClearable = coerceBooleanProperty(value);\n    }\n    private _isClearable = false;\n    /**\n     * Regular expression pattern to restrict which characters can be typed in the input field.\n     * Accepts a RegExp object or a string that will be converted to RegExp.\n     * Each keypress is validated against this pattern; non-matching keys are blocked.\n     * Useful for enforcing numeric-only input or specific date format characters.\n     */\n    @Input()\n    get restrictToRegex(): RegExp {\n        return this._restrictToRegex;\n    }\n    set restrictToRegex(value: string | RegExp) {\n        try {\n            if (value instanceof RegExp) {\n                this._restrictToRegex = value;\n            } else if (typeof value === 'string') {\n                this._restrictToRegex = new RegExp(value);\n            } else {\n                throw new Error(`restrictToRegex can only be string or RegExp, it cannot be ${typeof value}`);\n            }\n        } catch (e) {\n            console.error(e);\n        }\n    }\n    private _restrictToRegex: RegExp;\n\n    /**\n     * Returns an array of CSS classes to apply to the mat-datepicker panel.\n     * Combines internal classes with user-provided customPanelClass.\n     */\n    get mergedPanelClass(): string[] {\n        const classes = [`mat-calendar-${this.type}`];\n\n        if (this.isDatetimepicker) {\n            classes.push('eui-datepicker--container-height-large');\n        }\n\n        if (this.customPanelClass) {\n            if (Array.isArray(this.customPanelClass)) {\n                classes.push(...this.customPanelClass);\n            } else {\n                classes.push(this.customPanelClass);\n            }\n        }\n\n        return classes;\n    }\n\n    protected hasAriaRequiredAttribute: boolean;\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private format: MatDateFormats = inject(MAT_DATE_FORMATS, { optional: true });\n    private portalHost: DomPortalOutlet;\n    private portal: ComponentPortal<EuiTimepickerComponent>;\n    private templatePortal: TemplatePortal<EuiActionButtonsDirective>;\n    private isNull = false;\n    private adapter = inject<DateAdapter<any>>(DateAdapter);\n    private translateService = inject(TranslateService);\n    private localeService = injectOptional(LocaleService);\n    private EuiAppShellService = inject(EuiAppShellService);\n    private injector = inject(Injector);\n    private appRef = inject(ApplicationRef);\n    private viewContainerRef = inject(ViewContainerRef);\n    private control = inject(NgControl, { self: true, optional: true })!;\n    private momentAdapterOptions = injectOptional(MAT_MOMENT_DATE_ADAPTER_OPTIONS);\n\n    constructor() {\n        if (this.control) {\n            this.control.valueAccessor = this;\n        }\n    }\n\n    ngOnInit(): void {\n        this.inputFormControl.setValue(this.value);\n        // eslint-disable-next-line\n        this.isInputDisabled ? this.inputFormControl.disable() : this.inputFormControl.enable();\n\n        this.localeService\n            ?.getState()\n            .pipe(takeUntil(this.destroy$))\n            .subscribe((state) => {\n                this.adapter.setLocale(state.id);\n            });\n\n        if (this.isDatetimepicker && (this.minDate || this.maxDate)) {\n            this.inputFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(() => {\n                setTimeout(() => {\n                    this.checkTimePickerValidity();\n                });\n            });\n        }\n\n        if (!this.placeholder) {\n            if (this.type === 'regular' && !this.isDatetimepicker) {\n                this.translateService\n                    .stream('eui.datepicker.PLACEHOLDER')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((result: string) => {\n                        this.placeholder = result;\n                    });\n            } else if (this.type === 'regular' && this.isDatetimepicker) {\n                this.translateService\n                    .stream('eui.datepicker.ISDATETIMEPICKER')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((result: string) => {\n                        this.placeholder = result;\n                    });\n            } else if (this.type === 'year') {\n                this.translateService\n                    .stream('eui.datepicker.YEAR-PLACEHOLDER')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((result: string) => {\n                        this.placeholder = result;\n                    });\n            } else if (this.type === 'month') {\n                this.translateService\n                    .stream('eui.datepicker.MONTH-PLACEHOLDER')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((result: string) => {\n                        this.placeholder = result;\n                    });\n            }\n        }\n\n        this.EuiAppShellService.breakpoints$.pipe(takeUntil(this.destroy$)).subscribe((bkps) => (this.breakpointsValue = bkps));\n\n        this.updateInputAriaRequiredAttribute(this.control);\n        this.control?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(() => {\n            this.updateInputAriaRequiredAttribute(this.control);\n        });\n    }\n\n    ngAfterViewInit(): void {\n        if (this.euiActionButtons) {\n            this.templatePortal = new TemplatePortal(this.templatePortalRef, this.viewContainerRef);\n        }\n\n        if (this.isDatetimepicker || this.euiActionButtons) {\n            this.calendar['closeCalendar'] = this.calendar.close;\n            this.calendar.close = (): boolean => false;\n        }\n        \n        // Store input reference in control for validator access\n        if (this.control?.control) {\n            (this.control.control as any)._inputRef = this.inputRef;\n        }\n        \n        // Listen to native input event to trigger validation on every keystroke\n        if (this.inputRef) {\n            fromEvent(this.inputRef.nativeElement, 'input')\n                .pipe(takeUntil(this.destroy$))\n                .subscribe(() => {\n                    this.control?.control?.updateValueAndValidity({ emitEvent: false });\n                });\n        }\n    }\n\n    ngDoCheck(): void {\n        if (this.control) {\n            // marks the input control as touched/invalid if the form control is touched/invalid\n            // eslint-disable-next-line\n            this.control?.touched ? this.inputFormControl.markAsTouched() : this.inputFormControl.markAsUntouched();\n            // eslint-disable-next-line\n            this.control?.invalid ? this.inputFormControl.setErrors(this.control.errors) : this.inputFormControl.setErrors(null);\n        }\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes && changes['isReadOnly']) {\n            if (this.isReadOnly) {\n                this.showDateButton = false;\n            } else {\n                this.showDateButton = true;\n            }\n        }\n\n        if (changes && changes['isDisabled']) {\n            this.setDisabledState(this.isDisabled);\n        }\n\n        if (changes && changes['value']) {\n            this.inputFormControl.setValue(this.value);\n        } else {\n            if (this.dateOutputFormat && (this.value && this.value.value !== null)) {\n                this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n            }\n        }\n\n        if (changes && changes['isClearable']) {\n            // when is clearable is used listen if onclear is fired and update the value\n            if (this.isClearable) {\n                this.inputChange.pipe(takeUntil(this.destroy$)).subscribe((event) => {\n                    if (event === null) {\n                        this.value = event;\n                        this.propagateChange(event);\n                    }\n                });\n            }\n        }\n    }\n    /**\n     * Creates an injector for the timepicker component.\n     * @param data - The data to be passed to the timepicker component.\n     * @return {Injector} - The created injector.\n     */\n    createInjector(data: any): Injector {\n        const injectorTokens: StaticProvider = [{ provide: DYNAMIC_COMPONENT_CONFIG, useValue: data }];\n        return Injector.create({\n            parent: this.injector,\n            providers: injectorTokens,\n        });\n    }\n    /**\n     * Opens the calendar if read-only is false, listens to the keydown event when isDatetimepicker or euiActionButtons used\n     * and creates the time config passed to the timepicker component.\n     */\n    openCalendar(): void {\n        if (!this.isReadOnly) {\n            this.calendar.open();\n\n            if (this.isDatetimepicker || this.euiActionButtons) {\n                this.calendar.opened = true;\n                // listens to the keydown event once the calendar opened\n                fromEvent<KeyboardEvent>(document, 'keydown')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((event: KeyboardEvent) => {\n                        switch (event.key) {\n                            case 'Escape': //closes the calendar on Escape\n                                this.closeCalendar();\n                                break;\n                            case 'Enter': {\n                                //closes the calendar if pressing Enter on the close calendar button only\n                                this.getEventPath(event).forEach((p: any) => {\n                                    if (p.className && p.className.indexOf('mat-datepicker-close-button') !== -1) {\n                                        this.closeCalendar();\n                                    }\n                                });\n                                break;\n                            }\n                        }\n                    });\n            }\n\n            if (this.isDatetimepicker) {\n                this.portalHost = new DomPortalOutlet(\n                    document.querySelector('mat-calendar'),\n                    this.appRef,\n                    this.injector,\n                );\n                const timeConfig: EuiDateTimePickerConfig = {\n                    hours: this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().hours() : this.value && moment(this.value).hours(),\n                    mins: this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().minutes() : this.value && moment(this.value).minutes(),\n                    secs: this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().seconds() : this.value && moment(this.value).seconds(),\n                    isDatetimepicker: this.isDatetimepicker,\n                    hasSeconds: this.hasSeconds,\n                    isOneInputField: this.isOneInputField,\n                    stepHours: this.stepHours,\n                    stepMinutes: this.stepMinutes,\n                    stepSeconds: this.stepSeconds,\n                    isDisabled: !this.value || this.value === '',\n                    callbackFn: (hours: number, mins: number, secs: number) => {\n                        // Don't allow time changes when no date is selected\n                        if (!this.value || this.value === '') {\n                            return;\n                        }\n\n                        this.value =\n                            typeof this.value === 'string'\n                                ? moment(this.value, moment.ISO_8601)\n                                : moment(this.value, this.format.parse.dateInput);\n                        this.value.set({\n                            hour: hours || 0,\n                            minute: mins || 0,\n                            second: secs || 0,\n                        });\n\n                        this.inputFormControl.setValue(this.value);\n\n                        if (this.dateOutputFormat) {\n                            this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n                            this.dateSelect.emit(moment(this.value).format(this.dateOutputFormat));\n                        } else {\n                            this.propagateChange(moment(this.value));\n                            this.dateSelect.emit(this.value);\n                        }\n                    },\n                };\n\n                this.portal = new ComponentPortal(EuiTimepickerComponent, null, this.createInjector(timeConfig));\n                const componentRef: ComponentRef<EuiTimepickerComponent> = this.portalHost.attachComponentPortal(this.portal);\n                this.timePickerInstance = componentRef.instance;\n                this.timePickerComponentRef = componentRef;\n            }\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n\n        this.portalHost?.detach();\n    }\n\n    /**\n     * When calendar opens and isDatetimepicker or eui-action-buttons directive used, it closes the calendar when clicking outside of the\n     * overlay. If eui-action-buttons directive is used it registers the template portal where the user can add projected content as a\n     * footer.\n     */\n    onOpened(): void {\n        if (this.isDatetimepicker || this.euiActionButtons) {\n            if (this.euiActionButtons) {\n                this.calendar.registerActions(this.templatePortal);\n            }\n\n            this.calendar['_overlayRef']['_pane'].classList.add('eui-21');\n\n            this.calendar['_overlayRef']['_backdropClick'].pipe(takeUntil(this.destroy$)).subscribe(() => {\n                this.closeCalendar();\n            });\n        }\n    }\n\n    /**\n     * Retrieves the event path for a given event. This method provides a fallback\n     * for browsers that do not support the `event.path` property by constructing\n     * the path manually.\n     *\n     * @param event - The event object of type `KeyboardEvent`.\n     * @returns An array representing the event path, starting from the event target\n     *          and traversing up through its ancestors, ending with the `document`\n     *          and `window` objects.\n     */\n    getEventPath(event: KeyboardEvent): EventTarget[] {\n        if (event.composedPath) {\n            return event.composedPath();\n        }\n\n        // Fallback for browsers that do not support composedPath()\n        const path: EventTarget[] = [];\n        let target: EventTarget | null = event.target as EventTarget;\n\n        while (target) {\n            path.push(target);\n            target = (target as HTMLElement).parentNode as EventTarget;\n        }\n\n        path.push(document, window);\n\n        return path;\n    }\n    /**\n     * Fires when the type of the calendar is either month or year,\n     * formats the date if dateOutputFormat used\n     * emits and propagates the selected date value\n     * and closes the calendar.\n     * @param normalizedDate - The selected date in the calendar.\n     * @param calendar - The MatDatepicker instance.\n     */\n    chosenDateHandler(normalizedDate: any, calendar: MatDatepicker<any>): void {\n        if (this.dateOutputFormat) {\n            const formattedValue = moment(normalizedDate, this.dateOutputFormat);\n            this.value = formattedValue;\n            this.inputFormControl.setValue(formattedValue);\n\n            this.propagateChange(formattedValue.format(this.dateOutputFormat));\n            this.inputChange.emit(formattedValue.format(this.dateOutputFormat));\n            this.dateSelect.emit(formattedValue.format(this.dateOutputFormat));\n        } else {\n            this.value = normalizedDate;\n            this.inputFormControl.setValue(this.value);\n\n            this.propagateChange(this.value);\n            this.dateSelect.emit(this.value ? this.value : null);\n            this.inputChange.emit(this.value ? this.value : null);\n        }\n        calendar.close();\n    }\n    /**\n     * Method which returns true in order to mark the date as valid.\n     * @returns {boolean} - Returns true if the date is valid.\n     */\n    public datepickerFiltering(): boolean {\n        return true;\n    }\n    /**\n     * Method which fires when the datepicker input value changes and applies logic when isDatetimepicker is false.\n     * @param e - The MatDatepickerInputEvent object containing the new value.\n     */\n    public onDateInput(e: MatDatepickerInputEvent<Moment | Date | string>): void {\n        if (!this.isDatetimepicker) {\n            if (e.value === null) {\n                this.propagateChange(null);\n                this.inputChange.emit(null);\n            } else {\n                const correctedDate = this.validateDateRange(e.value);\n                this.value = correctedDate;\n\n                if (this.dateOutputFormat) {\n                    const formatted = this.adapterToMoment(correctedDate).format(this.dateOutputFormat);\n                    this.propagateChange(formatted);\n                    this.inputChange.emit(formatted);\n                } else {\n                    this.propagateChange(correctedDate);\n                    this.inputChange.emit(correctedDate);\n                }\n            }\n            this.propagateTouched();\n        }\n    }\n    /**\n     * Method which fires when there is a date change from the calendar popup,\n     * formats, emits and propagates the new value also when isDatetimepicker true.\n     * @param e - The MatDatepickerInputEvent object containing the new value.\n     */\n    public onDateChange(e: MatDatepickerInputEvent<Moment | Date | string>): void {\n        if (e.value === null) {\n            this.propagateChange(null);\n            this.dateSelect.emit(null);\n            this.isNull = true;\n        } else {\n            this.isNull = false;\n            if (this.isDatetimepicker) {\n                const hours = this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().hours() : this.value && moment(this.value).hours()\n                const mins = this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().minutes() : this.value && moment(this.value).minutes();\n                const secs = this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().seconds() : this.value && moment(this.value).seconds();\n\n                this.value = moment(e.value, this.format.parse.dateInput);\n                this.value.set({\n                    hour: hours || 0,\n                    minute: mins || 0,\n                    second: secs || 0,\n                });\n\n                if (this.calendar.opened) {\n                    // Enable timepicker when date is selected\n                    setTimeout(() => this.updateTimePickerDisabledState());\n                    this.inputFormControl.setValue(this.value);\n                }\n\n                if (this.dateOutputFormat && this.value != null) {\n                    this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n                    this.dateSelect.emit(this.value.format(this.dateOutputFormat));\n                } else {\n                    this.propagateChange(moment(this.value));\n                    this.dateSelect.emit(e?.value);\n                }\n            } else {\n                if (this.dateOutputFormat) {\n                    const formatted = this.adapterToMoment(e.value).format(this.dateOutputFormat);\n                    this.value = e.value;\n                    this.dateSelect.emit(formatted);\n                } else {\n                    this.dateSelect.emit(e?.value ? e.value : null);\n                }\n            }\n        }\n    }\n    /**\n     * Method which fires when the input value changes and applies logic when isDatetimepicker true.\n     * @param e - The new value of the input field.\n     */\n    changedInput(e: string | Event): void {\n        const value = typeof e === 'string' ? e : (e.target as HTMLInputElement).value;\n        if (!this.isNull) {\n            const parsedDate = this.momentAdapterOptions?.useUtc ? moment(value, this.format.parse.dateInput).utcOffset(0, true) : moment(value, this.format.parse.dateInput);\n            const correctedDate = this.validateDateRange(parsedDate);\n            \n            this.value = correctedDate;\n            this.inputFormControl.setValue(this.value);\n            if (this.dateOutputFormat && this.value != null) {\n                this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n                this.inputChange.emit(moment(this.value).format(this.dateOutputFormat));\n            } else {\n                this.propagateChange(moment(this.value));\n                this.inputChange.emit(this.value);\n            }\n        }\n    }\n    /**\n     * Method which fires when clearing the input field and emits/propagates the null value.\n     */\n    onClear(): void {\n        this.dateSelect.emit(null);\n        this.inputChange.emit(null);\n        this.propagateChange(null);\n    }\n    /**\n     * Method which fires upon keypress and opens the calendar if isShownOnInputClick is true and the Enter key is pressed.\n     * Also if there is a restrictToRegex, it prevents the default action if the key is not matching the regex.\n     * @param e - The KeyboardEvent object.\n     */\n    onKeypress(e: KeyboardEvent): void {\n        if (e.key === 'Enter' && this.isShownOnInputClick) {\n            this.openCalendar();\n            e.preventDefault();\n        }\n\n        if (this._restrictToRegex) {\n            if (!this._restrictToRegex.test(e.key)) {\n                e.preventDefault();\n            }\n        }\n    }\n\n    /**\n     * Selects today's date\n     */\n    selectToday(): void {\n        this.inputFormControl.setValue(moment());\n    }\n\n    /**\n     * Closes the calendar when isDatetimepicker or eui-action-buttons used and removes the applied footer when eui-action-buttons used\n     */\n    closeCalendar(): void {\n        this.calendar['closeCalendar']();\n\n        if (this.euiActionButtons) {\n            this.calendar.removeActions(this.templatePortal);\n        }\n    }\n\n    /**\n     * When eui-action-buttons used, it applies the date selection and closes the calendar\n     */\n    onDateSelectApply(): void {\n        this.calendar._applyPendingSelection();\n        this.closeCalendar();\n    }\n\n    writeValue(value: any): void {\n        this.value = value || '';\n        this.inputFormControl.setValue(value, { emitEvent: false });\n    }\n\n    registerOnChange(fn: () => void): void {\n        this.propagateChange = fn;\n    }\n\n    registerOnTouched(fn: () => void): void {\n        this.propagateTouched = fn;\n    }\n    /**\n     * Converts the type of the calendar to the corresponding start view.\n     * @param type - The type of the calendar.\n     * @returns {('year' | 'month' | 'multi-year')} - The start view of the calendar.\n     */\n    convTypeToStartView(type: string): 'year' | 'month' | 'multi-year' {\n        switch (type) {\n            case 'month':\n                return 'year';\n            case 'year':\n                return 'multi-year';\n            case 'regular':\n                return 'month';\n        }\n    }\n    /**\n     * Sets the disabled state of the component based on the boolean value passed.\n     * @param isDisabled - The boolean value indicating whether the component should be disabled or not.\n     */\n    public setDisabledState?(isDisabled: boolean): void {\n        this.isDisabled = isDisabled;\n        if (isDisabled) {\n            // disables only the input through reactive forms\n            if (this.isInputDisabled && !this.isPickerDisabled) {\n                this.isInputDisabled = true;\n                this.isButtonDisabled = this.isPickerDisabled = false;\n                // disables only the button through reactive forms\n            } else if (this.isButtonDisabled && !this.isInputDisabled) {\n                this.isInputDisabled = false;\n                this.isButtonDisabled = this.isPickerDisabled = true;\n            } else {\n                this.isInputDisabled = this.isPickerDisabled = this.isButtonDisabled = true;\n            }\n        } else {\n            this.isInputDisabled = this.isPickerDisabled = this.isButtonDisabled = false;\n        }\n\n        // eslint-disable-next-line\n        this.isInputDisabled ? this.inputFormControl.disable() : this.inputFormControl.enable();\n    }\n\n    /**\n     * Marks the form field as touched when focusing out to trigger validation\n     */\n    protected onFocusOut(): void {\n        this.propagateTouched();\n    }\n    /**\n     * Checks the validity of the time picker based on the minDate and maxDate properties.\n     * If the value is outside the range, it adjusts the time picker values accordingly.\n     */\n    private checkTimePickerValidity(): void {\n        const getTime = (d: any): moment.Moment => {\n            const deserialized = this.adapter.deserialize(d);\n            return moment(new Date(this.adapter.getYear(deserialized), this.adapter.getMonth(deserialized), this.adapter.getDate(deserialized)));\n        };\n\n        if (this.minDate && (!moment(this.minDate).isBefore(this.value) || this.areSameDates(this.value, this.minDate))) {\n            this.timePickerInstance.hoursDownDisable(true);\n            this.timePickerInstance.minutesDownDisable(true);\n            this.timePickerInstance.secondsDownDisable(true);\n\n            if (!moment(this.minDate).isBefore(this.value)) {\n                const minMoment = getTime(this.minDate);\n                const hours = minMoment.hours();\n                const minutes = minMoment.minutes();\n                const seconds = minMoment.seconds();\n\n                setTimeout(() => {\n                    this.timePickerInstance.hours = hours;\n                    this.timePickerInstance.mins = minutes;\n                    this.timePickerInstance.secs = seconds;\n                });\n\n                this.value = typeof this.value === 'string' ? moment(this.value, moment.ISO_8601) : moment(this.value, this.format.parse.dateInput);\n                this.value.set({ hour: hours || 0, minute: minutes || 0, second: seconds || 0 });\n            }\n        } else {\n            this.timePickerInstance?.hoursDownDisable(false);\n            this.timePickerInstance?.minutesDownDisable(false);\n            this.timePickerInstance?.secondsDownDisable(false);\n        }\n\n        if (this.maxDate && this.adapter.compareDate(this.adapter.deserialize(this.value), this.adapter.deserialize(this.maxDate)) >= 0) {\n            this.timePickerInstance.hoursUpDisable(true);\n            this.timePickerInstance.minutesUpDisable(true);\n            this.timePickerInstance.secondsUpDisable(true);\n\n            if (this.adapter.compareDate(this.adapter.deserialize(this.value), this.adapter.deserialize(this.maxDate)) > 0) {\n                const maxMoment = getTime(this.maxDate);\n                const hours = maxMoment.hours();\n                const minutes = maxMoment.minutes();\n                const seconds = maxMoment.seconds();\n\n                setTimeout(() => {\n                    this.timePickerInstance.hours = hours;\n                    this.timePickerInstance.mins = minutes;\n                    this.timePickerInstance.secs = seconds;\n                });\n\n                this.value = typeof this.value === 'string' ? moment(this.value, moment.ISO_8601) : moment(this.value, this.format.parse.dateInput);\n                this.value.set({ hour: hours || 0, minute: minutes || 0, second: seconds || 0 });\n            }\n\n            if (this.value.hour() === 0 && this.value.minute() === 0 && this.value.second() === 0 &&\n                getTime(this.maxDate).hour() === 0 && getTime(this.maxDate).minute() === 0 && getTime(this.maxDate).second() === 0 &&\n                this.minDate && this.areSameDates(this.value, this.minDate)) {\n                this.timePickerInstance.hoursDownDisable(true);\n                this.timePickerInstance.minutesDownDisable(true);\n                this.timePickerInstance.secondsDownDisable(true);\n            } else {\n                this.timePickerInstance.hoursDownDisable(false);\n                this.timePickerInstance.minutesDownDisable(false);\n                this.timePickerInstance.secondsDownDisable(false);\n            }\n        } else {\n            this.timePickerInstance.hoursUpDisable(false);\n            this.timePickerInstance.minutesUpDisable(false);\n            this.timePickerInstance.secondsUpDisable(false);\n        }\n    }\n    /**\n     * Compares two dates and checks if they are the same.\n     * @param date1 - The first date to compare.\n     * @param date2 - The second date to compare.\n     * @returns {boolean} - Returns true if the dates are the same, otherwise false.\n     */\n    private areSameDates(date1: any, date2: any): boolean {\n        const d1 = this.adapter.deserialize(date1);\n        const d2 = this.adapter.deserialize(date2);\n        return this.adapter.compareDate(d1, d2) === 0;\n    }\n\n    private propagateChange = (_: any): void => {/* empty */};\n\n    private propagateTouched = (): void => {/* empty */};\n\n    /**\n     * Updates the `aria-required` attribute on the input element.\n     * @private\n     */\n    private updateInputAriaRequiredAttribute(control: NgControl): void {\n        this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);\n    }\n\n    /**\n     * Validates and corrects the date to ensure it falls within the specified minDate and maxDate range.\n     * If the date is before minDate, returns minDate. If the date is after maxDate, returns maxDate.\n     * Otherwise, returns the original date unchanged.\n     * \n     * @param date - The date to validate (can be Moment, Date, or string)\n     * @returns The validated date as a Moment object within the allowed range\n     */\n    private validateDateRange(date: Moment | Date | string): Moment | Date | string {\n        const minDate = this.minDate ? this.adapter.deserialize(this.minDate) : null;\n        const maxDate = this.maxDate ? this.adapter.deserialize(this.maxDate) : null;\n        if (minDate && this.adapter.compareDate(date as any, minDate) < 0) {\n            return minDate;\n        }\n        if (maxDate && this.adapter.compareDate(date as any, maxDate) > 0) {\n            return maxDate;\n        }\n        return date;\n    }\n\n    /**\n     * Updates the disabled state of the timepicker based on whether a date is selected.\n     * @private\n     */\n    private updateTimePickerDisabledState(): void {\n        if (this.timePickerInstance) {\n            const hasDate = this.value && this.value !== '';\n            this.timePickerInstance.isDisabled = !hasDate;\n            this.timePickerComponentRef?.changeDetectorRef.markForCheck();\n        }\n    }\n\n    /**\n     * Converts a date from any adapter format to Moment formats used with dateOutputFormat property.\n     * @private\n     * @param date - The date to convert, can be of any type supported by the adapter.\n     * @returns The converted date as a Moment object.\n     */\n    private adapterToMoment = (date: any): ReturnType<typeof moment> => moment({\n        year: this.adapter.getYear(date),\n        month: this.adapter.getMonth(date),\n        date: this.adapter.getDate(date),\n    });\n}\n\nexport const LETTER_FORMAT = {\n    parse: {\n        dateInput: 'LL',\n    },\n    display: {\n        dateInput: 'LL',\n        monthYearLabel: 'LL',\n    },\n};\n\nexport const YEAR_FORMAT = {\n    parse: {\n        dateInput: 'YYYY',\n    },\n    display: {\n        dateInput: 'YYYY',\n        monthYearLabel: 'YYYY',\n        dateA11yLabel: 'YYYY',\n        monthYearA11yLabel: 'YYYY',\n    },\n};\n\nexport const MONTH_YEAR_FORMAT = {\n    parse: {\n        dateInput: 'MM/YYYY',\n    },\n    display: {\n        dateInput: 'MM/YYYY',\n        monthYearLabel: 'MMM YYYY',\n        dateA11yLabel: 'LL',\n        monthYearA11yLabel: 'MMMM YYYY',\n    },\n};\n\n@Directive({\n    selector: '[euiLetterFormat]',\n    providers: [{ provide: MAT_DATE_FORMATS, useValue: LETTER_FORMAT }],\n})\nexport class EuiLetterFormatDirective {}\n\n@Directive({\n    selector: '[euiYearFormat]',\n    providers: [{ provide: MAT_DATE_FORMATS, useValue: YEAR_FORMAT }],\n})\nexport class EuiYearFormatDirective {}\n\n@Directive({\n    selector: '[euiMonthYearFormat]',\n    providers: [{ provide: MAT_DATE_FORMATS, useValue: MONTH_YEAR_FORMAT }],\n})\nexport class EuiMonthYearFormatDirective {}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-action-buttons' })\nexport class EuiActionButtonsDirective {\n    @HostBinding('class') class = 'eui-datepicker__action-buttons';\n }\n",
            "selector": "[euiMonthYearFormat]",
            "providers": [
                {
                    "name": "MONTH_YEAR_FORMAT"
                }
            ],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiNgSelectOptionDirective",
            "id": "directive-EuiNgSelectOptionDirective-b478b9e40774a321d4c8aeca764fc19dba63942b19a0a1ef63400208abb73966ac0ad133ea9ef9c4dc8b1f7fe9721a1b0cce6353daa275a02e2e87ec3d331efd",
            "file": "packages/components/eui-select/eui-select-option.directive.ts",
            "type": "directive",
            "description": "<p>Marks <code>&lt;option&gt;</code> as dynamic, so Angular can be notified when options change.\nSupports object values via ngValue and synchronizes with readonly mode.</p>\n<h3>With ngValue for objects</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;option euiOption [ngValue]=&quot;user&quot; [label]=&quot;user.name&quot;&gt;{{user.name}}&lt;/option&gt;</code></pre></div><h3>With selected state</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;option euiOption [selected]=&quot;isSelected&quot; [value]=&quot;id&quot;&gt;Label&lt;/option&gt;</code></pre></div><h3>Notes</h3>\n<ul>\n<li>Automatically applied to option elements within euiSelect</li>\n<li>Use ngValue for complex object binding</li>\n<li>Label property updates option text dynamically</li>\n</ul>\n<p>See <code>EuiSelectControlValueAccessor</code></p>\n",
            "rawdescription": "\n\nMarks `<option>` as dynamic, so Angular can be notified when options change.\nSupports object values via ngValue and synchronizes with readonly mode.\n\n### With ngValue for objects\n```html\n<option euiOption [ngValue]=\"user\" [label]=\"user.name\">{{user.name}}</option>\n```\n\n### With selected state\n```html\n<option euiOption [selected]=\"isSelected\" [value]=\"id\">Label</option>\n```\n\n### Notes\n- Automatically applied to option elements within euiSelect\n- Use ngValue for complex object binding\n- Label property updates option text dynamically\n\nSee `EuiSelectControlValueAccessor`\n\n",
            "sourceCode": "import {\n    AfterViewInit,\n    booleanAttribute,\n    Directive,\n    ElementRef,\n    Input,\n    OnChanges,\n    OnDestroy,\n    Renderer2,\n    SimpleChanges,\n    inject,\n} from '@angular/core';\nimport { NgSelectOption, SelectControlValueAccessor } from '@angular/forms';\nimport { EuiSelectControlValueAccessor } from './eui-select-control.directive';\nimport { EuiSelectComponent } from './eui-select.component';\n\n// eslint-disable-next-line prefer-arrow/prefer-arrow-functions, @typescript-eslint/no-explicit-any\nfunction _buildValueString(id: string, value: any): string {\n    if (id == null) {\n        return `${value}`;\n    }\n    if (value && typeof value === 'object') {\n        value = 'Object';\n    }\n    return `${id}: ${value}`.slice(0, 50);\n}\n\n/**\n * @description\n * Marks `<option>` as dynamic, so Angular can be notified when options change.\n * Supports object values via ngValue and synchronizes with readonly mode.\n *\n * @usageNotes\n * ### With ngValue for objects\n * ```html\n * <option euiOption [ngValue]=\"user\" [label]=\"user.name\">{{user.name}}</option>\n * ```\n *\n * ### With selected state\n * ```html\n * <option euiOption [selected]=\"isSelected\" [value]=\"id\">Label</option>\n * ```\n *\n * ### Notes\n * - Automatically applied to option elements within euiSelect\n * - Use ngValue for complex object binding\n * - Label property updates option text dynamically\n *\n * @see `EuiSelectControlValueAccessor`\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\n// TODO: remove that selector in eUI 17.x and replace it with `option[euiOption]` (this will be a breaking change)\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({ selector: 'option:not([eclSelectOption]):not([eclMultiselectOption]), option[euiOption]' })\nexport class EuiNgSelectOptionDirective extends NgSelectOption implements OnDestroy, OnChanges, AfterViewInit {\n    @Input({ transform: booleanAttribute }) selected: boolean;\n\n    @Input() label: string;\n\n    private readonly select: EuiSelectControlValueAccessor;\n    private readonly selectNative: SelectControlValueAccessor;\n    private readonly selectComponent: EuiSelectComponent;\n    private element: ElementRef<HTMLOptionElement>;\n    private renderer: Renderer2;\n\n    constructor() {\n        const _element = inject(ElementRef);\n        const _renderer = inject(Renderer2);\n        const _select = inject(EuiSelectControlValueAccessor, { optional: true, host: true })!;\n        const _selectNative = inject(SelectControlValueAccessor, { optional: true, host: true })!;\n        const _selectComponent = inject(EuiSelectComponent, { optional: true, host: true })!;\n\n        super(_element, _renderer, _select);\n        this.select = _select;\n        this.selectNative = _selectNative;\n        this.selectComponent = _selectComponent;\n        this.element = _element;\n        this.renderer = _renderer;\n    }\n\n    ngAfterViewInit(): void {\n        this.selectComponent?.syncReadOnlyValue();\n        if (this.selectNative && this.select && this.selectNative.value !== this.select.value) {\n            // TODO: This causes issues when options array change from N to 1 and the option 1 is set through setValue()\n            //       Investigate what are the regressions from the removal of this line. Issue is that the Native\n            //       control value accessor holds a mapper not in sync with the EuiSelectControlValueAccessor.\n            //\n            // this.selectNative.writeValue(this.select.value);\n        }\n    }\n\n    /**\n     * @description\n     * Tracks the value bound to the option element. Unlike the value binding,\n     * ngValue supports binding to objects.\n     */\n    @Input()\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    override set ngValue(value: any) {\n        if (this.select == null) return;\n        this.selectNative['_idCounter'] = this.select['_idCounter'];\n        this.select['_optionMap'].set(this.id, value);\n        this.selectNative['_optionMap'] = this.select['_optionMap']; //.set(this.id, value);\n        super['_setElementValue'](_buildValueString(this.id, value));\n        this.select.writeValue(this.select.value);\n        this.selectNative.writeValue(this.select.value);\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes.selected) {\n            /**\n             * in case there's a selected value, readonly attribute is true, sync it to the readonly input. The reason is\n             * that the readonly input is not aware of the selected value until the render of the view completes.\n             */\n            switch (this.selected) {\n                case true:\n                    this.renderer.setAttribute(this.element.nativeElement, 'selected', '');\n                    break;\n                default:\n                    this.renderer.removeAttribute(this.element.nativeElement, 'selected');\n            }\n            this.selectComponent?.syncReadOnlyValue();\n        }\n\n        if (changes.label) {\n            this.renderer.setProperty(this.element.nativeElement, 'innerText', changes.label.currentValue);\n            this.selectComponent?.syncReadOnlyValue();\n        }\n    }\n}\n",
            "selector": "option:not([eclSelectOption]):not([eclMultiselectOption]), option[euiOption]",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 61,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "ngValue",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3526,
                            "end": 3667,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3527,
                                "end": 3538,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Tracks the value bound to the option element. Unlike the value binding,\nngValue supports binding to objects.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nTracks the value bound to the option element. Unlike the value binding,\nngValue supports binding to objects.\n",
                    "description": "<p>Tracks the value bound to the option element. Unlike the value binding,\nngValue supports binding to objects.</p>\n",
                    "line": 103,
                    "type": "any",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "selected",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 59,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 84,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 113,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "extends": [
                "NgSelectOption"
            ],
            "implements": [
                "OnDestroy",
                "OnChanges",
                "AfterViewInit"
            ],
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 67
            },
            "accessors": {
                "ngValue": {
                    "name": "ngValue",
                    "setSignature": {
                        "name": "ngValue",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "any",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 103,
                        "rawdescription": "\n\nTracks the value bound to the option element. Unlike the value binding,\nngValue supports binding to objects.\n",
                        "description": "<p>Tracks the value bound to the option element. Unlike the value binding,\nngValue supports binding to objects.</p>\n",
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "any",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    }
                }
            }
        },
        {
            "name": "EuiPageColumnBodyContentDirective",
            "id": "directive-EuiPageColumnBodyContentDirective-812c957ed9abea4eb19edfd7a225ddbe5d31be705b6e4ee6fda34d5a6ab45dc7d4505d41915e91f142fb8ebd707042d26bf72556d850dbd9edf303d71575c78f",
            "file": "packages/components/eui-page/components/eui-page-column/eui-page-column.component.ts",
            "type": "directive",
            "description": "<p>Directive for projecting content into the main body area of the column.\nUsed to define the primary content section of the column.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-column-body&gt;\n  &lt;p&gt;Main column content goes here&lt;/p&gt;\n&lt;/eui-page-column-body&gt;</code></pre></div>",
            "rawdescription": "\n\nDirective for projecting content into the main body area of the column.\nUsed to define the primary content section of the column.\n\n```html\n<eui-page-column-body>\n  <p>Main column content goes here</p>\n</eui-page-column-body>\n```\n",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ViewEncapsulation,\n    Input,\n    Output,\n    OnInit,\n    Directive,\n    ContentChild,\n    forwardRef,\n    QueryList,\n    EventEmitter,\n    inject,\n    booleanAttribute,\n    OnDestroy,\n    ChangeDetectionStrategy,\n} from '@angular/core';\nimport { Subject, debounceTime, takeUntil } from 'rxjs';\nimport { EuiAppShellService } from '@eui/core';\nimport { EuiPageColumnsComponent } from '../eui-page-columns/eui-page-columns.component';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { CdkScrollable } from '@angular/cdk/scrolling';\n\n/**\n * @description\n * Individual column component for multi-column page layouts within eui-page-columns.\n * Provides collapsible sidebar functionality with automatic responsive behavior and custom content projection.\n * Supports header, body, and footer sections with flexible content areas and collapse/expand controls.\n * Automatically responds to container width changes and mobile breakpoints for adaptive layouts.\n * Must be used as a direct child of eui-page-columns to participate in column-based layouts.\n *\n * @usageNotes\n * ### Basic column\n * ```html\n * <eui-page-columns>\n *   <eui-page-column label=\"Sidebar\">\n *     <eui-page-column-body>Sidebar content</eui-page-column-body>\n *   </eui-page-column>\n *   <eui-page-column label=\"Main Content\">\n *     <eui-page-column-body>Main content</eui-page-column-body>\n *   </eui-page-column>\n * </eui-page-columns>\n * ```\n *\n * ### Collapsible column\n * ```html\n * <eui-page-column \n *   label=\"Navigation\" \n *   [isCollapsible]=\"true\" \n *   [isCollapsed]=\"false\"\n *   (collapse)=\"onSidebarToggle($event)\">\n *   <eui-page-column-body>\n *     <nav>Navigation items</nav>\n *   </eui-page-column-body>\n * </eui-page-column>\n * ```\n *\n * ### With custom header content\n * ```html\n * <eui-page-column label=\"Filters\">\n *   <eui-page-column-header-right-content>\n *     <button euiButton euiSecondary>Clear All</button>\n *   </eui-page-column-header-right-content>\n *   <eui-page-column-body>Filter options</eui-page-column-body>\n * </eui-page-column>\n * ```\n *\n * ### Accessibility\n * - Column headers use semantic heading structure for screen readers\n * - Collapse/expand buttons include proper aria-labels\n * - Keyboard navigation supported for collapse toggle\n * - Focus management maintained when toggling collapsed state\n *\n * ### Notes\n * - Must be direct child of eui-page-columns component\n * - Supports automatic collapse based on container width or mobile breakpoint\n * - Use content projection directives for custom header, body, and footer sections\n * - Collapse state can be controlled programmatically or by user interaction\n */\n@Component({\n    selector: 'eui-page-column',\n    templateUrl: './eui-page-column.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        NgTemplateOutlet,\n        CdkScrollable,\n        AsyncPipe,\n        ...EUI_ICON,\n        ...EUI_BUTTON,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSizeS',\n                'euiSizeM',\n                'euiSizeL',\n                'euiSizeXL',\n                'euiSize2XL',\n                'euiSize3XL',\n                'euiSize4XL',\n                'euiSize5XL',\n                'euiSize6XL',\n                'euiSizeVariant',\n                'euiHighlighted',\n            ],\n        },\n    ],\n})\nexport class EuiPageColumnComponent implements OnInit, OnDestroy {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            this.isCollapsed ? 'eui-page-column eui-page-column--collapsed' : this.baseStatesDirective.getCssClasses('eui-page-column'),\n            this.isCollapsedHidden && this.isCollapsed ? 'eui-page-column--collapsed-hidden' : '',\n            this.isCollapsedWithIcons ? 'eui-page-column__header--with-icons' : '',\n            this.isHighlighted ? 'eui-page-column--highlighted' : '',\n            this.isActive ? 'eui-page-column--active' : '',\n            this.hasSidebarMenu ? 'eui-page-column--has-sidebar-menu' : '',\n            this.isHeaderBodyShrinked ? 'eui-page-column__header--shrinked' : '',\n            this.hasPreventMobileRendering ? 'eui-page-column--prevent-mobile-rendering' : '',\n            this.hasSubColumns ? 'eui-page-column--has-sub-columns' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * Primary heading text displayed in the column header.\n     * Serves as the title for the column content.\n     */\n    @Input() label;\n    /**\n     * Secondary descriptive text displayed in the column header.\n     * Provides additional context about the column content.\n     */\n    @Input() subLabel;\n    /**\n     * Container width threshold in pixels for automatic column collapse.\n     * When parent container width falls below this value, column automatically collapses.\n     * Only effective when isAutocloseOnContainerResize is true.\n     * @default null\n     */\n    @Input() autocloseContainerWidth: number = null;\n    /**\n     * Accessible label for the expand button when column is collapsed.\n     * Automatically generated from label if not provided.\n     */\n    @Input() expandAriaLabel: string;\n    /**\n     * Accessible label for the collapse button when column is expanded.\n     * Automatically generated from label if not provided.\n     */\n    @Input() collapseAriaLabel: string;\n\n    /**\n     * Enables expand/collapse functionality for the column.\n     * Adds a toggle button to show or hide column content.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsible = false;\n    /**\n     * Controls the collapsed state of the column.\n     * When true, minimizes column width and hides content; when false, displays full column.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsed = false;\n    /**\n     * Completely hides the column when collapsed instead of showing a minimal collapsed state.\n     * Only effective when isCollapsed is true.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsedHidden = false;\n    /**\n     * Positions the collapse button on the right side of the column header.\n     * By default, collapse button appears on the left.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isRightCollapsible = false;\n    /**\n     * Applies highlighted visual styling to emphasize the column.\n     * Adds distinct background or border treatment.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHighlighted = false;\n    /**\n     * Displays icons in the collapsed column state for visual identification.\n     * Provides visual cues when column is minimized.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsedWithIcons = false;\n    /**\n     * Applies styling specific to columns containing sidebar navigation menus.\n     * Adjusts spacing and layout for menu-based columns.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasSidebarMenu = false;\n    /**\n     * Enables shrinkable behavior for the column header body section.\n     * Allows header to reduce in size based on scroll or content state.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasHeaderBodyShrinkable = false;\n    /**\n     * Enables automatic column collapse when parent container width changes.\n     * Works in conjunction with autocloseContainerWidth threshold.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isAutocloseOnContainerResize = false;\n    /**\n     * Automatically collapses the column when viewport enters mobile breakpoint.\n     * Provides responsive behavior for smaller screens.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isAutocloseOnMobile = false;\n    /**\n     * Indicates the column contains nested sub-columns.\n     * Applies appropriate styling for hierarchical column structures.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasSubColumns = false;\n\n    /**\n     * Emitted when the column's collapsed state changes via user interaction or automatic triggers.\n     * Payload: boolean indicating the new collapsed state (true when collapsed, false when expanded).\n     */\n    @Output() collapse = new EventEmitter();\n    /**\n     * Emitted when the column header's collapsed state changes.\n     * Payload: boolean indicating the header collapse state.\n     */\n    @Output() headerCollapse = new EventEmitter();\n    isActive = false;\n\n    isHeaderBodyShrinked = false;\n\n    hasPreventMobileRendering = false;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderBodyContentDirective))\n    customHeaderBodyContent: QueryList<EuiPageColumnHeaderBodyContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderLeftContentDirective))\n    customHeaderLeftContent: QueryList<EuiPageColumnHeaderLeftContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderRightContentDirective))\n    customHeaderRightContent: QueryList<EuiPageColumnHeaderRightContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderCollapsedContentDirective))\n    customHeaderCollapsedContent: QueryList<EuiPageColumnHeaderCollapsedContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnFooterContentDirective))\n    customFooterContent: QueryList<EuiPageColumnFooterContentDirective>;\n\n    currentOffset = 0;\n\n    previousOffset = 0;\n    treshHold = 50;\n    asService = inject(EuiAppShellService);\n    protected baseStatesDirective = inject(BaseStatesDirective);\n    private pageColumnsParent: EuiPageColumnsComponent = inject(EuiPageColumnsComponent, { host: true, optional: true })!;\n    private destroy$ = new Subject<boolean>();\n\n    ngOnInit(): void {\n        // this.baseStatesDirective.euiSizeS = false; // Bypass size default\n        if (this.pageColumnsParent && this.isAutocloseOnContainerResize && this.autocloseContainerWidth) {\n            this.pageColumnsParent.width.pipe(debounceTime(100), takeUntil(this.destroy$)).subscribe((parentWidth: number) => {\n                if (parentWidth <= this.autocloseContainerWidth) {\n                    this.isCollapsed = true;\n                    this.collapse.emit(this.isCollapsed);\n                }\n            });\n        }\n\n        if (this.pageColumnsParent && this.pageColumnsParent.hasPreventMobileRendering) {\n            this.hasPreventMobileRendering = this.pageColumnsParent.hasPreventMobileRendering;\n        }\n\n        if (this.isAutocloseOnMobile) {\n            this.asService.breakpoints$.pipe(takeUntil(this.destroy$)).subscribe((bkps) => {\n                if (bkps.isMobile) {\n                    this.isCollapsed = true;\n                }\n            });\n        }\n\n        this.expandAriaLabel = `Expand ${this.label}`;\n        this.collapseAriaLabel = `Collapse ${this.label}`;\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    public onToggle(): void {\n        this.isCollapsed = !this.isCollapsed;\n        this.collapse.emit(this.isCollapsed);\n    }\n}\n\n/**\n * @description\n * Directive for projecting custom content into the column header body area.\n * Used to add custom header content between left and right sections.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-body>\n *   <eui-search-bar placeholder=\"Search...\"></eui-search-bar>\n * </eui-page-column-header-body>\n * ```\n */\n/* eslint-disable */\n@Directive({ selector: 'eui-page-column-header-body' })\nexport class EuiPageColumnHeaderBodyContentDirective {}\n/**\n * @description\n * Directive for projecting custom content into the left side of the column header.\n * Used to add leading content or controls in the header.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-left-content>\n *   <eui-icon icon=\"filter\"></eui-icon>\n * </eui-page-column-header-left-content>\n * ```\n */\n@Directive({ selector: 'eui-page-column-header-left-content' })\nexport class EuiPageColumnHeaderLeftContentDirective {}\n/**\n * @description\n * Directive for projecting custom content into the right side of the column header.\n * Used to add trailing content or controls in the header.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-right-content>\n *   <button euiButton euiSecondary>Actions</button>\n * </eui-page-column-header-right-content>\n * ```\n */\n@Directive({ selector: 'eui-page-column-header-right-content' })\nexport class EuiPageColumnHeaderRightContentDirective {}\n/**\n * @description\n * Directive for projecting custom content displayed when the column is in collapsed state.\n * Used to show alternative content in the minimized column view.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-collapsed-content>\n *   <eui-icon icon=\"menu\"></eui-icon>\n * </eui-page-column-header-collapsed-content>\n * ```\n */\n@Directive({ selector: 'eui-page-column-header-collapsed-content' })\nexport class EuiPageColumnHeaderCollapsedContentDirective {}\n/**\n * @description\n * Directive for projecting content into the main body area of the column.\n * Used to define the primary content section of the column.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-body>\n *   <p>Main column content goes here</p>\n * </eui-page-column-body>\n * ```\n */\n@Directive({ selector: 'eui-page-column-body' })\nexport class EuiPageColumnBodyContentDirective {}\n/**\n * @description\n * Directive for projecting content into the footer area of the column.\n * Used to add footer content or actions at the bottom of the column.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-footer>\n *   <button euiButton euiPrimary>Apply Filters</button>\n * </eui-page-column-footer>\n * ```\n */\n@Directive({ selector: 'eui-page-column-footer' })\nexport class EuiPageColumnFooterContentDirective {}\n/* eslint-enable */\n",
            "selector": "eui-page-column-body",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiPageColumnFooterContentDirective",
            "id": "directive-EuiPageColumnFooterContentDirective-812c957ed9abea4eb19edfd7a225ddbe5d31be705b6e4ee6fda34d5a6ab45dc7d4505d41915e91f142fb8ebd707042d26bf72556d850dbd9edf303d71575c78f",
            "file": "packages/components/eui-page/components/eui-page-column/eui-page-column.component.ts",
            "type": "directive",
            "description": "<p>Directive for projecting content into the footer area of the column.\nUsed to add footer content or actions at the bottom of the column.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-column-footer&gt;\n  &lt;button euiButton euiPrimary&gt;Apply Filters&lt;/button&gt;\n&lt;/eui-page-column-footer&gt;</code></pre></div>",
            "rawdescription": "\n\nDirective for projecting content into the footer area of the column.\nUsed to add footer content or actions at the bottom of the column.\n\n```html\n<eui-page-column-footer>\n  <button euiButton euiPrimary>Apply Filters</button>\n</eui-page-column-footer>\n```\n",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ViewEncapsulation,\n    Input,\n    Output,\n    OnInit,\n    Directive,\n    ContentChild,\n    forwardRef,\n    QueryList,\n    EventEmitter,\n    inject,\n    booleanAttribute,\n    OnDestroy,\n    ChangeDetectionStrategy,\n} from '@angular/core';\nimport { Subject, debounceTime, takeUntil } from 'rxjs';\nimport { EuiAppShellService } from '@eui/core';\nimport { EuiPageColumnsComponent } from '../eui-page-columns/eui-page-columns.component';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { CdkScrollable } from '@angular/cdk/scrolling';\n\n/**\n * @description\n * Individual column component for multi-column page layouts within eui-page-columns.\n * Provides collapsible sidebar functionality with automatic responsive behavior and custom content projection.\n * Supports header, body, and footer sections with flexible content areas and collapse/expand controls.\n * Automatically responds to container width changes and mobile breakpoints for adaptive layouts.\n * Must be used as a direct child of eui-page-columns to participate in column-based layouts.\n *\n * @usageNotes\n * ### Basic column\n * ```html\n * <eui-page-columns>\n *   <eui-page-column label=\"Sidebar\">\n *     <eui-page-column-body>Sidebar content</eui-page-column-body>\n *   </eui-page-column>\n *   <eui-page-column label=\"Main Content\">\n *     <eui-page-column-body>Main content</eui-page-column-body>\n *   </eui-page-column>\n * </eui-page-columns>\n * ```\n *\n * ### Collapsible column\n * ```html\n * <eui-page-column \n *   label=\"Navigation\" \n *   [isCollapsible]=\"true\" \n *   [isCollapsed]=\"false\"\n *   (collapse)=\"onSidebarToggle($event)\">\n *   <eui-page-column-body>\n *     <nav>Navigation items</nav>\n *   </eui-page-column-body>\n * </eui-page-column>\n * ```\n *\n * ### With custom header content\n * ```html\n * <eui-page-column label=\"Filters\">\n *   <eui-page-column-header-right-content>\n *     <button euiButton euiSecondary>Clear All</button>\n *   </eui-page-column-header-right-content>\n *   <eui-page-column-body>Filter options</eui-page-column-body>\n * </eui-page-column>\n * ```\n *\n * ### Accessibility\n * - Column headers use semantic heading structure for screen readers\n * - Collapse/expand buttons include proper aria-labels\n * - Keyboard navigation supported for collapse toggle\n * - Focus management maintained when toggling collapsed state\n *\n * ### Notes\n * - Must be direct child of eui-page-columns component\n * - Supports automatic collapse based on container width or mobile breakpoint\n * - Use content projection directives for custom header, body, and footer sections\n * - Collapse state can be controlled programmatically or by user interaction\n */\n@Component({\n    selector: 'eui-page-column',\n    templateUrl: './eui-page-column.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        NgTemplateOutlet,\n        CdkScrollable,\n        AsyncPipe,\n        ...EUI_ICON,\n        ...EUI_BUTTON,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSizeS',\n                'euiSizeM',\n                'euiSizeL',\n                'euiSizeXL',\n                'euiSize2XL',\n                'euiSize3XL',\n                'euiSize4XL',\n                'euiSize5XL',\n                'euiSize6XL',\n                'euiSizeVariant',\n                'euiHighlighted',\n            ],\n        },\n    ],\n})\nexport class EuiPageColumnComponent implements OnInit, OnDestroy {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            this.isCollapsed ? 'eui-page-column eui-page-column--collapsed' : this.baseStatesDirective.getCssClasses('eui-page-column'),\n            this.isCollapsedHidden && this.isCollapsed ? 'eui-page-column--collapsed-hidden' : '',\n            this.isCollapsedWithIcons ? 'eui-page-column__header--with-icons' : '',\n            this.isHighlighted ? 'eui-page-column--highlighted' : '',\n            this.isActive ? 'eui-page-column--active' : '',\n            this.hasSidebarMenu ? 'eui-page-column--has-sidebar-menu' : '',\n            this.isHeaderBodyShrinked ? 'eui-page-column__header--shrinked' : '',\n            this.hasPreventMobileRendering ? 'eui-page-column--prevent-mobile-rendering' : '',\n            this.hasSubColumns ? 'eui-page-column--has-sub-columns' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * Primary heading text displayed in the column header.\n     * Serves as the title for the column content.\n     */\n    @Input() label;\n    /**\n     * Secondary descriptive text displayed in the column header.\n     * Provides additional context about the column content.\n     */\n    @Input() subLabel;\n    /**\n     * Container width threshold in pixels for automatic column collapse.\n     * When parent container width falls below this value, column automatically collapses.\n     * Only effective when isAutocloseOnContainerResize is true.\n     * @default null\n     */\n    @Input() autocloseContainerWidth: number = null;\n    /**\n     * Accessible label for the expand button when column is collapsed.\n     * Automatically generated from label if not provided.\n     */\n    @Input() expandAriaLabel: string;\n    /**\n     * Accessible label for the collapse button when column is expanded.\n     * Automatically generated from label if not provided.\n     */\n    @Input() collapseAriaLabel: string;\n\n    /**\n     * Enables expand/collapse functionality for the column.\n     * Adds a toggle button to show or hide column content.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsible = false;\n    /**\n     * Controls the collapsed state of the column.\n     * When true, minimizes column width and hides content; when false, displays full column.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsed = false;\n    /**\n     * Completely hides the column when collapsed instead of showing a minimal collapsed state.\n     * Only effective when isCollapsed is true.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsedHidden = false;\n    /**\n     * Positions the collapse button on the right side of the column header.\n     * By default, collapse button appears on the left.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isRightCollapsible = false;\n    /**\n     * Applies highlighted visual styling to emphasize the column.\n     * Adds distinct background or border treatment.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHighlighted = false;\n    /**\n     * Displays icons in the collapsed column state for visual identification.\n     * Provides visual cues when column is minimized.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsedWithIcons = false;\n    /**\n     * Applies styling specific to columns containing sidebar navigation menus.\n     * Adjusts spacing and layout for menu-based columns.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasSidebarMenu = false;\n    /**\n     * Enables shrinkable behavior for the column header body section.\n     * Allows header to reduce in size based on scroll or content state.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasHeaderBodyShrinkable = false;\n    /**\n     * Enables automatic column collapse when parent container width changes.\n     * Works in conjunction with autocloseContainerWidth threshold.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isAutocloseOnContainerResize = false;\n    /**\n     * Automatically collapses the column when viewport enters mobile breakpoint.\n     * Provides responsive behavior for smaller screens.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isAutocloseOnMobile = false;\n    /**\n     * Indicates the column contains nested sub-columns.\n     * Applies appropriate styling for hierarchical column structures.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasSubColumns = false;\n\n    /**\n     * Emitted when the column's collapsed state changes via user interaction or automatic triggers.\n     * Payload: boolean indicating the new collapsed state (true when collapsed, false when expanded).\n     */\n    @Output() collapse = new EventEmitter();\n    /**\n     * Emitted when the column header's collapsed state changes.\n     * Payload: boolean indicating the header collapse state.\n     */\n    @Output() headerCollapse = new EventEmitter();\n    isActive = false;\n\n    isHeaderBodyShrinked = false;\n\n    hasPreventMobileRendering = false;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderBodyContentDirective))\n    customHeaderBodyContent: QueryList<EuiPageColumnHeaderBodyContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderLeftContentDirective))\n    customHeaderLeftContent: QueryList<EuiPageColumnHeaderLeftContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderRightContentDirective))\n    customHeaderRightContent: QueryList<EuiPageColumnHeaderRightContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderCollapsedContentDirective))\n    customHeaderCollapsedContent: QueryList<EuiPageColumnHeaderCollapsedContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnFooterContentDirective))\n    customFooterContent: QueryList<EuiPageColumnFooterContentDirective>;\n\n    currentOffset = 0;\n\n    previousOffset = 0;\n    treshHold = 50;\n    asService = inject(EuiAppShellService);\n    protected baseStatesDirective = inject(BaseStatesDirective);\n    private pageColumnsParent: EuiPageColumnsComponent = inject(EuiPageColumnsComponent, { host: true, optional: true })!;\n    private destroy$ = new Subject<boolean>();\n\n    ngOnInit(): void {\n        // this.baseStatesDirective.euiSizeS = false; // Bypass size default\n        if (this.pageColumnsParent && this.isAutocloseOnContainerResize && this.autocloseContainerWidth) {\n            this.pageColumnsParent.width.pipe(debounceTime(100), takeUntil(this.destroy$)).subscribe((parentWidth: number) => {\n                if (parentWidth <= this.autocloseContainerWidth) {\n                    this.isCollapsed = true;\n                    this.collapse.emit(this.isCollapsed);\n                }\n            });\n        }\n\n        if (this.pageColumnsParent && this.pageColumnsParent.hasPreventMobileRendering) {\n            this.hasPreventMobileRendering = this.pageColumnsParent.hasPreventMobileRendering;\n        }\n\n        if (this.isAutocloseOnMobile) {\n            this.asService.breakpoints$.pipe(takeUntil(this.destroy$)).subscribe((bkps) => {\n                if (bkps.isMobile) {\n                    this.isCollapsed = true;\n                }\n            });\n        }\n\n        this.expandAriaLabel = `Expand ${this.label}`;\n        this.collapseAriaLabel = `Collapse ${this.label}`;\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    public onToggle(): void {\n        this.isCollapsed = !this.isCollapsed;\n        this.collapse.emit(this.isCollapsed);\n    }\n}\n\n/**\n * @description\n * Directive for projecting custom content into the column header body area.\n * Used to add custom header content between left and right sections.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-body>\n *   <eui-search-bar placeholder=\"Search...\"></eui-search-bar>\n * </eui-page-column-header-body>\n * ```\n */\n/* eslint-disable */\n@Directive({ selector: 'eui-page-column-header-body' })\nexport class EuiPageColumnHeaderBodyContentDirective {}\n/**\n * @description\n * Directive for projecting custom content into the left side of the column header.\n * Used to add leading content or controls in the header.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-left-content>\n *   <eui-icon icon=\"filter\"></eui-icon>\n * </eui-page-column-header-left-content>\n * ```\n */\n@Directive({ selector: 'eui-page-column-header-left-content' })\nexport class EuiPageColumnHeaderLeftContentDirective {}\n/**\n * @description\n * Directive for projecting custom content into the right side of the column header.\n * Used to add trailing content or controls in the header.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-right-content>\n *   <button euiButton euiSecondary>Actions</button>\n * </eui-page-column-header-right-content>\n * ```\n */\n@Directive({ selector: 'eui-page-column-header-right-content' })\nexport class EuiPageColumnHeaderRightContentDirective {}\n/**\n * @description\n * Directive for projecting custom content displayed when the column is in collapsed state.\n * Used to show alternative content in the minimized column view.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-collapsed-content>\n *   <eui-icon icon=\"menu\"></eui-icon>\n * </eui-page-column-header-collapsed-content>\n * ```\n */\n@Directive({ selector: 'eui-page-column-header-collapsed-content' })\nexport class EuiPageColumnHeaderCollapsedContentDirective {}\n/**\n * @description\n * Directive for projecting content into the main body area of the column.\n * Used to define the primary content section of the column.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-body>\n *   <p>Main column content goes here</p>\n * </eui-page-column-body>\n * ```\n */\n@Directive({ selector: 'eui-page-column-body' })\nexport class EuiPageColumnBodyContentDirective {}\n/**\n * @description\n * Directive for projecting content into the footer area of the column.\n * Used to add footer content or actions at the bottom of the column.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-footer>\n *   <button euiButton euiPrimary>Apply Filters</button>\n * </eui-page-column-footer>\n * ```\n */\n@Directive({ selector: 'eui-page-column-footer' })\nexport class EuiPageColumnFooterContentDirective {}\n/* eslint-enable */\n",
            "selector": "eui-page-column-footer",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiPageColumnHeaderBodyContentDirective",
            "id": "directive-EuiPageColumnHeaderBodyContentDirective-812c957ed9abea4eb19edfd7a225ddbe5d31be705b6e4ee6fda34d5a6ab45dc7d4505d41915e91f142fb8ebd707042d26bf72556d850dbd9edf303d71575c78f",
            "file": "packages/components/eui-page/components/eui-page-column/eui-page-column.component.ts",
            "type": "directive",
            "description": "<p>Directive for projecting custom content into the column header body area.\nUsed to add custom header content between left and right sections.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-column-header-body&gt;\n  &lt;eui-search-bar placeholder=&quot;Search...&quot;&gt;&lt;/eui-search-bar&gt;\n&lt;/eui-page-column-header-body&gt;</code></pre></div>",
            "rawdescription": "\n\nDirective for projecting custom content into the column header body area.\nUsed to add custom header content between left and right sections.\n\n```html\n<eui-page-column-header-body>\n  <eui-search-bar placeholder=\"Search...\"></eui-search-bar>\n</eui-page-column-header-body>\n```\n",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ViewEncapsulation,\n    Input,\n    Output,\n    OnInit,\n    Directive,\n    ContentChild,\n    forwardRef,\n    QueryList,\n    EventEmitter,\n    inject,\n    booleanAttribute,\n    OnDestroy,\n    ChangeDetectionStrategy,\n} from '@angular/core';\nimport { Subject, debounceTime, takeUntil } from 'rxjs';\nimport { EuiAppShellService } from '@eui/core';\nimport { EuiPageColumnsComponent } from '../eui-page-columns/eui-page-columns.component';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { CdkScrollable } from '@angular/cdk/scrolling';\n\n/**\n * @description\n * Individual column component for multi-column page layouts within eui-page-columns.\n * Provides collapsible sidebar functionality with automatic responsive behavior and custom content projection.\n * Supports header, body, and footer sections with flexible content areas and collapse/expand controls.\n * Automatically responds to container width changes and mobile breakpoints for adaptive layouts.\n * Must be used as a direct child of eui-page-columns to participate in column-based layouts.\n *\n * @usageNotes\n * ### Basic column\n * ```html\n * <eui-page-columns>\n *   <eui-page-column label=\"Sidebar\">\n *     <eui-page-column-body>Sidebar content</eui-page-column-body>\n *   </eui-page-column>\n *   <eui-page-column label=\"Main Content\">\n *     <eui-page-column-body>Main content</eui-page-column-body>\n *   </eui-page-column>\n * </eui-page-columns>\n * ```\n *\n * ### Collapsible column\n * ```html\n * <eui-page-column \n *   label=\"Navigation\" \n *   [isCollapsible]=\"true\" \n *   [isCollapsed]=\"false\"\n *   (collapse)=\"onSidebarToggle($event)\">\n *   <eui-page-column-body>\n *     <nav>Navigation items</nav>\n *   </eui-page-column-body>\n * </eui-page-column>\n * ```\n *\n * ### With custom header content\n * ```html\n * <eui-page-column label=\"Filters\">\n *   <eui-page-column-header-right-content>\n *     <button euiButton euiSecondary>Clear All</button>\n *   </eui-page-column-header-right-content>\n *   <eui-page-column-body>Filter options</eui-page-column-body>\n * </eui-page-column>\n * ```\n *\n * ### Accessibility\n * - Column headers use semantic heading structure for screen readers\n * - Collapse/expand buttons include proper aria-labels\n * - Keyboard navigation supported for collapse toggle\n * - Focus management maintained when toggling collapsed state\n *\n * ### Notes\n * - Must be direct child of eui-page-columns component\n * - Supports automatic collapse based on container width or mobile breakpoint\n * - Use content projection directives for custom header, body, and footer sections\n * - Collapse state can be controlled programmatically or by user interaction\n */\n@Component({\n    selector: 'eui-page-column',\n    templateUrl: './eui-page-column.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        NgTemplateOutlet,\n        CdkScrollable,\n        AsyncPipe,\n        ...EUI_ICON,\n        ...EUI_BUTTON,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSizeS',\n                'euiSizeM',\n                'euiSizeL',\n                'euiSizeXL',\n                'euiSize2XL',\n                'euiSize3XL',\n                'euiSize4XL',\n                'euiSize5XL',\n                'euiSize6XL',\n                'euiSizeVariant',\n                'euiHighlighted',\n            ],\n        },\n    ],\n})\nexport class EuiPageColumnComponent implements OnInit, OnDestroy {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            this.isCollapsed ? 'eui-page-column eui-page-column--collapsed' : this.baseStatesDirective.getCssClasses('eui-page-column'),\n            this.isCollapsedHidden && this.isCollapsed ? 'eui-page-column--collapsed-hidden' : '',\n            this.isCollapsedWithIcons ? 'eui-page-column__header--with-icons' : '',\n            this.isHighlighted ? 'eui-page-column--highlighted' : '',\n            this.isActive ? 'eui-page-column--active' : '',\n            this.hasSidebarMenu ? 'eui-page-column--has-sidebar-menu' : '',\n            this.isHeaderBodyShrinked ? 'eui-page-column__header--shrinked' : '',\n            this.hasPreventMobileRendering ? 'eui-page-column--prevent-mobile-rendering' : '',\n            this.hasSubColumns ? 'eui-page-column--has-sub-columns' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * Primary heading text displayed in the column header.\n     * Serves as the title for the column content.\n     */\n    @Input() label;\n    /**\n     * Secondary descriptive text displayed in the column header.\n     * Provides additional context about the column content.\n     */\n    @Input() subLabel;\n    /**\n     * Container width threshold in pixels for automatic column collapse.\n     * When parent container width falls below this value, column automatically collapses.\n     * Only effective when isAutocloseOnContainerResize is true.\n     * @default null\n     */\n    @Input() autocloseContainerWidth: number = null;\n    /**\n     * Accessible label for the expand button when column is collapsed.\n     * Automatically generated from label if not provided.\n     */\n    @Input() expandAriaLabel: string;\n    /**\n     * Accessible label for the collapse button when column is expanded.\n     * Automatically generated from label if not provided.\n     */\n    @Input() collapseAriaLabel: string;\n\n    /**\n     * Enables expand/collapse functionality for the column.\n     * Adds a toggle button to show or hide column content.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsible = false;\n    /**\n     * Controls the collapsed state of the column.\n     * When true, minimizes column width and hides content; when false, displays full column.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsed = false;\n    /**\n     * Completely hides the column when collapsed instead of showing a minimal collapsed state.\n     * Only effective when isCollapsed is true.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsedHidden = false;\n    /**\n     * Positions the collapse button on the right side of the column header.\n     * By default, collapse button appears on the left.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isRightCollapsible = false;\n    /**\n     * Applies highlighted visual styling to emphasize the column.\n     * Adds distinct background or border treatment.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHighlighted = false;\n    /**\n     * Displays icons in the collapsed column state for visual identification.\n     * Provides visual cues when column is minimized.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsedWithIcons = false;\n    /**\n     * Applies styling specific to columns containing sidebar navigation menus.\n     * Adjusts spacing and layout for menu-based columns.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasSidebarMenu = false;\n    /**\n     * Enables shrinkable behavior for the column header body section.\n     * Allows header to reduce in size based on scroll or content state.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasHeaderBodyShrinkable = false;\n    /**\n     * Enables automatic column collapse when parent container width changes.\n     * Works in conjunction with autocloseContainerWidth threshold.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isAutocloseOnContainerResize = false;\n    /**\n     * Automatically collapses the column when viewport enters mobile breakpoint.\n     * Provides responsive behavior for smaller screens.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isAutocloseOnMobile = false;\n    /**\n     * Indicates the column contains nested sub-columns.\n     * Applies appropriate styling for hierarchical column structures.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasSubColumns = false;\n\n    /**\n     * Emitted when the column's collapsed state changes via user interaction or automatic triggers.\n     * Payload: boolean indicating the new collapsed state (true when collapsed, false when expanded).\n     */\n    @Output() collapse = new EventEmitter();\n    /**\n     * Emitted when the column header's collapsed state changes.\n     * Payload: boolean indicating the header collapse state.\n     */\n    @Output() headerCollapse = new EventEmitter();\n    isActive = false;\n\n    isHeaderBodyShrinked = false;\n\n    hasPreventMobileRendering = false;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderBodyContentDirective))\n    customHeaderBodyContent: QueryList<EuiPageColumnHeaderBodyContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderLeftContentDirective))\n    customHeaderLeftContent: QueryList<EuiPageColumnHeaderLeftContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderRightContentDirective))\n    customHeaderRightContent: QueryList<EuiPageColumnHeaderRightContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderCollapsedContentDirective))\n    customHeaderCollapsedContent: QueryList<EuiPageColumnHeaderCollapsedContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnFooterContentDirective))\n    customFooterContent: QueryList<EuiPageColumnFooterContentDirective>;\n\n    currentOffset = 0;\n\n    previousOffset = 0;\n    treshHold = 50;\n    asService = inject(EuiAppShellService);\n    protected baseStatesDirective = inject(BaseStatesDirective);\n    private pageColumnsParent: EuiPageColumnsComponent = inject(EuiPageColumnsComponent, { host: true, optional: true })!;\n    private destroy$ = new Subject<boolean>();\n\n    ngOnInit(): void {\n        // this.baseStatesDirective.euiSizeS = false; // Bypass size default\n        if (this.pageColumnsParent && this.isAutocloseOnContainerResize && this.autocloseContainerWidth) {\n            this.pageColumnsParent.width.pipe(debounceTime(100), takeUntil(this.destroy$)).subscribe((parentWidth: number) => {\n                if (parentWidth <= this.autocloseContainerWidth) {\n                    this.isCollapsed = true;\n                    this.collapse.emit(this.isCollapsed);\n                }\n            });\n        }\n\n        if (this.pageColumnsParent && this.pageColumnsParent.hasPreventMobileRendering) {\n            this.hasPreventMobileRendering = this.pageColumnsParent.hasPreventMobileRendering;\n        }\n\n        if (this.isAutocloseOnMobile) {\n            this.asService.breakpoints$.pipe(takeUntil(this.destroy$)).subscribe((bkps) => {\n                if (bkps.isMobile) {\n                    this.isCollapsed = true;\n                }\n            });\n        }\n\n        this.expandAriaLabel = `Expand ${this.label}`;\n        this.collapseAriaLabel = `Collapse ${this.label}`;\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    public onToggle(): void {\n        this.isCollapsed = !this.isCollapsed;\n        this.collapse.emit(this.isCollapsed);\n    }\n}\n\n/**\n * @description\n * Directive for projecting custom content into the column header body area.\n * Used to add custom header content between left and right sections.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-body>\n *   <eui-search-bar placeholder=\"Search...\"></eui-search-bar>\n * </eui-page-column-header-body>\n * ```\n */\n/* eslint-disable */\n@Directive({ selector: 'eui-page-column-header-body' })\nexport class EuiPageColumnHeaderBodyContentDirective {}\n/**\n * @description\n * Directive for projecting custom content into the left side of the column header.\n * Used to add leading content or controls in the header.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-left-content>\n *   <eui-icon icon=\"filter\"></eui-icon>\n * </eui-page-column-header-left-content>\n * ```\n */\n@Directive({ selector: 'eui-page-column-header-left-content' })\nexport class EuiPageColumnHeaderLeftContentDirective {}\n/**\n * @description\n * Directive for projecting custom content into the right side of the column header.\n * Used to add trailing content or controls in the header.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-right-content>\n *   <button euiButton euiSecondary>Actions</button>\n * </eui-page-column-header-right-content>\n * ```\n */\n@Directive({ selector: 'eui-page-column-header-right-content' })\nexport class EuiPageColumnHeaderRightContentDirective {}\n/**\n * @description\n * Directive for projecting custom content displayed when the column is in collapsed state.\n * Used to show alternative content in the minimized column view.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-collapsed-content>\n *   <eui-icon icon=\"menu\"></eui-icon>\n * </eui-page-column-header-collapsed-content>\n * ```\n */\n@Directive({ selector: 'eui-page-column-header-collapsed-content' })\nexport class EuiPageColumnHeaderCollapsedContentDirective {}\n/**\n * @description\n * Directive for projecting content into the main body area of the column.\n * Used to define the primary content section of the column.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-body>\n *   <p>Main column content goes here</p>\n * </eui-page-column-body>\n * ```\n */\n@Directive({ selector: 'eui-page-column-body' })\nexport class EuiPageColumnBodyContentDirective {}\n/**\n * @description\n * Directive for projecting content into the footer area of the column.\n * Used to add footer content or actions at the bottom of the column.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-footer>\n *   <button euiButton euiPrimary>Apply Filters</button>\n * </eui-page-column-footer>\n * ```\n */\n@Directive({ selector: 'eui-page-column-footer' })\nexport class EuiPageColumnFooterContentDirective {}\n/* eslint-enable */\n",
            "selector": "eui-page-column-header-body",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiPageColumnHeaderCollapsedContentDirective",
            "id": "directive-EuiPageColumnHeaderCollapsedContentDirective-812c957ed9abea4eb19edfd7a225ddbe5d31be705b6e4ee6fda34d5a6ab45dc7d4505d41915e91f142fb8ebd707042d26bf72556d850dbd9edf303d71575c78f",
            "file": "packages/components/eui-page/components/eui-page-column/eui-page-column.component.ts",
            "type": "directive",
            "description": "<p>Directive for projecting custom content displayed when the column is in collapsed state.\nUsed to show alternative content in the minimized column view.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-column-header-collapsed-content&gt;\n  &lt;eui-icon icon=&quot;menu&quot;&gt;&lt;/eui-icon&gt;\n&lt;/eui-page-column-header-collapsed-content&gt;</code></pre></div>",
            "rawdescription": "\n\nDirective for projecting custom content displayed when the column is in collapsed state.\nUsed to show alternative content in the minimized column view.\n\n```html\n<eui-page-column-header-collapsed-content>\n  <eui-icon icon=\"menu\"></eui-icon>\n</eui-page-column-header-collapsed-content>\n```\n",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ViewEncapsulation,\n    Input,\n    Output,\n    OnInit,\n    Directive,\n    ContentChild,\n    forwardRef,\n    QueryList,\n    EventEmitter,\n    inject,\n    booleanAttribute,\n    OnDestroy,\n    ChangeDetectionStrategy,\n} from '@angular/core';\nimport { Subject, debounceTime, takeUntil } from 'rxjs';\nimport { EuiAppShellService } from '@eui/core';\nimport { EuiPageColumnsComponent } from '../eui-page-columns/eui-page-columns.component';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { CdkScrollable } from '@angular/cdk/scrolling';\n\n/**\n * @description\n * Individual column component for multi-column page layouts within eui-page-columns.\n * Provides collapsible sidebar functionality with automatic responsive behavior and custom content projection.\n * Supports header, body, and footer sections with flexible content areas and collapse/expand controls.\n * Automatically responds to container width changes and mobile breakpoints for adaptive layouts.\n * Must be used as a direct child of eui-page-columns to participate in column-based layouts.\n *\n * @usageNotes\n * ### Basic column\n * ```html\n * <eui-page-columns>\n *   <eui-page-column label=\"Sidebar\">\n *     <eui-page-column-body>Sidebar content</eui-page-column-body>\n *   </eui-page-column>\n *   <eui-page-column label=\"Main Content\">\n *     <eui-page-column-body>Main content</eui-page-column-body>\n *   </eui-page-column>\n * </eui-page-columns>\n * ```\n *\n * ### Collapsible column\n * ```html\n * <eui-page-column \n *   label=\"Navigation\" \n *   [isCollapsible]=\"true\" \n *   [isCollapsed]=\"false\"\n *   (collapse)=\"onSidebarToggle($event)\">\n *   <eui-page-column-body>\n *     <nav>Navigation items</nav>\n *   </eui-page-column-body>\n * </eui-page-column>\n * ```\n *\n * ### With custom header content\n * ```html\n * <eui-page-column label=\"Filters\">\n *   <eui-page-column-header-right-content>\n *     <button euiButton euiSecondary>Clear All</button>\n *   </eui-page-column-header-right-content>\n *   <eui-page-column-body>Filter options</eui-page-column-body>\n * </eui-page-column>\n * ```\n *\n * ### Accessibility\n * - Column headers use semantic heading structure for screen readers\n * - Collapse/expand buttons include proper aria-labels\n * - Keyboard navigation supported for collapse toggle\n * - Focus management maintained when toggling collapsed state\n *\n * ### Notes\n * - Must be direct child of eui-page-columns component\n * - Supports automatic collapse based on container width or mobile breakpoint\n * - Use content projection directives for custom header, body, and footer sections\n * - Collapse state can be controlled programmatically or by user interaction\n */\n@Component({\n    selector: 'eui-page-column',\n    templateUrl: './eui-page-column.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        NgTemplateOutlet,\n        CdkScrollable,\n        AsyncPipe,\n        ...EUI_ICON,\n        ...EUI_BUTTON,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSizeS',\n                'euiSizeM',\n                'euiSizeL',\n                'euiSizeXL',\n                'euiSize2XL',\n                'euiSize3XL',\n                'euiSize4XL',\n                'euiSize5XL',\n                'euiSize6XL',\n                'euiSizeVariant',\n                'euiHighlighted',\n            ],\n        },\n    ],\n})\nexport class EuiPageColumnComponent implements OnInit, OnDestroy {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            this.isCollapsed ? 'eui-page-column eui-page-column--collapsed' : this.baseStatesDirective.getCssClasses('eui-page-column'),\n            this.isCollapsedHidden && this.isCollapsed ? 'eui-page-column--collapsed-hidden' : '',\n            this.isCollapsedWithIcons ? 'eui-page-column__header--with-icons' : '',\n            this.isHighlighted ? 'eui-page-column--highlighted' : '',\n            this.isActive ? 'eui-page-column--active' : '',\n            this.hasSidebarMenu ? 'eui-page-column--has-sidebar-menu' : '',\n            this.isHeaderBodyShrinked ? 'eui-page-column__header--shrinked' : '',\n            this.hasPreventMobileRendering ? 'eui-page-column--prevent-mobile-rendering' : '',\n            this.hasSubColumns ? 'eui-page-column--has-sub-columns' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * Primary heading text displayed in the column header.\n     * Serves as the title for the column content.\n     */\n    @Input() label;\n    /**\n     * Secondary descriptive text displayed in the column header.\n     * Provides additional context about the column content.\n     */\n    @Input() subLabel;\n    /**\n     * Container width threshold in pixels for automatic column collapse.\n     * When parent container width falls below this value, column automatically collapses.\n     * Only effective when isAutocloseOnContainerResize is true.\n     * @default null\n     */\n    @Input() autocloseContainerWidth: number = null;\n    /**\n     * Accessible label for the expand button when column is collapsed.\n     * Automatically generated from label if not provided.\n     */\n    @Input() expandAriaLabel: string;\n    /**\n     * Accessible label for the collapse button when column is expanded.\n     * Automatically generated from label if not provided.\n     */\n    @Input() collapseAriaLabel: string;\n\n    /**\n     * Enables expand/collapse functionality for the column.\n     * Adds a toggle button to show or hide column content.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsible = false;\n    /**\n     * Controls the collapsed state of the column.\n     * When true, minimizes column width and hides content; when false, displays full column.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsed = false;\n    /**\n     * Completely hides the column when collapsed instead of showing a minimal collapsed state.\n     * Only effective when isCollapsed is true.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsedHidden = false;\n    /**\n     * Positions the collapse button on the right side of the column header.\n     * By default, collapse button appears on the left.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isRightCollapsible = false;\n    /**\n     * Applies highlighted visual styling to emphasize the column.\n     * Adds distinct background or border treatment.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHighlighted = false;\n    /**\n     * Displays icons in the collapsed column state for visual identification.\n     * Provides visual cues when column is minimized.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsedWithIcons = false;\n    /**\n     * Applies styling specific to columns containing sidebar navigation menus.\n     * Adjusts spacing and layout for menu-based columns.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasSidebarMenu = false;\n    /**\n     * Enables shrinkable behavior for the column header body section.\n     * Allows header to reduce in size based on scroll or content state.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasHeaderBodyShrinkable = false;\n    /**\n     * Enables automatic column collapse when parent container width changes.\n     * Works in conjunction with autocloseContainerWidth threshold.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isAutocloseOnContainerResize = false;\n    /**\n     * Automatically collapses the column when viewport enters mobile breakpoint.\n     * Provides responsive behavior for smaller screens.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isAutocloseOnMobile = false;\n    /**\n     * Indicates the column contains nested sub-columns.\n     * Applies appropriate styling for hierarchical column structures.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasSubColumns = false;\n\n    /**\n     * Emitted when the column's collapsed state changes via user interaction or automatic triggers.\n     * Payload: boolean indicating the new collapsed state (true when collapsed, false when expanded).\n     */\n    @Output() collapse = new EventEmitter();\n    /**\n     * Emitted when the column header's collapsed state changes.\n     * Payload: boolean indicating the header collapse state.\n     */\n    @Output() headerCollapse = new EventEmitter();\n    isActive = false;\n\n    isHeaderBodyShrinked = false;\n\n    hasPreventMobileRendering = false;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderBodyContentDirective))\n    customHeaderBodyContent: QueryList<EuiPageColumnHeaderBodyContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderLeftContentDirective))\n    customHeaderLeftContent: QueryList<EuiPageColumnHeaderLeftContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderRightContentDirective))\n    customHeaderRightContent: QueryList<EuiPageColumnHeaderRightContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderCollapsedContentDirective))\n    customHeaderCollapsedContent: QueryList<EuiPageColumnHeaderCollapsedContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnFooterContentDirective))\n    customFooterContent: QueryList<EuiPageColumnFooterContentDirective>;\n\n    currentOffset = 0;\n\n    previousOffset = 0;\n    treshHold = 50;\n    asService = inject(EuiAppShellService);\n    protected baseStatesDirective = inject(BaseStatesDirective);\n    private pageColumnsParent: EuiPageColumnsComponent = inject(EuiPageColumnsComponent, { host: true, optional: true })!;\n    private destroy$ = new Subject<boolean>();\n\n    ngOnInit(): void {\n        // this.baseStatesDirective.euiSizeS = false; // Bypass size default\n        if (this.pageColumnsParent && this.isAutocloseOnContainerResize && this.autocloseContainerWidth) {\n            this.pageColumnsParent.width.pipe(debounceTime(100), takeUntil(this.destroy$)).subscribe((parentWidth: number) => {\n                if (parentWidth <= this.autocloseContainerWidth) {\n                    this.isCollapsed = true;\n                    this.collapse.emit(this.isCollapsed);\n                }\n            });\n        }\n\n        if (this.pageColumnsParent && this.pageColumnsParent.hasPreventMobileRendering) {\n            this.hasPreventMobileRendering = this.pageColumnsParent.hasPreventMobileRendering;\n        }\n\n        if (this.isAutocloseOnMobile) {\n            this.asService.breakpoints$.pipe(takeUntil(this.destroy$)).subscribe((bkps) => {\n                if (bkps.isMobile) {\n                    this.isCollapsed = true;\n                }\n            });\n        }\n\n        this.expandAriaLabel = `Expand ${this.label}`;\n        this.collapseAriaLabel = `Collapse ${this.label}`;\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    public onToggle(): void {\n        this.isCollapsed = !this.isCollapsed;\n        this.collapse.emit(this.isCollapsed);\n    }\n}\n\n/**\n * @description\n * Directive for projecting custom content into the column header body area.\n * Used to add custom header content between left and right sections.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-body>\n *   <eui-search-bar placeholder=\"Search...\"></eui-search-bar>\n * </eui-page-column-header-body>\n * ```\n */\n/* eslint-disable */\n@Directive({ selector: 'eui-page-column-header-body' })\nexport class EuiPageColumnHeaderBodyContentDirective {}\n/**\n * @description\n * Directive for projecting custom content into the left side of the column header.\n * Used to add leading content or controls in the header.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-left-content>\n *   <eui-icon icon=\"filter\"></eui-icon>\n * </eui-page-column-header-left-content>\n * ```\n */\n@Directive({ selector: 'eui-page-column-header-left-content' })\nexport class EuiPageColumnHeaderLeftContentDirective {}\n/**\n * @description\n * Directive for projecting custom content into the right side of the column header.\n * Used to add trailing content or controls in the header.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-right-content>\n *   <button euiButton euiSecondary>Actions</button>\n * </eui-page-column-header-right-content>\n * ```\n */\n@Directive({ selector: 'eui-page-column-header-right-content' })\nexport class EuiPageColumnHeaderRightContentDirective {}\n/**\n * @description\n * Directive for projecting custom content displayed when the column is in collapsed state.\n * Used to show alternative content in the minimized column view.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-collapsed-content>\n *   <eui-icon icon=\"menu\"></eui-icon>\n * </eui-page-column-header-collapsed-content>\n * ```\n */\n@Directive({ selector: 'eui-page-column-header-collapsed-content' })\nexport class EuiPageColumnHeaderCollapsedContentDirective {}\n/**\n * @description\n * Directive for projecting content into the main body area of the column.\n * Used to define the primary content section of the column.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-body>\n *   <p>Main column content goes here</p>\n * </eui-page-column-body>\n * ```\n */\n@Directive({ selector: 'eui-page-column-body' })\nexport class EuiPageColumnBodyContentDirective {}\n/**\n * @description\n * Directive for projecting content into the footer area of the column.\n * Used to add footer content or actions at the bottom of the column.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-footer>\n *   <button euiButton euiPrimary>Apply Filters</button>\n * </eui-page-column-footer>\n * ```\n */\n@Directive({ selector: 'eui-page-column-footer' })\nexport class EuiPageColumnFooterContentDirective {}\n/* eslint-enable */\n",
            "selector": "eui-page-column-header-collapsed-content",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiPageColumnHeaderLeftContentDirective",
            "id": "directive-EuiPageColumnHeaderLeftContentDirective-812c957ed9abea4eb19edfd7a225ddbe5d31be705b6e4ee6fda34d5a6ab45dc7d4505d41915e91f142fb8ebd707042d26bf72556d850dbd9edf303d71575c78f",
            "file": "packages/components/eui-page/components/eui-page-column/eui-page-column.component.ts",
            "type": "directive",
            "description": "<p>Directive for projecting custom content into the left side of the column header.\nUsed to add leading content or controls in the header.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-column-header-left-content&gt;\n  &lt;eui-icon icon=&quot;filter&quot;&gt;&lt;/eui-icon&gt;\n&lt;/eui-page-column-header-left-content&gt;</code></pre></div>",
            "rawdescription": "\n\nDirective for projecting custom content into the left side of the column header.\nUsed to add leading content or controls in the header.\n\n```html\n<eui-page-column-header-left-content>\n  <eui-icon icon=\"filter\"></eui-icon>\n</eui-page-column-header-left-content>\n```\n",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ViewEncapsulation,\n    Input,\n    Output,\n    OnInit,\n    Directive,\n    ContentChild,\n    forwardRef,\n    QueryList,\n    EventEmitter,\n    inject,\n    booleanAttribute,\n    OnDestroy,\n    ChangeDetectionStrategy,\n} from '@angular/core';\nimport { Subject, debounceTime, takeUntil } from 'rxjs';\nimport { EuiAppShellService } from '@eui/core';\nimport { EuiPageColumnsComponent } from '../eui-page-columns/eui-page-columns.component';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { CdkScrollable } from '@angular/cdk/scrolling';\n\n/**\n * @description\n * Individual column component for multi-column page layouts within eui-page-columns.\n * Provides collapsible sidebar functionality with automatic responsive behavior and custom content projection.\n * Supports header, body, and footer sections with flexible content areas and collapse/expand controls.\n * Automatically responds to container width changes and mobile breakpoints for adaptive layouts.\n * Must be used as a direct child of eui-page-columns to participate in column-based layouts.\n *\n * @usageNotes\n * ### Basic column\n * ```html\n * <eui-page-columns>\n *   <eui-page-column label=\"Sidebar\">\n *     <eui-page-column-body>Sidebar content</eui-page-column-body>\n *   </eui-page-column>\n *   <eui-page-column label=\"Main Content\">\n *     <eui-page-column-body>Main content</eui-page-column-body>\n *   </eui-page-column>\n * </eui-page-columns>\n * ```\n *\n * ### Collapsible column\n * ```html\n * <eui-page-column \n *   label=\"Navigation\" \n *   [isCollapsible]=\"true\" \n *   [isCollapsed]=\"false\"\n *   (collapse)=\"onSidebarToggle($event)\">\n *   <eui-page-column-body>\n *     <nav>Navigation items</nav>\n *   </eui-page-column-body>\n * </eui-page-column>\n * ```\n *\n * ### With custom header content\n * ```html\n * <eui-page-column label=\"Filters\">\n *   <eui-page-column-header-right-content>\n *     <button euiButton euiSecondary>Clear All</button>\n *   </eui-page-column-header-right-content>\n *   <eui-page-column-body>Filter options</eui-page-column-body>\n * </eui-page-column>\n * ```\n *\n * ### Accessibility\n * - Column headers use semantic heading structure for screen readers\n * - Collapse/expand buttons include proper aria-labels\n * - Keyboard navigation supported for collapse toggle\n * - Focus management maintained when toggling collapsed state\n *\n * ### Notes\n * - Must be direct child of eui-page-columns component\n * - Supports automatic collapse based on container width or mobile breakpoint\n * - Use content projection directives for custom header, body, and footer sections\n * - Collapse state can be controlled programmatically or by user interaction\n */\n@Component({\n    selector: 'eui-page-column',\n    templateUrl: './eui-page-column.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        NgTemplateOutlet,\n        CdkScrollable,\n        AsyncPipe,\n        ...EUI_ICON,\n        ...EUI_BUTTON,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSizeS',\n                'euiSizeM',\n                'euiSizeL',\n                'euiSizeXL',\n                'euiSize2XL',\n                'euiSize3XL',\n                'euiSize4XL',\n                'euiSize5XL',\n                'euiSize6XL',\n                'euiSizeVariant',\n                'euiHighlighted',\n            ],\n        },\n    ],\n})\nexport class EuiPageColumnComponent implements OnInit, OnDestroy {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            this.isCollapsed ? 'eui-page-column eui-page-column--collapsed' : this.baseStatesDirective.getCssClasses('eui-page-column'),\n            this.isCollapsedHidden && this.isCollapsed ? 'eui-page-column--collapsed-hidden' : '',\n            this.isCollapsedWithIcons ? 'eui-page-column__header--with-icons' : '',\n            this.isHighlighted ? 'eui-page-column--highlighted' : '',\n            this.isActive ? 'eui-page-column--active' : '',\n            this.hasSidebarMenu ? 'eui-page-column--has-sidebar-menu' : '',\n            this.isHeaderBodyShrinked ? 'eui-page-column__header--shrinked' : '',\n            this.hasPreventMobileRendering ? 'eui-page-column--prevent-mobile-rendering' : '',\n            this.hasSubColumns ? 'eui-page-column--has-sub-columns' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * Primary heading text displayed in the column header.\n     * Serves as the title for the column content.\n     */\n    @Input() label;\n    /**\n     * Secondary descriptive text displayed in the column header.\n     * Provides additional context about the column content.\n     */\n    @Input() subLabel;\n    /**\n     * Container width threshold in pixels for automatic column collapse.\n     * When parent container width falls below this value, column automatically collapses.\n     * Only effective when isAutocloseOnContainerResize is true.\n     * @default null\n     */\n    @Input() autocloseContainerWidth: number = null;\n    /**\n     * Accessible label for the expand button when column is collapsed.\n     * Automatically generated from label if not provided.\n     */\n    @Input() expandAriaLabel: string;\n    /**\n     * Accessible label for the collapse button when column is expanded.\n     * Automatically generated from label if not provided.\n     */\n    @Input() collapseAriaLabel: string;\n\n    /**\n     * Enables expand/collapse functionality for the column.\n     * Adds a toggle button to show or hide column content.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsible = false;\n    /**\n     * Controls the collapsed state of the column.\n     * When true, minimizes column width and hides content; when false, displays full column.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsed = false;\n    /**\n     * Completely hides the column when collapsed instead of showing a minimal collapsed state.\n     * Only effective when isCollapsed is true.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsedHidden = false;\n    /**\n     * Positions the collapse button on the right side of the column header.\n     * By default, collapse button appears on the left.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isRightCollapsible = false;\n    /**\n     * Applies highlighted visual styling to emphasize the column.\n     * Adds distinct background or border treatment.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHighlighted = false;\n    /**\n     * Displays icons in the collapsed column state for visual identification.\n     * Provides visual cues when column is minimized.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsedWithIcons = false;\n    /**\n     * Applies styling specific to columns containing sidebar navigation menus.\n     * Adjusts spacing and layout for menu-based columns.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasSidebarMenu = false;\n    /**\n     * Enables shrinkable behavior for the column header body section.\n     * Allows header to reduce in size based on scroll or content state.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasHeaderBodyShrinkable = false;\n    /**\n     * Enables automatic column collapse when parent container width changes.\n     * Works in conjunction with autocloseContainerWidth threshold.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isAutocloseOnContainerResize = false;\n    /**\n     * Automatically collapses the column when viewport enters mobile breakpoint.\n     * Provides responsive behavior for smaller screens.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isAutocloseOnMobile = false;\n    /**\n     * Indicates the column contains nested sub-columns.\n     * Applies appropriate styling for hierarchical column structures.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasSubColumns = false;\n\n    /**\n     * Emitted when the column's collapsed state changes via user interaction or automatic triggers.\n     * Payload: boolean indicating the new collapsed state (true when collapsed, false when expanded).\n     */\n    @Output() collapse = new EventEmitter();\n    /**\n     * Emitted when the column header's collapsed state changes.\n     * Payload: boolean indicating the header collapse state.\n     */\n    @Output() headerCollapse = new EventEmitter();\n    isActive = false;\n\n    isHeaderBodyShrinked = false;\n\n    hasPreventMobileRendering = false;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderBodyContentDirective))\n    customHeaderBodyContent: QueryList<EuiPageColumnHeaderBodyContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderLeftContentDirective))\n    customHeaderLeftContent: QueryList<EuiPageColumnHeaderLeftContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderRightContentDirective))\n    customHeaderRightContent: QueryList<EuiPageColumnHeaderRightContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderCollapsedContentDirective))\n    customHeaderCollapsedContent: QueryList<EuiPageColumnHeaderCollapsedContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnFooterContentDirective))\n    customFooterContent: QueryList<EuiPageColumnFooterContentDirective>;\n\n    currentOffset = 0;\n\n    previousOffset = 0;\n    treshHold = 50;\n    asService = inject(EuiAppShellService);\n    protected baseStatesDirective = inject(BaseStatesDirective);\n    private pageColumnsParent: EuiPageColumnsComponent = inject(EuiPageColumnsComponent, { host: true, optional: true })!;\n    private destroy$ = new Subject<boolean>();\n\n    ngOnInit(): void {\n        // this.baseStatesDirective.euiSizeS = false; // Bypass size default\n        if (this.pageColumnsParent && this.isAutocloseOnContainerResize && this.autocloseContainerWidth) {\n            this.pageColumnsParent.width.pipe(debounceTime(100), takeUntil(this.destroy$)).subscribe((parentWidth: number) => {\n                if (parentWidth <= this.autocloseContainerWidth) {\n                    this.isCollapsed = true;\n                    this.collapse.emit(this.isCollapsed);\n                }\n            });\n        }\n\n        if (this.pageColumnsParent && this.pageColumnsParent.hasPreventMobileRendering) {\n            this.hasPreventMobileRendering = this.pageColumnsParent.hasPreventMobileRendering;\n        }\n\n        if (this.isAutocloseOnMobile) {\n            this.asService.breakpoints$.pipe(takeUntil(this.destroy$)).subscribe((bkps) => {\n                if (bkps.isMobile) {\n                    this.isCollapsed = true;\n                }\n            });\n        }\n\n        this.expandAriaLabel = `Expand ${this.label}`;\n        this.collapseAriaLabel = `Collapse ${this.label}`;\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    public onToggle(): void {\n        this.isCollapsed = !this.isCollapsed;\n        this.collapse.emit(this.isCollapsed);\n    }\n}\n\n/**\n * @description\n * Directive for projecting custom content into the column header body area.\n * Used to add custom header content between left and right sections.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-body>\n *   <eui-search-bar placeholder=\"Search...\"></eui-search-bar>\n * </eui-page-column-header-body>\n * ```\n */\n/* eslint-disable */\n@Directive({ selector: 'eui-page-column-header-body' })\nexport class EuiPageColumnHeaderBodyContentDirective {}\n/**\n * @description\n * Directive for projecting custom content into the left side of the column header.\n * Used to add leading content or controls in the header.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-left-content>\n *   <eui-icon icon=\"filter\"></eui-icon>\n * </eui-page-column-header-left-content>\n * ```\n */\n@Directive({ selector: 'eui-page-column-header-left-content' })\nexport class EuiPageColumnHeaderLeftContentDirective {}\n/**\n * @description\n * Directive for projecting custom content into the right side of the column header.\n * Used to add trailing content or controls in the header.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-right-content>\n *   <button euiButton euiSecondary>Actions</button>\n * </eui-page-column-header-right-content>\n * ```\n */\n@Directive({ selector: 'eui-page-column-header-right-content' })\nexport class EuiPageColumnHeaderRightContentDirective {}\n/**\n * @description\n * Directive for projecting custom content displayed when the column is in collapsed state.\n * Used to show alternative content in the minimized column view.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-collapsed-content>\n *   <eui-icon icon=\"menu\"></eui-icon>\n * </eui-page-column-header-collapsed-content>\n * ```\n */\n@Directive({ selector: 'eui-page-column-header-collapsed-content' })\nexport class EuiPageColumnHeaderCollapsedContentDirective {}\n/**\n * @description\n * Directive for projecting content into the main body area of the column.\n * Used to define the primary content section of the column.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-body>\n *   <p>Main column content goes here</p>\n * </eui-page-column-body>\n * ```\n */\n@Directive({ selector: 'eui-page-column-body' })\nexport class EuiPageColumnBodyContentDirective {}\n/**\n * @description\n * Directive for projecting content into the footer area of the column.\n * Used to add footer content or actions at the bottom of the column.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-footer>\n *   <button euiButton euiPrimary>Apply Filters</button>\n * </eui-page-column-footer>\n * ```\n */\n@Directive({ selector: 'eui-page-column-footer' })\nexport class EuiPageColumnFooterContentDirective {}\n/* eslint-enable */\n",
            "selector": "eui-page-column-header-left-content",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiPageColumnHeaderRightContentDirective",
            "id": "directive-EuiPageColumnHeaderRightContentDirective-812c957ed9abea4eb19edfd7a225ddbe5d31be705b6e4ee6fda34d5a6ab45dc7d4505d41915e91f142fb8ebd707042d26bf72556d850dbd9edf303d71575c78f",
            "file": "packages/components/eui-page/components/eui-page-column/eui-page-column.component.ts",
            "type": "directive",
            "description": "<p>Directive for projecting custom content into the right side of the column header.\nUsed to add trailing content or controls in the header.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-column-header-right-content&gt;\n  &lt;button euiButton euiSecondary&gt;Actions&lt;/button&gt;\n&lt;/eui-page-column-header-right-content&gt;</code></pre></div>",
            "rawdescription": "\n\nDirective for projecting custom content into the right side of the column header.\nUsed to add trailing content or controls in the header.\n\n```html\n<eui-page-column-header-right-content>\n  <button euiButton euiSecondary>Actions</button>\n</eui-page-column-header-right-content>\n```\n",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ViewEncapsulation,\n    Input,\n    Output,\n    OnInit,\n    Directive,\n    ContentChild,\n    forwardRef,\n    QueryList,\n    EventEmitter,\n    inject,\n    booleanAttribute,\n    OnDestroy,\n    ChangeDetectionStrategy,\n} from '@angular/core';\nimport { Subject, debounceTime, takeUntil } from 'rxjs';\nimport { EuiAppShellService } from '@eui/core';\nimport { EuiPageColumnsComponent } from '../eui-page-columns/eui-page-columns.component';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { CdkScrollable } from '@angular/cdk/scrolling';\n\n/**\n * @description\n * Individual column component for multi-column page layouts within eui-page-columns.\n * Provides collapsible sidebar functionality with automatic responsive behavior and custom content projection.\n * Supports header, body, and footer sections with flexible content areas and collapse/expand controls.\n * Automatically responds to container width changes and mobile breakpoints for adaptive layouts.\n * Must be used as a direct child of eui-page-columns to participate in column-based layouts.\n *\n * @usageNotes\n * ### Basic column\n * ```html\n * <eui-page-columns>\n *   <eui-page-column label=\"Sidebar\">\n *     <eui-page-column-body>Sidebar content</eui-page-column-body>\n *   </eui-page-column>\n *   <eui-page-column label=\"Main Content\">\n *     <eui-page-column-body>Main content</eui-page-column-body>\n *   </eui-page-column>\n * </eui-page-columns>\n * ```\n *\n * ### Collapsible column\n * ```html\n * <eui-page-column \n *   label=\"Navigation\" \n *   [isCollapsible]=\"true\" \n *   [isCollapsed]=\"false\"\n *   (collapse)=\"onSidebarToggle($event)\">\n *   <eui-page-column-body>\n *     <nav>Navigation items</nav>\n *   </eui-page-column-body>\n * </eui-page-column>\n * ```\n *\n * ### With custom header content\n * ```html\n * <eui-page-column label=\"Filters\">\n *   <eui-page-column-header-right-content>\n *     <button euiButton euiSecondary>Clear All</button>\n *   </eui-page-column-header-right-content>\n *   <eui-page-column-body>Filter options</eui-page-column-body>\n * </eui-page-column>\n * ```\n *\n * ### Accessibility\n * - Column headers use semantic heading structure for screen readers\n * - Collapse/expand buttons include proper aria-labels\n * - Keyboard navigation supported for collapse toggle\n * - Focus management maintained when toggling collapsed state\n *\n * ### Notes\n * - Must be direct child of eui-page-columns component\n * - Supports automatic collapse based on container width or mobile breakpoint\n * - Use content projection directives for custom header, body, and footer sections\n * - Collapse state can be controlled programmatically or by user interaction\n */\n@Component({\n    selector: 'eui-page-column',\n    templateUrl: './eui-page-column.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        NgTemplateOutlet,\n        CdkScrollable,\n        AsyncPipe,\n        ...EUI_ICON,\n        ...EUI_BUTTON,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSizeS',\n                'euiSizeM',\n                'euiSizeL',\n                'euiSizeXL',\n                'euiSize2XL',\n                'euiSize3XL',\n                'euiSize4XL',\n                'euiSize5XL',\n                'euiSize6XL',\n                'euiSizeVariant',\n                'euiHighlighted',\n            ],\n        },\n    ],\n})\nexport class EuiPageColumnComponent implements OnInit, OnDestroy {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            this.isCollapsed ? 'eui-page-column eui-page-column--collapsed' : this.baseStatesDirective.getCssClasses('eui-page-column'),\n            this.isCollapsedHidden && this.isCollapsed ? 'eui-page-column--collapsed-hidden' : '',\n            this.isCollapsedWithIcons ? 'eui-page-column__header--with-icons' : '',\n            this.isHighlighted ? 'eui-page-column--highlighted' : '',\n            this.isActive ? 'eui-page-column--active' : '',\n            this.hasSidebarMenu ? 'eui-page-column--has-sidebar-menu' : '',\n            this.isHeaderBodyShrinked ? 'eui-page-column__header--shrinked' : '',\n            this.hasPreventMobileRendering ? 'eui-page-column--prevent-mobile-rendering' : '',\n            this.hasSubColumns ? 'eui-page-column--has-sub-columns' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * Primary heading text displayed in the column header.\n     * Serves as the title for the column content.\n     */\n    @Input() label;\n    /**\n     * Secondary descriptive text displayed in the column header.\n     * Provides additional context about the column content.\n     */\n    @Input() subLabel;\n    /**\n     * Container width threshold in pixels for automatic column collapse.\n     * When parent container width falls below this value, column automatically collapses.\n     * Only effective when isAutocloseOnContainerResize is true.\n     * @default null\n     */\n    @Input() autocloseContainerWidth: number = null;\n    /**\n     * Accessible label for the expand button when column is collapsed.\n     * Automatically generated from label if not provided.\n     */\n    @Input() expandAriaLabel: string;\n    /**\n     * Accessible label for the collapse button when column is expanded.\n     * Automatically generated from label if not provided.\n     */\n    @Input() collapseAriaLabel: string;\n\n    /**\n     * Enables expand/collapse functionality for the column.\n     * Adds a toggle button to show or hide column content.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsible = false;\n    /**\n     * Controls the collapsed state of the column.\n     * When true, minimizes column width and hides content; when false, displays full column.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsed = false;\n    /**\n     * Completely hides the column when collapsed instead of showing a minimal collapsed state.\n     * Only effective when isCollapsed is true.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsedHidden = false;\n    /**\n     * Positions the collapse button on the right side of the column header.\n     * By default, collapse button appears on the left.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isRightCollapsible = false;\n    /**\n     * Applies highlighted visual styling to emphasize the column.\n     * Adds distinct background or border treatment.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHighlighted = false;\n    /**\n     * Displays icons in the collapsed column state for visual identification.\n     * Provides visual cues when column is minimized.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsedWithIcons = false;\n    /**\n     * Applies styling specific to columns containing sidebar navigation menus.\n     * Adjusts spacing and layout for menu-based columns.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasSidebarMenu = false;\n    /**\n     * Enables shrinkable behavior for the column header body section.\n     * Allows header to reduce in size based on scroll or content state.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasHeaderBodyShrinkable = false;\n    /**\n     * Enables automatic column collapse when parent container width changes.\n     * Works in conjunction with autocloseContainerWidth threshold.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isAutocloseOnContainerResize = false;\n    /**\n     * Automatically collapses the column when viewport enters mobile breakpoint.\n     * Provides responsive behavior for smaller screens.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isAutocloseOnMobile = false;\n    /**\n     * Indicates the column contains nested sub-columns.\n     * Applies appropriate styling for hierarchical column structures.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasSubColumns = false;\n\n    /**\n     * Emitted when the column's collapsed state changes via user interaction or automatic triggers.\n     * Payload: boolean indicating the new collapsed state (true when collapsed, false when expanded).\n     */\n    @Output() collapse = new EventEmitter();\n    /**\n     * Emitted when the column header's collapsed state changes.\n     * Payload: boolean indicating the header collapse state.\n     */\n    @Output() headerCollapse = new EventEmitter();\n    isActive = false;\n\n    isHeaderBodyShrinked = false;\n\n    hasPreventMobileRendering = false;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderBodyContentDirective))\n    customHeaderBodyContent: QueryList<EuiPageColumnHeaderBodyContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderLeftContentDirective))\n    customHeaderLeftContent: QueryList<EuiPageColumnHeaderLeftContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderRightContentDirective))\n    customHeaderRightContent: QueryList<EuiPageColumnHeaderRightContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderCollapsedContentDirective))\n    customHeaderCollapsedContent: QueryList<EuiPageColumnHeaderCollapsedContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnFooterContentDirective))\n    customFooterContent: QueryList<EuiPageColumnFooterContentDirective>;\n\n    currentOffset = 0;\n\n    previousOffset = 0;\n    treshHold = 50;\n    asService = inject(EuiAppShellService);\n    protected baseStatesDirective = inject(BaseStatesDirective);\n    private pageColumnsParent: EuiPageColumnsComponent = inject(EuiPageColumnsComponent, { host: true, optional: true })!;\n    private destroy$ = new Subject<boolean>();\n\n    ngOnInit(): void {\n        // this.baseStatesDirective.euiSizeS = false; // Bypass size default\n        if (this.pageColumnsParent && this.isAutocloseOnContainerResize && this.autocloseContainerWidth) {\n            this.pageColumnsParent.width.pipe(debounceTime(100), takeUntil(this.destroy$)).subscribe((parentWidth: number) => {\n                if (parentWidth <= this.autocloseContainerWidth) {\n                    this.isCollapsed = true;\n                    this.collapse.emit(this.isCollapsed);\n                }\n            });\n        }\n\n        if (this.pageColumnsParent && this.pageColumnsParent.hasPreventMobileRendering) {\n            this.hasPreventMobileRendering = this.pageColumnsParent.hasPreventMobileRendering;\n        }\n\n        if (this.isAutocloseOnMobile) {\n            this.asService.breakpoints$.pipe(takeUntil(this.destroy$)).subscribe((bkps) => {\n                if (bkps.isMobile) {\n                    this.isCollapsed = true;\n                }\n            });\n        }\n\n        this.expandAriaLabel = `Expand ${this.label}`;\n        this.collapseAriaLabel = `Collapse ${this.label}`;\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    public onToggle(): void {\n        this.isCollapsed = !this.isCollapsed;\n        this.collapse.emit(this.isCollapsed);\n    }\n}\n\n/**\n * @description\n * Directive for projecting custom content into the column header body area.\n * Used to add custom header content between left and right sections.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-body>\n *   <eui-search-bar placeholder=\"Search...\"></eui-search-bar>\n * </eui-page-column-header-body>\n * ```\n */\n/* eslint-disable */\n@Directive({ selector: 'eui-page-column-header-body' })\nexport class EuiPageColumnHeaderBodyContentDirective {}\n/**\n * @description\n * Directive for projecting custom content into the left side of the column header.\n * Used to add leading content or controls in the header.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-left-content>\n *   <eui-icon icon=\"filter\"></eui-icon>\n * </eui-page-column-header-left-content>\n * ```\n */\n@Directive({ selector: 'eui-page-column-header-left-content' })\nexport class EuiPageColumnHeaderLeftContentDirective {}\n/**\n * @description\n * Directive for projecting custom content into the right side of the column header.\n * Used to add trailing content or controls in the header.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-right-content>\n *   <button euiButton euiSecondary>Actions</button>\n * </eui-page-column-header-right-content>\n * ```\n */\n@Directive({ selector: 'eui-page-column-header-right-content' })\nexport class EuiPageColumnHeaderRightContentDirective {}\n/**\n * @description\n * Directive for projecting custom content displayed when the column is in collapsed state.\n * Used to show alternative content in the minimized column view.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-collapsed-content>\n *   <eui-icon icon=\"menu\"></eui-icon>\n * </eui-page-column-header-collapsed-content>\n * ```\n */\n@Directive({ selector: 'eui-page-column-header-collapsed-content' })\nexport class EuiPageColumnHeaderCollapsedContentDirective {}\n/**\n * @description\n * Directive for projecting content into the main body area of the column.\n * Used to define the primary content section of the column.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-body>\n *   <p>Main column content goes here</p>\n * </eui-page-column-body>\n * ```\n */\n@Directive({ selector: 'eui-page-column-body' })\nexport class EuiPageColumnBodyContentDirective {}\n/**\n * @description\n * Directive for projecting content into the footer area of the column.\n * Used to add footer content or actions at the bottom of the column.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-footer>\n *   <button euiButton euiPrimary>Apply Filters</button>\n * </eui-page-column-footer>\n * ```\n */\n@Directive({ selector: 'eui-page-column-footer' })\nexport class EuiPageColumnFooterContentDirective {}\n/* eslint-enable */\n",
            "selector": "eui-page-column-header-right-content",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiPopoverArrowPositionDirective",
            "id": "directive-EuiPopoverArrowPositionDirective-a90a0d90b9fa5e6c6c721b693bd474672dc7719c261a5855baa3e7475d0e757739cf720377d1f86718448dd30e6333526187fcc1067c0d85bf169687048ad018",
            "file": "packages/components/eui-popover/directives/eui-popover-arrow-position.directive.ts",
            "type": "directive",
            "description": "<p>Directive that positions an arrow element for a popover relative to its origin element.</p>\n<p>This directive calculates and applies the appropriate positioning style to ensure\nthe arrow correctly points to the origin element regardless of the popover&#39;s position.\nIt adjusts arrow placement dynamically based on the position strategy (&#39;top&#39;, &#39;bottom&#39;,\n&#39;left&#39;, or &#39;right&#39;) and the dimensions and position of the origin element.</p>\n<h3>Basic usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;div class=&quot;popover-arrow&quot; [euiPopoverArrowPosition]=&quot;position$&quot;&gt;&lt;/div&gt;</code></pre></div><h3>In component</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">position$ = new BehaviorSubject&lt;[EuiPopoverPosition, DOMRect]&gt;([&#39;bottom&#39;, originRect]);\n\nupdatePosition(position: EuiPopoverPosition, rect: DOMRect) {\n  this.position$.next([position, rect]);\n}</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Arrow is purely decorative and does not affect accessibility</li>\n<li>Ensure arrow color has sufficient contrast with background</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Automatically calculates arrow position based on origin element bounds</li>\n<li>Handles edge cases where popover is near viewport boundaries</li>\n<li>Used internally by EuiPopoverComponent</li>\n</ul>\n",
            "rawdescription": "\n\nDirective that positions an arrow element for a popover relative to its origin element.\n\nThis directive calculates and applies the appropriate positioning style to ensure\nthe arrow correctly points to the origin element regardless of the popover's position.\nIt adjusts arrow placement dynamically based on the position strategy ('top', 'bottom',\n'left', or 'right') and the dimensions and position of the origin element.\n\n### Basic usage\n```html\n<div class=\"popover-arrow\" [euiPopoverArrowPosition]=\"position$\"></div>\n```\n\n### In component\n```typescript\nposition$ = new BehaviorSubject<[EuiPopoverPosition, DOMRect]>(['bottom', originRect]);\n\nupdatePosition(position: EuiPopoverPosition, rect: DOMRect) {\n  this.position$.next([position, rect]);\n}\n```\n\n### Accessibility\n- Arrow is purely decorative and does not affect accessibility\n- Ensure arrow color has sufficient contrast with background\n\n### Notes\n- Automatically calculates arrow position based on origin element bounds\n- Handles edge cases where popover is near viewport boundaries\n- Used internally by EuiPopoverComponent\n",
            "sourceCode": "import { DOCUMENT } from '@angular/common';\nimport { Directive, ElementRef, Input, OnDestroy, OnInit, Renderer2, inject } from '@angular/core';\nimport { Observable, Subject, takeUntil } from 'rxjs';\n\nimport { EuiPopoverPosition } from '../models/eui-popover-position.model';\n\n/**\n * @description\n * Directive that positions an arrow element for a popover relative to its origin element.\n *\n * This directive calculates and applies the appropriate positioning style to ensure\n * the arrow correctly points to the origin element regardless of the popover's position.\n * It adjusts arrow placement dynamically based on the position strategy ('top', 'bottom',\n * 'left', or 'right') and the dimensions and position of the origin element.\n *\n * @usageNotes\n * ### Basic usage\n * ```html\n * <div class=\"popover-arrow\" [euiPopoverArrowPosition]=\"position$\"></div>\n * ```\n *\n * ### In component\n * ```typescript\n * position$ = new BehaviorSubject<[EuiPopoverPosition, DOMRect]>(['bottom', originRect]);\n * \n * updatePosition(position: EuiPopoverPosition, rect: DOMRect) {\n *   this.position$.next([position, rect]);\n * }\n * ```\n *\n * ### Accessibility\n * - Arrow is purely decorative and does not affect accessibility\n * - Ensure arrow color has sufficient contrast with background\n *\n * ### Notes\n * - Automatically calculates arrow position based on origin element bounds\n * - Handles edge cases where popover is near viewport boundaries\n * - Used internally by EuiPopoverComponent\n */\n@Directive({\n    selector: '[euiPopoverArrowPosition]',\n})\nexport class EuiPopoverArrowPositionDirective implements OnInit, OnDestroy {\n    /**\n     * Observable that emits a tuple containing the popover position strategy\n     * and the DOMRect of the origin element.\n     *\n     * The directive uses this information to calculate the appropriate\n     * position for the arrow element.\n     */\n    @Input('euiPopoverArrowPosition')\n    public position$: Observable<[EuiPopoverPosition, DOMRect]>;\n\n    private destroy$: Subject<void> = new Subject();\n    private renderer = inject(Renderer2);\n    private elementRef = inject(ElementRef);\n    private document = inject<Document>(DOCUMENT);\n\n    ngOnInit(): void {\n        this.position$.pipe(takeUntil(this.destroy$)).subscribe(([position, originRect]) => {\n            this.renderer.setProperty(this.elementRef.nativeElement, 'style', this.getStyle(position, originRect));\n        });\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next();\n        this.destroy$.complete();\n    }\n\n    private getStyle(position: EuiPopoverPosition, originRect: DOMRect): string {\n        const arrowRect: DOMRect = this.elementRef.nativeElement.getBoundingClientRect();\n\n        if (position === 'left' || position === 'right') {\n            const verticalDiff: number =\n                Math.floor(arrowRect.top + arrowRect.height / 2) - Math.floor(originRect.top + originRect.height / 2);\n\n            if (verticalDiff > 0) {\n                return `top: ${originRect.top + originRect.height / 2}px`;\n            } else if (verticalDiff < 0) {\n                return `bottom: ${\n                    this.document.body.clientHeight - originRect.bottom + originRect.height / 2 - arrowRect.height\n                }px`;\n            }\n        }\n        if (position === 'top' || position === 'bottom') {\n            const horizontalDiff: number =\n                Math.floor(arrowRect.left + arrowRect.width / 2) - Math.floor(originRect.left + originRect.width / 2);\n\n            if (horizontalDiff > 0) {\n                return `left: ${originRect.left + originRect.width / 2}px`;\n            } else if (horizontalDiff < 0) {\n                return `right: ${\n                    this.document.body.clientWidth - originRect.right + originRect.width / 2 - arrowRect.width\n                }px`;\n            }\n        }\n        return '';\n    }\n}\n",
            "selector": "[euiPopoverArrowPosition]",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "name": "euiPopoverArrowPosition",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nObservable that emits a tuple containing the popover position strategy\nand the DOMRect of the origin element.\n\nThe directive uses this information to calculate the appropriate\nposition for the arrow element.\n",
                    "description": "<p>Observable that emits a tuple containing the popover position strategy\nand the DOMRect of the origin element.</p>\n<p>The directive uses this information to calculate the appropriate\nposition for the arrow element.</p>\n",
                    "line": 52,
                    "type": "Observable<unknown>",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 65,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 59,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy"
            ]
        },
        {
            "name": "EuiResizableDirective",
            "id": "directive-EuiResizableDirective-f87adc39a499f006ac48c071656a38104baf1641b3df9fd1b9d6670e611ebc49c5a7fb2141aaccd37cf3146294221412f6bbe39eacd31aa06219506121c899e9",
            "file": "packages/components/directives/eui-resizable/eui-resizable.directive.ts",
            "type": "directive",
            "description": "<p>Enables interactive resizing of a container element by dragging a handle.\nApplies width constraints dynamically and supports left or right-side handle placement.\nIntended for use in layouts requiring user-adjustable panel widths, such as sidebars or split views.</p>\n",
            "rawdescription": "\n\nEnables interactive resizing of a container element by dragging a handle.\nApplies width constraints dynamically and supports left or right-side handle placement.\nIntended for use in layouts requiring user-adjustable panel widths, such as sidebars or split views.\n",
            "sourceCode": "import { DOCUMENT } from '@angular/common';\nimport {\n\tComponentRef,\n\tDirective,\n\tElementRef,\n\tHostBinding,\n\tOnDestroy,\n\tOnInit,\n\tRenderer2,\n\tViewContainerRef,\n\tinject,\n\tinput,\n\teffect,\n\tChangeDetectorRef,\n\tnumberAttribute,\n    booleanAttribute,\n} from '@angular/core';\nimport { distinctUntilChanged, map, takeUntil, tap } from 'rxjs/operators';\nimport { fromEvent, Subject } from 'rxjs';\n\nimport { EuiResizableComponent } from './eui-resizable.component';\nimport { CssUtils } from '@eui/core';\n\n/**\n * Defines the placement of the resizable handle and determines the direction of resizing behavior.\n * 'left' positions the handle on the left edge and resizes by adjusting from the left boundary.\n * 'right' positions the handle on the right edge and resizes by adjusting from the right boundary.\n */\nexport type EuiResizablePosition = 'left' | 'right';\n\n/**\n * Ensures the value is a non-negative pixel number.\n * @param value\n */\nconst pixelTransform = (value: string | number): number => {\n\tvalue = numberAttribute(value, 0);\n\treturn Math.max(0, value);\n}\n\n/**\n * Enables interactive resizing of a container element by dragging a handle.\n * Applies width constraints dynamically and supports left or right-side handle placement.\n * Intended for use in layouts requiring user-adjustable panel widths, such as sidebars or split views.\n */\n@Directive({\n    selector: '[euiResizable]',\n})\nexport class EuiResizableDirective implements OnInit, OnDestroy {\n\t/**\n\t * Minimum width constraint for the resizable container in pixels. Prevents the container from being resized below this value.\n\t * Accepts string or number values, automatically converted to non-negative pixels. Defaults to 0.\n\t */\n\teuiResizableMinWidth = input(0, { transform: pixelTransform });\n    /**\n     * Determines the placement of the resizable handle and the direction of resizing behavior.\n     * 'left' positions the handle on the left edge; 'right' positions it on the right edge. Defaults to 'right'.\n     */\n    euiResizablePosition = input<EuiResizablePosition>('right');\n\n    /**\n     * Determines if the resizable directive is affecting eui-app-side-container\n     */\n    euiResizableSideContainer = input(false, { transform: booleanAttribute });\n    /**\n     * Determines if the resizable feature is disable or not\n     */\n    euiResizableHidden = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Accessible label for the separator handle.\n\t * @default 'Press the left or right arrow key to resize the panel'\n\t */\n\teuiResizableAriaLabel = input<string>('Press the left or right arrow key to resize the panel');\n\n\t/**\n\t * Maximum width constraint for the resizable container in pixels.\n\t * Used for aria-valuemax on the separator handle.\n\t */\n\teuiResizableMaxWidth = input(undefined, { transform: pixelTransform });\n\n\t/**\n\t * Step size in pixels for keyboard arrow key resizing.\n\t * @default 10\n\t */\n\teuiResizableKeyStep = input(10, { transform: pixelTransform });\n\n    @HostBinding('style.width.px') styleWidth: number;\n    @HostBinding('style.min-width.px') styleMinWidth: number;\n    @HostBinding('style.max-width.px') styleMaxWidth: number;\n    @HostBinding('style.flex-basis.px') styleFlexBasisWidth: number;\n\n    private _resizableBar: ComponentRef<EuiResizableComponent>;\n    private destroy$ = new Subject<boolean>();\n    private interaction$ = new Subject<void>();\n    private _initialized = false;\n    private _documentRef = inject<Document>(DOCUMENT);\n    private _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n    private _renderer = inject(Renderer2);\n    private _viewContainerRef = inject(ViewContainerRef);\n    private cd = inject(ChangeDetectorRef);\n\n    constructor() {\n        effect(() => {\n            const disabled = this.euiResizableHidden();\n            if (this._resizableBar) {\n                this._resizableBar.setInput('euiResizableHidden', disabled);\n            }\n            if (!this._initialized) {\n                return;\n            }\n            if (disabled) {\n                this._teardownInteraction();\n            } else {\n                this._setupInteraction();\n            }\n        });\n    }\n\n    ngOnInit(): void {\n        this._createResizableBar();\n        this._initialized = true;\n        if (!this.euiResizableHidden()) {\n            this._setupInteraction();\n        } else {\n            this._teardownInteraction();\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    private _applySize(size: number): void {\n        const minWidth = this.euiResizableMinWidth();\n        const maxWidth = this.euiResizableMaxWidth();\n        let constrained = Math.max(Math.round(size), minWidth);\n        if (maxWidth !== undefined) {\n            constrained = Math.min(constrained, maxWidth);\n        }\n        this.styleWidth = constrained;\n        this.styleMinWidth = constrained;\n        this.styleMaxWidth = constrained;\n        this.styleFlexBasisWidth = constrained;\n        this._resizableBar.setInput('ariaValueNow', constrained);\n        if (this.euiResizableSideContainer()) {\n            CssUtils.setSideContainerWidth(constrained, this._documentRef);\n        }\n        this.cd.markForCheck();\n    }\n\n    private _onKeydown(e: KeyboardEvent): void {\n        const currentWidth = this.styleWidth ?? this._elementRef.nativeElement.getBoundingClientRect().width;\n        const step = this.euiResizableKeyStep();\n        const isLeft = this.euiResizablePosition() === 'left';\n        let newSize: number | null = null;\n\n        switch (e.key) {\n            case 'ArrowRight':\n                newSize = isLeft ? currentWidth - step : currentWidth + step;\n                break;\n            case 'ArrowLeft':\n                newSize = isLeft ? currentWidth + step : currentWidth - step;\n                break;\n            case 'Home':\n                newSize = this.euiResizableMinWidth();\n                break;\n            case 'End':\n                newSize = this.euiResizableMaxWidth() ?? currentWidth;\n                break;\n            default:\n                return;\n        }\n\n        e.preventDefault();\n        this._applySize(newSize);\n    }\n\n    private _setupInteraction(): void {\n        this.interaction$.next();\n        const bar = this._elementRef.nativeElement.querySelector('.eui-resizable-bar');\n        if (!bar) {\n            return;\n        }\n\n        bar.removeAttribute('aria-hidden');\n\n        fromEvent<MouseEvent>(bar, 'mousedown').pipe(\n            tap((e) => e.preventDefault()),\n            takeUntil(this.interaction$),\n            takeUntil(this.destroy$),\n        ).subscribe((e) => {\n            if (e.button === 0) {\n                const { width, right, left } = this._elementRef.nativeElement.getBoundingClientRect();\n\n                fromEvent<MouseEvent>(this._documentRef, 'mousemove').pipe(\n                    map(({ clientX }) => {\n                        if (this.euiResizablePosition() === 'right') {\n                            return width + clientX - right;\n                        } else {\n                            return width + (left - clientX);\n                        }\n                    }),\n                    distinctUntilChanged(),\n                    takeUntil(fromEvent(this._documentRef, 'mouseup')),\n                ).subscribe((size) => {\n                    this._applySize(size);\n                });\n            }\n        });\n\n        fromEvent<KeyboardEvent>(bar, 'keydown').pipe(\n            takeUntil(this.interaction$),\n            takeUntil(this.destroy$),\n        ).subscribe((e) => this._onKeydown(e));\n    }\n\n    private _teardownInteraction(): void {\n        this.interaction$.next();\n        const bar = this._elementRef.nativeElement.querySelector('.eui-resizable-bar');\n        if (bar) {\n            bar.setAttribute('aria-hidden', 'true');\n        }\n    }\n\n    private _createResizableBar(): void {\n        if (!this._resizableBar) {\n            this._resizableBar = this._viewContainerRef.createComponent(EuiResizableComponent);\n            this._resizableBar.setInput('position', this.euiResizablePosition());\n            this._resizableBar.setInput('ariaLabel', this.euiResizableAriaLabel());\n            this._resizableBar.setInput('ariaValueMin', this.euiResizableMinWidth());\n            this._resizableBar.setInput('ariaValueNow', Math.round(this._elementRef.nativeElement.getBoundingClientRect().width));\n            if (this.euiResizableMaxWidth() !== undefined) {\n                this._resizableBar.setInput('ariaValueMax', this.euiResizableMaxWidth());\n            }\n            this._renderer.appendChild(this._elementRef.nativeElement, this._resizableBar.location.nativeElement);\n        }\n    }\n}\n",
            "selector": "[euiResizable]",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "name": "euiResizableAriaLabel",
                    "defaultValue": "'Press the left or right arrow key to resize the panel'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Accessible label for the separator handle.</p>\n",
                    "line": 73,
                    "rawdescription": "\n\nAccessible label for the separator handle.\n",
                    "jsdoctags": [
                        {
                            "pos": 2430,
                            "end": 2497,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2431,
                                "end": 2438,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;Press the left or right arrow key to resize the panel&#39;</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "euiResizableHidden",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Determines if the resizable feature is disable or not</p>\n",
                    "line": 67,
                    "rawdescription": "\n\nDetermines if the resizable feature is disable or not\n",
                    "required": false
                },
                {
                    "name": "euiResizableKeyStep",
                    "defaultValue": "10, { transform: pixelTransform }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Step size in pixels for keyboard arrow key resizing.</p>\n",
                    "line": 85,
                    "rawdescription": "\n\nStep size in pixels for keyboard arrow key resizing.\n",
                    "jsdoctags": [
                        {
                            "pos": 2868,
                            "end": 2882,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2869,
                                "end": 2876,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>10</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "euiResizableMaxWidth",
                    "defaultValue": "undefined, { transform: pixelTransform }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Maximum width constraint for the resizable container in pixels.\nUsed for aria-valuemax on the separator handle.</p>\n",
                    "line": 79,
                    "rawdescription": "\n\nMaximum width constraint for the resizable container in pixels.\nUsed for aria-valuemax on the separator handle.\n",
                    "required": false
                },
                {
                    "name": "euiResizableMinWidth",
                    "defaultValue": "0, { transform: pixelTransform }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Minimum width constraint for the resizable container in pixels. Prevents the container from being resized below this value.\nAccepts string or number values, automatically converted to non-negative pixels. Defaults to 0.</p>\n",
                    "line": 53,
                    "rawdescription": "\n\nMinimum width constraint for the resizable container in pixels. Prevents the container from being resized below this value.\nAccepts string or number values, automatically converted to non-negative pixels. Defaults to 0.\n",
                    "required": false
                },
                {
                    "name": "euiResizablePosition",
                    "defaultValue": "'right'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiResizablePosition",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Determines the placement of the resizable handle and the direction of resizing behavior.\n&#39;left&#39; positions the handle on the left edge; &#39;right&#39; positions it on the right edge. Defaults to &#39;right&#39;.</p>\n",
                    "line": 58,
                    "rawdescription": "\n\nDetermines the placement of the resizable handle and the direction of resizing behavior.\n'left' positions the handle on the left edge; 'right' positions it on the right edge. Defaults to 'right'.\n",
                    "required": false
                },
                {
                    "name": "euiResizableSideContainer",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Determines if the resizable directive is affecting eui-app-side-container</p>\n",
                    "line": 63,
                    "rawdescription": "\n\nDetermines if the resizable directive is affecting eui-app-side-container\n",
                    "required": false
                }
            ],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "style.flex-basis.px",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 90,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "style.max-width.px",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 89,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "style.min-width.px",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 88,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "style.width.px",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 87,
                    "type": "number",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "propertiesClass": [
                {
                    "name": "styleFlexBasisWidth",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 90,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'style.flex-basis.px'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "styleMaxWidth",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 89,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'style.max-width.px'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "styleMinWidth",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 88,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'style.min-width.px'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "styleWidth",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 87,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'style.width.px'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 129,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 119,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy"
            ],
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 100
            }
        },
        {
            "name": "EuiScrollHandlerDirective",
            "id": "directive-EuiScrollHandlerDirective-f7c95b38a3955c761321069daff0d69c17c0173b06609454e99dc3ec83d5999ff57cd581346fdcdc4d2776c548123a07c1625540cdfdb12d31967b57807daabf",
            "file": "packages/components/directives/eui-scroll-handler.directive.ts",
            "type": "directive",
            "description": "<p>Directive toggling CSS class on app header when scrolling past a threshold.\nMonitors window scroll position and adds &#39;shrink-header-active&#39; class to app wrapper.\nRequires specific DOM structure with &#39;app-wrapper&#39; and &#39;app-header&#39; element IDs.\nTypically used for sticky headers that shrink or change appearance on scroll.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;div id=&quot;app-wrapper&quot;&gt;\n  &lt;header id=&quot;app-header&quot;&gt;Header content&lt;/header&gt;\n  &lt;main [euiScrollHandler]=&quot;true&quot;&gt;Main content&lt;/main&gt;\n&lt;/div&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Visual feedback for scroll position</li>\n<li>Does not affect keyboard navigation or screen readers</li>\n<li>Ensure header remains accessible in both states</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Requires elements with IDs &#39;app-wrapper&#39; and &#39;app-header&#39;</li>\n<li>Class &#39;shrink-header-active&#39; added when scrolled past header height</li>\n<li>Scroll threshold automatically calculated from header height</li>\n<li>Set euiScrollHandler to false to disable</li>\n</ul>\n",
            "rawdescription": "\n\nDirective toggling CSS class on app header when scrolling past a threshold.\nMonitors window scroll position and adds 'shrink-header-active' class to app wrapper.\nRequires specific DOM structure with 'app-wrapper' and 'app-header' element IDs.\nTypically used for sticky headers that shrink or change appearance on scroll.\n\n```html\n<div id=\"app-wrapper\">\n  <header id=\"app-header\">Header content</header>\n  <main [euiScrollHandler]=\"true\">Main content</main>\n</div>\n```\n\n### Accessibility\n- Visual feedback for scroll position\n- Does not affect keyboard navigation or screen readers\n- Ensure header remains accessible in both states\n\n### Notes\n- Requires elements with IDs 'app-wrapper' and 'app-header'\n- Class 'shrink-header-active' added when scrolled past header height\n- Scroll threshold automatically calculated from header height\n- Set euiScrollHandler to false to disable\n",
            "sourceCode": "import { Directive, HostListener, OnInit, Input, booleanAttribute, numberAttribute, inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * Directive toggling CSS class on app header when scrolling past a threshold.\n * Monitors window scroll position and adds 'shrink-header-active' class to app wrapper.\n * Requires specific DOM structure with 'app-wrapper' and 'app-header' element IDs.\n * Typically used for sticky headers that shrink or change appearance on scroll.\n *\n * @usageNotes\n * ```html\n * <div id=\"app-wrapper\">\n *   <header id=\"app-header\">Header content</header>\n *   <main [euiScrollHandler]=\"true\">Main content</main>\n * </div>\n * ```\n *\n * ### Accessibility\n * - Visual feedback for scroll position\n * - Does not affect keyboard navigation or screen readers\n * - Ensure header remains accessible in both states\n *\n * ### Notes\n * - Requires elements with IDs 'app-wrapper' and 'app-header'\n * - Class 'shrink-header-active' added when scrolled past header height\n * - Scroll threshold automatically calculated from header height\n * - Set euiScrollHandler to false to disable\n */\n@Directive({\n    selector: '[euiScrollHandler]',\n})\nexport class EuiScrollHandlerDirective implements OnInit {\n    navIsFixed = false;\n    appHeaderHeight = 0;\n\n    @Input({ transform: booleanAttribute }) euiScrollHandler = false;\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    private appWrapper: any;\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    private appHeader: any;\n    private document = inject<Document>(DOCUMENT);\n\n    ngOnInit(): void {\n        this.appWrapper = this.document.getElementById('app-wrapper');\n        this.appHeader = this.document.getElementById('app-header');\n        if (this.appHeader) {\n            this.appHeaderHeight = this.appHeader.scrollHeight;\n        }\n    }\n\n    @HostListener('window:scroll', [])\n    onWindowScroll(): void {\n        if (this.euiScrollHandler && this.appHeaderHeight !== 0) {\n            const number = this.document.body.scrollTop || this.document.documentElement.scrollTop; // Chrome || IE/FF\n\n            if (number > this.appHeaderHeight) {\n                this.navIsFixed = true;\n                this.appWrapper.classList.add('shrink-header-active');\n            } else if (this.navIsFixed && number < this.appHeaderHeight) {\n                this.navIsFixed = false;\n                this.appWrapper.classList.remove('shrink-header-active');\n            }\n        }\n    }\n}\n\n/**\n * Directive toggling CSS class on any element when scrolling past a custom threshold.\n * More flexible alternative to euiScrollHandler with configurable element ID, class, and height.\n * Monitors window scroll and applies specified class when threshold exceeded.\n *\n * @usageNotes\n * ```html\n * <div euiScrollHandlerElement=\"myNav\"\n *      toggleClass=\"nav-fixed\"\n *      [toggleActiveHeight]=\"100\">\n *   Navigation content\n * </div>\n * ```\n *\n * ### Accessibility\n * - Visual feedback for scroll position\n * - Does not affect keyboard navigation or screen readers\n * - Ensure element remains accessible in both states\n *\n * ### Notes\n * - Element ID specified via euiScrollHandlerElement input\n * - CSS class specified via toggleClass input\n * - Scroll threshold specified via toggleActiveHeight input (in pixels)\n * - Class added when scroll position exceeds toggleActiveHeight\n */\n@Directive({\n    selector: '[euiScrollHandlerElement]',\n})\nexport class EuiScrollHandlerElementDirective {\n    @Input() euiScrollHandlerElement: string;\n    @Input() toggleClass: string;\n    @Input({ transform: numberAttribute }) toggleActiveHeight: number;\n\n    public navIsFixed = false;\n    private document = inject<Document>(DOCUMENT);\n\n    @HostListener('window:scroll', [])\n    onWindowScroll(): void {\n        const element = this.document.getElementById(this.euiScrollHandlerElement);\n        const number = this.document.body.scrollTop || this.document.documentElement.scrollTop; // Chrome || IE/FF\n\n        if (number > this.toggleActiveHeight) {\n            this.navIsFixed = true;\n            element.classList.add(this.toggleClass);\n        } else if (this.navIsFixed && number < this.toggleActiveHeight) {\n            this.navIsFixed = false;\n            element.classList.remove(this.toggleClass);\n        }\n    }\n}\n\n",
            "selector": "[euiScrollHandler]",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "required": false,
                    "name": "euiScrollHandler",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 36,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [
                {
                    "name": "window:scroll",
                    "args": [],
                    "argsDecorator": [],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 55
                }
            ],
            "propertiesClass": [
                {
                    "name": "appHeaderHeight",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 34
                },
                {
                    "name": "navIsFixed",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 33
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 46,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onWindowScroll",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 55,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'window:scroll', undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "extends": [],
            "implements": [
                "OnInit"
            ]
        },
        {
            "name": "EuiScrollHandlerElementDirective",
            "id": "directive-EuiScrollHandlerElementDirective-f7c95b38a3955c761321069daff0d69c17c0173b06609454e99dc3ec83d5999ff57cd581346fdcdc4d2776c548123a07c1625540cdfdb12d31967b57807daabf",
            "file": "packages/components/directives/eui-scroll-handler.directive.ts",
            "type": "directive",
            "description": "<p>Directive toggling CSS class on any element when scrolling past a custom threshold.\nMore flexible alternative to euiScrollHandler with configurable element ID, class, and height.\nMonitors window scroll and applies specified class when threshold exceeded.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;div euiScrollHandlerElement=&quot;myNav&quot;\n     toggleClass=&quot;nav-fixed&quot;\n     [toggleActiveHeight]=&quot;100&quot;&gt;\n  Navigation content\n&lt;/div&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Visual feedback for scroll position</li>\n<li>Does not affect keyboard navigation or screen readers</li>\n<li>Ensure element remains accessible in both states</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Element ID specified via euiScrollHandlerElement input</li>\n<li>CSS class specified via toggleClass input</li>\n<li>Scroll threshold specified via toggleActiveHeight input (in pixels)</li>\n<li>Class added when scroll position exceeds toggleActiveHeight</li>\n</ul>\n",
            "rawdescription": "\n\nDirective toggling CSS class on any element when scrolling past a custom threshold.\nMore flexible alternative to euiScrollHandler with configurable element ID, class, and height.\nMonitors window scroll and applies specified class when threshold exceeded.\n\n```html\n<div euiScrollHandlerElement=\"myNav\"\n     toggleClass=\"nav-fixed\"\n     [toggleActiveHeight]=\"100\">\n  Navigation content\n</div>\n```\n\n### Accessibility\n- Visual feedback for scroll position\n- Does not affect keyboard navigation or screen readers\n- Ensure element remains accessible in both states\n\n### Notes\n- Element ID specified via euiScrollHandlerElement input\n- CSS class specified via toggleClass input\n- Scroll threshold specified via toggleActiveHeight input (in pixels)\n- Class added when scroll position exceeds toggleActiveHeight\n",
            "sourceCode": "import { Directive, HostListener, OnInit, Input, booleanAttribute, numberAttribute, inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * Directive toggling CSS class on app header when scrolling past a threshold.\n * Monitors window scroll position and adds 'shrink-header-active' class to app wrapper.\n * Requires specific DOM structure with 'app-wrapper' and 'app-header' element IDs.\n * Typically used for sticky headers that shrink or change appearance on scroll.\n *\n * @usageNotes\n * ```html\n * <div id=\"app-wrapper\">\n *   <header id=\"app-header\">Header content</header>\n *   <main [euiScrollHandler]=\"true\">Main content</main>\n * </div>\n * ```\n *\n * ### Accessibility\n * - Visual feedback for scroll position\n * - Does not affect keyboard navigation or screen readers\n * - Ensure header remains accessible in both states\n *\n * ### Notes\n * - Requires elements with IDs 'app-wrapper' and 'app-header'\n * - Class 'shrink-header-active' added when scrolled past header height\n * - Scroll threshold automatically calculated from header height\n * - Set euiScrollHandler to false to disable\n */\n@Directive({\n    selector: '[euiScrollHandler]',\n})\nexport class EuiScrollHandlerDirective implements OnInit {\n    navIsFixed = false;\n    appHeaderHeight = 0;\n\n    @Input({ transform: booleanAttribute }) euiScrollHandler = false;\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    private appWrapper: any;\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    private appHeader: any;\n    private document = inject<Document>(DOCUMENT);\n\n    ngOnInit(): void {\n        this.appWrapper = this.document.getElementById('app-wrapper');\n        this.appHeader = this.document.getElementById('app-header');\n        if (this.appHeader) {\n            this.appHeaderHeight = this.appHeader.scrollHeight;\n        }\n    }\n\n    @HostListener('window:scroll', [])\n    onWindowScroll(): void {\n        if (this.euiScrollHandler && this.appHeaderHeight !== 0) {\n            const number = this.document.body.scrollTop || this.document.documentElement.scrollTop; // Chrome || IE/FF\n\n            if (number > this.appHeaderHeight) {\n                this.navIsFixed = true;\n                this.appWrapper.classList.add('shrink-header-active');\n            } else if (this.navIsFixed && number < this.appHeaderHeight) {\n                this.navIsFixed = false;\n                this.appWrapper.classList.remove('shrink-header-active');\n            }\n        }\n    }\n}\n\n/**\n * Directive toggling CSS class on any element when scrolling past a custom threshold.\n * More flexible alternative to euiScrollHandler with configurable element ID, class, and height.\n * Monitors window scroll and applies specified class when threshold exceeded.\n *\n * @usageNotes\n * ```html\n * <div euiScrollHandlerElement=\"myNav\"\n *      toggleClass=\"nav-fixed\"\n *      [toggleActiveHeight]=\"100\">\n *   Navigation content\n * </div>\n * ```\n *\n * ### Accessibility\n * - Visual feedback for scroll position\n * - Does not affect keyboard navigation or screen readers\n * - Ensure element remains accessible in both states\n *\n * ### Notes\n * - Element ID specified via euiScrollHandlerElement input\n * - CSS class specified via toggleClass input\n * - Scroll threshold specified via toggleActiveHeight input (in pixels)\n * - Class added when scroll position exceeds toggleActiveHeight\n */\n@Directive({\n    selector: '[euiScrollHandlerElement]',\n})\nexport class EuiScrollHandlerElementDirective {\n    @Input() euiScrollHandlerElement: string;\n    @Input() toggleClass: string;\n    @Input({ transform: numberAttribute }) toggleActiveHeight: number;\n\n    public navIsFixed = false;\n    private document = inject<Document>(DOCUMENT);\n\n    @HostListener('window:scroll', [])\n    onWindowScroll(): void {\n        const element = this.document.getElementById(this.euiScrollHandlerElement);\n        const number = this.document.body.scrollTop || this.document.documentElement.scrollTop; // Chrome || IE/FF\n\n        if (number > this.toggleActiveHeight) {\n            this.navIsFixed = true;\n            element.classList.add(this.toggleClass);\n        } else if (this.navIsFixed && number < this.toggleActiveHeight) {\n            this.navIsFixed = false;\n            element.classList.remove(this.toggleClass);\n        }\n    }\n}\n\n",
            "selector": "[euiScrollHandlerElement]",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "name": "euiScrollHandlerElement",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 99,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "toggleActiveHeight",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 101,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "toggleClass",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 100,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [
                {
                    "name": "window:scroll",
                    "args": [],
                    "argsDecorator": [],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 107
                }
            ],
            "propertiesClass": [
                {
                    "name": "navIsFixed",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 103,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onWindowScroll",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 107,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'window:scroll', undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "extends": []
        },
        {
            "name": "EuiSelectControlValueAccessor",
            "id": "directive-EuiSelectControlValueAccessor-976b9d48e890e30d58f71c177fd66173017d3345e711760ebeefe4f78274e5ba84a7ee16a6359e1866abb50ea8b50cc03e0b58cad4d1e98e5614507f09b71992",
            "file": "packages/components/eui-select/eui-select-control.directive.ts",
            "type": "directive",
            "description": "<p>Control value accessor for single-select dropdowns with EUI styling.\nExtends Angular&#39;s SelectControlValueAccessor to handle placeholder behavior and readonly state synchronization.</p>\n<h3>Applied automatically</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;select euiSelect [formControl]=&quot;myControl&quot;&gt;\n  &lt;option euiOption [ngValue]=&quot;item&quot; *ngFor=&quot;let item of items&quot;&gt;{{item.label}}&lt;/option&gt;\n&lt;/select&gt;</code></pre></div><h3>Notes</h3>\n<ul>\n<li>Automatically applied when using euiSelect with form directives</li>\n<li>Handles object values via ngValue</li>\n<li>Manages placeholder styling and selection state</li>\n</ul>\n",
            "rawdescription": "\n\nControl value accessor for single-select dropdowns with EUI styling.\nExtends Angular's SelectControlValueAccessor to handle placeholder behavior and readonly state synchronization.\n\n### Applied automatically\n```html\n<select euiSelect [formControl]=\"myControl\">\n  <option euiOption [ngValue]=\"item\" *ngFor=\"let item of items\">{{item.label}}</option>\n</select>\n```\n\n### Notes\n- Automatically applied when using euiSelect with form directives\n- Handles object values via ngValue\n- Manages placeholder styling and selection state\n",
            "sourceCode": "import { Directive, DoCheck, ElementRef, forwardRef, Injector, Input, OnChanges, Renderer2, SimpleChanges, inject } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, SelectControlValueAccessor } from '@angular/forms';\nimport { EuiSelectComponent } from './eui-select.component';\nimport { _buildValueString } from './utils';\n\n/**\n * @description\n * Control value accessor for single-select dropdowns with EUI styling.\n * Extends Angular's SelectControlValueAccessor to handle placeholder behavior and readonly state synchronization.\n *\n * @usageNotes\n * ### Applied automatically\n * ```html\n * <select euiSelect [formControl]=\"myControl\">\n *   <option euiOption [ngValue]=\"item\" *ngFor=\"let item of items\">{{item.label}}</option>\n * </select>\n * ```\n *\n * ### Notes\n * - Automatically applied when using euiSelect with form directives\n * - Handles object values via ngValue\n * - Manages placeholder styling and selection state\n */\n@Directive({\n    selector:\n        // eslint-disable-next-line @angular-eslint/directive-selector\n        'select:not([multiple])[formControlName][euiSelect],select:not([multiple])[formControl][euiSelect],select:not([multiple])[ngModel][euiSelect]',\n    host: { '(blur)': 'onTouched()' },\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => EuiSelectControlValueAccessor),\n            multi: true,\n        },\n    ],\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class EuiSelectControlValueAccessor extends SelectControlValueAccessor implements ControlValueAccessor, OnChanges, DoCheck {\n    @Input() placeholder: string;\n\n    private elementRef: ElementRef;\n    private renderer: Renderer2;\n    private placeholderOption: HTMLOptionElement;\n    private selectComponent = inject(EuiSelectComponent, { optional: true })!;\n    private injector = inject(Injector);\n\n    constructor() {\n        const _renderer = inject(Renderer2);\n        const _elementRef = inject(ElementRef);\n\n        super(_renderer, _elementRef);\n        this.elementRef = _elementRef;\n        this.renderer = _renderer;\n        this.onChange = (valueString: string): void => {\n            this.value = this['_getOptionValue'](valueString);\n            this.setPlaceholderClass(this.value);\n        };\n    }\n\n    ngDoCheck(): void {\n        if (this.placeholder && this.elementRef.nativeElement.selectedIndex === 0) {\n            this.renderer.addClass(this.placeholderOption, 'eui-select__placeholder');\n        }\n    }\n\n    /**\n     * Sets the \"value\" property on the select element.\n     *\n     * @nodoc\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    override writeValue(value: any): void {\n        super.writeValue(value);\n        this.setPlaceholderClass(value);\n        this.selectComponent?.syncReadOnlyValue();\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    override registerOnChange(fn: (value: any) => any): void {\n        this.onChange = (valueString: string): void => {\n            this.value = this['_getOptionValue'](valueString);\n            this.setPlaceholderClass(this.value);\n            fn(this.value);\n        };\n    }\n\n    setDisabledState(isDisabled: boolean): void {\n        if (isDisabled) {\n            this.renderer.setAttribute(this.elementRef.nativeElement, 'disabled', '');\n        } else {\n            this.renderer.removeAttribute(this.elementRef.nativeElement, 'disabled');\n        }\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes['placeholder']) {\n            // in case option Element already created update the value\n            if (changes['placeholder'].currentValue === undefined) {\n                this.renderer.removeClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n                // remove option element\n                if (this.placeholderOption) {\n                    this.renderer.removeChild(this.elementRef.nativeElement, this.placeholderOption);\n                    this.placeholderOption = undefined;\n                }\n            } else if (this.placeholderOption) {\n                this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n            } else {\n                // create option Element\n                this.placeholderOption = this.renderer.createElement('option');\n                // const option = new EuiNgSelectOptionDirective({nativeElement: this.placeholderOption}, this.renderer, this);\n                // option.ngValue = null;\n                const id = this['_registerOption']();\n                this['_optionMap'].set(id, null);\n                const selectControlValueAccessor = this.injector.get(SelectControlValueAccessor, undefined);\n                selectControlValueAccessor['_idCounter'] = this['_idCounter'];\n                selectControlValueAccessor['_optionMap'] = this['_optionMap'];\n                this.renderer.setValue(this.placeholderOption, _buildValueString(id, null));\n                this.renderer.setProperty(this.placeholderOption, 'value', _buildValueString(id, null));\n\n                this.renderer.addClass(this.placeholderOption, 'eui-select__placeholder');\n                this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n                // set attributes to act as a placeholder\n                if (!this.elementRef.nativeElement.value) {\n                    this.renderer.setAttribute(this.placeholderOption, 'selected', '');\n                }\n                // append option element as the first of the select children\n                this.elementRef.nativeElement.insertBefore(this.placeholderOption, this.elementRef.nativeElement.firstChild);\n\n                if (this.elementRef.nativeElement.value === changes['placeholder'].currentValue) {\n                    this.renderer.addClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n                }\n                if (!this.value) {\n                    this.writeValue(undefined);\n                }\n            }\n        }\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    private setPlaceholderClass(value: any): void {\n        if (!!this.placeholder && (value === undefined || value === null || value === '')) {\n            try {\n                this.elementRef.nativeElement.options[0].selected = true;\n            } catch (e) {\n                /* empty */\n            }\n            this.renderer.addClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n        } else {\n            this.renderer.removeClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n        }\n    }\n}\n",
            "selector": "select:not([multiple])[formControlName][euiSelect],select:not([multiple])[formControl][euiSelect],select:not([multiple])[ngModel][euiSelect]",
            "providers": [
                {
                    "name": ")"
                }
            ],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "name": "placeholder",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 39,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "ngDoCheck",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 60,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 97,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "registerOnChange",
                    "args": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "value",
                                    "type": "any",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ]
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 81,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        164
                    ],
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "value",
                                    "type": "any",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ],
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "setDisabledState",
                    "args": [
                        {
                            "name": "isDisabled",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 89,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "isDisabled",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "writeValue",
                    "args": [
                        {
                            "name": "value",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 73,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the \"value\" property on the select element.\n\n",
                    "description": "<p>Sets the &quot;value&quot; property on the select element.</p>\n",
                    "modifierKind": [
                        164
                    ],
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "extends": [
                "SelectControlValueAccessor"
            ],
            "implements": [
                "ControlValueAccessor",
                "OnChanges",
                "DoCheck"
            ],
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 45
            }
        },
        {
            "name": "EuiSelectMultipleControlValueAccessor",
            "id": "directive-EuiSelectMultipleControlValueAccessor-04d2916c3cee8ce209c7e80b03fdd3feaf22c89bfba0fa15ada8c473ed245505615aef7f9382fd7792eee6ca5d593b8aeaac2e8fe23ef80fa48f7f897e595c52",
            "file": "packages/components/eui-select/eui-select-multiple.directive.ts",
            "type": "directive",
            "description": "<p>The <code>ControlValueAccessor</code> for writing multi-select control values and listening to multi-select\ncontrol changes. The value accessor is used by the <code>FormControlDirective</code>, <code>FormControlName</code>, and\n<code>NgModel</code> directives.</p>\n<p>See <code>EuiSelectControlValueAccessor</code></p>\n<h3>Using a multi-select control</h3>\n<p>The follow example shows you how to use a multi-select control with a reactive form.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">const countryControl = new FormControl();</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">&lt;select euiSelect multiple name=&quot;countries&quot; [formControl]=&quot;countryControl&quot;&gt;\n  &lt;option euiOption *ngFor=&quot;let country of countries&quot; [ngValue]=&quot;country&quot;&gt;\n    {{ country.name }}\n  &lt;/option&gt;\n&lt;/select&gt;</code></pre></div><h3>Customizing option selection</h3>\n<p>To customize the default option comparison algorithm, <code>&lt;select&gt;</code> supports <code>compareWith</code> input.\nSee the <code>SelectControlValueAccessor</code> for usage.</p>\n",
            "rawdescription": "\n\nThe `ControlValueAccessor` for writing multi-select control values and listening to multi-select\ncontrol changes. The value accessor is used by the `FormControlDirective`, `FormControlName`, and\n`NgModel` directives.\n\nSee `EuiSelectControlValueAccessor`\n\n\n### Using a multi-select control\n\nThe follow example shows you how to use a multi-select control with a reactive form.\n\n```ts\nconst countryControl = new FormControl();\n```\n\n```\n<select euiSelect multiple name=\"countries\" [formControl]=\"countryControl\">\n  <option euiOption *ngFor=\"let country of countries\" [ngValue]=\"country\">\n    {{ country.name }}\n  </option>\n</select>\n```\n\n### Customizing option selection\n\nTo customize the default option comparison algorithm, `<select>` supports `compareWith` input.\nSee the `SelectControlValueAccessor` for usage.\n\n",
            "sourceCode": "import { Directive, DoCheck, ElementRef, forwardRef, Injector, Input, Provider, Renderer2, inject } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl, SelectMultipleControlValueAccessor } from '@angular/forms';\nimport { EuiSelectMultipleOption } from './eui-select-mutli-option.directive';\nimport { _extractId } from './utils';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EuiSelectComponent } from './eui-select.component';\n\nconst SELECT_MULTIPLE_VALUE_ACCESSOR: Provider = {\n    provide: NG_VALUE_ACCESSOR,\n    useExisting: forwardRef(() => EuiSelectMultipleControlValueAccessor),\n    multi: true,\n};\n\n/** Mock interface for HTML Options */\ninterface HTMLOption {\n    value: string;\n    selected: boolean;\n}\n\n/** Mock interface for HTMLCollection */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nabstract class HTMLCollection {\n    // TODO(issue/24571): remove '!'.\n    length!: number;\n    abstract item(_: number): HTMLOption;\n}\n\n/**\n * @description\n * The `ControlValueAccessor` for writing multi-select control values and listening to multi-select\n * control changes. The value accessor is used by the `FormControlDirective`, `FormControlName`, and\n * `NgModel` directives.\n *\n * @see `EuiSelectControlValueAccessor`\n *\n * @usageNotes\n *\n * ### Using a multi-select control\n *\n * The follow example shows you how to use a multi-select control with a reactive form.\n *\n * ```ts\n * const countryControl = new FormControl();\n * ```\n *\n * ```\n * <select euiSelect multiple name=\"countries\" [formControl]=\"countryControl\">\n *   <option euiOption *ngFor=\"let country of countries\" [ngValue]=\"country\">\n *     {{ country.name }}\n *   </option>\n * </select>\n * ```\n *\n * ### Customizing option selection\n *\n * To customize the default option comparison algorithm, `<select>` supports `compareWith` input.\n * See the `SelectControlValueAccessor` for usage.\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\n@Directive({\n    selector:\n        // eslint-disable-next-line @angular-eslint/directive-selector,max-len\n        'select[multiple][formControlName][euiSelect],select[multiple][formControl][euiSelect],select[multiple][ngModel][euiSelect]',\n    host: { '(change)': 'onChange($event.target)', '(blur)': 'onTouched()' },\n    providers: [SELECT_MULTIPLE_VALUE_ACCESSOR],\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class EuiSelectMultipleControlValueAccessor extends SelectMultipleControlValueAccessor implements ControlValueAccessor, DoCheck {\n    @Input()\n    public get isInvalid(): boolean {\n        return this._isInvalid || null;\n    }\n    public set isInvalid(state: BooleanInput) {\n        this._isInvalid = coerceBooleanProperty(state);\n    }\n\n    /**\n     * The current value.\n     *\n     * @nodoc\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    value: any;\n\n    /** @internal */\n    _optionMap: Map<string, EuiSelectMultipleOption> = new Map<string, EuiSelectMultipleOption>();\n\n    /** @internal */\n    _idCounter = 0;\n    protected _isInvalid: boolean;\n    private elementRef: ElementRef;\n    private renderer: Renderer2;\n    private control: NgControl;\n    private selectComponent = inject(EuiSelectComponent, { optional: true })!;\n    private injector = inject(Injector);\n\n    constructor() {\n        const _renderer = inject(Renderer2);\n        const _elementRef = inject(ElementRef);\n\n        super(_renderer, _elementRef);\n        this.elementRef = _elementRef;\n        this.renderer = _renderer;\n    }\n\n    ngDoCheck(): void {\n        if (!this.control) {\n            this.control = this.injector.get(NgControl, undefined, { optional: true });\n        }\n        this._isInvalid = this.control ? this.control.invalid && this.control.touched : this._isInvalid;\n    }\n\n    /**\n     * Sets the \"value\" property on one or of more of the select's options.\n     *\n     * @nodoc\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    writeValue(value: any): void {\n        this.value = value;\n        // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        let optionSelectedStateSetter: (opt: EuiSelectMultipleOption, o: any) => void;\n        if (Array.isArray(value)) {\n            // convert values to ids\n            const ids = value.map((v) => this._getOptionId(v));\n            optionSelectedStateSetter = (opt, o): void => {\n                opt._setSelected(ids.indexOf(o.toString()) > -1);\n            };\n        } else {\n            optionSelectedStateSetter = (opt): void => {\n                opt._setSelected(false);\n            };\n        }\n        this._optionMap.forEach(optionSelectedStateSetter);\n        this.selectComponent?.syncReadOnlyValue();\n    }\n\n    /**\n     * Registers a function called when the control value changes\n     * and writes an array of the selected options.\n     *\n     * @nodoc\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    override registerOnChange(fn: (value: any) => any): void {\n        this.onChange = (element: HTMLSelectElement): void => {\n            // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n            // eslint-disable-next-line @typescript-eslint/no-explicit-any\n            const selected: Array<any> = [];\n            const selectedOptions = element.selectedOptions;\n            if (selectedOptions !== undefined) {\n                const options = selectedOptions;\n                // eslint-disable-next-line @typescript-eslint/prefer-for-of\n                for (let i = 0; i < options.length; i++) {\n                    const opt = options[i];\n                    const val = this._getOptionValue(opt.value);\n                    selected.push(val);\n                }\n            } else {\n                const options = element.options;\n                // eslint-disable-next-line @typescript-eslint/prefer-for-of\n                for (let i = 0; i < options.length; i++) {\n                    const opt = options[i];\n                    if (opt.selected) {\n                        const val = this._getOptionValue(opt.value);\n                        selected.push(val);\n                    }\n                }\n            }\n            this.value = selected;\n            fn(selected);\n        };\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    registerOnTouched(fn: any): void {\n        this.onTouched = (): void => {\n            const control = this.injector.get(NgControl, undefined, { optional: true });\n            this.isInvalid = control.invalid;\n            if (this.isInvalid) {\n                this.renderer.addClass(this.elementRef.nativeElement, 'eui-select--invalid');\n            }\n            fn();\n        };\n    }\n\n    /** @internal */\n    _registerOption(value: EuiSelectMultipleOption): string {\n        const id: string = (this._idCounter++).toString();\n        this._optionMap.set(id, value);\n        return id;\n    }\n\n    /** @internal */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    _getOptionId(value: any): string | null {\n        for (const id of Array.from(this._optionMap.keys())) {\n            // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n            if (this['_compareWith'](this._optionMap.get(id)!._value, value)) {\n                return id;\n            }\n        }\n        return null;\n    }\n\n    /** @internal */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    _getOptionValue(valueString: string): any {\n        const id: string = _extractId(valueString);\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n        return this._optionMap.has(id) ? this._optionMap.get(id)!._value : valueString;\n    }\n}\n",
            "selector": "select[multiple][formControlName][euiSelect],select[multiple][formControl][euiSelect],select[multiple][ngModel][euiSelect]",
            "providers": [
                {
                    "name": "SELECT_MULTIPLE_VALUE_ACCESSOR"
                }
            ],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "name": "isInvalid",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 73,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [
                {
                    "name": "_isInvalid",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 94,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "value",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The current value.</p>\n",
                    "line": 87,
                    "rawdescription": "\n\nThe current value.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 2852,
                            "end": 2864,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2853,
                                "end": 2858,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "nodoc"
                            },
                            "comment": ""
                        }
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngDoCheck",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 110,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "registerOnChange",
                    "args": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "value",
                                    "type": "any",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ]
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 152,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRegisters a function called when the control value changes\nand writes an array of the selected options.\n\n",
                    "description": "<p>Registers a function called when the control value changes\nand writes an array of the selected options.</p>\n",
                    "modifierKind": [
                        164
                    ],
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "value",
                                    "type": "any",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ],
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "registerOnTouched",
                    "args": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 184,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "writeValue",
                    "args": [
                        {
                            "name": "value",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 124,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the \"value\" property on one or of more of the select's options.\n\n",
                    "description": "<p>Sets the &quot;value&quot; property on one or of more of the select&#39;s options.</p>\n",
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "extends": [
                "SelectMultipleControlValueAccessor"
            ],
            "implements": [
                "ControlValueAccessor",
                "DoCheck"
            ],
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 99
            },
            "accessors": {
                "isInvalid": {
                    "name": "isInvalid",
                    "setSignature": {
                        "name": "isInvalid",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "state",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 76,
                        "jsdoctags": [
                            {
                                "name": "state",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "isInvalid",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 73
                    }
                }
            }
        },
        {
            "name": "EuiSelectMultipleOption",
            "id": "directive-EuiSelectMultipleOption-4e22438f285f2b2983370d7b1e2f803fde8239ec0c5f6237c20942c50f1341eb1b0a487653543207412d161186ac73a756738a21a71882a28942b8f34e684222",
            "file": "packages/components/eui-select/eui-select-mutli-option.directive.ts",
            "type": "directive",
            "description": "<p>Marks <code>&lt;option&gt;</code> as dynamic, so Angular can be notified when options change.</p>\n<p>See <code>EuiSelectMultipleControlValueAccessor</code></p>\n",
            "rawdescription": "\n\nMarks `<option>` as dynamic, so Angular can be notified when options change.\n\nSee `EuiSelectMultipleControlValueAccessor`\n\n",
            "sourceCode": "import { Directive, ElementRef, Input, OnDestroy, Renderer2, inject } from '@angular/core';\nimport { ɵNgSelectMultipleOption as NgSelectMultipleOption } from '@angular/forms';\nimport { EuiSelectMultipleControlValueAccessor } from './eui-select-multiple.directive';\nimport { _buildValueString } from './utils';\n\n/**\n * @description\n * Marks `<option>` as dynamic, so Angular can be notified when options change.\n *\n * @see `EuiSelectMultipleControlValueAccessor`\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({ selector: 'option, option[euiOption]' })\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class EuiSelectMultipleOption extends NgSelectMultipleOption implements OnDestroy {\n    // TODO(issue/24571): remove '!'.\n    id!: string;\n    /** @internal */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    _value: any;\n    private element: ElementRef;\n    private renderer: Renderer2;\n    private select: EuiSelectMultipleControlValueAccessor;\n\n    constructor() {\n        const _element = inject(ElementRef);\n        const _renderer = inject(Renderer2);\n        const _select = inject(EuiSelectMultipleControlValueAccessor, { optional: true, host: true })!;\n\n        super(_element, _renderer, _select);\n        this.element = _element;\n        this.renderer = _renderer;\n        this.select = _select;\n    }\n\n    /**\n     * @description\n     * Tracks the value bound to the option element. Unlike the value binding,\n     * ngValue supports binding to objects.\n     */\n    @Input()\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    set ngValue(value: any) {\n        if (this.select == null) {\n            return;\n        }\n        this._value = value;\n        this._setElementValue(_buildValueString(this.id, value));\n        this.select.writeValue(this.select.value);\n    }\n\n    /**\n     * @description\n     * Tracks simple string values bound to the option element.\n     * For objects, use the `ngValue` input binding.\n     */\n    @Input()\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    set value(value: any) {\n        if (this.select) {\n            this._value = value;\n            this._setElementValue(_buildValueString(this.id, value));\n            this.select.writeValue(this.select.value);\n        } else {\n            this._setElementValue(value);\n        }\n    }\n\n    /** @internal */\n    _setElementValue(value: string): void {\n        this.renderer.setProperty(this.element.nativeElement, 'value', value);\n    }\n\n    /** @internal */\n    _setSelected(selected: boolean): void {\n        this.renderer.setProperty(this.element.nativeElement, 'selected', selected);\n    }\n\n    /** @nodoc */\n    ngOnDestroy(): void {\n        if (this.select) {\n            this.select._optionMap.delete(this.id);\n            this.select.writeValue(this.select.value);\n        }\n    }\n}\n",
            "selector": "option, option[euiOption]",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "name": "ngValue",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1603,
                            "end": 1744,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1604,
                                "end": 1615,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Tracks the value bound to the option element. Unlike the value binding,\nngValue supports binding to objects.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nTracks the value bound to the option element. Unlike the value binding,\nngValue supports binding to objects.\n",
                    "description": "<p>Tracks the value bound to the option element. Unlike the value binding,\nngValue supports binding to objects.</p>\n",
                    "line": 49,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "value",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2210,
                            "end": 2345,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2211,
                                "end": 2222,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Tracks simple string values bound to the option element.\nFor objects, use the <code>ngValue</code> input binding.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nTracks simple string values bound to the option element.\nFor objects, use the `ngValue` input binding.\n",
                    "description": "<p>Tracks simple string values bound to the option element.\nFor objects, use the <code>ngValue</code> input binding.</p>\n",
                    "line": 66,
                    "type": "any",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 21
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 87,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "",
                    "description": "",
                    "jsdoctags": []
                }
            ],
            "extends": [
                "NgSelectMultipleOption"
            ],
            "implements": [
                "OnDestroy"
            ],
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 28
            },
            "accessors": {
                "ngValue": {
                    "name": "ngValue",
                    "setSignature": {
                        "name": "ngValue",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "any",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 49,
                        "rawdescription": "\n\nTracks the value bound to the option element. Unlike the value binding,\nngValue supports binding to objects.\n",
                        "description": "<p>Tracks the value bound to the option element. Unlike the value binding,\nngValue supports binding to objects.</p>\n",
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "any",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    }
                },
                "value": {
                    "name": "value",
                    "setSignature": {
                        "name": "value",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "any",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 66,
                        "rawdescription": "\n\nTracks simple string values bound to the option element.\nFor objects, use the `ngValue` input binding.\n",
                        "description": "<p>Tracks simple string values bound to the option element.\nFor objects, use the <code>ngValue</code> input binding.</p>\n",
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "any",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    }
                }
            }
        },
        {
            "name": "EuiSmoothScrollDirective",
            "id": "directive-EuiSmoothScrollDirective-27b57d1f5e607c4042ca40c637191c7c7b3780e08a509636a78e567a5aae5015b746ecc35a40851669ec54b4c291fcec087d29e80a8ca8f05bd0234eb5ee186f",
            "file": "packages/components/directives/eui-smooth-scroll.directive.ts",
            "type": "directive",
            "description": "<p>Directive automatically scrolling to host element on initialization or click.\nProvides animated scroll with configurable duration, offset, and easing.\nSupports conditional scrolling and callbacks before/after scroll.</p>\n<p>Scroll on init:</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;div euiSmoothScroll [scrollIf]=&quot;shouldScroll&quot;&gt;Content&lt;/div&gt;</code></pre></div><p>Scroll on click:</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;div euiSmoothScroll [scrollOnClick]=&quot;true&quot; [duration]=&quot;500&quot;&gt;Click to scroll here&lt;/div&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Smooth scroll provides better UX than instant jump</li>\n<li>Use scrollIf to conditionally enable scrolling</li>\n<li>Consider reduced motion preferences for accessibility</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Scrolls to host element automatically on init (unless scrollIf is false)</li>\n<li>Set scrollOnClick to true for click-triggered scrolling</li>\n<li>Default duration is 800ms</li>\n<li>Offset adjusts final scroll position</li>\n<li>Supports scrolling within specific container via containerId</li>\n<li>middleAlign centers element in viewport</li>\n</ul>\n",
            "rawdescription": "\n\nDirective automatically scrolling to host element on initialization or click.\nProvides animated scroll with configurable duration, offset, and easing.\nSupports conditional scrolling and callbacks before/after scroll.\n\nScroll on init:\n```html\n<div euiSmoothScroll [scrollIf]=\"shouldScroll\">Content</div>\n```\n\nScroll on click:\n```html\n<div euiSmoothScroll [scrollOnClick]=\"true\" [duration]=\"500\">Click to scroll here</div>\n```\n\n### Accessibility\n- Smooth scroll provides better UX than instant jump\n- Use scrollIf to conditionally enable scrolling\n- Consider reduced motion preferences for accessibility\n\n### Notes\n- Scrolls to host element automatically on init (unless scrollIf is false)\n- Set scrollOnClick to true for click-triggered scrolling\n- Default duration is 800ms\n- Offset adjusts final scroll position\n- Supports scrolling within specific container via containerId\n- middleAlign centers element in viewport\n",
            "sourceCode": "import {\n    Directive,\n    Input,\n    HostListener,\n    OnInit,\n    ElementRef,\n    numberAttribute,\n    booleanAttribute,\n    inject,\n    PLATFORM_ID,\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\n/**\n * Directive scrolling smoothly to a target element when clicked.\n * Provides animated scroll with configurable duration, offset, and easing.\n * Supports scrolling within containers and callbacks before/after scroll.\n *\n * @usageNotes\n * ```html\n * <button euiScrollTo=\"targetSection\">Scroll to section</button>\n * <div id=\"targetSection\">Target content</div>\n * ```\n *\n * With options:\n * ```html\n * <a euiScrollTo=\"footer\" [duration]=\"1000\" [offset]=\"-50\">Go to footer</a>\n * ```\n *\n * ### Accessibility\n * - Smooth scroll provides better UX than instant jump\n * - Ensure target element has proper focus management\n * - Consider reduced motion preferences for accessibility\n *\n * ### Notes\n * - Target element identified by ID via euiScrollTo input\n * - Default duration is 800ms\n * - Offset adjusts final scroll position (negative scrolls higher)\n * - Supports multiple easing functions (easeInOutQuart default)\n * - Can scroll within specific container via containerId\n */\n@Directive({\n    selector: '[euiScrollTo]',\n})\nexport class EuiSmoothScrollToDirective {\n    targetElement: any;\n\n    @Input('euiScrollTo') public scrollTo: string;\n    @Input({alias: 'duration', transform: numberAttribute }) public duration: number;\n    @Input({ transform: numberAttribute }) public offset: number;\n    @Input('easing') public easing: string;\n    @Input('callbackBefore') public callbackBefore: any;\n    @Input('callbackAfter') public callbackAfter: any;\n    @Input('containerId') public containerId: string;\n    @Input('middleAlign') public middleAlign: any;\n\n    @HostListener('click') onClick() {\n        this.targetElement = document.getElementById(this.scrollTo);\n        if (!this.targetElement) {\n            return;\n        }\n\n        new SmoothScroll(this.targetElement, {\n            duration: this.duration,\n            offset: this.offset,\n            easing: this.easing,\n            callbackBefore: this.callbackBefore,\n            callbackAfter: this.callbackAfter,\n            containerId: this.containerId,\n            middleAlign: this.middleAlign\n        });\n    };\n\n}\n\n/**\n * Directive automatically scrolling to host element on initialization or click.\n * Provides animated scroll with configurable duration, offset, and easing.\n * Supports conditional scrolling and callbacks before/after scroll.\n *\n * @usageNotes\n * Scroll on init:\n * ```html\n * <div euiSmoothScroll [scrollIf]=\"shouldScroll\">Content</div>\n * ```\n *\n * Scroll on click:\n * ```html\n * <div euiSmoothScroll [scrollOnClick]=\"true\" [duration]=\"500\">Click to scroll here</div>\n * ```\n *\n * ### Accessibility\n * - Smooth scroll provides better UX than instant jump\n * - Use scrollIf to conditionally enable scrolling\n * - Consider reduced motion preferences for accessibility\n *\n * ### Notes\n * - Scrolls to host element automatically on init (unless scrollIf is false)\n * - Set scrollOnClick to true for click-triggered scrolling\n * - Default duration is 800ms\n * - Offset adjusts final scroll position\n * - Supports scrolling within specific container via containerId\n * - middleAlign centers element in viewport\n */\n@Directive({\n    selector: '[euiSmoothScroll]',\n})\nexport class EuiSmoothScrollDirective implements OnInit {\n    private platformId = inject(PLATFORM_ID);\n    private el = inject(ElementRef)\n\n    @Input('scrollIf') public scrollIf: boolean;\n    @Input({ transform: numberAttribute}) public duration: number;\n    @Input({ transform: numberAttribute}) public offset: number;\n    @Input('easing') public easing: string;\n    @Input('callbackBefore') public callbackBefore: any;\n    @Input('callbackAfter') public callbackAfter: any;\n    @Input('containerId') public containerId: string;\n    @Input({ transform: booleanAttribute }) public scrollOnClick: boolean;\n    @Input('middleAlign') public middleAlign: any;\n\n    @HostListener('click', ['$event.target']) onClick(target) {\n        if (this.scrollOnClick) {\n            this.scroll();\n        }\n    };\n\n    public ngOnInit() {\n        this.scroll();\n    }\n\n    private scroll() {\n        if (typeof this.scrollIf === 'undefined' || this.scrollIf === true) {\n            if(isPlatformBrowser(this.platformId)) {\n                setTimeout(() => {\n                    new SmoothScroll(this.el.nativeElement, {\n                        duration: this.duration,\n                        offset: this.offset,\n                        easing: this.easing,\n                        callbackBefore: this.callbackBefore,\n                        callbackAfter: this.callbackAfter,\n                        containerId: this.containerId,\n                        middleAlign: this.middleAlign\n                    });\n                }, 0);\n            }\n        }\n    }\n\n}\n\nclass SmoothScroll {\n    constructor(element: any, options: any) {\n        this.smoothScroll(element, options);\n    }\n    private smoothScroll(element, options) {\n        options = options || {};\n\n        // Options\n        let duration = options.duration || 800,\n            offset = options.offset || 0,\n            easing = options.easing || 'easeInOutQuart',\n            callbackBefore = options.callbackBefore || function () { },\n            callbackAfter = options.callbackAfter || function () { },\n            container = document.getElementById(options.containerId) || null,\n            containerPresent = (container != undefined && container != null),\n            middleAlign = options.middleAlign || false;\n\n\t\t/**\n\t\t * Retrieve current location\n\t\t */\n        let getScrollLocation = function () {\n            if (containerPresent) {\n                return container.scrollTop;\n            } else {\n                if (window.pageYOffset) {\n                    return window.pageYOffset;\n                } else {\n                    return document.documentElement.scrollTop;\n                }\n            }\n        };\n\n\t\t/**\n\t\t * Calculate easing pattern.\n\t\t *\n\t\t * 20150713 edit - zephinzer\n\t\t * - changed if-else to switch\n\t\t * @see http://archive.oreilly.com/pub/a/server-administration/excerpts/even-faster-websites/writing-efficient-javascript.html\n\t\t */\n        let getEasingPattern = function (type, time) {\n            switch (type) {\n            case 'easeInQuad': return time * time; // accelerating from zero velocity\n            case 'easeOutQuad': return time * (2 - time); // decelerating to zero velocity\n            case 'easeInOutQuad': return time < 0.5 ? 2 * time * time : -1 + (4 - 2 * time) * time; // acceleration until halfway, then deceleration\n            case 'easeInCubic': return time * time * time; // accelerating from zero velocity\n            case 'easeOutCubic': return (--time) * time * time + 1; // decelerating to zero velocity\n            case 'easeInOutCubic': return time < 0.5 ? 4 * time * time * time : (time - 1) * (2 * time - 2) * (2 * time - 2) + 1; // acceleration until halfway, then deceleration\n            case 'easeInQuart': return time * time * time * time; // accelerating from zero velocity\n            case 'easeOutQuart': return 1 - (--time) * time * time * time; // decelerating to zero velocity\n            case 'easeInOutQuart': return time < 0.5 ? 8 * time * time * time * time : 1 - 8 * (--time) * time * time * time; // acceleration until halfway, then deceleration\n            case 'easeInQuint': return time * time * time * time * time; // accelerating from zero velocity\n            case 'easeOutQuint': return 1 + (--time) * time * time * time * time; // decelerating to zero velocity\n            case 'easeInOutQuint': return time < 0.5 ? 16 * time * time * time * time * time : 1 + 16 * (--time) * time * time * time * time; // acceleration until halfway, then deceleration\n            default: return time;\n            }\n        };\n\n\t\t/**\n\t\t * Calculate how far to scroll\n\t\t */\n        let getEndLocation = function (element) {\n            let location = 0,\n                elementRect = element.getBoundingClientRect(),\n                absoluteElementTop = elementRect.top + window.pageYOffset;\n\n            if (middleAlign) {\n                location = (absoluteElementTop + (element.offsetHeight / 2)) - (window.innerHeight / 2);\n            } else {\n                location = absoluteElementTop;\n            }\n\n            if (offset) {\n                location = location - offset;\n            }\n\n            return Math.max(location, 0);\n        };\n\n        // Initialize the whole thing\n        setTimeout(function () {\n            let currentLocation = null,\n                startLocation = getScrollLocation(),\n                endLocation = getEndLocation(element),\n                timeLapsed = 0,\n                distance = endLocation - startLocation,\n                percentage,\n                position,\n                scrollHeight,\n                internalHeight;\n\n\t\t\t/**\n\t\t\t * Stop the scrolling animation when the anchor is reached (or at the top/bottom of the page)\n\t\t\t */\n            let stopAnimation = function () {\n                currentLocation = getScrollLocation();\n                if (containerPresent) {\n                    scrollHeight = container.scrollHeight;\n                    internalHeight = container.clientHeight + currentLocation;\n                } else {\n                    scrollHeight = document.body.scrollHeight;\n                    internalHeight = window.innerHeight + currentLocation;\n                }\n\n                if (\n                    ( // condition 1\n                        position == endLocation\n                    ) ||\n                    ( // condition 2\n                        currentLocation == endLocation\n                    ) ||\n                    ( // condition 3\n                        internalHeight > scrollHeight\n                    )\n                ) { // stop\n                    clearInterval(runAnimation);\n\n                    callbackAfter(element);\n                }\n            };\n\n\t\t\t/**\n\t\t\t * Scroll the page by an increment, and check if it's time to stop\n\t\t\t */\n            let animateScroll = function () {\n                timeLapsed += 16;\n                percentage = (timeLapsed / duration);\n                percentage = (percentage > 1) ? 1 : percentage;\n                position = startLocation + (distance * getEasingPattern(easing, percentage));\n                if (containerPresent) {\n                    container.scrollTop = position;\n                } else {\n                    window.scrollTo(0, position);\n                }\n                stopAnimation();\n            };\n\n            callbackBefore(element);\n\n            let runAnimation = setInterval(animateScroll, 16);\n        }, 0);\n\n    }\n}\n/* eslint-enable */\n",
            "selector": "[euiSmoothScroll]",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "name": "callbackAfter",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 121,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "callbackBefore",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 120,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "containerId",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 122,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "duration",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 117,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "easing",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 119,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "middleAlign",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 124,
                    "type": "any",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "offset",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 118,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "scrollIf",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 116,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "scrollOnClick",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 123,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [
                {
                    "name": "click",
                    "args": [
                        {
                            "name": "target",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$event.target"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 126
                }
            ],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 132,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "onClick",
                    "args": [
                        {
                            "name": "target",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 126,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'click', ['$event.target']"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "name": "target",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "extends": [],
            "implements": [
                "OnInit"
            ]
        },
        {
            "name": "EuiSmoothScrollToDirective",
            "id": "directive-EuiSmoothScrollToDirective-27b57d1f5e607c4042ca40c637191c7c7b3780e08a509636a78e567a5aae5015b746ecc35a40851669ec54b4c291fcec087d29e80a8ca8f05bd0234eb5ee186f",
            "file": "packages/components/directives/eui-smooth-scroll.directive.ts",
            "type": "directive",
            "description": "<p>Directive scrolling smoothly to a target element when clicked.\nProvides animated scroll with configurable duration, offset, and easing.\nSupports scrolling within containers and callbacks before/after scroll.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;button euiScrollTo=&quot;targetSection&quot;&gt;Scroll to section&lt;/button&gt;\n&lt;div id=&quot;targetSection&quot;&gt;Target content&lt;/div&gt;</code></pre></div><p>With options:</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;a euiScrollTo=&quot;footer&quot; [duration]=&quot;1000&quot; [offset]=&quot;-50&quot;&gt;Go to footer&lt;/a&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Smooth scroll provides better UX than instant jump</li>\n<li>Ensure target element has proper focus management</li>\n<li>Consider reduced motion preferences for accessibility</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Target element identified by ID via euiScrollTo input</li>\n<li>Default duration is 800ms</li>\n<li>Offset adjusts final scroll position (negative scrolls higher)</li>\n<li>Supports multiple easing functions (easeInOutQuart default)</li>\n<li>Can scroll within specific container via containerId</li>\n</ul>\n",
            "rawdescription": "\n\nDirective scrolling smoothly to a target element when clicked.\nProvides animated scroll with configurable duration, offset, and easing.\nSupports scrolling within containers and callbacks before/after scroll.\n\n```html\n<button euiScrollTo=\"targetSection\">Scroll to section</button>\n<div id=\"targetSection\">Target content</div>\n```\n\nWith options:\n```html\n<a euiScrollTo=\"footer\" [duration]=\"1000\" [offset]=\"-50\">Go to footer</a>\n```\n\n### Accessibility\n- Smooth scroll provides better UX than instant jump\n- Ensure target element has proper focus management\n- Consider reduced motion preferences for accessibility\n\n### Notes\n- Target element identified by ID via euiScrollTo input\n- Default duration is 800ms\n- Offset adjusts final scroll position (negative scrolls higher)\n- Supports multiple easing functions (easeInOutQuart default)\n- Can scroll within specific container via containerId\n",
            "sourceCode": "import {\n    Directive,\n    Input,\n    HostListener,\n    OnInit,\n    ElementRef,\n    numberAttribute,\n    booleanAttribute,\n    inject,\n    PLATFORM_ID,\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\n/**\n * Directive scrolling smoothly to a target element when clicked.\n * Provides animated scroll with configurable duration, offset, and easing.\n * Supports scrolling within containers and callbacks before/after scroll.\n *\n * @usageNotes\n * ```html\n * <button euiScrollTo=\"targetSection\">Scroll to section</button>\n * <div id=\"targetSection\">Target content</div>\n * ```\n *\n * With options:\n * ```html\n * <a euiScrollTo=\"footer\" [duration]=\"1000\" [offset]=\"-50\">Go to footer</a>\n * ```\n *\n * ### Accessibility\n * - Smooth scroll provides better UX than instant jump\n * - Ensure target element has proper focus management\n * - Consider reduced motion preferences for accessibility\n *\n * ### Notes\n * - Target element identified by ID via euiScrollTo input\n * - Default duration is 800ms\n * - Offset adjusts final scroll position (negative scrolls higher)\n * - Supports multiple easing functions (easeInOutQuart default)\n * - Can scroll within specific container via containerId\n */\n@Directive({\n    selector: '[euiScrollTo]',\n})\nexport class EuiSmoothScrollToDirective {\n    targetElement: any;\n\n    @Input('euiScrollTo') public scrollTo: string;\n    @Input({alias: 'duration', transform: numberAttribute }) public duration: number;\n    @Input({ transform: numberAttribute }) public offset: number;\n    @Input('easing') public easing: string;\n    @Input('callbackBefore') public callbackBefore: any;\n    @Input('callbackAfter') public callbackAfter: any;\n    @Input('containerId') public containerId: string;\n    @Input('middleAlign') public middleAlign: any;\n\n    @HostListener('click') onClick() {\n        this.targetElement = document.getElementById(this.scrollTo);\n        if (!this.targetElement) {\n            return;\n        }\n\n        new SmoothScroll(this.targetElement, {\n            duration: this.duration,\n            offset: this.offset,\n            easing: this.easing,\n            callbackBefore: this.callbackBefore,\n            callbackAfter: this.callbackAfter,\n            containerId: this.containerId,\n            middleAlign: this.middleAlign\n        });\n    };\n\n}\n\n/**\n * Directive automatically scrolling to host element on initialization or click.\n * Provides animated scroll with configurable duration, offset, and easing.\n * Supports conditional scrolling and callbacks before/after scroll.\n *\n * @usageNotes\n * Scroll on init:\n * ```html\n * <div euiSmoothScroll [scrollIf]=\"shouldScroll\">Content</div>\n * ```\n *\n * Scroll on click:\n * ```html\n * <div euiSmoothScroll [scrollOnClick]=\"true\" [duration]=\"500\">Click to scroll here</div>\n * ```\n *\n * ### Accessibility\n * - Smooth scroll provides better UX than instant jump\n * - Use scrollIf to conditionally enable scrolling\n * - Consider reduced motion preferences for accessibility\n *\n * ### Notes\n * - Scrolls to host element automatically on init (unless scrollIf is false)\n * - Set scrollOnClick to true for click-triggered scrolling\n * - Default duration is 800ms\n * - Offset adjusts final scroll position\n * - Supports scrolling within specific container via containerId\n * - middleAlign centers element in viewport\n */\n@Directive({\n    selector: '[euiSmoothScroll]',\n})\nexport class EuiSmoothScrollDirective implements OnInit {\n    private platformId = inject(PLATFORM_ID);\n    private el = inject(ElementRef)\n\n    @Input('scrollIf') public scrollIf: boolean;\n    @Input({ transform: numberAttribute}) public duration: number;\n    @Input({ transform: numberAttribute}) public offset: number;\n    @Input('easing') public easing: string;\n    @Input('callbackBefore') public callbackBefore: any;\n    @Input('callbackAfter') public callbackAfter: any;\n    @Input('containerId') public containerId: string;\n    @Input({ transform: booleanAttribute }) public scrollOnClick: boolean;\n    @Input('middleAlign') public middleAlign: any;\n\n    @HostListener('click', ['$event.target']) onClick(target) {\n        if (this.scrollOnClick) {\n            this.scroll();\n        }\n    };\n\n    public ngOnInit() {\n        this.scroll();\n    }\n\n    private scroll() {\n        if (typeof this.scrollIf === 'undefined' || this.scrollIf === true) {\n            if(isPlatformBrowser(this.platformId)) {\n                setTimeout(() => {\n                    new SmoothScroll(this.el.nativeElement, {\n                        duration: this.duration,\n                        offset: this.offset,\n                        easing: this.easing,\n                        callbackBefore: this.callbackBefore,\n                        callbackAfter: this.callbackAfter,\n                        containerId: this.containerId,\n                        middleAlign: this.middleAlign\n                    });\n                }, 0);\n            }\n        }\n    }\n\n}\n\nclass SmoothScroll {\n    constructor(element: any, options: any) {\n        this.smoothScroll(element, options);\n    }\n    private smoothScroll(element, options) {\n        options = options || {};\n\n        // Options\n        let duration = options.duration || 800,\n            offset = options.offset || 0,\n            easing = options.easing || 'easeInOutQuart',\n            callbackBefore = options.callbackBefore || function () { },\n            callbackAfter = options.callbackAfter || function () { },\n            container = document.getElementById(options.containerId) || null,\n            containerPresent = (container != undefined && container != null),\n            middleAlign = options.middleAlign || false;\n\n\t\t/**\n\t\t * Retrieve current location\n\t\t */\n        let getScrollLocation = function () {\n            if (containerPresent) {\n                return container.scrollTop;\n            } else {\n                if (window.pageYOffset) {\n                    return window.pageYOffset;\n                } else {\n                    return document.documentElement.scrollTop;\n                }\n            }\n        };\n\n\t\t/**\n\t\t * Calculate easing pattern.\n\t\t *\n\t\t * 20150713 edit - zephinzer\n\t\t * - changed if-else to switch\n\t\t * @see http://archive.oreilly.com/pub/a/server-administration/excerpts/even-faster-websites/writing-efficient-javascript.html\n\t\t */\n        let getEasingPattern = function (type, time) {\n            switch (type) {\n            case 'easeInQuad': return time * time; // accelerating from zero velocity\n            case 'easeOutQuad': return time * (2 - time); // decelerating to zero velocity\n            case 'easeInOutQuad': return time < 0.5 ? 2 * time * time : -1 + (4 - 2 * time) * time; // acceleration until halfway, then deceleration\n            case 'easeInCubic': return time * time * time; // accelerating from zero velocity\n            case 'easeOutCubic': return (--time) * time * time + 1; // decelerating to zero velocity\n            case 'easeInOutCubic': return time < 0.5 ? 4 * time * time * time : (time - 1) * (2 * time - 2) * (2 * time - 2) + 1; // acceleration until halfway, then deceleration\n            case 'easeInQuart': return time * time * time * time; // accelerating from zero velocity\n            case 'easeOutQuart': return 1 - (--time) * time * time * time; // decelerating to zero velocity\n            case 'easeInOutQuart': return time < 0.5 ? 8 * time * time * time * time : 1 - 8 * (--time) * time * time * time; // acceleration until halfway, then deceleration\n            case 'easeInQuint': return time * time * time * time * time; // accelerating from zero velocity\n            case 'easeOutQuint': return 1 + (--time) * time * time * time * time; // decelerating to zero velocity\n            case 'easeInOutQuint': return time < 0.5 ? 16 * time * time * time * time * time : 1 + 16 * (--time) * time * time * time * time; // acceleration until halfway, then deceleration\n            default: return time;\n            }\n        };\n\n\t\t/**\n\t\t * Calculate how far to scroll\n\t\t */\n        let getEndLocation = function (element) {\n            let location = 0,\n                elementRect = element.getBoundingClientRect(),\n                absoluteElementTop = elementRect.top + window.pageYOffset;\n\n            if (middleAlign) {\n                location = (absoluteElementTop + (element.offsetHeight / 2)) - (window.innerHeight / 2);\n            } else {\n                location = absoluteElementTop;\n            }\n\n            if (offset) {\n                location = location - offset;\n            }\n\n            return Math.max(location, 0);\n        };\n\n        // Initialize the whole thing\n        setTimeout(function () {\n            let currentLocation = null,\n                startLocation = getScrollLocation(),\n                endLocation = getEndLocation(element),\n                timeLapsed = 0,\n                distance = endLocation - startLocation,\n                percentage,\n                position,\n                scrollHeight,\n                internalHeight;\n\n\t\t\t/**\n\t\t\t * Stop the scrolling animation when the anchor is reached (or at the top/bottom of the page)\n\t\t\t */\n            let stopAnimation = function () {\n                currentLocation = getScrollLocation();\n                if (containerPresent) {\n                    scrollHeight = container.scrollHeight;\n                    internalHeight = container.clientHeight + currentLocation;\n                } else {\n                    scrollHeight = document.body.scrollHeight;\n                    internalHeight = window.innerHeight + currentLocation;\n                }\n\n                if (\n                    ( // condition 1\n                        position == endLocation\n                    ) ||\n                    ( // condition 2\n                        currentLocation == endLocation\n                    ) ||\n                    ( // condition 3\n                        internalHeight > scrollHeight\n                    )\n                ) { // stop\n                    clearInterval(runAnimation);\n\n                    callbackAfter(element);\n                }\n            };\n\n\t\t\t/**\n\t\t\t * Scroll the page by an increment, and check if it's time to stop\n\t\t\t */\n            let animateScroll = function () {\n                timeLapsed += 16;\n                percentage = (timeLapsed / duration);\n                percentage = (percentage > 1) ? 1 : percentage;\n                position = startLocation + (distance * getEasingPattern(easing, percentage));\n                if (containerPresent) {\n                    container.scrollTop = position;\n                } else {\n                    window.scrollTo(0, position);\n                }\n                stopAnimation();\n            };\n\n            callbackBefore(element);\n\n            let runAnimation = setInterval(animateScroll, 16);\n        }, 0);\n\n    }\n}\n/* eslint-enable */\n",
            "selector": "[euiScrollTo]",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "name": "callbackAfter",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 57,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "callbackBefore",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 56,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "containerId",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 58,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "duration",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 53,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "easing",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 55,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "euiScrollTo",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 52,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "middleAlign",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 59,
                    "type": "any",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "offset",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 54,
                    "type": "number",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [
                {
                    "name": "click",
                    "args": [],
                    "argsDecorator": [],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 61
                }
            ],
            "propertiesClass": [
                {
                    "name": "targetElement",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 50
                }
            ],
            "methodsClass": [
                {
                    "name": "onClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 61,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'click'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "extends": []
        },
        {
            "name": "EuiTableExpandableRowDirective",
            "id": "directive-EuiTableExpandableRowDirective-1479f0216c5f19f614fd9dad7c2e0d1c14661ae9747092c0f9679a21f03674c94bcd5aa8cd40d649616bcebe2857157f7ecf549e53cb74162a14d9a9e323b2c3",
            "file": "packages/components/eui-table/directives/eui-table-expandable-row.directive.ts",
            "type": "directive",
            "description": "<p>Directive used to activate the expandable feature on a row of the table.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;table euiTable [data]=&quot;data&quot;&gt;\n    &lt;ng-template euiTemplate=&quot;header&quot;&gt;\n        &lt;tr&gt;\n            &lt;th aria-hidden=&quot;true&quot;&gt;&lt;/th&gt;\n            &lt;th&gt;Country&lt;/th&gt;\n            &lt;th&gt;Year&lt;/th&gt;\n            &lt;th&gt;ISO&lt;/th&gt;\n            &lt;th&gt;Population&lt;/th&gt;\n            &lt;th&gt;Capital city&lt;/th&gt;\n        &lt;/tr&gt;\n    &lt;/ng-template&gt;\n    &lt;ng-template let-row euiTemplate=&quot;body&quot;&gt;\n        &lt;tr&gt;\n            &lt;td data-col-label=&quot;Click to expand/collapse&quot;&gt;\n                &lt;eui-icon-button\n                    size=&quot;s&quot;\n                    [icon]=&quot;!row.expanded ? &#39;eui-chevron-right&#39; : &#39;eui-chevron-down&#39;&quot;\n                    [aria-label]=&quot;row.expanded ? &#39;Collapse row for &#39; + row.country : &#39;Expand row for &#39; + row.country&quot;\n                    (click)=&quot;row.expanded = !row.expanded;&quot; /&gt;\n            &lt;/td&gt;\n            &lt;td data-col-label=&quot;Country&quot;&gt;{{ row.country }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;Year&quot;&gt;{{ row.year }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;ISO&quot;&gt;{{ row.iso }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;Population&quot;&gt;{{ row.population | number }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;Capital city&quot;&gt;{{ row.capital }}&lt;/td&gt;\n        &lt;/tr&gt;\n        \\&#64;if(row.expanded) {\n            &lt;tr isExpandableRow&gt;\n                &lt;td colspan=&quot;6&quot; class=&quot;p-3&quot;&gt;\n                    &lt;h4 class=&quot;eui-u-text-h4&quot;&gt;Expanded row content for {{ row.country }}&lt;/h4&gt;\n                    &lt;div class=&quot;row&quot;&gt;\n                        &lt;div class=&quot;col-md-3&quot;&gt;\n                            &lt;span class=&quot;eui-flag-icon eui-flag-icon-{{ row.iso.toLowerCase() }} eui-flag-icon-5x&quot;&gt;&lt;/span&gt;\n                        &lt;/div&gt;\n                        &lt;div class=&quot;col-md-9&quot;&gt;\n                            &lt;span&gt;Capital city : &lt;strong&gt;{{ row.capital }}&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;\n                            &lt;span&gt;Population : &lt;strong&gt;{{ row.population | number }}&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;\n                            &lt;span&gt;Year : &lt;strong&gt;{{ row.year }}&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;\n                        &lt;/div&gt;\n                    &lt;/div&gt;\n                &lt;/td&gt;\n            &lt;/tr&gt;\n        }\n    &lt;/ng-template&gt;\n&lt;/table&gt;</code></pre></div><p>Typescript logic</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">data: Country[] = [\n    { id: 1, country: &#39;Belgium&#39;, year: 1958, iso: &#39;BE&#39;, population: 11198638, capital: &#39;Brussels&#39; },\n]</code></pre></div>",
            "rawdescription": "\n\nDirective used to activate the expandable feature on a row of the table.\n\n### Basic Usage\n```html\n<table euiTable [data]=\"data\">\n    <ng-template euiTemplate=\"header\">\n        <tr>\n            <th aria-hidden=\"true\"></th>\n            <th>Country</th>\n            <th>Year</th>\n            <th>ISO</th>\n            <th>Population</th>\n            <th>Capital city</th>\n        </tr>\n    </ng-template>\n    <ng-template let-row euiTemplate=\"body\">\n        <tr>\n            <td data-col-label=\"Click to expand/collapse\">\n                <eui-icon-button\n                    size=\"s\"\n                    [icon]=\"!row.expanded ? 'eui-chevron-right' : 'eui-chevron-down'\"\n                    [aria-label]=\"row.expanded ? 'Collapse row for ' + row.country : 'Expand row for ' + row.country\"\n                    (click)=\"row.expanded = !row.expanded;\" />\n            </td>\n            <td data-col-label=\"Country\">{{ row.country }}</td>\n            <td data-col-label=\"Year\">{{ row.year }}</td>\n            <td data-col-label=\"ISO\">{{ row.iso }}</td>\n            <td data-col-label=\"Population\">{{ row.population | number }}</td>\n            <td data-col-label=\"Capital city\">{{ row.capital }}</td>\n        </tr>\n        \\@if(row.expanded) {\n            <tr isExpandableRow>\n                <td colspan=\"6\" class=\"p-3\">\n                    <h4 class=\"eui-u-text-h4\">Expanded row content for {{ row.country }}</h4>\n                    <div class=\"row\">\n                        <div class=\"col-md-3\">\n                            <span class=\"eui-flag-icon eui-flag-icon-{{ row.iso.toLowerCase() }} eui-flag-icon-5x\"></span>\n                        </div>\n                        <div class=\"col-md-9\">\n                            <span>Capital city : <strong>{{ row.capital }}</strong></span><br>\n                            <span>Population : <strong>{{ row.population | number }}</strong></span><br>\n                            <span>Year : <strong>{{ row.year }}</strong></span><br>\n                        </div>\n                    </div>\n                </td>\n            </tr>\n        }\n    </ng-template>\n</table>\n```\nTypescript logic\n```ts\ndata: Country[] = [\n    { id: 1, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n]\n```\n",
            "sourceCode": "import { Directive, HostBinding, ElementRef, OnInit, inject } from '@angular/core';\nimport { AnimationBuilder, AnimationPlayer, animate, style } from '@angular/animations';\n\n/**\n * @description\n * Directive used to activate the expandable feature on a row of the table.\n * \n * @usageNotes\n * ### Basic Usage\n * ```html\n * <table euiTable [data]=\"data\">\n *     <ng-template euiTemplate=\"header\">\n *         <tr>\n *             <th aria-hidden=\"true\"></th>\n *             <th>Country</th>\n *             <th>Year</th>\n *             <th>ISO</th>\n *             <th>Population</th>\n *             <th>Capital city</th>\n *         </tr>\n *     </ng-template>\n *     <ng-template let-row euiTemplate=\"body\">\n *         <tr>\n *             <td data-col-label=\"Click to expand/collapse\">\n *                 <eui-icon-button\n *                     size=\"s\"\n *                     [icon]=\"!row.expanded ? 'eui-chevron-right' : 'eui-chevron-down'\"\n *                     [aria-label]=\"row.expanded ? 'Collapse row for ' + row.country : 'Expand row for ' + row.country\"\n *                     (click)=\"row.expanded = !row.expanded;\" />\n *             </td>\n *             <td data-col-label=\"Country\">{{ row.country }}</td>\n *             <td data-col-label=\"Year\">{{ row.year }}</td>\n *             <td data-col-label=\"ISO\">{{ row.iso }}</td>\n *             <td data-col-label=\"Population\">{{ row.population | number }}</td>\n *             <td data-col-label=\"Capital city\">{{ row.capital }}</td>\n *         </tr>\n *         \\@if(row.expanded) {\n *             <tr isExpandableRow>\n *                 <td colspan=\"6\" class=\"p-3\">\n *                     <h4 class=\"eui-u-text-h4\">Expanded row content for {{ row.country }}</h4>\n *                     <div class=\"row\">\n *                         <div class=\"col-md-3\">\n *                             <span class=\"eui-flag-icon eui-flag-icon-{{ row.iso.toLowerCase() }} eui-flag-icon-5x\"></span>\n *                         </div>\n *                         <div class=\"col-md-9\">\n *                             <span>Capital city : <strong>{{ row.capital }}</strong></span><br>\n *                             <span>Population : <strong>{{ row.population | number }}</strong></span><br>\n *                             <span>Year : <strong>{{ row.year }}</strong></span><br>\n *                         </div>\n *                     </div>\n *                 </td>\n *             </tr>\n *         }\n *     </ng-template>\n * </table>\n * ```\n * Typescript logic\n * ```ts\n * data: Country[] = [\n *     { id: 1, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n * ]\n * ```\n */\n@Directive({\n    // eslint-disable-next-line @angular-eslint/directive-selector\n    selector: 'tr[isExpandableRow]',\n})\nexport class EuiTableExpandableRowDirective implements OnInit {\n    @HostBinding('class') string = 'eui-table-expandable-row';\n    private animationPlayer: AnimationPlayer;\n\n    get isOpen(): boolean {\n        return true;\n    }\n    private el = inject(ElementRef);\n    private animationBuilder = inject(AnimationBuilder);\n\n    ngOnInit(): void {\n        const animation = this.animationBuilder.build([\n            style({ opacity: 0 }),\n            animate('250ms', style({ opacity: 1 })),\n        ]);\n\n        this.animationPlayer = animation.create(this.el.nativeElement);\n        this.animationPlayer.play();\n    }\n}\n",
            "selector": "tr[isExpandableRow]",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-table-expandable-row'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 69,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-table-expandable-row'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 69,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 78,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "extends": [],
            "implements": [
                "OnInit"
            ],
            "accessors": {
                "isOpen": {
                    "name": "isOpen",
                    "getSignature": {
                        "name": "isOpen",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 72
                    }
                }
            }
        },
        {
            "name": "EuiTableStickyColDirective",
            "id": "directive-EuiTableStickyColDirective-78d316421c72d001c910f7360297a746f345020f17e6fff9d17ba9a2bbb2b53e1568357ca4ea30ee4f02474746207423ca00ba64b3508854b4bdb763e4085c48",
            "file": "packages/components/eui-table/directives/eui-table-sticky-col.directive.ts",
            "type": "directive",
            "description": "<p>Directive used to activate the sticky feature on a column of the table.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;div class=&quot;eui-table__scrollable-wrapper&quot; style=&quot;width: 800px; height: 600px; overflow: auto&quot; tabindex=&quot;0&quot;&gt;\n    &lt;table euiTable hasStickyHeader hasStickyFooter hasStickyCols [data]=&quot;data&quot; style=&quot;width: 1400px&quot;&gt;\n        &lt;ng-template euiTemplate=&quot;header&quot;&gt;\n            &lt;tr&gt;\n                &lt;th isStickyCol&gt;Country&lt;/th&gt;\n                &lt;th&gt;Year&lt;/th&gt;\n                &lt;th&gt;ISO&lt;/th&gt;\n                &lt;th&gt;Population&lt;/th&gt;\n                &lt;th&gt;Capital city&lt;/th&gt;\n            &lt;/tr&gt;\n        &lt;/ng-template&gt;\n        &lt;ng-template let-row euiTemplate=&quot;body&quot;&gt;\n            &lt;tr&gt;\n                &lt;td isStickyCol&gt;{{ row.country }}&lt;/td&gt;\n                &lt;td&gt;{{ row.year }}&lt;/td&gt;\n                &lt;td&gt;{{ row.iso }}&lt;/td&gt;\n                &lt;td&gt;{{ row.population | number }}&lt;/td&gt;\n                &lt;td&gt;{{ row.capital }}&lt;/td&gt;\n            &lt;/tr&gt;\n        &lt;/ng-template&gt;\n        &lt;ng-template euiTemplate=&quot;footer&quot;&gt;\n            &lt;tr&gt;\n                &lt;td isStickyCol class=&quot;eui-u-text-center&quot;&gt;Footer&lt;/td&gt;\n                &lt;td class=&quot;eui-u-text-center&quot;&gt;Footer&lt;/td&gt;\n                &lt;td class=&quot;eui-u-text-center&quot;&gt;Footer&lt;/td&gt;\n                &lt;td class=&quot;eui-u-text-center&quot;&gt;Footer&lt;/td&gt;\n                &lt;td class=&quot;eui-u-text-center&quot;&gt;Footer&lt;/td&gt;\n            &lt;/tr&gt;\n        &lt;/ng-template&gt;\n    &lt;/table&gt;\n&lt;/div&gt;</code></pre></div><p>Typescript logic</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">data: Country[] = [\n    { id: 1, country: &#39;Belgium&#39;, year: 1958, iso: &#39;BE&#39;, population: 11198638, capital: &#39;Brussels&#39; },\n]</code></pre></div>",
            "rawdescription": "\n\nDirective used to activate the sticky feature on a column of the table.\n\n### Basic Usage\n```html\n<div class=\"eui-table__scrollable-wrapper\" style=\"width: 800px; height: 600px; overflow: auto\" tabindex=\"0\">\n    <table euiTable hasStickyHeader hasStickyFooter hasStickyCols [data]=\"data\" style=\"width: 1400px\">\n        <ng-template euiTemplate=\"header\">\n            <tr>\n                <th isStickyCol>Country</th>\n                <th>Year</th>\n                <th>ISO</th>\n                <th>Population</th>\n                <th>Capital city</th>\n            </tr>\n        </ng-template>\n        <ng-template let-row euiTemplate=\"body\">\n            <tr>\n                <td isStickyCol>{{ row.country }}</td>\n                <td>{{ row.year }}</td>\n                <td>{{ row.iso }}</td>\n                <td>{{ row.population | number }}</td>\n                <td>{{ row.capital }}</td>\n            </tr>\n        </ng-template>\n        <ng-template euiTemplate=\"footer\">\n            <tr>\n                <td isStickyCol class=\"eui-u-text-center\">Footer</td>\n                <td class=\"eui-u-text-center\">Footer</td>\n                <td class=\"eui-u-text-center\">Footer</td>\n                <td class=\"eui-u-text-center\">Footer</td>\n                <td class=\"eui-u-text-center\">Footer</td>\n            </tr>\n        </ng-template>\n    </table>\n</div>\n```\nTypescript logic\n```ts\ndata: Country[] = [\n    { id: 1, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n]\n```\n",
            "sourceCode": "import { Directive, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Directive used to activate the sticky feature on a column of the table.\n * \n * @usageNotes\n * ### Basic Usage\n * ```html\n * <div class=\"eui-table__scrollable-wrapper\" style=\"width: 800px; height: 600px; overflow: auto\" tabindex=\"0\">\n *     <table euiTable hasStickyHeader hasStickyFooter hasStickyCols [data]=\"data\" style=\"width: 1400px\">\n *         <ng-template euiTemplate=\"header\">\n *             <tr>\n *                 <th isStickyCol>Country</th>\n *                 <th>Year</th>\n *                 <th>ISO</th>\n *                 <th>Population</th>\n *                 <th>Capital city</th>\n *             </tr>\n *         </ng-template>\n *         <ng-template let-row euiTemplate=\"body\">\n *             <tr>\n *                 <td isStickyCol>{{ row.country }}</td>\n *                 <td>{{ row.year }}</td>\n *                 <td>{{ row.iso }}</td>\n *                 <td>{{ row.population | number }}</td>\n *                 <td>{{ row.capital }}</td>\n *             </tr>\n *         </ng-template>\n *         <ng-template euiTemplate=\"footer\">\n *             <tr>\n *                 <td isStickyCol class=\"eui-u-text-center\">Footer</td>\n *                 <td class=\"eui-u-text-center\">Footer</td>\n *                 <td class=\"eui-u-text-center\">Footer</td>\n *                 <td class=\"eui-u-text-center\">Footer</td>\n *                 <td class=\"eui-u-text-center\">Footer</td>\n *             </tr>\n *         </ng-template>\n *     </table>\n * </div>\n * ```\n * Typescript logic\n * ```ts\n * data: Country[] = [\n *     { id: 1, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n * ]\n * ```\n */\n@Directive({\n    // eslint-disable-next-line @angular-eslint/directive-selector\n    selector: 'th[isStickyCol], td[isStickyCol]',\n})\nexport class EuiTableStickyColDirective {\n    @HostBinding('class') class = 'eui-table__col--sticky';\n}\n",
            "selector": "th[isStickyCol], td[isStickyCol]",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-table__col--sticky'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 54,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "propertiesClass": [
                {
                    "name": "class",
                    "defaultValue": "'eui-table__col--sticky'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 54,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiTemplateDirective",
            "id": "directive-EuiTemplateDirective-8c59a4c136108dd7f109aa705fed4e8afffe1799deff6050fcff87324019dcd7ef4372d15bab6de0d695b1a4ec355873cd805c8b239530b3b34873a9e0abfaee",
            "file": "packages/components/directives/eui-template.directive.ts",
            "type": "directive",
            "description": "<p>Directive for defining named template references that can be dynamically rendered.\nProvides a way to identify and retrieve templates by name for content projection.\nCommonly used in components that accept multiple template slots (headers, footers, custom content).\nWorks with TemplateRef to enable flexible content customization.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;ng-template euiTemplate=&quot;header&quot;&gt;\n  &lt;h2&gt;Custom Header&lt;/h2&gt;\n&lt;/ng-template&gt;\n\n&lt;ng-template euiTemplate=&quot;footer&quot;&gt;\n  &lt;button&gt;Custom Action&lt;/button&gt;\n&lt;/ng-template&gt;</code></pre></div><p>In component:</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">&#64;ContentChildren(EuiTemplateDirective) templates: QueryList&lt;EuiTemplateDirective&gt;;\n\ngetTemplate(name: string) {\n  return this.templates.find(t =&gt; t.getType() === name)?.template;\n}</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Template content should follow accessibility guidelines</li>\n<li>Ensure dynamic content maintains proper heading hierarchy</li>\n<li>Screen readers will announce template content when rendered</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use euiTemplate input to assign template name</li>\n<li>Templates retrieved via ContentChildren query in parent component</li>\n<li>getType() method returns template name for identification</li>\n<li>Supports generic typing for template context</li>\n</ul>\n",
            "rawdescription": "\n\nDirective for defining named template references that can be dynamically rendered.\nProvides a way to identify and retrieve templates by name for content projection.\nCommonly used in components that accept multiple template slots (headers, footers, custom content).\nWorks with TemplateRef to enable flexible content customization.\n\n```html\n<ng-template euiTemplate=\"header\">\n  <h2>Custom Header</h2>\n</ng-template>\n\n<ng-template euiTemplate=\"footer\">\n  <button>Custom Action</button>\n</ng-template>\n```\n\nIn component:\n```typescript\n@ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\ngetTemplate(name: string) {\n  return this.templates.find(t => t.getType() === name)?.template;\n}\n```\n\n### Accessibility\n- Template content should follow accessibility guidelines\n- Ensure dynamic content maintains proper heading hierarchy\n- Screen readers will announce template content when rendered\n\n### Notes\n- Use euiTemplate input to assign template name\n- Templates retrieved via ContentChildren query in parent component\n- getType() method returns template name for identification\n- Supports generic typing for template context\n",
            "sourceCode": "import { Directive, Input, TemplateRef, inject } from '@angular/core';\n\n/**\n * Directive for defining named template references that can be dynamically rendered.\n * Provides a way to identify and retrieve templates by name for content projection.\n * Commonly used in components that accept multiple template slots (headers, footers, custom content).\n * Works with TemplateRef to enable flexible content customization.\n *\n * @usageNotes\n * ```html\n * <ng-template euiTemplate=\"header\">\n *   <h2>Custom Header</h2>\n * </ng-template>\n *\n * <ng-template euiTemplate=\"footer\">\n *   <button>Custom Action</button>\n * </ng-template>\n * ```\n *\n * In component:\n * ```typescript\n * @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n *\n * getTemplate(name: string) {\n *   return this.templates.find(t => t.getType() === name)?.template;\n * }\n * ```\n *\n * ### Accessibility\n * - Template content should follow accessibility guidelines\n * - Ensure dynamic content maintains proper heading hierarchy\n * - Screen readers will announce template content when rendered\n *\n * ### Notes\n * - Use euiTemplate input to assign template name\n * - Templates retrieved via ContentChildren query in parent component\n * - getType() method returns template name for identification\n * - Supports generic typing for template context\n */\n@Directive({\n    selector: '[euiTemplate]',\n})\nexport class EuiTemplateDirective<T = never> {\n    template = inject<TemplateRef<T>>(TemplateRef);\n\n    @Input() type: string;\n    @Input('euiTemplate') name: string;\n\n    getType(): string {\n        return this.name;\n    }\n}\n\n",
            "selector": "[euiTemplate]",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "name": "euiTemplate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 47,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "type",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 46,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [
                {
                    "name": "template",
                    "defaultValue": "inject<TemplateRef<T>>(TemplateRef)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 44
                }
            ],
            "methodsClass": [
                {
                    "name": "getType",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 49,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "extends": []
        },
        {
            "name": "EuiTooltipDirective",
            "id": "directive-EuiTooltipDirective-24cc651072736964de5f83d17a3716a8e989a5eec6ed6125e9ea003eb93fbfdbae8d6b2adebd6f9fac5ef6273a7df443c7fe89bceb574a9366ab2a186de77cb2",
            "file": "packages/components/directives/eui-tooltip/eui-tooltip.directive.ts",
            "type": "directive",
            "description": "<p>Directive for displaying contextual information in a tooltip overlay on hover or focus.\nProvides semantic color variants and flexible positioning relative to the trigger element.\nAutomatically handles show/hide behavior with configurable delays and keyboard dismissal.\nBuilt on Angular CDK Overlay for robust positioning and scroll handling.</p>\n<p>Basic tooltip:</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;button euiTooltip=&quot;Save your changes&quot;&gt;Save&lt;/button&gt;</code></pre></div><p>Tooltip with position and variant:</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;span euiTooltip=&quot;Error occurred&quot; position=&quot;below&quot; euiTooltipDanger&gt;!&lt;/span&gt;</code></pre></div><p>Tooltip with delays:</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;a euiTooltip=&quot;Click for details&quot; [showDelay]=&quot;500&quot; [hideDelay]=&quot;200&quot;&gt;Info&lt;/a&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Tooltip appears on both hover and keyboard focus for screen reader compatibility</li>\n<li>Press Escape key to dismiss tooltip</li>\n<li>Ensure tooltip content is non-essential as it may not be announced by all screen readers</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Tooltip content should be brief and contextual</li>\n<li>Use semantic variants (euiTooltipDanger, euiTooltipWarning) to convey meaning</li>\n<li>Position automatically adjusts if space is insufficient (fallback positioning)</li>\n<li>Tooltip is disabled when isDisabled is true or tooltipContent is empty</li>\n</ul>\n",
            "rawdescription": "\n\nDirective for displaying contextual information in a tooltip overlay on hover or focus.\nProvides semantic color variants and flexible positioning relative to the trigger element.\nAutomatically handles show/hide behavior with configurable delays and keyboard dismissal.\nBuilt on Angular CDK Overlay for robust positioning and scroll handling.\n\nBasic tooltip:\n```html\n<button euiTooltip=\"Save your changes\">Save</button>\n```\n\nTooltip with position and variant:\n```html\n<span euiTooltip=\"Error occurred\" position=\"below\" euiTooltipDanger>!</span>\n```\n\nTooltip with delays:\n```html\n<a euiTooltip=\"Click for details\" [showDelay]=\"500\" [hideDelay]=\"200\">Info</a>\n```\n\n### Accessibility\n- Tooltip appears on both hover and keyboard focus for screen reader compatibility\n- Press Escape key to dismiss tooltip\n- Ensure tooltip content is non-essential as it may not be announced by all screen readers\n\n### Notes\n- Tooltip content should be brief and contextual\n- Use semantic variants (euiTooltipDanger, euiTooltipWarning) to convey meaning\n- Position automatically adjusts if space is insufficient (fallback positioning)\n- Tooltip is disabled when isDisabled is true or tooltipContent is empty\n",
            "sourceCode": "import {\n    Directive,\n    Input,\n    OnInit,\n    OnDestroy,\n    ElementRef,\n    HostListener,\n    OnChanges,\n    numberAttribute,\n    booleanAttribute,\n    ComponentRef,\n    inject,\n} from '@angular/core';\nimport {\n    ConnectedOverlayPositionChange,\n    ConnectionPositionPair,\n    FlexibleConnectedPositionStrategyOrigin,\n    Overlay,\n    OverlayRef,\n} from '@angular/cdk/overlay';\nimport { BehaviorSubject, fromEvent, Subject, Subscription, take, timer } from 'rxjs';\nimport { ComponentPortal } from '@angular/cdk/portal';\n\nimport { EuiTooltipContainerComponent } from './container/eui-tooltip-container.component';\nimport { EuiTooltipInterface } from './models/eui-tooltip.config';\n\n/**\n * Directive for displaying contextual information in a tooltip overlay on hover or focus.\n * Provides semantic color variants and flexible positioning relative to the trigger element.\n * Automatically handles show/hide behavior with configurable delays and keyboard dismissal.\n * Built on Angular CDK Overlay for robust positioning and scroll handling.\n *\n * @usageNotes\n * Basic tooltip:\n * ```html\n * <button euiTooltip=\"Save your changes\">Save</button>\n * ```\n *\n * Tooltip with position and variant:\n * ```html\n * <span euiTooltip=\"Error occurred\" position=\"below\" euiTooltipDanger>!</span>\n * ```\n *\n * Tooltip with delays:\n * ```html\n * <a euiTooltip=\"Click for details\" [showDelay]=\"500\" [hideDelay]=\"200\">Info</a>\n * ```\n *\n * ### Accessibility\n * - Tooltip appears on both hover and keyboard focus for screen reader compatibility\n * - Press Escape key to dismiss tooltip\n * - Ensure tooltip content is non-essential as it may not be announced by all screen readers\n *\n * ### Notes\n * - Tooltip content should be brief and contextual\n * - Use semantic variants (euiTooltipDanger, euiTooltipWarning) to convey meaning\n * - Position automatically adjusts if space is insufficient (fallback positioning)\n * - Tooltip is disabled when isDisabled is true or tooltipContent is empty\n */\n@Directive({\n    selector: '[euiTooltip]',\n    exportAs: 'euiTooltip',\n})\nexport class EuiTooltipDirective implements OnChanges, OnInit, OnDestroy {\n    /**\n     * Sets the `data-e2e` attribute for the host element.\n     *\n     * @default 'eui-tooltip'\n     */\n    @Input() e2eAttr = 'eui-tooltip';\n    /**\n     * Sets the delay for the tooltip to be visible.\n     *\n     * @default 0\n     */\n    @Input({ transform: numberAttribute }) showDelay = 0;\n    /**\n     * Sets the delay for the tooltip to be hidden\n     *\n     * @default 0\n     */\n    @Input({ transform: numberAttribute }) hideDelay = 0;\n    /**\n     * Sets the alignment of the content in the tooltip.\n     *\n     * @default 'center''\n     */\n    @Input() contentAlignment: 'left' | 'right' | 'center' | 'justify' = 'center';\n    /**\n     * Sets the position of the tooltip relative to its trigger element.\n     *\n     * @default 'center''\n     */\n    @Input() position: 'left' | 'right' | 'above' | 'below' | 'before' | 'after' | string = 'above';\n    /**\n     * Whether the tooltip is disabled.\n     *\n     * @default false (enable)\n     */\n    @Input({ transform: booleanAttribute }) isDisabled = false;\n    /**\n     * Tooltip content.\n     */\n    @Input('euiTooltip') tooltipContent: string;\n    /**\n     * Whether the tooltip has a Primary state.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiTooltipPrimary = false;\n    /**\n     * Whether the tooltip has a Secondary state.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiTooltipSecondary = false;\n    /**\n     * Whether the tooltip has Info state.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiTooltipInfo = false;\n    /**\n     * Whether the tooltip has a Success state.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiTooltipSuccess = false;\n    /**\n     * Whether the tooltip has a Warning state.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiTooltipWarning = false;\n    /**\n     * Whether the tooltip has a Danger state.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiTooltipDanger = false;\n    /**\n     * Whether the tooltip has Accent state.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiTooltipAccent = false;\n\n    private originX: 'start' | 'end' | 'center' = 'center';\n    private originY: 'top' | 'bottom' | 'center' = 'top';\n    private overlayX: 'start' | 'end' | 'center' = 'center';\n    private overlayY: 'top' | 'bottom' | 'center' = 'bottom';\n    private fallbackOriginX: 'start' | 'end' | 'center' = 'center';\n    private fallbackOriginY: 'top' | 'bottom' | 'center' = 'bottom';\n    private fallbackOverlayX: 'start' | 'end' | 'center' = 'center';\n    private fallbackOverlayY: 'top' | 'bottom' | 'center' = 'top';\n    private overlayRef: OverlayRef;\n    private destroy$ = new Subject<boolean>();\n    private isOpen$ = new BehaviorSubject<boolean>(false);\n    private mouseleaveSubscription = new Subscription();\n    private blurSubscription = new Subscription();\n    private showDelaySubscription = new Subscription();\n    private positionStrategySubscription = new Subscription();\n    private tooltipInstance: ComponentRef<EuiTooltipContainerComponent>;\n    private overlay = inject(Overlay);\n    private host = inject<ElementRef<HTMLElement>>(ElementRef);\n\n    ngOnChanges(): void {\n        if (this.tooltipInstance) {\n            this.tooltipInstance.setInput('config', this.getTooltipConfig());\n        }\n\n        this.setPosition();\n    }\n\n    ngOnInit(): void {\n        this.setPosition();\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n        this.mouseleaveSubscription.unsubscribe();\n        this.blurSubscription.unsubscribe();\n        this.showDelaySubscription.unsubscribe();\n        this.positionStrategySubscription.unsubscribe();\n        this.overlayRef?.dispose();\n        this.overlayRef = null;\n    }\n\n    @HostListener('mouseenter', ['$event'])\n    mouseEntering(event: MouseEvent): void {\n        this.show(event.target);\n    }\n\n    @HostListener('focus', ['$event'])\n    focused(event: FocusEvent): void {\n        this.show(event.target);\n    }\n\n    /**\n     * Returns the current open state.\n     *\n     * @returns {boolean} `true` if the element is open, otherwise `false`.\n     */\n    get isOpen(): boolean {\n        return this.isOpen$.value;\n    }\n\n    /**\n     * Method that shows a tooltip.\n     *\n     * @param origin Origin of the tooltip. Where it will be displayed.\n     */\n    public show(origin: EventTarget = this.host.nativeElement): void {\n        this.mouseleaveSubscription.unsubscribe();\n        this.blurSubscription.unsubscribe();\n        this.showDelaySubscription.unsubscribe();\n        \n        this.showDelaySubscription = timer(this.showDelay).subscribe(() => {\n            if (!this.isOpen && !this.isDisabled && this.tooltipContent) {\n                const positionStrategy = this.overlay\n                    .position()\n                    .flexibleConnectedTo(origin as FlexibleConnectedPositionStrategyOrigin)\n                    .withPositions([\n                        new ConnectionPositionPair(\n                            { originX: this.originX, originY: this.originY },\n                            { overlayX: this.overlayX, overlayY: this.overlayY },\n                        ),\n                        new ConnectionPositionPair(\n                            { originX: this.fallbackOriginX, originY: this.fallbackOriginY },\n                            { overlayX: this.fallbackOverlayX, overlayY: this.fallbackOverlayY },\n                        ),\n                    ])\n                    .withFlexibleDimensions(false)\n                    .withLockedPosition(true);\n                const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n\n                this.overlayRef = this.overlay.create({\n                    hasBackdrop: false,\n                    panelClass: ['eui-tooltip__container', 'eui-21'],\n                    positionStrategy,\n                    scrollStrategy,\n                });\n\n                this.positionStrategySubscription = positionStrategy.positionChanges.subscribe((overlayPosition) => {\n                    this.position = this.getPosition(overlayPosition);\n                    const positionClasses = [\n                        'eui-tooltip--left',\n                        'eui-tooltip--right',\n                        'eui-tooltip--above',\n                        'eui-tooltip--below',\n                        'eui-tooltip--before',\n                        'eui-tooltip--after',\n                    ];\n                    this.overlayRef.removePanelClass(positionClasses);\n                    this.overlayRef.addPanelClass(['eui-tooltip--' + this.position]);\n                });\n\n                const componentPortal = new ComponentPortal<EuiTooltipContainerComponent>(\n                    EuiTooltipContainerComponent,\n                    null,\n                );\n\n                this.tooltipInstance = this.overlayRef.attach(componentPortal);\n                this.tooltipInstance.setInput('config', this.getTooltipConfig());\n\n                this.isOpen$.next(true);\n            }\n        });\n\n        this.mouseleaveSubscription = fromEvent(origin, 'mouseleave').subscribe(() => {\n            this.hide();\n        });\n\n        this.blurSubscription = fromEvent(origin, 'blur').subscribe(() => {\n            this.hide();\n        });\n    }\n\n    /**\n     * Method that closes a tooltip.\n     */\n    public hide(): void {\n        timer(this.hideDelay)\n            .pipe(take(1))\n            .subscribe(() => {\n                this.isOpen$.next(false);\n                this.mouseleaveSubscription.unsubscribe();\n                this.blurSubscription.unsubscribe();\n                this.showDelaySubscription.unsubscribe();\n                this.positionStrategySubscription.unsubscribe();\n                this.overlayRef?.dispose();\n                this.overlayRef = null;\n            });\n    }\n\n    @HostListener('keydown.esc', ['$any($event)'])\n    protected onEscapePressed(event: KeyboardEvent): void {\n        if (this.isOpen) {\n            event.stopPropagation();\n            this.hide();\n        }\n    }\n\n    /**\n     * Generates and returns the tooltip configuration based on the defined tooltip properties.\n     *\n     * @returns {EuiTooltipInterface} The tooltip configuration object, including attributes used in container component.\n     */\n    private getTooltipConfig(): EuiTooltipInterface {\n        let colorClass = 'secondary';\n        if (this.euiTooltipPrimary) {\n            colorClass = 'primary';\n        }\n        if (this.euiTooltipSecondary) {\n            colorClass = 'secondary';\n        }\n        if (this.euiTooltipInfo) {\n            colorClass = 'info';\n        }\n        if (this.euiTooltipSuccess) {\n            colorClass = 'success';\n        }\n        if (this.euiTooltipWarning) {\n            colorClass = 'warning';\n        }\n        if (this.euiTooltipDanger) {\n            colorClass = 'danger';\n        }\n        if (this.euiTooltipAccent) {\n            colorClass = 'accent';\n        }\n\n        return {\n            e2eAttr: this.e2eAttr,\n            tooltipContent: this.tooltipContent,\n            position: this.position,\n            contentAlign: this.contentAlignment,\n            colorClass,\n        };\n    }\n\n    /**\n     * Determines and returns the tooltip's position based on the overlay's connection pair.\n     *\n     * @param {ConnectedOverlayPositionChange} overlayPosition - The overlay position change event.\n     * @returns {string} The calculated position (`'above'`, `'below'`, `'left'`, or `'right'`).\n     */\n    private getPosition(overlayPosition: ConnectedOverlayPositionChange): string {\n        if (overlayPosition.connectionPair.originY === 'top' && overlayPosition.connectionPair.overlayY === 'bottom') {\n            return 'above';\n        }\n        if (overlayPosition.connectionPair.originY === 'bottom' && overlayPosition.connectionPair.overlayY === 'top') {\n            return 'below';\n        }\n        if (overlayPosition.connectionPair.originX === 'start' && overlayPosition.connectionPair.overlayX === 'end') {\n            return 'left';\n        }\n        if (overlayPosition.connectionPair.originX === 'end' && overlayPosition.connectionPair.overlayX === 'start') {\n            return 'right';\n        }\n    }\n\n    /**\n     * Sets the position-related properties based on the current `position` value.\n     */\n    private setPosition(): void {\n        if (this.position === 'above') {\n            this.originY = 'top';\n            this.overlayY = 'bottom';\n            this.fallbackOriginY = 'bottom';\n            this.fallbackOverlayY = 'top';\n        }\n        if (this.position === 'right' || this.position === 'after') {\n            this.originX = 'end';\n            this.originY = 'center';\n            this.overlayX = 'start';\n            this.overlayY = 'center';\n            this.fallbackOriginX = 'start';\n            this.fallbackOriginY = 'center';\n            this.fallbackOverlayX = 'end';\n            this.fallbackOverlayY = 'center';\n        }\n        if (this.position === 'below') {\n            this.originY = 'bottom';\n            this.overlayY = 'top';\n            this.fallbackOriginY = 'top';\n            this.fallbackOverlayY = 'bottom';\n        }\n        if (this.position === 'left' || this.position === 'before') {\n            this.originX = 'start';\n            this.originY = 'center';\n            this.overlayX = 'end';\n            this.overlayY = 'center';\n            this.fallbackOriginX = 'end';\n            this.fallbackOriginY = 'center';\n            this.fallbackOverlayX = 'start';\n            this.fallbackOverlayY = 'center';\n        }\n    }\n}\n",
            "selector": "[euiTooltip]",
            "providers": [],
            "exportAs": "euiTooltip",
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "name": "contentAlignment",
                    "defaultValue": "'center'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2663,
                            "end": 2687,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2664,
                                "end": 2671,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;center&#39;&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the alignment of the content in the tooltip.\n\n",
                    "description": "<p>Sets the alignment of the content in the tooltip.</p>\n",
                    "line": 88,
                    "type": "\"left\" | \"right\" | \"center\" | \"justify\"",
                    "decorators": []
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-tooltip'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2213,
                            "end": 2241,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2214,
                                "end": 2221,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-tooltip&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `data-e2e` attribute for the host element.\n\n",
                    "description": "<p>Sets the <code>data-e2e</code> attribute for the host element.</p>\n",
                    "line": 70,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "euiTooltip",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nTooltip content.\n",
                    "description": "<p>Tooltip content.</p>\n",
                    "line": 104,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiTooltipAccent",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4288,
                            "end": 4308,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4289,
                                "end": 4296,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the tooltip has Accent state.\n\n",
                    "description": "<p>Whether the tooltip has Accent state.</p>\n",
                    "line": 146,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiTooltipDanger",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4128,
                            "end": 4148,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4129,
                                "end": 4136,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the tooltip has a Danger state.\n\n",
                    "description": "<p>Whether the tooltip has a Danger state.</p>\n",
                    "line": 140,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiTooltipInfo",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3640,
                            "end": 3660,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3641,
                                "end": 3648,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the tooltip has Info state.\n\n",
                    "description": "<p>Whether the tooltip has Info state.</p>\n",
                    "line": 122,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiTooltipPrimary",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3313,
                            "end": 3333,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3314,
                                "end": 3321,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the tooltip has a Primary state.\n\n",
                    "description": "<p>Whether the tooltip has a Primary state.</p>\n",
                    "line": 110,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiTooltipSecondary",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3479,
                            "end": 3499,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3480,
                                "end": 3487,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the tooltip has a Secondary state.\n\n",
                    "description": "<p>Whether the tooltip has a Secondary state.</p>\n",
                    "line": 116,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiTooltipSuccess",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3801,
                            "end": 3821,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3802,
                                "end": 3809,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the tooltip has a Success state.\n\n",
                    "description": "<p>Whether the tooltip has a Success state.</p>\n",
                    "line": 128,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiTooltipWarning",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3965,
                            "end": 3985,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3966,
                                "end": 3973,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the tooltip has a Warning state.\n\n",
                    "description": "<p>Whether the tooltip has a Warning state.</p>\n",
                    "line": 134,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hideDelay",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2507,
                            "end": 2523,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2508,
                                "end": 2515,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>0</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the delay for the tooltip to be hidden\n\n",
                    "description": "<p>Sets the delay for the tooltip to be hidden</p>\n",
                    "line": 82,
                    "type": "number",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3058,
                            "end": 3087,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3059,
                                "end": 3066,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false (enable)</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the tooltip is disabled.\n\n",
                    "description": "<p>Whether the tooltip is disabled.</p>\n",
                    "line": 100,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "position",
                    "defaultValue": "'above'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2868,
                            "end": 2892,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2869,
                                "end": 2876,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;center&#39;&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the position of the tooltip relative to its trigger element.\n\n",
                    "description": "<p>Sets the position of the tooltip relative to its trigger element.</p>\n",
                    "line": 94,
                    "type": "\"left\" | \"right\" | \"above\" | \"below\" | \"before\" | \"after\" | string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "showDelay",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2357,
                            "end": 2373,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2358,
                                "end": 2365,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>0</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the delay for the tooltip to be visible.\n\n",
                    "description": "<p>Sets the delay for the tooltip to be visible.</p>\n",
                    "line": 76,
                    "type": "number",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [
                {
                    "name": "focus",
                    "args": [
                        {
                            "name": "event",
                            "type": "FocusEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$event"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 196
                },
                {
                    "name": "keydown.esc",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$any($event)"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 298
                },
                {
                    "name": "mouseenter",
                    "args": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$event"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 191
                }
            ],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "focused",
                    "args": [
                        {
                            "name": "event",
                            "type": "FocusEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 196,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'focus', ['$event']"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "FocusEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "hide",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 283,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod that closes a tooltip.\n",
                    "description": "<p>Method that closes a tooltip.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "mouseEntering",
                    "args": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 191,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'mouseenter', ['$event']"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnChanges",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 167,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 179,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 175,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onEscapePressed",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 298,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'keydown.esc', ['$any($event)']"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "show",
                    "args": [
                        {
                            "name": "origin",
                            "type": "EventTarget",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "this.host.nativeElement"
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 214,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod that shows a tooltip.\n\n",
                    "description": "<p>Method that shows a tooltip.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 6581,
                                "end": 6587,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "origin"
                            },
                            "type": "EventTarget",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "this.host.nativeElement",
                            "tagName": {
                                "pos": 6575,
                                "end": 6580,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Origin of the tooltip. Where it will be displayed.</p>\n"
                        }
                    ]
                }
            ],
            "extends": [],
            "implements": [
                "OnChanges",
                "OnInit",
                "OnDestroy"
            ],
            "accessors": {
                "isOpen": {
                    "name": "isOpen",
                    "getSignature": {
                        "name": "isOpen",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 205,
                        "rawdescription": "\n\nReturns the current open state.\n\n",
                        "description": "<p>Returns the current open state.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 6369,
                                "end": 6443,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 6370,
                                    "end": 6377,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p><code>true</code> if the element is open, otherwise <code>false</code>.</p>\n",
                                "typeExpression": {
                                    "pos": 6378,
                                    "end": 6387,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 6379,
                                        "end": 6386,
                                        "kind": 136,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            }
        },
        {
            "name": "EuiTreeFormControlDirective",
            "id": "directive-EuiTreeFormControlDirective-bc0f5287ee237745a7891ea16b640ea6f1b96ce7eec6c043cd56f81b16a0693caf3f730f6cf188a1f5e969078fd251bfea884237f96e82e82f96a8591764105a",
            "file": "packages/components/eui-tree/eui-tree-form-control.directive.ts",
            "type": "directive",
            "description": "<p>Form control directive that integrates eui-tree with Angular reactive and template-driven forms.\nImplements ControlValueAccessor to enable two-way binding and form validation for tree selections.\nProvides customizable value transformation functions for mapping between form model and tree selection.\nAutomatically synchronizes tree selection state with form control value.\nMust be applied to eui-tree component to enable form integration.</p>\n<h3>Basic Usage with Reactive Forms</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;form [formGroup]=&quot;myForm&quot;&gt;\n  &lt;eui-tree\n    euiTreeFormControl\n    formControlName=&quot;selectedNodes&quot;\n    [nodes]=&quot;treeData&quot;\n    [isMultiselect]=&quot;true&quot;&gt;\n  &lt;/eui-tree&gt;\n&lt;/form&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">myForm = this.fb.group({\n  selectedNodes: [[]]\n});\n\nngOnInit() {\n  // Set initial selection\n  this.myForm.patchValue({\n    selectedNodes: [{ id: &#39;1&#39;, label: &#39;Node 1&#39; }]\n  });\n}</code></pre></div><h3>With Custom Value Mapping</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tree\n  euiTreeFormControl\n  formControlName=&quot;nodeIds&quot;\n  [nodes]=&quot;treeData&quot;\n  [euiTreeControlValueSetter]=&quot;valueSetter&quot;\n  [euiTreeControlModelMapper]=&quot;modelMapper&quot;\n  [isMultiselect]=&quot;true&quot;&gt;\n&lt;/eui-tree&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">// Extract only IDs for form value\nvalueSetter = (selection: TreeDataModel) =&gt; {\n  return selection.map(item =&gt; item.node.treeContentBlock.id);\n};\n\n// Map IDs back to tree items\nmodelMapper = (ids: string[], tree: TreeDataModel) =&gt; {\n  return new EuiTreeHelper(tree).getItems(ids, &#39;node.treeContentBlock.id&#39;);\n};</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Form validation states properly announced</li>\n<li>Error messages associated with tree control</li>\n<li>Required field indication supported</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Works with both reactive and template-driven forms</li>\n<li>Default value setter extracts full tree items</li>\n<li>Custom mappers allow flexible data transformation</li>\n<li>Supports form validation and dirty state tracking</li>\n<li>Selection changes automatically update form value</li>\n</ul>\n",
            "rawdescription": "\n\nForm control directive that integrates eui-tree with Angular reactive and template-driven forms.\nImplements ControlValueAccessor to enable two-way binding and form validation for tree selections.\nProvides customizable value transformation functions for mapping between form model and tree selection.\nAutomatically synchronizes tree selection state with form control value.\nMust be applied to eui-tree component to enable form integration.\n\n### Basic Usage with Reactive Forms\n```html\n<form [formGroup]=\"myForm\">\n  <eui-tree\n    euiTreeFormControl\n    formControlName=\"selectedNodes\"\n    [nodes]=\"treeData\"\n    [isMultiselect]=\"true\">\n  </eui-tree>\n</form>\n```\n\n```typescript\nmyForm = this.fb.group({\n  selectedNodes: [[]]\n});\n\nngOnInit() {\n  // Set initial selection\n  this.myForm.patchValue({\n    selectedNodes: [{ id: '1', label: 'Node 1' }]\n  });\n}\n```\n\n### With Custom Value Mapping\n```html\n<eui-tree\n  euiTreeFormControl\n  formControlName=\"nodeIds\"\n  [nodes]=\"treeData\"\n  [euiTreeControlValueSetter]=\"valueSetter\"\n  [euiTreeControlModelMapper]=\"modelMapper\"\n  [isMultiselect]=\"true\">\n</eui-tree>\n```\n\n```typescript\n// Extract only IDs for form value\nvalueSetter = (selection: TreeDataModel) => {\n  return selection.map(item => item.node.treeContentBlock.id);\n};\n\n// Map IDs back to tree items\nmodelMapper = (ids: string[], tree: TreeDataModel) => {\n  return new EuiTreeHelper(tree).getItems(ids, 'node.treeContentBlock.id');\n};\n```\n\n### Accessibility\n- Form validation states properly announced\n- Error messages associated with tree control\n- Required field indication supported\n\n### Notes\n- Works with both reactive and template-driven forms\n- Default value setter extracts full tree items\n- Custom mappers allow flexible data transformation\n- Supports form validation and dirty state tracking\n- Selection changes automatically update form value\n",
            "sourceCode": "import { Directive, forwardRef, AfterContentInit, Input, NgModule, inject } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { EuiTreeComponent } from './eui-tree.component';\nimport { EuiTreeSelectionChanges, TreeDataModel, TreeItemModel } from './eui-tree.model';\nimport { EuiTreeHelper } from './eui-tree-helper';\n\n/**\n * @description\n * Form control directive that integrates eui-tree with Angular reactive and template-driven forms.\n * Implements ControlValueAccessor to enable two-way binding and form validation for tree selections.\n * Provides customizable value transformation functions for mapping between form model and tree selection.\n * Automatically synchronizes tree selection state with form control value.\n * Must be applied to eui-tree component to enable form integration.\n *\n * @usageNotes\n * ### Basic Usage with Reactive Forms\n * ```html\n * <form [formGroup]=\"myForm\">\n *   <eui-tree\n *     euiTreeFormControl\n *     formControlName=\"selectedNodes\"\n *     [nodes]=\"treeData\"\n *     [isMultiselect]=\"true\">\n *   </eui-tree>\n * </form>\n * ```\n *\n * ```typescript\n * myForm = this.fb.group({\n *   selectedNodes: [[]]\n * });\n *\n * ngOnInit() {\n *   // Set initial selection\n *   this.myForm.patchValue({\n *     selectedNodes: [{ id: '1', label: 'Node 1' }]\n *   });\n * }\n * ```\n *\n * ### With Custom Value Mapping\n * ```html\n * <eui-tree\n *   euiTreeFormControl\n *   formControlName=\"nodeIds\"\n *   [nodes]=\"treeData\"\n *   [euiTreeControlValueSetter]=\"valueSetter\"\n *   [euiTreeControlModelMapper]=\"modelMapper\"\n *   [isMultiselect]=\"true\">\n * </eui-tree>\n * ```\n *\n * ```typescript\n * // Extract only IDs for form value\n * valueSetter = (selection: TreeDataModel) => {\n *   return selection.map(item => item.node.treeContentBlock.id);\n * };\n *\n * // Map IDs back to tree items\n * modelMapper = (ids: string[], tree: TreeDataModel) => {\n *   return new EuiTreeHelper(tree).getItems(ids, 'node.treeContentBlock.id');\n * };\n * ```\n *\n * ### Accessibility\n * - Form validation states properly announced\n * - Error messages associated with tree control\n * - Required field indication supported\n *\n * ### Notes\n * - Works with both reactive and template-driven forms\n * - Default value setter extracts full tree items\n * - Custom mappers allow flexible data transformation\n * - Supports form validation and dirty state tracking\n * - Selection changes automatically update form value\n */\n@Directive({\n    selector: 'eui-tree[euiTreeFormControl]',\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => EuiTreeFormControlDirective),\n            multi: true,\n        },\n    ],\n})\nexport class EuiTreeFormControlDirective implements ControlValueAccessor, AfterContentInit {\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    private onChange: (value: any) => void;\n    private onTouched: () => void;\n    private tree = inject(EuiTreeComponent, { host: true });\n\n    /**\n     * Custom function to transform tree selection into form control value.\n     * Receives current selection and returns the value to be written to the form control.\n     * Default implementation extracts node IDs from selected items.\n     * \n     * @param selection - Current tree selection as TreeDataModel\n     * @returns Transformed value to be set on the form control\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    @Input() euiTreeControlValueSetter: (selection: TreeDataModel) => any = (selection: TreeDataModel) => {\n        return new EuiTreeHelper(this.tree.nodes).getItems(selection.map(item=>item.node.treeContentBlock.id), 'node.treeContentBlock.id');\n    };\n    /**\n     * Custom function to transform form control value into tree selection items.\n     * Receives form control value and tree data, returns array of TreeItemModel to be selected.\n     * Default implementation passes through the value unchanged.\n     * \n     * @param model - Current form control value\n     * @param tree - Complete tree data structure for reference\n     * @returns Array of TreeItemModel objects to be selected in the tree\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    @Input() euiTreeControlModelMapper: (model: any, tree?: TreeDataModel) => Array<TreeItemModel> = (model: Array<TreeItemModel>) => {\n        return model;\n    };\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    writeValue(value: any): void {\n        this.tree.setAllSelection(false);\n        if (typeof value !== 'undefined' && value !== null && value?.length > 0) {\n            const initialItems = this.euiTreeControlModelMapper(value, this.tree.nodes);\n            const paths = new EuiTreeHelper(this.tree.nodes).getPaths(initialItems);\n            paths.forEach((path: string) => {\n                this.tree.nodeSelected({ target: { checked: true } }, path);\n            });\n        }\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    registerOnChange(fn: any): void {\n        this.onChange = fn;\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    registerOnTouched(fn: any): void {\n        this.onTouched = fn;\n    }\n\n    ngAfterContentInit(): void {\n        this.tree.selectionChange.subscribe((selectionChanges: EuiTreeSelectionChanges) => {\n            this.onChange(this.euiTreeControlValueSetter(selectionChanges.selection));\n        });\n    }\n}\n\n",
            "selector": "eui-tree[euiTreeFormControl]",
            "providers": [
                {
                    "name": ")"
                }
            ],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "name": "euiTreeControlModelMapper",
                    "defaultValue": "(model: Array<TreeItemModel>) => {\n        return model;\n    }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4217,
                            "end": 4266,
                            "kind": 342,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4218,
                                "end": 4223,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Current form control value</li>\n</ul>\n",
                            "name": {
                                "pos": 4224,
                                "end": 4229,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "model"
                            },
                            "isNameFirst": true,
                            "isBracketed": false
                        },
                        {
                            "pos": 4266,
                            "end": 4330,
                            "kind": 342,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4267,
                                "end": 4272,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Complete tree data structure for reference</li>\n</ul>\n",
                            "name": {
                                "pos": 4273,
                                "end": 4277,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "tree"
                            },
                            "isNameFirst": true,
                            "isBracketed": false
                        },
                        {
                            "pos": 4330,
                            "end": 4402,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4331,
                                "end": 4338,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Array of TreeItemModel objects to be selected in the tree</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nCustom function to transform form control value into tree selection items.\nReceives form control value and tree data, returns array of TreeItemModel to be selected.\nDefault implementation passes through the value unchanged.\n\n",
                    "description": "<p>Custom function to transform form control value into tree selection items.\nReceives form control value and tree data, returns array of TreeItemModel to be selected.\nDefault implementation passes through the value unchanged.</p>\n",
                    "line": 118,
                    "type": "function",
                    "decorators": []
                },
                {
                    "name": "euiTreeControlValueSetter",
                    "defaultValue": "(selection: TreeDataModel) => {\n        return new EuiTreeHelper(this.tree.nodes).getItems(selection.map(item=>item.node.treeContentBlock.id), 'node.treeContentBlock.id');\n    }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3376,
                            "end": 3442,
                            "kind": 342,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3377,
                                "end": 3382,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Current tree selection as TreeDataModel</li>\n</ul>\n",
                            "name": {
                                "pos": 3383,
                                "end": 3392,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "selection"
                            },
                            "isNameFirst": true,
                            "isBracketed": false
                        },
                        {
                            "pos": 3442,
                            "end": 3504,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3443,
                                "end": 3450,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Transformed value to be set on the form control</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nCustom function to transform tree selection into form control value.\nReceives current selection and returns the value to be written to the form control.\nDefault implementation extracts node IDs from selected items.\n\n",
                    "description": "<p>Custom function to transform tree selection into form control value.\nReceives current selection and returns the value to be written to the form control.\nDefault implementation extracts node IDs from selected items.</p>\n",
                    "line": 104,
                    "type": "function",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 147,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "registerOnChange",
                    "args": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 137,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "registerOnTouched",
                    "args": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 143,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "writeValue",
                    "args": [
                        {
                            "name": "value",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 124,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "extends": [],
            "implements": [
                "ControlValueAccessor",
                "AfterContentInit"
            ]
        },
        {
            "name": "EuiTreeListItemDetailsContentTagDirective",
            "id": "directive-EuiTreeListItemDetailsContentTagDirective-5b91e2cb0b31fe3cd9c4dda8ac04fc0fe9899bb054f63e232d750b7d032823253b1a7033693f258c5e1ccf5114132a7fb7880693a1a3b325ff1820597ac81221",
            "file": "packages/components/eui-tree-list/eui-tree-list-item.component.ts",
            "type": "directive",
            "description": "<p>Directive for projecting additional details content below the main label in eui-tree-list-item.\nProvides a secondary content area for metadata or additional information.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tree-list-item label=&quot;Document&quot;&gt;\n  &lt;eui-tree-list-item-details&gt;\n    &lt;small&gt;Last modified: 2 hours ago&lt;/small&gt;\n    &lt;eui-badge euiInfo&gt;Draft&lt;/eui-badge&gt;\n  &lt;/eui-tree-list-item-details&gt;\n&lt;/eui-tree-list-item&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Details content should be supplementary, not critical</li>\n<li>Use appropriate semantic elements</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Renders below the main label area</li>\n<li>Useful for metadata, timestamps, or status indicators</li>\n</ul>\n",
            "rawdescription": "\n\nDirective for projecting additional details content below the main label in eui-tree-list-item.\nProvides a secondary content area for metadata or additional information.\n\n```html\n<eui-tree-list-item label=\"Document\">\n  <eui-tree-list-item-details>\n    <small>Last modified: 2 hours ago</small>\n    <eui-badge euiInfo>Draft</eui-badge>\n  </eui-tree-list-item-details>\n</eui-tree-list-item>\n```\n\n### Accessibility\n- Details content should be supplementary, not critical\n- Use appropriate semantic elements\n\n### Notes\n- Renders below the main label area\n- Useful for metadata, timestamps, or status indicators\n",
            "sourceCode": "import {\n    AfterContentInit,\n    booleanAttribute,\n    Component,\n    ContentChild,\n    ContentChildren,\n    Directive,\n    ElementRef,\n    EventEmitter,\n    forwardRef,\n    HostBinding,\n    Input,\n    Output,\n    QueryList,\n    ViewChild,\n    ViewEncapsulation,\n    inject,\n} from '@angular/core';\nimport { UxLinkLegacy } from '@eui/core';\n\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport { consumeEvent, uniqueId } from '@eui/core';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule } from '@angular/forms';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_ICON_BUTTON_EXPANDER } from '@eui/components/eui-icon-button-expander';\nimport { EUI_ICON_INPUT } from '@eui/components/eui-icon-input';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * @description\n * Individual item component within eui-tree-list representing a single node in the hierarchical structure.\n * Supports nested sub-items, expand/collapse functionality, and custom content projection.\n * Implements keyboard navigation and ARIA treeitem role for accessibility.\n * Integrates with BaseStatesDirective for theming variants (primary, secondary, success, warning, danger).\n * Must be used as a direct child of eui-tree-list or nested within other tree list items.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <!-- Simple tree item -->\n * <eui-tree-list-item label=\"Documents\" />\n *\n * <!-- Tree item with nested items -->\n * <eui-tree-list-item label=\"Projects\" [isExpanded]=\"true\">\n *   <eui-tree-list>\n *     <eui-tree-list-item label=\"Project A\" />\n *     <eui-tree-list-item label=\"Project B\" />\n *   </eui-tree-list>\n * </eui-tree-list-item>\n *\n * <!-- With sublabel and active state -->\n * <eui-tree-list-item\n *   label=\"Current File\"\n *   subLabel=\"Modified today\"\n *   [isActive]=\"true\"\n *   euiPrimary />\n * ```\n *\n * ### Custom Content\n * ```html\n * <eui-tree-list-item>\n *   <eui-tree-list-item-content>\n *     <eui-icon-svg icon=\"eui-folder\" />\n *     <span>Custom Content</span>\n *   </eui-tree-list-item-content>\n * </eui-tree-list-item>\n *\n * <!-- Custom label -->\n * <eui-tree-list-item>\n *   <eui-tree-list-item-label>\n *     <strong>Bold Label</strong>\n *   </eui-tree-list-item-label>\n * </eui-tree-list-item>\n * ```\n *\n * ### Accessibility\n * - Implements ARIA treeitem role automatically\n * - Keyboard navigation: Arrow keys (up/down/left/right), Enter/Space to toggle\n * - Expanded state announced to screen readers\n * - Focus management with proper tabindex handling\n * - Aria-label generated from label or custom content\n *\n * ### Notes\n * - Nested items must be wrapped in eui-tree-list component\n * - Supports color variants via BaseStatesDirective (euiPrimary, euiSuccess, etc.)\n * - isActive highlights the current/selected item\n * - isAlwaysExpanded keeps item permanently expanded without toggle button\n * - Custom content projections: eui-tree-list-item-label, eui-tree-list-item-details, eui-tree-list-item-sub-container\n */\n@Component({\n    selector: 'eui-tree-list-item',\n    templateUrl: './eui-tree-list-item.component.html',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        TranslateModule,\n        FormsModule,\n        NgTemplateOutlet,\n        ...EUI_LABEL,\n        ...EUI_ICON_INPUT,\n        ...EUI_ICON_BUTTON_EXPANDER,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: ['euiPrimary', 'euiSecondary', 'euiInfo', 'euiSuccess', 'euiWarning', 'euiDanger', 'euiVariant'],\n        },\n    ],\n})\nexport class EuiTreeListItemComponent implements AfterContentInit {\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return this.getCssClasses();\n    }\n    @HostBinding('attr.tabindex') tabIndex = '0';\n    @HostBinding('attr.role') protected ariaRole = 'treeitem';\n\n    @HostBinding('attr.id') @Input() id: string;\n    @HostBinding('attr.aria-label') @Input() ariaLabel: string;\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-tree-list-item';\n    /**\n     * The label of the tree list item if there is no customLabel.\n     * @type {string}\n     */\n    @Input() label: string;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input() linkUrl: string;\n    /**\n     * The sublabel of the tree list item if there is no customLabel.\n     * @type {string}\n     */\n    @Input() subLabel: string;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input() url: string;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input() subLinks: UxLinkLegacy[] = [];\n    /**\n     * Option that enables a corresponding class if it is set to true.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isActive = false;\n    /**\n     * Option to set the expanded state of the list item.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isExpanded = false;\n    /**\n     * Option to set the expanded state of the list item when it is always expanded.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isAlwaysExpanded = false;\n    /**\n     * Option to set the visible state of the list item and apply the corresponding hidden class if it is set to false.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isVisible = true;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input({ transform: booleanAttribute }) isDisplaySubLinksOnHover = false;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input({ transform: booleanAttribute }) isNavigateOnlyOnLabelClick = false;\n    /**\n     * Event emitted upon toggling the expanded state.\n     */\n    @Output() toggled = new EventEmitter<EuiTreeListItemComponent>();\n\n    isHovered = false;\n    treeListComponent: EuiTreeListComponent = inject(EuiTreeListComponent, { host: true, optional: true })!\n\n    // tree states\n    hasSub = false;\n\n    // custom content\n    hasCustomContent = false;\n\n    @ViewChild('focusable') focusable: ElementRef<HTMLDivElement>;\n\n    @ContentChild(forwardRef(() => EuiTreeListItemLabelTagDirective))\n    customLabel: QueryList<EuiTreeListItemLabelTagDirective>;\n\n    @ContentChild(forwardRef(() => EuiTreeListItemDetailsContentTagDirective))\n    customDetailContent: QueryList<EuiTreeListItemDetailsContentTagDirective>;\n\n    @ContentChild(forwardRef(() => EuiTreeListItemSubContainerContentTagDirective))\n    customSubContainerContent: QueryList<EuiTreeListItemSubContainerContentTagDirective>;\n\n    @ContentChildren(forwardRef(() => EuiTreeListComponent), { descendants: true })\n    subTreeList: QueryList<EuiTreeListComponent>;\n\n    @ContentChildren(forwardRef(() => EuiTreeListItemContentComponent), { descendants: false })\n    customContent: QueryList<EuiTreeListItemContentComponent>;\n    protected elementRef = inject(ElementRef);\n    baseStatesDirective = inject(BaseStatesDirective);\n\n    ngAfterContentInit(): void {\n        if (!this.ariaLabel) {\n            this.ariaLabel = this.label ? this.label : 'Custom content';\n        }\n\n        // make sure that the tree item can be aria-owned by a parent tree for WAI-ARIA attributes:\n        if (!this.id) {\n            this.id = uniqueId();\n        }\n\n        // setting tree states\n        if (this.subTreeList.length !== 0) {\n            this.hasSub = true;\n        }\n\n        // checking if customContent set\n        if (this.customContent.length !== 0) {\n            this.hasCustomContent = true;\n        }\n\n        // make sure that any child tree-list is non-focusable and that it has the role of a WAI-ARIA group:\n        if (this.subTreeList) {\n            this.subTreeList.forEach((subtree: EuiTreeListComponent) => {\n                subtree.disableFocus();\n                subtree.ariaRoleTree = 'group';\n            });\n        }\n    }\n    /**\n     * Method fired when the expander button is clicked.\n     * @param {Event} event - The click event.\n     */\n    toggle(event: Event): void {\n        event.preventDefault();\n        event.stopPropagation();\n        this.isExpanded = !this.isExpanded;\n        this.toggled.next(this);\n    }\n    /**\n     * Method fired when a key is pressed down.\n     * @param {KeyboardEvent} event - The keyboard event.\n     */\n    onKeyDown(event: KeyboardEvent): void {\n        switch (event.keyCode) {\n            case 13: // ENTER\n            case 32: // SPACE\n                this.isExpanded = !this.isExpanded;\n                consumeEvent(event);\n                break;\n            case 37: // ARROW LEFT\n                this.isExpanded = false;\n                consumeEvent(event);\n                break;\n            case 38: // ARROW UP\n                if (this.treeListComponent) {\n                    if (this.treeListComponent.focusOnPreviousTreeItem(this)) {\n                        this.disableFocus();\n                    }\n                }\n\n                consumeEvent(event);\n                break;\n            case 39: // ARROW RIGHT\n                this.isExpanded = true;\n                consumeEvent(event);\n                break;\n            case 40: // ARROW DOWN\n                if (this.focusOnNextTreeItem()) {\n                    this.disableFocus();\n                }\n\n                consumeEvent(event);\n                break;\n        }\n    }\n    /**\n     * Method that sets the visible state.\n     * @param {boolean} state - The visible state.\n     */\n    public setVisibleState(state: boolean): void {\n        this.isVisible = state;\n\n        if (this.subTreeList && this.subTreeList.length !== 0) {\n            this.subTreeList.toArray().forEach((item) => {\n                item.setVisibleState(state);\n            });\n        }\n    }\n    /**\n     * Method that sets the expanded state.\n     * @param {boolean} state - The expanded state.\n     */\n    public setExpandedState(state: boolean): void {\n        this.isExpanded = state;\n\n        if (this.subTreeList.length !== 0) {\n            this.subTreeList.toArray().forEach((item) => {\n                item.setExpandedState(state);\n            });\n        }\n    }\n    /**\n     * Method used to enable/disable the focus state.\n     */\n    public focus(): void {\n        if (this.focusable) {\n            this.enableFocus();\n            this.focusable.nativeElement.focus();\n        }\n        if (this.treeListComponent) {\n            this.treeListComponent.disableFocus();\n        }\n    }\n    /**\n     * Method used to focus on the last expanded tree item.\n     */\n    public focusOnLastExpandedTreeItem(): void {\n        const lastExpanded = this.elementRef.nativeElement.querySelectorAll('.eui-tree-list-item-header__content');\n        if (lastExpanded && lastExpanded.length > 0) {\n            const element = lastExpanded[lastExpanded.length - 1];\n            element.setAttribute('tabindex', '0');\n            element.focus();\n        } else {\n            this.focus();\n        }\n    }\n    /**\n     * Method used to focus on the next tree item.\n     * @returns {boolean} - Returns true if the focus was set, false otherwise.\n     * @protected\n     */\n    protected focusOnNextTreeItem(): boolean {\n        if (this.isExpanded && this.subTreeList && this.subTreeList.length > 0) {\n            this.subTreeList.first.focus();\n            return true;\n        } else if (this.treeListComponent) {\n            return this.treeListComponent.focusOnNextTreeItem(this);\n        }\n\n        return false;\n    }\n    /**\n     * Method used to disable the focus state.\n     * @protected\n     */\n    protected disableFocus(): void {\n        if (this.focusable) {\n            this.focusable.nativeElement.setAttribute('tabindex', '-1');\n        }\n    }\n    /**\n     * Method used to enable the focus state.\n     * @protected\n     */\n    protected enableFocus(): void {\n        if (this.focusable) {\n            this.focusable.nativeElement.setAttribute('tabindex', '0');\n        }\n    }\n    /**\n     * Method used to get the CSS classes for the tree list item.\n     * @returns {string} - The CSS classes.\n     * @private\n     */\n    private getCssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-tree-list-item'),\n            this.isActive ? 'eui-tree-list-item--active' : '',\n            !this.isVisible ? 'eui-tree-list-item--hidden' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n}\n\n/* eslint-disable */\n/**\n * @description\n * Directive for projecting custom label content into eui-tree-list-item.\n * Replaces the default label rendering with custom HTML or components.\n *\n * @usageNotes\n * ```html\n * <eui-tree-list-item>\n *   <eui-tree-list-item-label>\n *     <eui-icon-svg icon=\"eui-star\" />\n *     <strong>Custom Label</strong>\n *   </eui-tree-list-item-label>\n * </eui-tree-list-item>\n * ```\n *\n * ### Accessibility\n * - Ensure custom content is semantically meaningful\n * - Include text alternatives for icons\n *\n * ### Notes\n * - Overrides label and subLabel inputs when used\n * - Supports any HTML content\n */\n@Directive({ selector: 'eui-tree-list-item-label', })\nexport class EuiTreeListItemLabelTagDirective {}\n\n/**\n * @description\n * Directive for projecting additional details content below the main label in eui-tree-list-item.\n * Provides a secondary content area for metadata or additional information.\n *\n * @usageNotes\n * ```html\n * <eui-tree-list-item label=\"Document\">\n *   <eui-tree-list-item-details>\n *     <small>Last modified: 2 hours ago</small>\n *     <eui-badge euiInfo>Draft</eui-badge>\n *   </eui-tree-list-item-details>\n * </eui-tree-list-item>\n * ```\n *\n * ### Accessibility\n * - Details content should be supplementary, not critical\n * - Use appropriate semantic elements\n *\n * ### Notes\n * - Renders below the main label area\n * - Useful for metadata, timestamps, or status indicators\n */\n@Directive({ selector: 'eui-tree-list-item-details', })\nexport class EuiTreeListItemDetailsContentTagDirective {}\n\n/**\n * @description\n * Directive for projecting custom container content within eui-tree-list-item.\n * Provides a flexible content area for complex layouts or additional UI elements.\n *\n * @usageNotes\n * ```html\n * <eui-tree-list-item label=\"Folder\">\n *   <eui-tree-list-item-sub-container>\n *     <div class=\"custom-actions\">\n *       <button euiButton euiSecondary>Action</button>\n *     </div>\n *   </eui-tree-list-item-sub-container>\n * </eui-tree-list-item>\n * ```\n *\n * ### Accessibility\n * - Interactive elements should be keyboard accessible\n * - Maintain logical tab order\n *\n * ### Notes\n * - Renders in a dedicated container area\n * - Useful for action buttons or complex UI\n */\n@Directive({ selector: 'eui-tree-list-item-sub-container', })\nexport class EuiTreeListItemSubContainerContentTagDirective {}\n/* eslint-enable */\n",
            "selector": "eui-tree-list-item-details",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiTreeListItemLabelTagDirective",
            "id": "directive-EuiTreeListItemLabelTagDirective-5b91e2cb0b31fe3cd9c4dda8ac04fc0fe9899bb054f63e232d750b7d032823253b1a7033693f258c5e1ccf5114132a7fb7880693a1a3b325ff1820597ac81221",
            "file": "packages/components/eui-tree-list/eui-tree-list-item.component.ts",
            "type": "directive",
            "description": "<p>Directive for projecting custom label content into eui-tree-list-item.\nReplaces the default label rendering with custom HTML or components.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tree-list-item&gt;\n  &lt;eui-tree-list-item-label&gt;\n    &lt;eui-icon-svg icon=&quot;eui-star&quot; /&gt;\n    &lt;strong&gt;Custom Label&lt;/strong&gt;\n  &lt;/eui-tree-list-item-label&gt;\n&lt;/eui-tree-list-item&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Ensure custom content is semantically meaningful</li>\n<li>Include text alternatives for icons</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Overrides label and subLabel inputs when used</li>\n<li>Supports any HTML content</li>\n</ul>\n",
            "rawdescription": "\n\nDirective for projecting custom label content into eui-tree-list-item.\nReplaces the default label rendering with custom HTML or components.\n\n```html\n<eui-tree-list-item>\n  <eui-tree-list-item-label>\n    <eui-icon-svg icon=\"eui-star\" />\n    <strong>Custom Label</strong>\n  </eui-tree-list-item-label>\n</eui-tree-list-item>\n```\n\n### Accessibility\n- Ensure custom content is semantically meaningful\n- Include text alternatives for icons\n\n### Notes\n- Overrides label and subLabel inputs when used\n- Supports any HTML content\n",
            "sourceCode": "import {\n    AfterContentInit,\n    booleanAttribute,\n    Component,\n    ContentChild,\n    ContentChildren,\n    Directive,\n    ElementRef,\n    EventEmitter,\n    forwardRef,\n    HostBinding,\n    Input,\n    Output,\n    QueryList,\n    ViewChild,\n    ViewEncapsulation,\n    inject,\n} from '@angular/core';\nimport { UxLinkLegacy } from '@eui/core';\n\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport { consumeEvent, uniqueId } from '@eui/core';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule } from '@angular/forms';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_ICON_BUTTON_EXPANDER } from '@eui/components/eui-icon-button-expander';\nimport { EUI_ICON_INPUT } from '@eui/components/eui-icon-input';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * @description\n * Individual item component within eui-tree-list representing a single node in the hierarchical structure.\n * Supports nested sub-items, expand/collapse functionality, and custom content projection.\n * Implements keyboard navigation and ARIA treeitem role for accessibility.\n * Integrates with BaseStatesDirective for theming variants (primary, secondary, success, warning, danger).\n * Must be used as a direct child of eui-tree-list or nested within other tree list items.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <!-- Simple tree item -->\n * <eui-tree-list-item label=\"Documents\" />\n *\n * <!-- Tree item with nested items -->\n * <eui-tree-list-item label=\"Projects\" [isExpanded]=\"true\">\n *   <eui-tree-list>\n *     <eui-tree-list-item label=\"Project A\" />\n *     <eui-tree-list-item label=\"Project B\" />\n *   </eui-tree-list>\n * </eui-tree-list-item>\n *\n * <!-- With sublabel and active state -->\n * <eui-tree-list-item\n *   label=\"Current File\"\n *   subLabel=\"Modified today\"\n *   [isActive]=\"true\"\n *   euiPrimary />\n * ```\n *\n * ### Custom Content\n * ```html\n * <eui-tree-list-item>\n *   <eui-tree-list-item-content>\n *     <eui-icon-svg icon=\"eui-folder\" />\n *     <span>Custom Content</span>\n *   </eui-tree-list-item-content>\n * </eui-tree-list-item>\n *\n * <!-- Custom label -->\n * <eui-tree-list-item>\n *   <eui-tree-list-item-label>\n *     <strong>Bold Label</strong>\n *   </eui-tree-list-item-label>\n * </eui-tree-list-item>\n * ```\n *\n * ### Accessibility\n * - Implements ARIA treeitem role automatically\n * - Keyboard navigation: Arrow keys (up/down/left/right), Enter/Space to toggle\n * - Expanded state announced to screen readers\n * - Focus management with proper tabindex handling\n * - Aria-label generated from label or custom content\n *\n * ### Notes\n * - Nested items must be wrapped in eui-tree-list component\n * - Supports color variants via BaseStatesDirective (euiPrimary, euiSuccess, etc.)\n * - isActive highlights the current/selected item\n * - isAlwaysExpanded keeps item permanently expanded without toggle button\n * - Custom content projections: eui-tree-list-item-label, eui-tree-list-item-details, eui-tree-list-item-sub-container\n */\n@Component({\n    selector: 'eui-tree-list-item',\n    templateUrl: './eui-tree-list-item.component.html',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        TranslateModule,\n        FormsModule,\n        NgTemplateOutlet,\n        ...EUI_LABEL,\n        ...EUI_ICON_INPUT,\n        ...EUI_ICON_BUTTON_EXPANDER,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: ['euiPrimary', 'euiSecondary', 'euiInfo', 'euiSuccess', 'euiWarning', 'euiDanger', 'euiVariant'],\n        },\n    ],\n})\nexport class EuiTreeListItemComponent implements AfterContentInit {\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return this.getCssClasses();\n    }\n    @HostBinding('attr.tabindex') tabIndex = '0';\n    @HostBinding('attr.role') protected ariaRole = 'treeitem';\n\n    @HostBinding('attr.id') @Input() id: string;\n    @HostBinding('attr.aria-label') @Input() ariaLabel: string;\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-tree-list-item';\n    /**\n     * The label of the tree list item if there is no customLabel.\n     * @type {string}\n     */\n    @Input() label: string;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input() linkUrl: string;\n    /**\n     * The sublabel of the tree list item if there is no customLabel.\n     * @type {string}\n     */\n    @Input() subLabel: string;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input() url: string;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input() subLinks: UxLinkLegacy[] = [];\n    /**\n     * Option that enables a corresponding class if it is set to true.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isActive = false;\n    /**\n     * Option to set the expanded state of the list item.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isExpanded = false;\n    /**\n     * Option to set the expanded state of the list item when it is always expanded.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isAlwaysExpanded = false;\n    /**\n     * Option to set the visible state of the list item and apply the corresponding hidden class if it is set to false.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isVisible = true;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input({ transform: booleanAttribute }) isDisplaySubLinksOnHover = false;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input({ transform: booleanAttribute }) isNavigateOnlyOnLabelClick = false;\n    /**\n     * Event emitted upon toggling the expanded state.\n     */\n    @Output() toggled = new EventEmitter<EuiTreeListItemComponent>();\n\n    isHovered = false;\n    treeListComponent: EuiTreeListComponent = inject(EuiTreeListComponent, { host: true, optional: true })!\n\n    // tree states\n    hasSub = false;\n\n    // custom content\n    hasCustomContent = false;\n\n    @ViewChild('focusable') focusable: ElementRef<HTMLDivElement>;\n\n    @ContentChild(forwardRef(() => EuiTreeListItemLabelTagDirective))\n    customLabel: QueryList<EuiTreeListItemLabelTagDirective>;\n\n    @ContentChild(forwardRef(() => EuiTreeListItemDetailsContentTagDirective))\n    customDetailContent: QueryList<EuiTreeListItemDetailsContentTagDirective>;\n\n    @ContentChild(forwardRef(() => EuiTreeListItemSubContainerContentTagDirective))\n    customSubContainerContent: QueryList<EuiTreeListItemSubContainerContentTagDirective>;\n\n    @ContentChildren(forwardRef(() => EuiTreeListComponent), { descendants: true })\n    subTreeList: QueryList<EuiTreeListComponent>;\n\n    @ContentChildren(forwardRef(() => EuiTreeListItemContentComponent), { descendants: false })\n    customContent: QueryList<EuiTreeListItemContentComponent>;\n    protected elementRef = inject(ElementRef);\n    baseStatesDirective = inject(BaseStatesDirective);\n\n    ngAfterContentInit(): void {\n        if (!this.ariaLabel) {\n            this.ariaLabel = this.label ? this.label : 'Custom content';\n        }\n\n        // make sure that the tree item can be aria-owned by a parent tree for WAI-ARIA attributes:\n        if (!this.id) {\n            this.id = uniqueId();\n        }\n\n        // setting tree states\n        if (this.subTreeList.length !== 0) {\n            this.hasSub = true;\n        }\n\n        // checking if customContent set\n        if (this.customContent.length !== 0) {\n            this.hasCustomContent = true;\n        }\n\n        // make sure that any child tree-list is non-focusable and that it has the role of a WAI-ARIA group:\n        if (this.subTreeList) {\n            this.subTreeList.forEach((subtree: EuiTreeListComponent) => {\n                subtree.disableFocus();\n                subtree.ariaRoleTree = 'group';\n            });\n        }\n    }\n    /**\n     * Method fired when the expander button is clicked.\n     * @param {Event} event - The click event.\n     */\n    toggle(event: Event): void {\n        event.preventDefault();\n        event.stopPropagation();\n        this.isExpanded = !this.isExpanded;\n        this.toggled.next(this);\n    }\n    /**\n     * Method fired when a key is pressed down.\n     * @param {KeyboardEvent} event - The keyboard event.\n     */\n    onKeyDown(event: KeyboardEvent): void {\n        switch (event.keyCode) {\n            case 13: // ENTER\n            case 32: // SPACE\n                this.isExpanded = !this.isExpanded;\n                consumeEvent(event);\n                break;\n            case 37: // ARROW LEFT\n                this.isExpanded = false;\n                consumeEvent(event);\n                break;\n            case 38: // ARROW UP\n                if (this.treeListComponent) {\n                    if (this.treeListComponent.focusOnPreviousTreeItem(this)) {\n                        this.disableFocus();\n                    }\n                }\n\n                consumeEvent(event);\n                break;\n            case 39: // ARROW RIGHT\n                this.isExpanded = true;\n                consumeEvent(event);\n                break;\n            case 40: // ARROW DOWN\n                if (this.focusOnNextTreeItem()) {\n                    this.disableFocus();\n                }\n\n                consumeEvent(event);\n                break;\n        }\n    }\n    /**\n     * Method that sets the visible state.\n     * @param {boolean} state - The visible state.\n     */\n    public setVisibleState(state: boolean): void {\n        this.isVisible = state;\n\n        if (this.subTreeList && this.subTreeList.length !== 0) {\n            this.subTreeList.toArray().forEach((item) => {\n                item.setVisibleState(state);\n            });\n        }\n    }\n    /**\n     * Method that sets the expanded state.\n     * @param {boolean} state - The expanded state.\n     */\n    public setExpandedState(state: boolean): void {\n        this.isExpanded = state;\n\n        if (this.subTreeList.length !== 0) {\n            this.subTreeList.toArray().forEach((item) => {\n                item.setExpandedState(state);\n            });\n        }\n    }\n    /**\n     * Method used to enable/disable the focus state.\n     */\n    public focus(): void {\n        if (this.focusable) {\n            this.enableFocus();\n            this.focusable.nativeElement.focus();\n        }\n        if (this.treeListComponent) {\n            this.treeListComponent.disableFocus();\n        }\n    }\n    /**\n     * Method used to focus on the last expanded tree item.\n     */\n    public focusOnLastExpandedTreeItem(): void {\n        const lastExpanded = this.elementRef.nativeElement.querySelectorAll('.eui-tree-list-item-header__content');\n        if (lastExpanded && lastExpanded.length > 0) {\n            const element = lastExpanded[lastExpanded.length - 1];\n            element.setAttribute('tabindex', '0');\n            element.focus();\n        } else {\n            this.focus();\n        }\n    }\n    /**\n     * Method used to focus on the next tree item.\n     * @returns {boolean} - Returns true if the focus was set, false otherwise.\n     * @protected\n     */\n    protected focusOnNextTreeItem(): boolean {\n        if (this.isExpanded && this.subTreeList && this.subTreeList.length > 0) {\n            this.subTreeList.first.focus();\n            return true;\n        } else if (this.treeListComponent) {\n            return this.treeListComponent.focusOnNextTreeItem(this);\n        }\n\n        return false;\n    }\n    /**\n     * Method used to disable the focus state.\n     * @protected\n     */\n    protected disableFocus(): void {\n        if (this.focusable) {\n            this.focusable.nativeElement.setAttribute('tabindex', '-1');\n        }\n    }\n    /**\n     * Method used to enable the focus state.\n     * @protected\n     */\n    protected enableFocus(): void {\n        if (this.focusable) {\n            this.focusable.nativeElement.setAttribute('tabindex', '0');\n        }\n    }\n    /**\n     * Method used to get the CSS classes for the tree list item.\n     * @returns {string} - The CSS classes.\n     * @private\n     */\n    private getCssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-tree-list-item'),\n            this.isActive ? 'eui-tree-list-item--active' : '',\n            !this.isVisible ? 'eui-tree-list-item--hidden' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n}\n\n/* eslint-disable */\n/**\n * @description\n * Directive for projecting custom label content into eui-tree-list-item.\n * Replaces the default label rendering with custom HTML or components.\n *\n * @usageNotes\n * ```html\n * <eui-tree-list-item>\n *   <eui-tree-list-item-label>\n *     <eui-icon-svg icon=\"eui-star\" />\n *     <strong>Custom Label</strong>\n *   </eui-tree-list-item-label>\n * </eui-tree-list-item>\n * ```\n *\n * ### Accessibility\n * - Ensure custom content is semantically meaningful\n * - Include text alternatives for icons\n *\n * ### Notes\n * - Overrides label and subLabel inputs when used\n * - Supports any HTML content\n */\n@Directive({ selector: 'eui-tree-list-item-label', })\nexport class EuiTreeListItemLabelTagDirective {}\n\n/**\n * @description\n * Directive for projecting additional details content below the main label in eui-tree-list-item.\n * Provides a secondary content area for metadata or additional information.\n *\n * @usageNotes\n * ```html\n * <eui-tree-list-item label=\"Document\">\n *   <eui-tree-list-item-details>\n *     <small>Last modified: 2 hours ago</small>\n *     <eui-badge euiInfo>Draft</eui-badge>\n *   </eui-tree-list-item-details>\n * </eui-tree-list-item>\n * ```\n *\n * ### Accessibility\n * - Details content should be supplementary, not critical\n * - Use appropriate semantic elements\n *\n * ### Notes\n * - Renders below the main label area\n * - Useful for metadata, timestamps, or status indicators\n */\n@Directive({ selector: 'eui-tree-list-item-details', })\nexport class EuiTreeListItemDetailsContentTagDirective {}\n\n/**\n * @description\n * Directive for projecting custom container content within eui-tree-list-item.\n * Provides a flexible content area for complex layouts or additional UI elements.\n *\n * @usageNotes\n * ```html\n * <eui-tree-list-item label=\"Folder\">\n *   <eui-tree-list-item-sub-container>\n *     <div class=\"custom-actions\">\n *       <button euiButton euiSecondary>Action</button>\n *     </div>\n *   </eui-tree-list-item-sub-container>\n * </eui-tree-list-item>\n * ```\n *\n * ### Accessibility\n * - Interactive elements should be keyboard accessible\n * - Maintain logical tab order\n *\n * ### Notes\n * - Renders in a dedicated container area\n * - Useful for action buttons or complex UI\n */\n@Directive({ selector: 'eui-tree-list-item-sub-container', })\nexport class EuiTreeListItemSubContainerContentTagDirective {}\n/* eslint-enable */\n",
            "selector": "eui-tree-list-item-label",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiTreeListItemSubContainerContentTagDirective",
            "id": "directive-EuiTreeListItemSubContainerContentTagDirective-5b91e2cb0b31fe3cd9c4dda8ac04fc0fe9899bb054f63e232d750b7d032823253b1a7033693f258c5e1ccf5114132a7fb7880693a1a3b325ff1820597ac81221",
            "file": "packages/components/eui-tree-list/eui-tree-list-item.component.ts",
            "type": "directive",
            "description": "<p>Directive for projecting custom container content within eui-tree-list-item.\nProvides a flexible content area for complex layouts or additional UI elements.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tree-list-item label=&quot;Folder&quot;&gt;\n  &lt;eui-tree-list-item-sub-container&gt;\n    &lt;div class=&quot;custom-actions&quot;&gt;\n      &lt;button euiButton euiSecondary&gt;Action&lt;/button&gt;\n    &lt;/div&gt;\n  &lt;/eui-tree-list-item-sub-container&gt;\n&lt;/eui-tree-list-item&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Interactive elements should be keyboard accessible</li>\n<li>Maintain logical tab order</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Renders in a dedicated container area</li>\n<li>Useful for action buttons or complex UI</li>\n</ul>\n",
            "rawdescription": "\n\nDirective for projecting custom container content within eui-tree-list-item.\nProvides a flexible content area for complex layouts or additional UI elements.\n\n```html\n<eui-tree-list-item label=\"Folder\">\n  <eui-tree-list-item-sub-container>\n    <div class=\"custom-actions\">\n      <button euiButton euiSecondary>Action</button>\n    </div>\n  </eui-tree-list-item-sub-container>\n</eui-tree-list-item>\n```\n\n### Accessibility\n- Interactive elements should be keyboard accessible\n- Maintain logical tab order\n\n### Notes\n- Renders in a dedicated container area\n- Useful for action buttons or complex UI\n",
            "sourceCode": "import {\n    AfterContentInit,\n    booleanAttribute,\n    Component,\n    ContentChild,\n    ContentChildren,\n    Directive,\n    ElementRef,\n    EventEmitter,\n    forwardRef,\n    HostBinding,\n    Input,\n    Output,\n    QueryList,\n    ViewChild,\n    ViewEncapsulation,\n    inject,\n} from '@angular/core';\nimport { UxLinkLegacy } from '@eui/core';\n\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport { consumeEvent, uniqueId } from '@eui/core';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule } from '@angular/forms';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_ICON_BUTTON_EXPANDER } from '@eui/components/eui-icon-button-expander';\nimport { EUI_ICON_INPUT } from '@eui/components/eui-icon-input';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * @description\n * Individual item component within eui-tree-list representing a single node in the hierarchical structure.\n * Supports nested sub-items, expand/collapse functionality, and custom content projection.\n * Implements keyboard navigation and ARIA treeitem role for accessibility.\n * Integrates with BaseStatesDirective for theming variants (primary, secondary, success, warning, danger).\n * Must be used as a direct child of eui-tree-list or nested within other tree list items.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <!-- Simple tree item -->\n * <eui-tree-list-item label=\"Documents\" />\n *\n * <!-- Tree item with nested items -->\n * <eui-tree-list-item label=\"Projects\" [isExpanded]=\"true\">\n *   <eui-tree-list>\n *     <eui-tree-list-item label=\"Project A\" />\n *     <eui-tree-list-item label=\"Project B\" />\n *   </eui-tree-list>\n * </eui-tree-list-item>\n *\n * <!-- With sublabel and active state -->\n * <eui-tree-list-item\n *   label=\"Current File\"\n *   subLabel=\"Modified today\"\n *   [isActive]=\"true\"\n *   euiPrimary />\n * ```\n *\n * ### Custom Content\n * ```html\n * <eui-tree-list-item>\n *   <eui-tree-list-item-content>\n *     <eui-icon-svg icon=\"eui-folder\" />\n *     <span>Custom Content</span>\n *   </eui-tree-list-item-content>\n * </eui-tree-list-item>\n *\n * <!-- Custom label -->\n * <eui-tree-list-item>\n *   <eui-tree-list-item-label>\n *     <strong>Bold Label</strong>\n *   </eui-tree-list-item-label>\n * </eui-tree-list-item>\n * ```\n *\n * ### Accessibility\n * - Implements ARIA treeitem role automatically\n * - Keyboard navigation: Arrow keys (up/down/left/right), Enter/Space to toggle\n * - Expanded state announced to screen readers\n * - Focus management with proper tabindex handling\n * - Aria-label generated from label or custom content\n *\n * ### Notes\n * - Nested items must be wrapped in eui-tree-list component\n * - Supports color variants via BaseStatesDirective (euiPrimary, euiSuccess, etc.)\n * - isActive highlights the current/selected item\n * - isAlwaysExpanded keeps item permanently expanded without toggle button\n * - Custom content projections: eui-tree-list-item-label, eui-tree-list-item-details, eui-tree-list-item-sub-container\n */\n@Component({\n    selector: 'eui-tree-list-item',\n    templateUrl: './eui-tree-list-item.component.html',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        TranslateModule,\n        FormsModule,\n        NgTemplateOutlet,\n        ...EUI_LABEL,\n        ...EUI_ICON_INPUT,\n        ...EUI_ICON_BUTTON_EXPANDER,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: ['euiPrimary', 'euiSecondary', 'euiInfo', 'euiSuccess', 'euiWarning', 'euiDanger', 'euiVariant'],\n        },\n    ],\n})\nexport class EuiTreeListItemComponent implements AfterContentInit {\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return this.getCssClasses();\n    }\n    @HostBinding('attr.tabindex') tabIndex = '0';\n    @HostBinding('attr.role') protected ariaRole = 'treeitem';\n\n    @HostBinding('attr.id') @Input() id: string;\n    @HostBinding('attr.aria-label') @Input() ariaLabel: string;\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-tree-list-item';\n    /**\n     * The label of the tree list item if there is no customLabel.\n     * @type {string}\n     */\n    @Input() label: string;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input() linkUrl: string;\n    /**\n     * The sublabel of the tree list item if there is no customLabel.\n     * @type {string}\n     */\n    @Input() subLabel: string;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input() url: string;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input() subLinks: UxLinkLegacy[] = [];\n    /**\n     * Option that enables a corresponding class if it is set to true.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isActive = false;\n    /**\n     * Option to set the expanded state of the list item.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isExpanded = false;\n    /**\n     * Option to set the expanded state of the list item when it is always expanded.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isAlwaysExpanded = false;\n    /**\n     * Option to set the visible state of the list item and apply the corresponding hidden class if it is set to false.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isVisible = true;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input({ transform: booleanAttribute }) isDisplaySubLinksOnHover = false;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input({ transform: booleanAttribute }) isNavigateOnlyOnLabelClick = false;\n    /**\n     * Event emitted upon toggling the expanded state.\n     */\n    @Output() toggled = new EventEmitter<EuiTreeListItemComponent>();\n\n    isHovered = false;\n    treeListComponent: EuiTreeListComponent = inject(EuiTreeListComponent, { host: true, optional: true })!\n\n    // tree states\n    hasSub = false;\n\n    // custom content\n    hasCustomContent = false;\n\n    @ViewChild('focusable') focusable: ElementRef<HTMLDivElement>;\n\n    @ContentChild(forwardRef(() => EuiTreeListItemLabelTagDirective))\n    customLabel: QueryList<EuiTreeListItemLabelTagDirective>;\n\n    @ContentChild(forwardRef(() => EuiTreeListItemDetailsContentTagDirective))\n    customDetailContent: QueryList<EuiTreeListItemDetailsContentTagDirective>;\n\n    @ContentChild(forwardRef(() => EuiTreeListItemSubContainerContentTagDirective))\n    customSubContainerContent: QueryList<EuiTreeListItemSubContainerContentTagDirective>;\n\n    @ContentChildren(forwardRef(() => EuiTreeListComponent), { descendants: true })\n    subTreeList: QueryList<EuiTreeListComponent>;\n\n    @ContentChildren(forwardRef(() => EuiTreeListItemContentComponent), { descendants: false })\n    customContent: QueryList<EuiTreeListItemContentComponent>;\n    protected elementRef = inject(ElementRef);\n    baseStatesDirective = inject(BaseStatesDirective);\n\n    ngAfterContentInit(): void {\n        if (!this.ariaLabel) {\n            this.ariaLabel = this.label ? this.label : 'Custom content';\n        }\n\n        // make sure that the tree item can be aria-owned by a parent tree for WAI-ARIA attributes:\n        if (!this.id) {\n            this.id = uniqueId();\n        }\n\n        // setting tree states\n        if (this.subTreeList.length !== 0) {\n            this.hasSub = true;\n        }\n\n        // checking if customContent set\n        if (this.customContent.length !== 0) {\n            this.hasCustomContent = true;\n        }\n\n        // make sure that any child tree-list is non-focusable and that it has the role of a WAI-ARIA group:\n        if (this.subTreeList) {\n            this.subTreeList.forEach((subtree: EuiTreeListComponent) => {\n                subtree.disableFocus();\n                subtree.ariaRoleTree = 'group';\n            });\n        }\n    }\n    /**\n     * Method fired when the expander button is clicked.\n     * @param {Event} event - The click event.\n     */\n    toggle(event: Event): void {\n        event.preventDefault();\n        event.stopPropagation();\n        this.isExpanded = !this.isExpanded;\n        this.toggled.next(this);\n    }\n    /**\n     * Method fired when a key is pressed down.\n     * @param {KeyboardEvent} event - The keyboard event.\n     */\n    onKeyDown(event: KeyboardEvent): void {\n        switch (event.keyCode) {\n            case 13: // ENTER\n            case 32: // SPACE\n                this.isExpanded = !this.isExpanded;\n                consumeEvent(event);\n                break;\n            case 37: // ARROW LEFT\n                this.isExpanded = false;\n                consumeEvent(event);\n                break;\n            case 38: // ARROW UP\n                if (this.treeListComponent) {\n                    if (this.treeListComponent.focusOnPreviousTreeItem(this)) {\n                        this.disableFocus();\n                    }\n                }\n\n                consumeEvent(event);\n                break;\n            case 39: // ARROW RIGHT\n                this.isExpanded = true;\n                consumeEvent(event);\n                break;\n            case 40: // ARROW DOWN\n                if (this.focusOnNextTreeItem()) {\n                    this.disableFocus();\n                }\n\n                consumeEvent(event);\n                break;\n        }\n    }\n    /**\n     * Method that sets the visible state.\n     * @param {boolean} state - The visible state.\n     */\n    public setVisibleState(state: boolean): void {\n        this.isVisible = state;\n\n        if (this.subTreeList && this.subTreeList.length !== 0) {\n            this.subTreeList.toArray().forEach((item) => {\n                item.setVisibleState(state);\n            });\n        }\n    }\n    /**\n     * Method that sets the expanded state.\n     * @param {boolean} state - The expanded state.\n     */\n    public setExpandedState(state: boolean): void {\n        this.isExpanded = state;\n\n        if (this.subTreeList.length !== 0) {\n            this.subTreeList.toArray().forEach((item) => {\n                item.setExpandedState(state);\n            });\n        }\n    }\n    /**\n     * Method used to enable/disable the focus state.\n     */\n    public focus(): void {\n        if (this.focusable) {\n            this.enableFocus();\n            this.focusable.nativeElement.focus();\n        }\n        if (this.treeListComponent) {\n            this.treeListComponent.disableFocus();\n        }\n    }\n    /**\n     * Method used to focus on the last expanded tree item.\n     */\n    public focusOnLastExpandedTreeItem(): void {\n        const lastExpanded = this.elementRef.nativeElement.querySelectorAll('.eui-tree-list-item-header__content');\n        if (lastExpanded && lastExpanded.length > 0) {\n            const element = lastExpanded[lastExpanded.length - 1];\n            element.setAttribute('tabindex', '0');\n            element.focus();\n        } else {\n            this.focus();\n        }\n    }\n    /**\n     * Method used to focus on the next tree item.\n     * @returns {boolean} - Returns true if the focus was set, false otherwise.\n     * @protected\n     */\n    protected focusOnNextTreeItem(): boolean {\n        if (this.isExpanded && this.subTreeList && this.subTreeList.length > 0) {\n            this.subTreeList.first.focus();\n            return true;\n        } else if (this.treeListComponent) {\n            return this.treeListComponent.focusOnNextTreeItem(this);\n        }\n\n        return false;\n    }\n    /**\n     * Method used to disable the focus state.\n     * @protected\n     */\n    protected disableFocus(): void {\n        if (this.focusable) {\n            this.focusable.nativeElement.setAttribute('tabindex', '-1');\n        }\n    }\n    /**\n     * Method used to enable the focus state.\n     * @protected\n     */\n    protected enableFocus(): void {\n        if (this.focusable) {\n            this.focusable.nativeElement.setAttribute('tabindex', '0');\n        }\n    }\n    /**\n     * Method used to get the CSS classes for the tree list item.\n     * @returns {string} - The CSS classes.\n     * @private\n     */\n    private getCssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-tree-list-item'),\n            this.isActive ? 'eui-tree-list-item--active' : '',\n            !this.isVisible ? 'eui-tree-list-item--hidden' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n}\n\n/* eslint-disable */\n/**\n * @description\n * Directive for projecting custom label content into eui-tree-list-item.\n * Replaces the default label rendering with custom HTML or components.\n *\n * @usageNotes\n * ```html\n * <eui-tree-list-item>\n *   <eui-tree-list-item-label>\n *     <eui-icon-svg icon=\"eui-star\" />\n *     <strong>Custom Label</strong>\n *   </eui-tree-list-item-label>\n * </eui-tree-list-item>\n * ```\n *\n * ### Accessibility\n * - Ensure custom content is semantically meaningful\n * - Include text alternatives for icons\n *\n * ### Notes\n * - Overrides label and subLabel inputs when used\n * - Supports any HTML content\n */\n@Directive({ selector: 'eui-tree-list-item-label', })\nexport class EuiTreeListItemLabelTagDirective {}\n\n/**\n * @description\n * Directive for projecting additional details content below the main label in eui-tree-list-item.\n * Provides a secondary content area for metadata or additional information.\n *\n * @usageNotes\n * ```html\n * <eui-tree-list-item label=\"Document\">\n *   <eui-tree-list-item-details>\n *     <small>Last modified: 2 hours ago</small>\n *     <eui-badge euiInfo>Draft</eui-badge>\n *   </eui-tree-list-item-details>\n * </eui-tree-list-item>\n * ```\n *\n * ### Accessibility\n * - Details content should be supplementary, not critical\n * - Use appropriate semantic elements\n *\n * ### Notes\n * - Renders below the main label area\n * - Useful for metadata, timestamps, or status indicators\n */\n@Directive({ selector: 'eui-tree-list-item-details', })\nexport class EuiTreeListItemDetailsContentTagDirective {}\n\n/**\n * @description\n * Directive for projecting custom container content within eui-tree-list-item.\n * Provides a flexible content area for complex layouts or additional UI elements.\n *\n * @usageNotes\n * ```html\n * <eui-tree-list-item label=\"Folder\">\n *   <eui-tree-list-item-sub-container>\n *     <div class=\"custom-actions\">\n *       <button euiButton euiSecondary>Action</button>\n *     </div>\n *   </eui-tree-list-item-sub-container>\n * </eui-tree-list-item>\n * ```\n *\n * ### Accessibility\n * - Interactive elements should be keyboard accessible\n * - Maintain logical tab order\n *\n * ### Notes\n * - Renders in a dedicated container area\n * - Useful for action buttons or complex UI\n */\n@Directive({ selector: 'eui-tree-list-item-sub-container', })\nexport class EuiTreeListItemSubContainerContentTagDirective {}\n/* eslint-enable */\n",
            "selector": "eui-tree-list-item-sub-container",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "EuiYearFormatDirective",
            "id": "directive-EuiYearFormatDirective-9d4df86024095c2260b95e6ada3c14414a33c330583b735045a67195b652c433e5e447bd17dbfe2b42c34039f0bcbabcadd67c3cdabf7b1153684e74943fd677",
            "file": "packages/components/eui-datepicker/eui-datepicker.component.ts",
            "type": "directive",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import {\n    ApplicationRef,\n    Component,\n    EventEmitter,\n    Injector,\n    Input,\n    OnChanges,\n    OnDestroy,\n    DoCheck,\n    OnInit,\n    Output,\n    SimpleChanges,\n    StaticProvider,\n    ViewChild,\n    ViewEncapsulation,\n    Directive,\n    forwardRef,\n    HostBinding,\n    ContentChild,\n    AfterViewInit,\n    TemplateRef,\n    ViewContainerRef,\n    ComponentRef,\n    booleanAttribute,\n    inject,\n    ElementRef,\n} from '@angular/core';\nimport {\n    ControlValueAccessor,\n    FormControl,\n    FormsModule,\n    NgControl,\n    ReactiveFormsModule,\n    Validators,\n} from '@angular/forms';\nimport { DateAdapter, MatDateFormats, MAT_DATE_FORMATS } from '@angular/material/core';\nimport {\n    MatCalendarCellClassFunction,\n    MatDatepicker,\n    MatDatepickerInputEvent,\n    MatDatepickerModule,\n} from '@angular/material/datepicker';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { ComponentPortal, DomPortalOutlet, TemplatePortal } from '@angular/cdk/portal';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\nimport _moment, { Moment } from 'moment';\nimport { default as _rollupMoment } from 'moment';\nimport 'moment/min/locales.js';\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS } from '@angular/material-moment-adapter';\n\nimport { EuiTimepickerComponent, EuiDateTimePickerConfig } from '@eui/components/eui-timepicker';\nimport { DYNAMIC_COMPONENT_CONFIG, LocaleService, EuiAppShellService, uniqueId, injectOptional } from '@eui/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\nimport { EUI_INPUT_GROUP } from '@eui/components/eui-input-group';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\nconst moment = _rollupMoment || _moment;\n\nexport const DEFAULT_FORMATS = {\n    parse: {\n        dateInput: 'L',\n    },\n    display: {\n        dateInput: 'L',\n        monthYearLabel: 'MM/YYYY',\n        dateA11yLabel: 'LL',\n        monthYearA11yLabel: 'LL',\n    },\n};\n\n/**\n * A comprehensive date and datetime picker component that wraps Angular Material's datepicker with enhanced functionality.\n * Supports date-only, month, year, and datetime selection modes with optional timepicker integration.\n * Implements ControlValueAccessor for seamless integration with Angular reactive and template-driven forms.\n * \n * Use cases:\n * - Standard date selection with calendar popup\n * - Month or year-only selection for period-based inputs\n * - Combined date and time selection with integrated timepicker\n * - Date range validation with min/max constraints\n * - Custom date filtering and styling\n * - Responsive layouts with block-level display option\n * - Read-only and disabled states for display-only scenarios\n * \n * @usageNotes\n * ### Basic Date Picker\n * ```html\n * <eui-datepicker \n *   [placeholder]=\"'Select date'\"\n *   [(ngModel)]=\"selectedDate\">\n * </eui-datepicker>\n * ```\n * \n * ### DateTime Picker\n * ```html\n * <eui-datepicker \n *   [isDatetimepicker]=\"true\"\n *   [hasSeconds]=\"true\"\n *   [(ngModel)]=\"selectedDateTime\">\n * </eui-datepicker>\n * ```\n * \n * ### Month/Year Picker\n * ```html\n * <eui-datepicker \n *   type=\"month\"\n *   [startView]=\"'year'\"\n *   [(ngModel)]=\"selectedMonth\">\n * </eui-datepicker>\n * ```\n * \n * ### With Validation\n * ```typescript\n * // Component\n * dateControl = new FormControl(null, Validators.required);\n * minDate = new Date(2024, 0, 1);\n * maxDate = new Date(2024, 11, 31);\n * \n * // Template\n * <eui-datepicker \n *   [formControl]=\"dateControl\"\n *   [minDate]=\"minDate\"\n *   [maxDate]=\"maxDate\"\n *   [isClearable]=\"true\">\n * </eui-datepicker>\n * ```\n * \n * ### Accessibility\n * - Provides proper ARIA labels and roles for calendar navigation\n * - Keyboard navigation: Arrow keys for date selection, Enter to confirm, Escape to close\n * - Clear button is keyboard accessible when enabled\n * - Required state communicated via `aria-required` attribute\n * - Date format is announced to screen readers via placeholder\n * - Toggle button has accessible label via `togglerLabel` input\n * \n * ### Notes\n * - Use `dateOutputFormat` to control the format of emitted values (e.g., 'YYYY-MM-DD')\n * - `restrictToRegex` can limit input characters for format enforcement\n * - `datepickerFilter` enables custom date validation (e.g., disable weekends)\n * - `dateClass` allows styling specific dates (holidays, events)\n * - Time picker integrates seamlessly when `isDatetimepicker` is true\n * - `isDatepickerBlock` makes component responsive for mobile layouts\n * - `isReadOnly` allows calendar selection but prevents manual typing\n */\n@Component({\n    selector: 'eui-datepicker',\n    templateUrl: './eui-datepicker.component.html',\n    styleUrl: './eui-datepicker.scss',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        MatDatepickerModule,\n        FormsModule,\n        ReactiveFormsModule,\n        TranslateModule,\n        ...EUI_INPUT_TEXT,\n        ...EUI_INPUT_GROUP,\n        ...EUI_BUTTON,\n        ...EUI_ICON,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSuccess',\n                'euiInfo',\n                'euiWarning',\n                'euiDanger',\n                'euiVariant',\n            ],\n        },\n    ],\n})\nexport class EuiDatepickerComponent implements OnInit, AfterViewInit, ControlValueAccessor, OnDestroy, OnChanges, DoCheck {\n    baseStatesDirective = inject(BaseStatesDirective);\n    euiLetterFormat = inject(EuiLetterFormatDirective, { optional: true })!;\n\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-datepicker'),\n            this.isDatepickerBlock ? 'eui-datepicker--responsive' : '',\n        ].join(' ').trim();\n    }\n\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-datepicker';\n\n    public inputFormControl = new FormControl();\n    public breakpointsValue: any = {\n        isMobile: false,\n        isTablet: false,\n        isLtDesktop: false,\n        isDesktop: false,\n        isXL: false,\n        isXXL: false,\n    };\n    showDateButton = true;\n    timePickerInstance: EuiTimepickerComponent;\n    timePickerComponentRef: ComponentRef<EuiTimepickerComponent>;\n    @ViewChild('calendar', { static: true }) calendar: MatDatepicker<any>;\n    @ViewChild('templatePortalRef') templatePortalRef: TemplateRef<EuiActionButtonsDirective>;\n    @ViewChild('input', { read: ElementRef }) public inputRef: ElementRef<HTMLInputElement>; //used to access the input raw value trough reference\n\n    @ContentChild(forwardRef(() => EuiActionButtonsDirective)) euiActionButtons: EuiActionButtonsDirective;\n    /**\n     * Emitted when the input field value changes through user typing or programmatic updates.\n     * Payload contains the formatted date string (if dateOutputFormat is set) or Moment object, or null if cleared.\n     * Triggers on every input change, including manual text entry and clear actions.\n     */\n    @Output() inputChange = new EventEmitter<any>();\n    /**\n     * Emitted when a date is selected from the calendar popup or through date/time adjustments.\n     * Payload contains the formatted date string (if dateOutputFormat is set) or Moment object, or null if cleared.\n     * Does not trigger on manual text input, only on calendar interactions and programmatic selections.\n     */\n    @Output() dateSelect = new EventEmitter<any>();\n    /**\n     * The initial or current date value displayed in the input field.\n     * Accepts Moment objects, Date objects, or date strings compatible with the configured date adapter.\n     * When dateOutputFormat is specified, the internal value is formatted accordingly.\n     */\n    @Input() value: any;\n    /**\n     * The SVG icon name displayed on the calendar toggle button.\n     * Must be a valid eui-icon identifier.\n     */\n    @Input() togglerIconSvg = 'eui-calendar';\n    /**\n     * Accessible label text for the calendar toggle button.\n     * Used for screen readers and accessibility compliance.\n     */\n    @Input() togglerLabel: string;\n    /**\n     * Placeholder text displayed in the input field when empty.\n     * If not provided, defaults to translated placeholders based on the calendar type (regular, month, or year).\n     */\n    @Input() placeholder: string;\n    /**\n     * Determines the selection granularity and calendar behavior.\n     * 'regular' allows full date selection, 'month' selects month/year only, 'year' selects year only.\n     * Affects the calendar view, input format, and selection behavior.\n     */\n    @Input() type: 'year' | 'month' | 'regular' = 'regular';\n    /**\n     * The initial view displayed when the calendar popup opens.\n     * 'month' shows the day grid, 'year' shows month selection, 'multi-year' shows year range selection.\n     * If not specified, defaults based on the type property.\n     */\n    @Input() startView: 'month' | 'year' | 'multi-year';\n    /**\n     * The earliest selectable date in the calendar.\n     * Dates before this value are disabled and cannot be selected.\n     * Accepts Moment objects, Date objects, or date strings compatible with the date adapter.\n     */\n    @Input() minDate: any;\n    /**\n     * The latest selectable date in the calendar.\n     * Dates after this value are disabled and cannot be selected.\n     * Accepts Moment objects, Date objects, or date strings compatible with the date adapter.\n     */\n    @Input() maxDate: any;\n    /**\n     * Custom filter function to enable or disable specific dates in the calendar.\n     * Receives each date as a parameter and should return true to enable the date, false to disable it.\n     * Useful for implementing business rules like disabling weekends or holidays.\n     */\n    @Input() datepickerFilter: (d: any) => boolean = this.datepickerFiltering;\n    /**\n     * Moment.js format string for the output value emitted through form control and events.\n     * When specified, all emitted values are formatted strings instead of Moment objects.\n     * Example: 'YYYY-MM-DD' or 'DD/MM/YYYY HH:mm:ss'.\n     */\n    @Input() dateOutputFormat: string;\n    /**\n     * Custom component class to replace the default calendar header.\n     * Must be a valid Angular component that implements the Material datepicker header interface.\n     * Allows complete customization of the calendar header appearance and behavior.\n     */\n    @Input() customHeader: any;\n    /**\n     * Function that returns CSS class names to apply to specific calendar date cells.\n     * Receives each date as a parameter and returns a string or array of class names.\n     * Enables visual styling of specific dates like holidays, events, or special occasions.\n     */\n    @Input() dateClass: MatCalendarCellClassFunction<any>;\n    /**\n     * Increment/decrement step for hour adjustments in the timepicker.\n     * Only applicable when isDatetimepicker is true.\n     * Determines how many hours are added or subtracted with each button click.\n     */\n    @Input() stepHours = 1;\n    /**\n     * Increment/decrement step for minute adjustments in the timepicker.\n     * Only applicable when isDatetimepicker is true.\n     * Determines how many minutes are added or subtracted with each button click.\n     */\n    @Input() stepMinutes = 1;\n    /**\n     * Increment/decrement step for second adjustments in the timepicker.\n     * Only applicable when isDatetimepicker is true and hasSeconds is true.\n     * Determines how many seconds are added or subtracted with each button click.\n     */\n    @Input() stepSeconds = 1;\n    /**\n     * Unique identifier for the input element.\n     * Used for label association, form integration, and testing selectors.\n     * Auto-generated if not provided.\n     */\n    @Input() inputId = `eui-datepicker-${uniqueId()}`;\n    /**\n     * Custom CSS class or classes applied to the calendar popup panel.\n     * Accepts a single class name string or an array of class names.\n     * Useful for theme customization or specific styling requirements.\n     */\n    @Input() customPanelClass: string | string[] | null = null;\n    /**\n     * Enables datetime selection mode with an integrated timepicker in the calendar popup.\n     * When true, displays hour, minute, and optionally second selectors below the calendar.\n     * Changes the component behavior to handle both date and time values.\n     */\n    @Input({ transform: booleanAttribute }) isDatetimepicker = false;\n    /**\n     * Displays seconds selector in the timepicker.\n     * Only applicable when isDatetimepicker is true.\n     * When false, only hours and minutes are selectable.\n     */\n    @Input({ transform: booleanAttribute }) hasSeconds = false;\n    /**\n     * Renders the timepicker with a single combined input field instead of separate hour/minute/second inputs.\n     * Only applicable when isDatetimepicker is true.\n     * Provides a more compact timepicker interface.\n     */\n    @Input({ transform: booleanAttribute }) isOneInputField = false;\n    /**\n     * Hides the calendar toggle button, leaving only the input field visible.\n     * Users can still open the calendar by clicking the input field if isShownOnInputClick is true.\n     * Useful for minimalist layouts or when calendar access should be input-driven only.\n     */\n    @Input({ transform: booleanAttribute }) hasNoButton = false;\n    /**\n     * Applies block-level display styling to make the component fill its container width.\n     * Enables responsive behavior for mobile and tablet layouts.\n     * When true, the input and button stretch to 100% width.\n     */\n    @Input({ transform: booleanAttribute }) isDatepickerBlock = false;\n    /**\n     * Makes the input field read-only, preventing manual text entry.\n     * Users can still select dates from the calendar popup.\n     * Automatically disables the clear button when true.\n     */\n    @Input({ transform: booleanAttribute }) isReadOnly = false;\n    /**\n     * Disables the entire component including input field, toggle button, and calendar popup.\n     * When true, no user interaction is possible and the component appears visually disabled.\n     * Integrates with Angular forms disabled state.\n     */\n    @Input({ transform: booleanAttribute }) isDisabled = false;\n    /**\n     * Disables only the input field while keeping the calendar toggle button enabled.\n     * Users can select dates from the calendar but cannot type manually.\n     * Useful for enforcing calendar-only date selection.\n     */\n    @Input({ transform: booleanAttribute }) isInputDisabled = false;\n    /**\n     * Disables only the calendar toggle button while keeping the input field enabled.\n     * Users can type dates manually but cannot open the calendar popup.\n     * Useful for keyboard-only or text-based date entry scenarios.\n     */\n    @Input({ transform: booleanAttribute }) isButtonDisabled = false;\n    /**\n     * Disables the calendar popup functionality while keeping the input field enabled.\n     * Prevents the calendar from opening through any interaction method.\n     * Similar to isButtonDisabled but also blocks input-click calendar opening.\n     */\n    @Input({ transform: booleanAttribute }) isPickerDisabled = false;\n    /**\n     * Controls whether clicking the input field opens the calendar popup.\n     * When false, the calendar only opens via the toggle button.\n     * Useful when the input should be primarily for manual text entry.\n     */\n    @Input({ transform: booleanAttribute }) isShownOnInputClick = true;\n    /**\n     * Displays a clear button in the input field to reset the value to null.\n     * Automatically disabled when isReadOnly is true.\n     * Clicking the clear button emits null through inputChange and dateSelect events.\n     */\n    @Input()\n    get isClearable(): boolean {\n        return this._isClearable && !this.isReadOnly;\n    }\n    set isClearable(value: BooleanInput) {\n        this._isClearable = coerceBooleanProperty(value);\n    }\n    private _isClearable = false;\n    /**\n     * Regular expression pattern to restrict which characters can be typed in the input field.\n     * Accepts a RegExp object or a string that will be converted to RegExp.\n     * Each keypress is validated against this pattern; non-matching keys are blocked.\n     * Useful for enforcing numeric-only input or specific date format characters.\n     */\n    @Input()\n    get restrictToRegex(): RegExp {\n        return this._restrictToRegex;\n    }\n    set restrictToRegex(value: string | RegExp) {\n        try {\n            if (value instanceof RegExp) {\n                this._restrictToRegex = value;\n            } else if (typeof value === 'string') {\n                this._restrictToRegex = new RegExp(value);\n            } else {\n                throw new Error(`restrictToRegex can only be string or RegExp, it cannot be ${typeof value}`);\n            }\n        } catch (e) {\n            console.error(e);\n        }\n    }\n    private _restrictToRegex: RegExp;\n\n    /**\n     * Returns an array of CSS classes to apply to the mat-datepicker panel.\n     * Combines internal classes with user-provided customPanelClass.\n     */\n    get mergedPanelClass(): string[] {\n        const classes = [`mat-calendar-${this.type}`];\n\n        if (this.isDatetimepicker) {\n            classes.push('eui-datepicker--container-height-large');\n        }\n\n        if (this.customPanelClass) {\n            if (Array.isArray(this.customPanelClass)) {\n                classes.push(...this.customPanelClass);\n            } else {\n                classes.push(this.customPanelClass);\n            }\n        }\n\n        return classes;\n    }\n\n    protected hasAriaRequiredAttribute: boolean;\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private format: MatDateFormats = inject(MAT_DATE_FORMATS, { optional: true });\n    private portalHost: DomPortalOutlet;\n    private portal: ComponentPortal<EuiTimepickerComponent>;\n    private templatePortal: TemplatePortal<EuiActionButtonsDirective>;\n    private isNull = false;\n    private adapter = inject<DateAdapter<any>>(DateAdapter);\n    private translateService = inject(TranslateService);\n    private localeService = injectOptional(LocaleService);\n    private EuiAppShellService = inject(EuiAppShellService);\n    private injector = inject(Injector);\n    private appRef = inject(ApplicationRef);\n    private viewContainerRef = inject(ViewContainerRef);\n    private control = inject(NgControl, { self: true, optional: true })!;\n    private momentAdapterOptions = injectOptional(MAT_MOMENT_DATE_ADAPTER_OPTIONS);\n\n    constructor() {\n        if (this.control) {\n            this.control.valueAccessor = this;\n        }\n    }\n\n    ngOnInit(): void {\n        this.inputFormControl.setValue(this.value);\n        // eslint-disable-next-line\n        this.isInputDisabled ? this.inputFormControl.disable() : this.inputFormControl.enable();\n\n        this.localeService\n            ?.getState()\n            .pipe(takeUntil(this.destroy$))\n            .subscribe((state) => {\n                this.adapter.setLocale(state.id);\n            });\n\n        if (this.isDatetimepicker && (this.minDate || this.maxDate)) {\n            this.inputFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(() => {\n                setTimeout(() => {\n                    this.checkTimePickerValidity();\n                });\n            });\n        }\n\n        if (!this.placeholder) {\n            if (this.type === 'regular' && !this.isDatetimepicker) {\n                this.translateService\n                    .stream('eui.datepicker.PLACEHOLDER')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((result: string) => {\n                        this.placeholder = result;\n                    });\n            } else if (this.type === 'regular' && this.isDatetimepicker) {\n                this.translateService\n                    .stream('eui.datepicker.ISDATETIMEPICKER')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((result: string) => {\n                        this.placeholder = result;\n                    });\n            } else if (this.type === 'year') {\n                this.translateService\n                    .stream('eui.datepicker.YEAR-PLACEHOLDER')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((result: string) => {\n                        this.placeholder = result;\n                    });\n            } else if (this.type === 'month') {\n                this.translateService\n                    .stream('eui.datepicker.MONTH-PLACEHOLDER')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((result: string) => {\n                        this.placeholder = result;\n                    });\n            }\n        }\n\n        this.EuiAppShellService.breakpoints$.pipe(takeUntil(this.destroy$)).subscribe((bkps) => (this.breakpointsValue = bkps));\n\n        this.updateInputAriaRequiredAttribute(this.control);\n        this.control?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(() => {\n            this.updateInputAriaRequiredAttribute(this.control);\n        });\n    }\n\n    ngAfterViewInit(): void {\n        if (this.euiActionButtons) {\n            this.templatePortal = new TemplatePortal(this.templatePortalRef, this.viewContainerRef);\n        }\n\n        if (this.isDatetimepicker || this.euiActionButtons) {\n            this.calendar['closeCalendar'] = this.calendar.close;\n            this.calendar.close = (): boolean => false;\n        }\n        \n        // Store input reference in control for validator access\n        if (this.control?.control) {\n            (this.control.control as any)._inputRef = this.inputRef;\n        }\n        \n        // Listen to native input event to trigger validation on every keystroke\n        if (this.inputRef) {\n            fromEvent(this.inputRef.nativeElement, 'input')\n                .pipe(takeUntil(this.destroy$))\n                .subscribe(() => {\n                    this.control?.control?.updateValueAndValidity({ emitEvent: false });\n                });\n        }\n    }\n\n    ngDoCheck(): void {\n        if (this.control) {\n            // marks the input control as touched/invalid if the form control is touched/invalid\n            // eslint-disable-next-line\n            this.control?.touched ? this.inputFormControl.markAsTouched() : this.inputFormControl.markAsUntouched();\n            // eslint-disable-next-line\n            this.control?.invalid ? this.inputFormControl.setErrors(this.control.errors) : this.inputFormControl.setErrors(null);\n        }\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes && changes['isReadOnly']) {\n            if (this.isReadOnly) {\n                this.showDateButton = false;\n            } else {\n                this.showDateButton = true;\n            }\n        }\n\n        if (changes && changes['isDisabled']) {\n            this.setDisabledState(this.isDisabled);\n        }\n\n        if (changes && changes['value']) {\n            this.inputFormControl.setValue(this.value);\n        } else {\n            if (this.dateOutputFormat && (this.value && this.value.value !== null)) {\n                this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n            }\n        }\n\n        if (changes && changes['isClearable']) {\n            // when is clearable is used listen if onclear is fired and update the value\n            if (this.isClearable) {\n                this.inputChange.pipe(takeUntil(this.destroy$)).subscribe((event) => {\n                    if (event === null) {\n                        this.value = event;\n                        this.propagateChange(event);\n                    }\n                });\n            }\n        }\n    }\n    /**\n     * Creates an injector for the timepicker component.\n     * @param data - The data to be passed to the timepicker component.\n     * @return {Injector} - The created injector.\n     */\n    createInjector(data: any): Injector {\n        const injectorTokens: StaticProvider = [{ provide: DYNAMIC_COMPONENT_CONFIG, useValue: data }];\n        return Injector.create({\n            parent: this.injector,\n            providers: injectorTokens,\n        });\n    }\n    /**\n     * Opens the calendar if read-only is false, listens to the keydown event when isDatetimepicker or euiActionButtons used\n     * and creates the time config passed to the timepicker component.\n     */\n    openCalendar(): void {\n        if (!this.isReadOnly) {\n            this.calendar.open();\n\n            if (this.isDatetimepicker || this.euiActionButtons) {\n                this.calendar.opened = true;\n                // listens to the keydown event once the calendar opened\n                fromEvent<KeyboardEvent>(document, 'keydown')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((event: KeyboardEvent) => {\n                        switch (event.key) {\n                            case 'Escape': //closes the calendar on Escape\n                                this.closeCalendar();\n                                break;\n                            case 'Enter': {\n                                //closes the calendar if pressing Enter on the close calendar button only\n                                this.getEventPath(event).forEach((p: any) => {\n                                    if (p.className && p.className.indexOf('mat-datepicker-close-button') !== -1) {\n                                        this.closeCalendar();\n                                    }\n                                });\n                                break;\n                            }\n                        }\n                    });\n            }\n\n            if (this.isDatetimepicker) {\n                this.portalHost = new DomPortalOutlet(\n                    document.querySelector('mat-calendar'),\n                    this.appRef,\n                    this.injector,\n                );\n                const timeConfig: EuiDateTimePickerConfig = {\n                    hours: this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().hours() : this.value && moment(this.value).hours(),\n                    mins: this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().minutes() : this.value && moment(this.value).minutes(),\n                    secs: this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().seconds() : this.value && moment(this.value).seconds(),\n                    isDatetimepicker: this.isDatetimepicker,\n                    hasSeconds: this.hasSeconds,\n                    isOneInputField: this.isOneInputField,\n                    stepHours: this.stepHours,\n                    stepMinutes: this.stepMinutes,\n                    stepSeconds: this.stepSeconds,\n                    isDisabled: !this.value || this.value === '',\n                    callbackFn: (hours: number, mins: number, secs: number) => {\n                        // Don't allow time changes when no date is selected\n                        if (!this.value || this.value === '') {\n                            return;\n                        }\n\n                        this.value =\n                            typeof this.value === 'string'\n                                ? moment(this.value, moment.ISO_8601)\n                                : moment(this.value, this.format.parse.dateInput);\n                        this.value.set({\n                            hour: hours || 0,\n                            minute: mins || 0,\n                            second: secs || 0,\n                        });\n\n                        this.inputFormControl.setValue(this.value);\n\n                        if (this.dateOutputFormat) {\n                            this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n                            this.dateSelect.emit(moment(this.value).format(this.dateOutputFormat));\n                        } else {\n                            this.propagateChange(moment(this.value));\n                            this.dateSelect.emit(this.value);\n                        }\n                    },\n                };\n\n                this.portal = new ComponentPortal(EuiTimepickerComponent, null, this.createInjector(timeConfig));\n                const componentRef: ComponentRef<EuiTimepickerComponent> = this.portalHost.attachComponentPortal(this.portal);\n                this.timePickerInstance = componentRef.instance;\n                this.timePickerComponentRef = componentRef;\n            }\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n\n        this.portalHost?.detach();\n    }\n\n    /**\n     * When calendar opens and isDatetimepicker or eui-action-buttons directive used, it closes the calendar when clicking outside of the\n     * overlay. If eui-action-buttons directive is used it registers the template portal where the user can add projected content as a\n     * footer.\n     */\n    onOpened(): void {\n        if (this.isDatetimepicker || this.euiActionButtons) {\n            if (this.euiActionButtons) {\n                this.calendar.registerActions(this.templatePortal);\n            }\n\n            this.calendar['_overlayRef']['_pane'].classList.add('eui-21');\n\n            this.calendar['_overlayRef']['_backdropClick'].pipe(takeUntil(this.destroy$)).subscribe(() => {\n                this.closeCalendar();\n            });\n        }\n    }\n\n    /**\n     * Retrieves the event path for a given event. This method provides a fallback\n     * for browsers that do not support the `event.path` property by constructing\n     * the path manually.\n     *\n     * @param event - The event object of type `KeyboardEvent`.\n     * @returns An array representing the event path, starting from the event target\n     *          and traversing up through its ancestors, ending with the `document`\n     *          and `window` objects.\n     */\n    getEventPath(event: KeyboardEvent): EventTarget[] {\n        if (event.composedPath) {\n            return event.composedPath();\n        }\n\n        // Fallback for browsers that do not support composedPath()\n        const path: EventTarget[] = [];\n        let target: EventTarget | null = event.target as EventTarget;\n\n        while (target) {\n            path.push(target);\n            target = (target as HTMLElement).parentNode as EventTarget;\n        }\n\n        path.push(document, window);\n\n        return path;\n    }\n    /**\n     * Fires when the type of the calendar is either month or year,\n     * formats the date if dateOutputFormat used\n     * emits and propagates the selected date value\n     * and closes the calendar.\n     * @param normalizedDate - The selected date in the calendar.\n     * @param calendar - The MatDatepicker instance.\n     */\n    chosenDateHandler(normalizedDate: any, calendar: MatDatepicker<any>): void {\n        if (this.dateOutputFormat) {\n            const formattedValue = moment(normalizedDate, this.dateOutputFormat);\n            this.value = formattedValue;\n            this.inputFormControl.setValue(formattedValue);\n\n            this.propagateChange(formattedValue.format(this.dateOutputFormat));\n            this.inputChange.emit(formattedValue.format(this.dateOutputFormat));\n            this.dateSelect.emit(formattedValue.format(this.dateOutputFormat));\n        } else {\n            this.value = normalizedDate;\n            this.inputFormControl.setValue(this.value);\n\n            this.propagateChange(this.value);\n            this.dateSelect.emit(this.value ? this.value : null);\n            this.inputChange.emit(this.value ? this.value : null);\n        }\n        calendar.close();\n    }\n    /**\n     * Method which returns true in order to mark the date as valid.\n     * @returns {boolean} - Returns true if the date is valid.\n     */\n    public datepickerFiltering(): boolean {\n        return true;\n    }\n    /**\n     * Method which fires when the datepicker input value changes and applies logic when isDatetimepicker is false.\n     * @param e - The MatDatepickerInputEvent object containing the new value.\n     */\n    public onDateInput(e: MatDatepickerInputEvent<Moment | Date | string>): void {\n        if (!this.isDatetimepicker) {\n            if (e.value === null) {\n                this.propagateChange(null);\n                this.inputChange.emit(null);\n            } else {\n                const correctedDate = this.validateDateRange(e.value);\n                this.value = correctedDate;\n\n                if (this.dateOutputFormat) {\n                    const formatted = this.adapterToMoment(correctedDate).format(this.dateOutputFormat);\n                    this.propagateChange(formatted);\n                    this.inputChange.emit(formatted);\n                } else {\n                    this.propagateChange(correctedDate);\n                    this.inputChange.emit(correctedDate);\n                }\n            }\n            this.propagateTouched();\n        }\n    }\n    /**\n     * Method which fires when there is a date change from the calendar popup,\n     * formats, emits and propagates the new value also when isDatetimepicker true.\n     * @param e - The MatDatepickerInputEvent object containing the new value.\n     */\n    public onDateChange(e: MatDatepickerInputEvent<Moment | Date | string>): void {\n        if (e.value === null) {\n            this.propagateChange(null);\n            this.dateSelect.emit(null);\n            this.isNull = true;\n        } else {\n            this.isNull = false;\n            if (this.isDatetimepicker) {\n                const hours = this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().hours() : this.value && moment(this.value).hours()\n                const mins = this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().minutes() : this.value && moment(this.value).minutes();\n                const secs = this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().seconds() : this.value && moment(this.value).seconds();\n\n                this.value = moment(e.value, this.format.parse.dateInput);\n                this.value.set({\n                    hour: hours || 0,\n                    minute: mins || 0,\n                    second: secs || 0,\n                });\n\n                if (this.calendar.opened) {\n                    // Enable timepicker when date is selected\n                    setTimeout(() => this.updateTimePickerDisabledState());\n                    this.inputFormControl.setValue(this.value);\n                }\n\n                if (this.dateOutputFormat && this.value != null) {\n                    this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n                    this.dateSelect.emit(this.value.format(this.dateOutputFormat));\n                } else {\n                    this.propagateChange(moment(this.value));\n                    this.dateSelect.emit(e?.value);\n                }\n            } else {\n                if (this.dateOutputFormat) {\n                    const formatted = this.adapterToMoment(e.value).format(this.dateOutputFormat);\n                    this.value = e.value;\n                    this.dateSelect.emit(formatted);\n                } else {\n                    this.dateSelect.emit(e?.value ? e.value : null);\n                }\n            }\n        }\n    }\n    /**\n     * Method which fires when the input value changes and applies logic when isDatetimepicker true.\n     * @param e - The new value of the input field.\n     */\n    changedInput(e: string | Event): void {\n        const value = typeof e === 'string' ? e : (e.target as HTMLInputElement).value;\n        if (!this.isNull) {\n            const parsedDate = this.momentAdapterOptions?.useUtc ? moment(value, this.format.parse.dateInput).utcOffset(0, true) : moment(value, this.format.parse.dateInput);\n            const correctedDate = this.validateDateRange(parsedDate);\n            \n            this.value = correctedDate;\n            this.inputFormControl.setValue(this.value);\n            if (this.dateOutputFormat && this.value != null) {\n                this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n                this.inputChange.emit(moment(this.value).format(this.dateOutputFormat));\n            } else {\n                this.propagateChange(moment(this.value));\n                this.inputChange.emit(this.value);\n            }\n        }\n    }\n    /**\n     * Method which fires when clearing the input field and emits/propagates the null value.\n     */\n    onClear(): void {\n        this.dateSelect.emit(null);\n        this.inputChange.emit(null);\n        this.propagateChange(null);\n    }\n    /**\n     * Method which fires upon keypress and opens the calendar if isShownOnInputClick is true and the Enter key is pressed.\n     * Also if there is a restrictToRegex, it prevents the default action if the key is not matching the regex.\n     * @param e - The KeyboardEvent object.\n     */\n    onKeypress(e: KeyboardEvent): void {\n        if (e.key === 'Enter' && this.isShownOnInputClick) {\n            this.openCalendar();\n            e.preventDefault();\n        }\n\n        if (this._restrictToRegex) {\n            if (!this._restrictToRegex.test(e.key)) {\n                e.preventDefault();\n            }\n        }\n    }\n\n    /**\n     * Selects today's date\n     */\n    selectToday(): void {\n        this.inputFormControl.setValue(moment());\n    }\n\n    /**\n     * Closes the calendar when isDatetimepicker or eui-action-buttons used and removes the applied footer when eui-action-buttons used\n     */\n    closeCalendar(): void {\n        this.calendar['closeCalendar']();\n\n        if (this.euiActionButtons) {\n            this.calendar.removeActions(this.templatePortal);\n        }\n    }\n\n    /**\n     * When eui-action-buttons used, it applies the date selection and closes the calendar\n     */\n    onDateSelectApply(): void {\n        this.calendar._applyPendingSelection();\n        this.closeCalendar();\n    }\n\n    writeValue(value: any): void {\n        this.value = value || '';\n        this.inputFormControl.setValue(value, { emitEvent: false });\n    }\n\n    registerOnChange(fn: () => void): void {\n        this.propagateChange = fn;\n    }\n\n    registerOnTouched(fn: () => void): void {\n        this.propagateTouched = fn;\n    }\n    /**\n     * Converts the type of the calendar to the corresponding start view.\n     * @param type - The type of the calendar.\n     * @returns {('year' | 'month' | 'multi-year')} - The start view of the calendar.\n     */\n    convTypeToStartView(type: string): 'year' | 'month' | 'multi-year' {\n        switch (type) {\n            case 'month':\n                return 'year';\n            case 'year':\n                return 'multi-year';\n            case 'regular':\n                return 'month';\n        }\n    }\n    /**\n     * Sets the disabled state of the component based on the boolean value passed.\n     * @param isDisabled - The boolean value indicating whether the component should be disabled or not.\n     */\n    public setDisabledState?(isDisabled: boolean): void {\n        this.isDisabled = isDisabled;\n        if (isDisabled) {\n            // disables only the input through reactive forms\n            if (this.isInputDisabled && !this.isPickerDisabled) {\n                this.isInputDisabled = true;\n                this.isButtonDisabled = this.isPickerDisabled = false;\n                // disables only the button through reactive forms\n            } else if (this.isButtonDisabled && !this.isInputDisabled) {\n                this.isInputDisabled = false;\n                this.isButtonDisabled = this.isPickerDisabled = true;\n            } else {\n                this.isInputDisabled = this.isPickerDisabled = this.isButtonDisabled = true;\n            }\n        } else {\n            this.isInputDisabled = this.isPickerDisabled = this.isButtonDisabled = false;\n        }\n\n        // eslint-disable-next-line\n        this.isInputDisabled ? this.inputFormControl.disable() : this.inputFormControl.enable();\n    }\n\n    /**\n     * Marks the form field as touched when focusing out to trigger validation\n     */\n    protected onFocusOut(): void {\n        this.propagateTouched();\n    }\n    /**\n     * Checks the validity of the time picker based on the minDate and maxDate properties.\n     * If the value is outside the range, it adjusts the time picker values accordingly.\n     */\n    private checkTimePickerValidity(): void {\n        const getTime = (d: any): moment.Moment => {\n            const deserialized = this.adapter.deserialize(d);\n            return moment(new Date(this.adapter.getYear(deserialized), this.adapter.getMonth(deserialized), this.adapter.getDate(deserialized)));\n        };\n\n        if (this.minDate && (!moment(this.minDate).isBefore(this.value) || this.areSameDates(this.value, this.minDate))) {\n            this.timePickerInstance.hoursDownDisable(true);\n            this.timePickerInstance.minutesDownDisable(true);\n            this.timePickerInstance.secondsDownDisable(true);\n\n            if (!moment(this.minDate).isBefore(this.value)) {\n                const minMoment = getTime(this.minDate);\n                const hours = minMoment.hours();\n                const minutes = minMoment.minutes();\n                const seconds = minMoment.seconds();\n\n                setTimeout(() => {\n                    this.timePickerInstance.hours = hours;\n                    this.timePickerInstance.mins = minutes;\n                    this.timePickerInstance.secs = seconds;\n                });\n\n                this.value = typeof this.value === 'string' ? moment(this.value, moment.ISO_8601) : moment(this.value, this.format.parse.dateInput);\n                this.value.set({ hour: hours || 0, minute: minutes || 0, second: seconds || 0 });\n            }\n        } else {\n            this.timePickerInstance?.hoursDownDisable(false);\n            this.timePickerInstance?.minutesDownDisable(false);\n            this.timePickerInstance?.secondsDownDisable(false);\n        }\n\n        if (this.maxDate && this.adapter.compareDate(this.adapter.deserialize(this.value), this.adapter.deserialize(this.maxDate)) >= 0) {\n            this.timePickerInstance.hoursUpDisable(true);\n            this.timePickerInstance.minutesUpDisable(true);\n            this.timePickerInstance.secondsUpDisable(true);\n\n            if (this.adapter.compareDate(this.adapter.deserialize(this.value), this.adapter.deserialize(this.maxDate)) > 0) {\n                const maxMoment = getTime(this.maxDate);\n                const hours = maxMoment.hours();\n                const minutes = maxMoment.minutes();\n                const seconds = maxMoment.seconds();\n\n                setTimeout(() => {\n                    this.timePickerInstance.hours = hours;\n                    this.timePickerInstance.mins = minutes;\n                    this.timePickerInstance.secs = seconds;\n                });\n\n                this.value = typeof this.value === 'string' ? moment(this.value, moment.ISO_8601) : moment(this.value, this.format.parse.dateInput);\n                this.value.set({ hour: hours || 0, minute: minutes || 0, second: seconds || 0 });\n            }\n\n            if (this.value.hour() === 0 && this.value.minute() === 0 && this.value.second() === 0 &&\n                getTime(this.maxDate).hour() === 0 && getTime(this.maxDate).minute() === 0 && getTime(this.maxDate).second() === 0 &&\n                this.minDate && this.areSameDates(this.value, this.minDate)) {\n                this.timePickerInstance.hoursDownDisable(true);\n                this.timePickerInstance.minutesDownDisable(true);\n                this.timePickerInstance.secondsDownDisable(true);\n            } else {\n                this.timePickerInstance.hoursDownDisable(false);\n                this.timePickerInstance.minutesDownDisable(false);\n                this.timePickerInstance.secondsDownDisable(false);\n            }\n        } else {\n            this.timePickerInstance.hoursUpDisable(false);\n            this.timePickerInstance.minutesUpDisable(false);\n            this.timePickerInstance.secondsUpDisable(false);\n        }\n    }\n    /**\n     * Compares two dates and checks if they are the same.\n     * @param date1 - The first date to compare.\n     * @param date2 - The second date to compare.\n     * @returns {boolean} - Returns true if the dates are the same, otherwise false.\n     */\n    private areSameDates(date1: any, date2: any): boolean {\n        const d1 = this.adapter.deserialize(date1);\n        const d2 = this.adapter.deserialize(date2);\n        return this.adapter.compareDate(d1, d2) === 0;\n    }\n\n    private propagateChange = (_: any): void => {/* empty */};\n\n    private propagateTouched = (): void => {/* empty */};\n\n    /**\n     * Updates the `aria-required` attribute on the input element.\n     * @private\n     */\n    private updateInputAriaRequiredAttribute(control: NgControl): void {\n        this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);\n    }\n\n    /**\n     * Validates and corrects the date to ensure it falls within the specified minDate and maxDate range.\n     * If the date is before minDate, returns minDate. If the date is after maxDate, returns maxDate.\n     * Otherwise, returns the original date unchanged.\n     * \n     * @param date - The date to validate (can be Moment, Date, or string)\n     * @returns The validated date as a Moment object within the allowed range\n     */\n    private validateDateRange(date: Moment | Date | string): Moment | Date | string {\n        const minDate = this.minDate ? this.adapter.deserialize(this.minDate) : null;\n        const maxDate = this.maxDate ? this.adapter.deserialize(this.maxDate) : null;\n        if (minDate && this.adapter.compareDate(date as any, minDate) < 0) {\n            return minDate;\n        }\n        if (maxDate && this.adapter.compareDate(date as any, maxDate) > 0) {\n            return maxDate;\n        }\n        return date;\n    }\n\n    /**\n     * Updates the disabled state of the timepicker based on whether a date is selected.\n     * @private\n     */\n    private updateTimePickerDisabledState(): void {\n        if (this.timePickerInstance) {\n            const hasDate = this.value && this.value !== '';\n            this.timePickerInstance.isDisabled = !hasDate;\n            this.timePickerComponentRef?.changeDetectorRef.markForCheck();\n        }\n    }\n\n    /**\n     * Converts a date from any adapter format to Moment formats used with dateOutputFormat property.\n     * @private\n     * @param date - The date to convert, can be of any type supported by the adapter.\n     * @returns The converted date as a Moment object.\n     */\n    private adapterToMoment = (date: any): ReturnType<typeof moment> => moment({\n        year: this.adapter.getYear(date),\n        month: this.adapter.getMonth(date),\n        date: this.adapter.getDate(date),\n    });\n}\n\nexport const LETTER_FORMAT = {\n    parse: {\n        dateInput: 'LL',\n    },\n    display: {\n        dateInput: 'LL',\n        monthYearLabel: 'LL',\n    },\n};\n\nexport const YEAR_FORMAT = {\n    parse: {\n        dateInput: 'YYYY',\n    },\n    display: {\n        dateInput: 'YYYY',\n        monthYearLabel: 'YYYY',\n        dateA11yLabel: 'YYYY',\n        monthYearA11yLabel: 'YYYY',\n    },\n};\n\nexport const MONTH_YEAR_FORMAT = {\n    parse: {\n        dateInput: 'MM/YYYY',\n    },\n    display: {\n        dateInput: 'MM/YYYY',\n        monthYearLabel: 'MMM YYYY',\n        dateA11yLabel: 'LL',\n        monthYearA11yLabel: 'MMMM YYYY',\n    },\n};\n\n@Directive({\n    selector: '[euiLetterFormat]',\n    providers: [{ provide: MAT_DATE_FORMATS, useValue: LETTER_FORMAT }],\n})\nexport class EuiLetterFormatDirective {}\n\n@Directive({\n    selector: '[euiYearFormat]',\n    providers: [{ provide: MAT_DATE_FORMATS, useValue: YEAR_FORMAT }],\n})\nexport class EuiYearFormatDirective {}\n\n@Directive({\n    selector: '[euiMonthYearFormat]',\n    providers: [{ provide: MAT_DATE_FORMATS, useValue: MONTH_YEAR_FORMAT }],\n})\nexport class EuiMonthYearFormatDirective {}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-action-buttons' })\nexport class EuiActionButtonsDirective {\n    @HostBinding('class') class = 'eui-datepicker__action-buttons';\n }\n",
            "selector": "[euiYearFormat]",
            "providers": [
                {
                    "name": "YEAR_FORMAT"
                }
            ],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [],
            "extends": []
        },
        {
            "name": "InputDirective",
            "id": "directive-InputDirective-c2ba47c5285ad90cf4abd6fb9f17bc333d1ce1f569d0a3b5d5d02530a6cbfc8cc218a45e2de9ad06ee4c80775447235a2cc7ff864d4041decfdaf3e560039aaf",
            "file": "packages/components/shared/input.directive.ts",
            "type": "directive",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import {\n    booleanAttribute,\n    Directive,\n    ElementRef,\n    HostBinding,\n    Injector,\n    Input,\n    OnChanges,\n    OnDestroy,\n    OnInit,\n    Renderer2,\n    SimpleChange,\n    SimpleChanges,\n    ViewContainerRef,\n    inject,\n} from '@angular/core';\nimport { FormControl, FormControlDirective, FormControlName, FormGroupDirective, NgControl } from '@angular/forms';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n    // eslint-disable-next-line @angular-eslint/directive-selector\n    selector: 'input[euiInput]',\n    standalone: false,\n})\nexport class InputDirective implements OnInit, OnDestroy, OnChanges {\n    @Input({ transform: booleanAttribute }) euiDisabled = false;\n    @Input({ transform: booleanAttribute }) euiDanger = false;\n\n    @HostBinding('attr.disabled')\n    @Input()\n    public get disabled(): boolean {\n        return this._disabled ? true : null;\n    }\n    public set disabled(state: BooleanInput) {\n        // in case it's controlled by NgControl override\n        this._disabled = coerceBooleanProperty(state);\n        // set BaseDirective Attribute\n        this.euiDisabled = this._disabled;\n    }\n\n    @HostBinding('attr.readonly')\n    @Input()\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    public get readonly(): any {\n        return this._readonly ? '' : null;\n    }\n    public set readonly(state: BooleanInput) {\n        this._readonly = coerceBooleanProperty(state);\n    }\n\n    @HostBinding('attr.placeholder')\n    @Input()\n    public get placeholder(): string | null {\n        return this.getPlaceholderAttribute();\n    }\n    public set placeholder(value: string | number | null) {\n        this.setPlaceholderAttribute(value?.toString());\n    }\n\n    protected _disabled: boolean;\n    protected _readonly: boolean;\n    protected _placeholder: string;\n    protected _statusListener: Subscription;\n    protected _id: string;\n    protected _viewContainerRef: ViewContainerRef;\n    protected control: NgControl;\n    protected _elementRef = inject(ElementRef);\n    protected _renderer = inject(Renderer2);\n    protected injector = inject(Injector);\n\n    constructor() {\n        this._viewContainerRef = this.injector.get(ViewContainerRef);\n    }\n\n    ngOnInit(): void {\n        // extract the FormControl or NgControl\n        this.control = this.injector.get(NgControl, undefined, { optional: true, self: true });\n\n        let c: NgControl | FormControl = this.control;\n        if (this.control instanceof FormControlName) {\n            c = (this.injector as Injector).get(FormGroupDirective).getControl(this.control);\n        } else if (this.control instanceof FormControlDirective) {\n            c = this.control.form as FormControl;\n        }\n        if (c) {\n            this.disabled = c.disabled;\n            this.euiDisabled = this.disabled;\n            // subscribe to NG control status changes to adjust inputs\n            this._statusListener = c.statusChanges.subscribe((status) => {\n                this.euiDanger = status === 'INVALID' && c.touched;\n                this.disabled = status === 'DISABLED' && c.disabled;\n            });\n        }\n    }\n\n    ngOnDestroy(): void {\n        if (this._statusListener) {\n            this._statusListener.unsubscribe();\n        }\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        const readOnlyChange: SimpleChange = changes.readonly;\n\n        if (readOnlyChange?.currentValue === true) {\n            this._renderer.removeAttribute(this._elementRef.nativeElement, 'placeholder');\n        }\n    }\n\n    getCssClasses(rootClass: string): string {\n        return [\n            rootClass,\n            this.euiDanger ? `${rootClass}--danger eui--danger` : '',\n            this.euiDisabled ? `${rootClass}--disabled eui--disabled disabled` : '',\n        ].join(' ').trim();\n    }\n\n    protected getPlaceholderAttribute(): string | undefined {\n        // in readonly memorize placeholder value and remove placeholder. The reason is that CSS style for readonly\n        // cannot hide the placeholder text\n        if (this._elementRef.nativeElement.attributes['readonly']) {\n            if (!this._placeholder) {\n                this.setPlaceholderAttribute(this._elementRef.nativeElement.placeholder);\n            }\n            return undefined;\n        }\n\n        // keep placeholder's value\n        this._placeholder = this._elementRef.nativeElement.placeholder || this._placeholder;\n        return this._placeholder;\n    }\n\n    protected setPlaceholderAttribute(value: string | null): void {\n        if (!value) {\n            this._renderer.removeAttribute(this._elementRef.nativeElement, 'placeholder');\n        } else {\n            this._renderer.setAttribute(this._elementRef.nativeElement, 'placeholder', value);\n        }\n        this._placeholder = value;\n    }\n\n    protected setIdAttribute(value: string | null = null): void {\n        this._renderer.setAttribute(this._elementRef.nativeElement, 'id', value ? value : `${this._elementRef.nativeElement.type}_${Math.floor(Math.random() * 1000000)}`);\n    }\n}\n",
            "selector": "input[euiInput]",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "name": "disabled",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 32,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiDanger",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 28,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 27,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "placeholder",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 55,
                    "type": "string | null",
                    "decorators": []
                },
                {
                    "name": "readonly",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 46,
                    "type": "any",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [
                {
                    "name": "_disabled",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 62,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "_elementRef",
                    "defaultValue": "inject(ElementRef)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 69,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "_id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 66,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "_placeholder",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 64,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "_readonly",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 63,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "_renderer",
                    "defaultValue": "inject(Renderer2)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 70,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "_statusListener",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Subscription",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 65,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "_viewContainerRef",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ViewContainerRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 67,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "control",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "NgControl",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 68,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "injector",
                    "defaultValue": "inject(Injector)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 71,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "getCssClasses",
                    "args": [
                        {
                            "name": "rootClass",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 112,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "rootClass",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getPlaceholderAttribute",
                    "args": [],
                    "optional": false,
                    "returnType": "string | undefined",
                    "typeParameters": [],
                    "line": 120,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 104,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 98,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 77,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "setIdAttribute",
                    "args": [
                        {
                            "name": "value",
                            "type": "string | null",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "null"
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 144,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "string | null",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "null",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "setPlaceholderAttribute",
                    "args": [
                        {
                            "name": "value",
                            "type": "string | null",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 135,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "string | null",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy",
                "OnChanges"
            ],
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 71
            },
            "accessors": {
                "disabled": {
                    "name": "disabled",
                    "setSignature": {
                        "name": "disabled",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "state",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 35,
                        "jsdoctags": [
                            {
                                "name": "state",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "disabled",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 32
                    }
                },
                "readonly": {
                    "name": "readonly",
                    "setSignature": {
                        "name": "readonly",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "state",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 49,
                        "jsdoctags": [
                            {
                                "name": "state",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "readonly",
                        "type": "any",
                        "returnType": "any",
                        "line": 46
                    }
                },
                "placeholder": {
                    "name": "placeholder",
                    "setSignature": {
                        "name": "placeholder",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "string | number | null",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 58,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "string | number | null",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "placeholder",
                        "type": "unknown",
                        "returnType": "string | null",
                        "line": 55
                    }
                }
            }
        },
        {
            "name": "TranslateMockDirective",
            "id": "directive-TranslateMockDirective-e3c844261cc3a1e10dba51814a8cf95ce5736d1d5116dc3caadbbf65259d92910963e3735a4fe0cc049f8361f818ef98c638c75bca1144acfcb3a5950d11b4f8",
            "file": "packages/components/testing/mocks/translate.module.mock.ts",
            "type": "directive",
            "description": "",
            "rawdescription": "\n",
            "sourceCode": "import { AfterViewChecked, Directive, ElementRef, Input, NgModule, Pipe, PipeTransform, inject } from '@angular/core';\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject, Observable, of, Subject } from 'rxjs';\n\nexport const TRANSLATED_STRING = 'i18n';\n\nexport class TranslateServiceMock {\n    onLangChangeSubject: Subject<LangChangeEvent> = new Subject();\n    onFallbackLangChangeSubject: Subject<LangChangeEvent> = new Subject();\n    onTranslationChangeSubject: Subject<string> = new Subject();\n    onDefaultLangChangeSubject: Subject<string> = new Subject();\n    isLoadedSubject: BehaviorSubject<boolean> = new BehaviorSubject(true);\n\n    onLangChange: Observable<LangChangeEvent> = this.onLangChangeSubject.asObservable();\n    onFallbackLangChange: Observable<LangChangeEvent> = this.onFallbackLangChangeSubject.asObservable();\n    onTranslationChange: Observable<string> = this.onTranslationChangeSubject.asObservable();\n    onDefaultLangChange: Observable<string> = this.onDefaultLangChangeSubject.asObservable();\n    isLoaded: Observable<boolean> = this.isLoadedSubject.asObservable();\n\n    currentLang: string;\n\n    languages: string[] = ['de'];\n\n    get(content: string): Observable<string> {\n        return of(TRANSLATED_STRING + content);\n    }\n\n    use(lang: string): void {\n        this.currentLang = lang;\n        this.onLangChangeSubject.next({ lang } as LangChangeEvent);\n    }\n\n    // stream(key: string | string[], interpolateParams?: InterpolationParameters): Observable<Translation>;\n    stream(content: string): Observable<string> {\n        return of(TRANSLATED_STRING + content);\n    }\n\n    addLangs(langs: string[]): void {\n        this.languages = [...this.languages, ...langs];\n    }\n\n    getBrowserLang(): string {\n        return '';\n    }\n\n    getLangs(): string[] {\n        return this.languages;\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    getTranslation(): Observable<any> {\n        return of({});\n    }\n\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    instant(key: string | string[], interpolateParams?: object): string {\n        return TRANSLATED_STRING + key.toString();\n    }\n\n    setDefaultLang(lang: string): void {\n        this.onDefaultLangChangeSubject.next(lang);\n    }\n}\n\n@Pipe({ name: 'translate' })\nexport class TranslateMockPipe implements PipeTransform {\n    transform(text: string): string {\n        return !text ? TRANSLATED_STRING : `${text}-${TRANSLATED_STRING}`;\n    }\n}\n\n@Directive({\n    // eslint-disable-next-line @angular-eslint/directive-selector\n    selector: '[translate]',\n})\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport class TranslateMockDirective implements AfterViewChecked {\n    @Input()\n    translateParams: any;\n    private readonly _element = inject(ElementRef);\n\n    ngAfterViewChecked(): void {\n        this._element.nativeElement.innerText += TRANSLATED_STRING;\n    }\n}\n\n@NgModule({\n    imports: [TranslateMockPipe, TranslateMockDirective],\n    exports: [TranslateMockPipe, TranslateMockDirective],\n    providers: [{ provide: TranslateService, useClass: TranslateServiceMock }],\n})\nexport class TranslateMockModule {}\n",
            "selector": "[translate]",
            "providers": [],
            "hostDirectives": [],
            "standalone": false,
            "inputsClass": [
                {
                    "name": "translateParams",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 80,
                    "type": "any",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "ngAfterViewChecked",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 83,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "extends": [],
            "implements": [
                "AfterViewChecked"
            ]
        }
    ],
    "components": [
        {
            "name": "DefaultComponent",
            "id": "component-DefaultComponent-0eceea7f8dfed385e36b5f2a91207203e2782cb189cb4c356034914f04a3472b177d73f33360a21fe97be016dba0a4816ab128e15bdcb492da013587cce9a46c",
            "file": "packages/components/eui-table/testing/default.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "styleUrls": [],
            "styles": [],
            "template": "<table euiTable [data]=\"data\">\n    <ng-template euiTemplate=\"header\">\n        <tr>\n            <th>Id</th>\n            <th>Country</th>\n            <th>Year</th>\n            <th>ISO</th>\n            <th>Population</th>\n            <th>Capital</th>\n        </tr>\n    </ng-template>\n    <ng-template let-row euiTemplate=\"body\">\n        <tr>\n            <td>{{ row.id }}</td>\n            <td nowrap><span class=\"eui-flag-icon eui-flag-icon-{{ row.iso.toLowerCase() }} eui-u-mr-s\"></span>{{ row.country }}</td>\n            <td>{{ row.year }}</td>\n            <td>{{ row.iso }}</td>\n            <td>{{ row.population | number }}</td>\n            <td>{{ row.capital }}</td>\n        </tr>\n    </ng-template>\n    <ng-template let-row euiTemplate=\"footer\">\n        <tr>\n            <td></td>\n            <td></td>\n            <td colspan=\"6\">Footer</td>\n        </tr>\n    </ng-template>\n</table>\n",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "data",
                    "defaultValue": "[\n        { id: 1, country: 'Austria', year: 1995, iso: 'AT', population: 8504850, capital: 'Vienna' },\n        { id: 2, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n        { id: 3, country: 'Bulgaria', year: 2007, iso: 'BG', population: 7364570, capital: 'Sofia' },\n        { id: 4, country: 'Croatia', year: 2013, iso: 'HR', population: 4284889, capital: 'Zagreb' },\n        { id: 5, country: 'Cyprus', year: 2004, iso: 'CY', population: 1117000, capital: 'Nicosia' },\n        { id: 6, country: 'Czechia', year: 2004, iso: 'CZ', population: 10513209, capital: 'Prague' },\n        { id: 7, country: 'Denmark', year: 1973, iso: 'DK', population: 5655750, capital: 'Copenhagen' },\n        { id: 8, country: 'Estonia', year: 2004, iso: 'EE', population: 1315819, capital: 'Tallinn' },\n        { id: 9, country: 'Finland', year: 1995, iso: 'FI', population: 5470820, capital: 'Helsinki' },\n        { id: 10, country: 'France', year: 1958, iso: 'FR', population: 67210000, capital: 'Paris' },\n        { id: 11, country: 'Germany', year: 1958, iso: 'DE', population: 80716000, capital: 'Berlin' },\n        { id: 12, country: 'Greece', year: 1981, iso: 'GR', population: 10816286, capital: 'Athens' },\n        { id: 13, country: 'Hungary', year: 2004, iso: 'HU', population: 9877365, capital: 'Budapest' },\n        { id: 14, country: 'Ireland', year: 1973, iso: 'IE', population: 4609600, capital: 'Dublin' },\n        { id: 15, country: 'Italy', year: 1958, iso: 'IT', population: 60782668, capital: 'Rome' },\n        { id: 16, country: 'Latvia', year: 2004, iso: 'LV', population: 1990300, capital: 'Riga' },\n        { id: 17, country: 'Lithuania', year: 2004, iso: 'LT', population: 2944459, capital: 'Vilnius' },\n        { id: 18, country: 'Luxembourg', year: 1958, iso: 'LU', population: 549680, capital: 'Luxembourg' },\n        { id: 19, country: 'Malta', year: 2004, iso: 'MT', population: 446547, capital: 'Valletta' },\n        { id: 20, country: 'Netherlands', year: 1958, iso: 'NL', population: 16856620, capital: 'Amsterdam' },\n        { id: 21, country: 'Poland', year: 2004, iso: 'PL', population: 38483957, capital: 'Warsaw' },\n        { id: 22, country: 'Portugal', year: 1986, iso: 'PT', population: 10427301, capital: 'Lisbon' },\n        { id: 23, country: 'Romania', year: 2007, iso: 'RO', population: 19942642, capital: 'Bucharest' },\n        { id: 24, country: 'Slovakia', year: 2004, iso: 'SK', population: 5415949, capital: 'Bratislava' },\n        { id: 25, country: 'Slovenia', year: 2004, iso: 'SI', population: 2061085, capital: 'Ljubljana' },\n        { id: 26, country: 'Spain', year: 1986, iso: 'ES', population: 46704314, capital: 'Madrid' },\n        { id: 27, country: 'Sweden', year: 1995, iso: 'SE', population: 10004962, capital: 'Stockholm' },\n        { id: 28, country: 'United Kingdom', year: 1973, iso: 'GB', population: 64100000, capital: 'London' },\n    ]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 48
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EuiTableComponent",
                    "type": "component"
                },
                {
                    "name": "EuiTemplateDirective",
                    "type": "directive"
                },
                {
                    "name": "DecimalPipe",
                    "type": "pipe"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { Component } from '@angular/core';\nimport { DecimalPipe } from '@angular/common';\n\nimport { EuiTemplateDirective } from '@eui/components/directives';\n\nimport { EuiTableComponent } from '../eui-table.component';\n\n@Component({\n    template: `\n    <table euiTable [data]=\"data\">\n        <ng-template euiTemplate=\"header\">\n            <tr>\n                <th>Id</th>\n                <th>Country</th>\n                <th>Year</th>\n                <th>ISO</th>\n                <th>Population</th>\n                <th>Capital</th>\n            </tr>\n        </ng-template>\n        <ng-template let-row euiTemplate=\"body\">\n            <tr>\n                <td>{{ row.id }}</td>\n                <td nowrap><span class=\"eui-flag-icon eui-flag-icon-{{ row.iso.toLowerCase() }} eui-u-mr-s\"></span>{{ row.country }}</td>\n                <td>{{ row.year }}</td>\n                <td>{{ row.iso }}</td>\n                <td>{{ row.population | number }}</td>\n                <td>{{ row.capital }}</td>\n            </tr>\n        </ng-template>\n        <ng-template let-row euiTemplate=\"footer\">\n            <tr>\n                <td></td>\n                <td></td>\n                <td colspan=\"6\">Footer</td>\n            </tr>\n        </ng-template>\n    </table>\n    `,\n    imports: [\n        EuiTableComponent,\n        EuiTemplateDirective,\n        DecimalPipe,\n    ],\n})\nexport class DefaultComponent {\n    data = [\n        { id: 1, country: 'Austria', year: 1995, iso: 'AT', population: 8504850, capital: 'Vienna' },\n        { id: 2, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n        { id: 3, country: 'Bulgaria', year: 2007, iso: 'BG', population: 7364570, capital: 'Sofia' },\n        { id: 4, country: 'Croatia', year: 2013, iso: 'HR', population: 4284889, capital: 'Zagreb' },\n        { id: 5, country: 'Cyprus', year: 2004, iso: 'CY', population: 1117000, capital: 'Nicosia' },\n        { id: 6, country: 'Czechia', year: 2004, iso: 'CZ', population: 10513209, capital: 'Prague' },\n        { id: 7, country: 'Denmark', year: 1973, iso: 'DK', population: 5655750, capital: 'Copenhagen' },\n        { id: 8, country: 'Estonia', year: 2004, iso: 'EE', population: 1315819, capital: 'Tallinn' },\n        { id: 9, country: 'Finland', year: 1995, iso: 'FI', population: 5470820, capital: 'Helsinki' },\n        { id: 10, country: 'France', year: 1958, iso: 'FR', population: 67210000, capital: 'Paris' },\n        { id: 11, country: 'Germany', year: 1958, iso: 'DE', population: 80716000, capital: 'Berlin' },\n        { id: 12, country: 'Greece', year: 1981, iso: 'GR', population: 10816286, capital: 'Athens' },\n        { id: 13, country: 'Hungary', year: 2004, iso: 'HU', population: 9877365, capital: 'Budapest' },\n        { id: 14, country: 'Ireland', year: 1973, iso: 'IE', population: 4609600, capital: 'Dublin' },\n        { id: 15, country: 'Italy', year: 1958, iso: 'IT', population: 60782668, capital: 'Rome' },\n        { id: 16, country: 'Latvia', year: 2004, iso: 'LV', population: 1990300, capital: 'Riga' },\n        { id: 17, country: 'Lithuania', year: 2004, iso: 'LT', population: 2944459, capital: 'Vilnius' },\n        { id: 18, country: 'Luxembourg', year: 1958, iso: 'LU', population: 549680, capital: 'Luxembourg' },\n        { id: 19, country: 'Malta', year: 2004, iso: 'MT', population: 446547, capital: 'Valletta' },\n        { id: 20, country: 'Netherlands', year: 1958, iso: 'NL', population: 16856620, capital: 'Amsterdam' },\n        { id: 21, country: 'Poland', year: 2004, iso: 'PL', population: 38483957, capital: 'Warsaw' },\n        { id: 22, country: 'Portugal', year: 1986, iso: 'PT', population: 10427301, capital: 'Lisbon' },\n        { id: 23, country: 'Romania', year: 2007, iso: 'RO', population: 19942642, capital: 'Bucharest' },\n        { id: 24, country: 'Slovakia', year: 2004, iso: 'SK', population: 5415949, capital: 'Bratislava' },\n        { id: 25, country: 'Slovenia', year: 2004, iso: 'SI', population: 2061085, capital: 'Ljubljana' },\n        { id: 26, country: 'Spain', year: 1986, iso: 'ES', population: 46704314, capital: 'Madrid' },\n        { id: 27, country: 'Sweden', year: 1995, iso: 'SE', population: 10004962, capital: 'Stockholm' },\n        { id: 28, country: 'United Kingdom', year: 1973, iso: 'GB', population: 64100000, capital: 'London' },\n    ];\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiAccordionComponent",
            "id": "component-EuiAccordionComponent-cdc09d2abde242ed281827d092eea6c9c2809bf54cd1c5899afa96f91720934a287820cc58e32353fef46eb878bd124cb105cfde2b6d3e3bf434db71aebcf4a0",
            "file": "packages/components/eui-accordion/eui-accordion.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "host": {},
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-accordion",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "CdkAccordion",
                    "inputs": [
                        "multi: isMulti"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "cssClasses",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 73,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                    "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                    "jsdoctags": [
                        {
                            "tagName": {
                                "pos": 2717,
                                "end": 2724,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "returnType": "string"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Accordion container component that manages a collection of expandable panel items.\nProvides collapsible content sections with automatic expansion state coordination across child items.\nSupports single or multi-expansion modes to control whether multiple panels can be open simultaneously.\nBuilt on Angular CDK Accordion for robust expansion state management and accessibility.\nContent is projected via ng-content, expecting eui-accordion-item children for proper functionality.\nTypically used for organizing related content in expandable sections like FAQs, settings panels, or navigation menus.</p>\n<h4>Single expansion mode (default)</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-accordion&gt;\n  &lt;eui-accordion-item&gt;\n    &lt;eui-accordion-item-header&gt;Section 1&lt;/eui-accordion-item-header&gt;\n    Content for section 1\n  &lt;/eui-accordion-item&gt;\n  &lt;eui-accordion-item&gt;\n    &lt;eui-accordion-item-header&gt;Section 2&lt;/eui-accordion-item-header&gt;\n    Content for section 2\n  &lt;/eui-accordion-item&gt;\n&lt;/eui-accordion&gt;</code></pre></div><h4>Multi-expansion mode</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-accordion isMulti&gt;\n  &lt;eui-accordion-item (toggleItem)=&quot;onToggle($event)&quot;&gt;\n    &lt;eui-accordion-item-header&gt;Item 1&lt;/eui-accordion-item-header&gt;\n    Content 1\n  &lt;/eui-accordion-item&gt;\n&lt;/eui-accordion&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses Angular CDK Accordion which provides built-in ARIA attributes (aria-expanded, aria-controls)</li>\n<li>Each accordion item header is keyboard accessible and can be toggled with Enter/Space</li>\n<li>Screen readers announce expansion state changes automatically</li>\n<li>Focus management handled by CDK for keyboard navigation between items</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>In single-expansion mode (default), opening one item automatically closes others</li>\n<li>Set <code>isMulti</code> to allow multiple items to be expanded simultaneously</li>\n<li>Must contain eui-accordion-item children for proper functionality</li>\n<li>Expansion state is managed internally by Angular CDK Accordion</li>\n<li>Use toggleItem event on items to track expansion state changes</li>\n</ul>\n",
            "rawdescription": "\n\nAccordion container component that manages a collection of expandable panel items.\nProvides collapsible content sections with automatic expansion state coordination across child items.\nSupports single or multi-expansion modes to control whether multiple panels can be open simultaneously.\nBuilt on Angular CDK Accordion for robust expansion state management and accessibility.\nContent is projected via ng-content, expecting eui-accordion-item children for proper functionality.\nTypically used for organizing related content in expandable sections like FAQs, settings panels, or navigation menus.\n\n#### Single expansion mode (default)\n```html\n<eui-accordion>\n  <eui-accordion-item>\n    <eui-accordion-item-header>Section 1</eui-accordion-item-header>\n    Content for section 1\n  </eui-accordion-item>\n  <eui-accordion-item>\n    <eui-accordion-item-header>Section 2</eui-accordion-item-header>\n    Content for section 2\n  </eui-accordion-item>\n</eui-accordion>\n```\n\n#### Multi-expansion mode\n```html\n<eui-accordion isMulti>\n  <eui-accordion-item (toggleItem)=\"onToggle($event)\">\n    <eui-accordion-item-header>Item 1</eui-accordion-item-header>\n    Content 1\n  </eui-accordion-item>\n</eui-accordion>\n```\n\n### Accessibility\n- Uses Angular CDK Accordion which provides built-in ARIA attributes (aria-expanded, aria-controls)\n- Each accordion item header is keyboard accessible and can be toggled with Enter/Space\n- Screen readers announce expansion state changes automatically\n- Focus management handled by CDK for keyboard navigation between items\n\n### Notes\n- In single-expansion mode (default), opening one item automatically closes others\n- Set `isMulti` to allow multiple items to be expanded simultaneously\n- Must contain eui-accordion-item children for proper functionality\n- Expansion state is managed internally by Angular CDK Accordion\n- Use toggleItem event on items to track expansion state changes\n",
            "type": "component",
            "sourceCode": "import { CdkAccordion } from '@angular/cdk/accordion';\nimport { Component, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * @description\n * Accordion container component that manages a collection of expandable panel items.\n * Provides collapsible content sections with automatic expansion state coordination across child items.\n * Supports single or multi-expansion modes to control whether multiple panels can be open simultaneously.\n * Built on Angular CDK Accordion for robust expansion state management and accessibility.\n * Content is projected via ng-content, expecting eui-accordion-item children for proper functionality.\n * Typically used for organizing related content in expandable sections like FAQs, settings panels, or navigation menus.\n *\n * @usageNotes\n * #### Single expansion mode (default)\n * ```html\n * <eui-accordion>\n *   <eui-accordion-item>\n *     <eui-accordion-item-header>Section 1</eui-accordion-item-header>\n *     Content for section 1\n *   </eui-accordion-item>\n *   <eui-accordion-item>\n *     <eui-accordion-item-header>Section 2</eui-accordion-item-header>\n *     Content for section 2\n *   </eui-accordion-item>\n * </eui-accordion>\n * ```\n *\n * #### Multi-expansion mode\n * ```html\n * <eui-accordion isMulti>\n *   <eui-accordion-item (toggleItem)=\"onToggle($event)\">\n *     <eui-accordion-item-header>Item 1</eui-accordion-item-header>\n *     Content 1\n *   </eui-accordion-item>\n * </eui-accordion>\n * ```\n *\n * ### Accessibility\n * - Uses Angular CDK Accordion which provides built-in ARIA attributes (aria-expanded, aria-controls)\n * - Each accordion item header is keyboard accessible and can be toggled with Enter/Space\n * - Screen readers announce expansion state changes automatically\n * - Focus management handled by CDK for keyboard navigation between items\n *\n * ### Notes\n * - In single-expansion mode (default), opening one item automatically closes others\n * - Set `isMulti` to allow multiple items to be expanded simultaneously\n * - Must contain eui-accordion-item children for proper functionality\n * - Expansion state is managed internally by Angular CDK Accordion\n * - Use toggleItem event on items to track expansion state changes\n */\n@Component({\n    selector: 'eui-accordion',\n    template: '<ng-content/>',\n    styleUrl: './eui-accordion.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    hostDirectives: [\n        {\n            directive: CdkAccordion,\n            inputs: [ 'multi: isMulti' ],\n        },\n    ],\n    host: {\n        '[class]': 'cssClasses()',\n    },\n})\nexport class EuiAccordionComponent {\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    cssClasses(): string {\n        return [\n            'eui-accordion',\n        ].join(' ').trim();\n    }\n}\n",
            "styleUrl": "./eui-accordion.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiAccordionItemComponent",
            "id": "component-EuiAccordionItemComponent-489d46d6f04913df7f5d368b66e971a22dcc725bd12b7eadad62a500fb371b10242522bc6862c77b9be36a21894b99e4c505fadc441dc1d2f288ac189b9a2b02",
            "file": "packages/components/eui-accordion/eui-accordion-item.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-accordion-item",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-accordion-item.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "CdkAccordionItem",
                    "inputs": [
                        "expanded: isExpanded"
                    ],
                    "outputs": []
                },
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiSizeS",
                        "euiSizeM",
                        "euiSizeL",
                        "euiSizeVariant",
                        "euiDisabled"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [],
            "outputsClass": [
                {
                    "name": "toggleItem",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Event emitted when the accordion item is toggled</p>\n",
                    "line": 104,
                    "rawdescription": "\n\nEvent emitted when the accordion item is toggled\n",
                    "modifierKind": [
                        148
                    ],
                    "required": false
                }
            ],
            "propertiesClass": [
                {
                    "name": "accItem",
                    "defaultValue": "inject(CdkAccordionItem)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 108,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 107,
                    "rawdescription": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "pos": 3765,
                            "end": 3840,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3766,
                                "end": 3777,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Instance of BaseStatesDirective for managing component states</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onToggle",
                    "args": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 116,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles the toggle event for expanding/collapsing the accordion item\nPrevents event propagation to avoid interfering with parent handlers\n\n",
                    "description": "<p>Handles the toggle event for expanding/collapsing the accordion item\nPrevents event propagation to avoid interfering with parent handlers</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 4140,
                                "end": 4145,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 4134,
                                "end": 4139,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The toggle event</li>\n</ul>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3265,
                            "end": 3382,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3266,
                                "end": 3277,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                        },
                        {
                            "pos": 3382,
                            "end": 3447,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3383,
                                "end": 3390,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 3391,
                                "end": 3399,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 3392,
                                    "end": 3398,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                    "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                    "line": 96,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "CdkAccordionModule",
                    "type": "module"
                }
            ],
            "description": "<p>Individual accordion item component that can be expanded or collapsed within an eui-accordion container.\nProvides a collapsible panel with header and content sections, supporting smooth collapse animations.\nUses Angular CDK&#39;s accordion item functionality for managing expansion state and accessibility.\nSupports size variants (S, M, L) and disabled state through BaseStatesDirective.\nEmits toggleItem event when expansion state changes, allowing parent components to track state.</p>\n<h3>Basic usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-accordion&gt;\n  &lt;eui-accordion-item&gt;\n    &lt;eui-accordion-item-header&gt;Header Text&lt;/eui-accordion-item-header&gt;\n    Panel content goes here\n  &lt;/eui-accordion-item&gt;\n&lt;/eui-accordion&gt;</code></pre></div><h3>With initial expanded state and size variant</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-accordion-item isExpanded euiSizeS (toggleItem)=&quot;onToggle($event)&quot;&gt;\n  &lt;eui-accordion-item-header&gt;Small Item&lt;/eui-accordion-item-header&gt;\n  Content\n&lt;/eui-accordion-item&gt;</code></pre></div><h3>Disabled item</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-accordion-item euiDisabled&gt;\n  &lt;eui-accordion-item-header&gt;Disabled Item&lt;/eui-accordion-item-header&gt;\n  Content\n&lt;/eui-accordion-item&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Header is keyboard accessible with Enter/Space to toggle expansion</li>\n<li>ARIA attributes (aria-expanded, aria-controls) automatically managed by CDK</li>\n<li>Screen readers announce expansion state and content visibility changes</li>\n<li>Focus remains on header after toggling for consistent keyboard navigation</li>\n<li>Disabled items are not focusable and announced as disabled to screen readers</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within an eui-accordion parent component</li>\n<li>Requires eui-accordion-item-header directive for header content</li>\n<li>Collapse animation is applied automatically on state changes</li>\n<li>Size variants (euiSizeS, euiSizeM, euiSizeL) affect header and content spacing</li>\n<li>toggleItem event emits boolean indicating current expanded state (true = expanded)</li>\n<li>isExpanded input can be used for programmatic control of expansion state</li>\n</ul>\n",
            "rawdescription": "\n\nIndividual accordion item component that can be expanded or collapsed within an eui-accordion container.\nProvides a collapsible panel with header and content sections, supporting smooth collapse animations.\nUses Angular CDK's accordion item functionality for managing expansion state and accessibility.\nSupports size variants (S, M, L) and disabled state through BaseStatesDirective.\nEmits toggleItem event when expansion state changes, allowing parent components to track state.\n\n### Basic usage\n```html\n<eui-accordion>\n  <eui-accordion-item>\n    <eui-accordion-item-header>Header Text</eui-accordion-item-header>\n    Panel content goes here\n  </eui-accordion-item>\n</eui-accordion>\n```\n\n### With initial expanded state and size variant\n```html\n<eui-accordion-item isExpanded euiSizeS (toggleItem)=\"onToggle($event)\">\n  <eui-accordion-item-header>Small Item</eui-accordion-item-header>\n  Content\n</eui-accordion-item>\n```\n\n### Disabled item\n```html\n<eui-accordion-item euiDisabled>\n  <eui-accordion-item-header>Disabled Item</eui-accordion-item-header>\n  Content\n</eui-accordion-item>\n```\n\n### Accessibility\n- Header is keyboard accessible with Enter/Space to toggle expansion\n- ARIA attributes (aria-expanded, aria-controls) automatically managed by CDK\n- Screen readers announce expansion state and content visibility changes\n- Focus remains on header after toggling for consistent keyboard navigation\n- Disabled items are not focusable and announced as disabled to screen readers\n\n### Notes\n- Must be used within an eui-accordion parent component\n- Requires eui-accordion-item-header directive for header content\n- Collapse animation is applied automatically on state changes\n- Size variants (euiSizeS, euiSizeM, euiSizeL) affect header and content spacing\n- toggleItem event emits boolean indicating current expanded state (true = expanded)\n- isExpanded input can be used for programmatic control of expansion state\n",
            "type": "component",
            "sourceCode": "import { CdkAccordionItem, CdkAccordionModule } from '@angular/cdk/accordion';\nimport { Component, HostBinding, ChangeDetectionStrategy, Directive, inject, output } from '@angular/core';\nimport { consumeEvent } from '@eui/core';\nimport { BaseStatesDirective, euiAnimationCollapse } from '@eui/components/shared';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\n/**\n * @description\n * Individual accordion item component that can be expanded or collapsed within an eui-accordion container.\n * Provides a collapsible panel with header and content sections, supporting smooth collapse animations.\n * Uses Angular CDK's accordion item functionality for managing expansion state and accessibility.\n * Supports size variants (S, M, L) and disabled state through BaseStatesDirective.\n * Emits toggleItem event when expansion state changes, allowing parent components to track state.\n *\n * @usageNotes\n * ### Basic usage\n * ```html\n * <eui-accordion>\n *   <eui-accordion-item>\n *     <eui-accordion-item-header>Header Text</eui-accordion-item-header>\n *     Panel content goes here\n *   </eui-accordion-item>\n * </eui-accordion>\n * ```\n *\n * ### With initial expanded state and size variant\n * ```html\n * <eui-accordion-item isExpanded euiSizeS (toggleItem)=\"onToggle($event)\">\n *   <eui-accordion-item-header>Small Item</eui-accordion-item-header>\n *   Content\n * </eui-accordion-item>\n * ```\n *\n * ### Disabled item\n * ```html\n * <eui-accordion-item euiDisabled>\n *   <eui-accordion-item-header>Disabled Item</eui-accordion-item-header>\n *   Content\n * </eui-accordion-item>\n * ```\n *\n * ### Accessibility\n * - Header is keyboard accessible with Enter/Space to toggle expansion\n * - ARIA attributes (aria-expanded, aria-controls) automatically managed by CDK\n * - Screen readers announce expansion state and content visibility changes\n * - Focus remains on header after toggling for consistent keyboard navigation\n * - Disabled items are not focusable and announced as disabled to screen readers\n *\n * ### Notes\n * - Must be used within an eui-accordion parent component\n * - Requires eui-accordion-item-header directive for header content\n * - Collapse animation is applied automatically on state changes\n * - Size variants (euiSizeS, euiSizeM, euiSizeL) affect header and content spacing\n * - toggleItem event emits boolean indicating current expanded state (true = expanded)\n * - isExpanded input can be used for programmatic control of expansion state\n */\n@Component({\n    selector: 'eui-accordion-item',\n    templateUrl: './eui-accordion-item.component.html',\n    styleUrl: './eui-accordion-item.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        ...EUI_ICON,\n        CdkAccordionModule,\n    ],\n    hostDirectives: [\n        {\n            directive: CdkAccordionItem,\n            inputs: [\n                'expanded: isExpanded',\n            ],\n        },\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSizeS',\n                'euiSizeM',\n                'euiSizeL',\n                'euiSizeVariant',\n                'euiDisabled',\n            ],\n        },\n    ],\n    animations: [\n        euiAnimationCollapse,\n    ],\n})\nexport class EuiAccordionItemComponent {\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    public get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-accordion-item'),\n        ].join(' ').trim();\n    }\n    /**\n     * Event emitted when the accordion item is toggled\n     */\n    readonly toggleItem = output<boolean>();\n\n    /** @description Instance of BaseStatesDirective for managing component states */\n    protected baseStatesDirective = inject(BaseStatesDirective);\n    protected accItem = inject(CdkAccordionItem);\n\n    /**\n     * Handles the toggle event for expanding/collapsing the accordion item\n     * Prevents event propagation to avoid interfering with parent handlers\n     *\n     * @param event - The toggle event\n     */\n    onToggle(event: Event): void {\n        this.accItem.toggle();\n        this.toggleItem.emit(this.accItem.expanded);\n        consumeEvent(event);\n    }\n}\n\n/**\n * @description\n * Directive for marking and styling the header content of an accordion item.\n * Applied to content that should appear in the clickable header section of the accordion panel.\n * The header acts as the toggle trigger for expanding/collapsing the accordion item.\n * Content projected with this directive is displayed with appropriate styling and interactive behavior.\n *\n * @usageNotes\n * ```html\n * <eui-accordion-item>\n *   <eui-accordion-item-header>\n *     Section Title\n *   </eui-accordion-item-header>\n *   Panel content\n * </eui-accordion-item>\n * ```\n *\n * ### Accessibility\n * - Header content is automatically wrapped in an interactive button element\n * - Keyboard accessible with Enter/Space keys for toggling\n * - Screen readers announce the header text and expansion state\n *\n * ### Notes\n * - Required for proper accordion item structure\n * - Must be a direct child of eui-accordion-item\n * - Only one header directive should be used per accordion item\n * - Header content can include text, icons, or other inline elements\n */\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({ selector: 'eui-accordion-item-header' })\nexport class EuiAccordionItemHeaderDirective { }\n",
            "styleUrl": "./eui-accordion-item.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 96,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                        "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 3265,
                                "end": 3382,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 3266,
                                    "end": 3277,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                            },
                            {
                                "pos": 3382,
                                "end": 3447,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 3383,
                                    "end": 3390,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 3391,
                                    "end": 3399,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 3392,
                                        "end": 3398,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            },
            "templateData": "<button class=\"eui-accordion-item__header\" (click)=\"onToggle($event)\" (keydown.enter)=\"onToggle($event)\">\n    <ng-content select=\"eui-accordion-item-header\"/>\n\n    <div class=\"eui-accordion-item__header-expander\">\n        @if (accItem.expanded) {\n            <eui-icon-svg icon=\"eui-chevron-up\" fillColor=\"primary\"/>\n        } @else {\n            <eui-icon-svg icon=\"eui-chevron-down\" fillColor=\"primary\"/>\n        }\n    </div>\n</button>\n<div [@euiAnimationCollapse]=\"!accItem.expanded\" class=\"eui-accordion-item__body\">\n    <ng-content></ng-content>\n</div>\n\n"
        },
        {
            "name": "EuiAlertComponent",
            "id": "component-EuiAlertComponent-012870174df4e964e3b125173d37ee08abd4721e9cb41be9c91f759709c55a530ca32ec7fec6bc80aac877fac5a596151583edcdc9132db96c001455d92f08c4",
            "file": "packages/components/eui-alert/eui-alert.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "div[euiAlert], eui-alert",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-alert.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiSuccess",
                        "euiInfo",
                        "euiWarning",
                        "euiDanger",
                        "euiVariant"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-alert'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Data attribute value for end-to-end testing identification.\nApplied as data-e2e attribute on the host element.</p>\n",
                    "line": 178,
                    "rawdescription": "\n\nData attribute value for end-to-end testing identification.\nApplied as data-e2e attribute on the host element.\n",
                    "jsdoctags": [
                        {
                            "pos": 5869,
                            "end": 5895,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5870,
                                "end": 5877,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-alert&#39;</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "isCloseable",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Enables a close button allowing users to dismiss the alert.\nWhen true, displays a close icon button that hides the alert and emits closeAlert event.</p>\n",
                    "line": 185,
                    "rawdescription": "\n\nEnables a close button allowing users to dismiss the alert.\nWhen true, displays a close icon button that hides the alert and emits closeAlert event.\n",
                    "jsdoctags": [
                        {
                            "pos": 6111,
                            "end": 6131,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6112,
                                "end": 6119,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "isFocusable",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Makes the alert focusable via keyboard navigation.\nWhen true, sets tabindex to 0 enabling keyboard focus for accessibility.</p>\n",
                    "line": 192,
                    "rawdescription": "\n\nMakes the alert focusable via keyboard navigation.\nWhen true, sets tabindex to 0 enabling keyboard focus for accessibility.\n",
                    "jsdoctags": [
                        {
                            "pos": 6353,
                            "end": 6373,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6354,
                                "end": 6361,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "isVisible",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Controls the visibility state of the alert.\nTwo-way bindable model that can be programmatically controlled or updated by user dismissal.</p>\n",
                    "line": 199,
                    "rawdescription": "\n\nControls the visibility state of the alert.\nTwo-way bindable model that can be programmatically controlled or updated by user dismissal.\n",
                    "jsdoctags": [
                        {
                            "pos": 6608,
                            "end": 6627,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6609,
                                "end": 6616,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "required": false
                }
            ],
            "outputsClass": [
                {
                    "name": "closeAlert",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Emitted when the alert is closed via the close button.\nPayload: boolean - always emits false to indicate alert is hidden\nTriggered when user clicks the close button (when isCloseable is true).</p>\n",
                    "line": 206,
                    "rawdescription": "\n\nEmitted when the alert is closed via the close button.\nPayload: boolean - always emits false to indicate alert is hidden\nTriggered when user clicks the close button (when isCloseable is true).\n",
                    "required": false
                },
                {
                    "name": "isVisible",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Controls the visibility state of the alert.\nTwo-way bindable model that can be programmatically controlled or updated by user dismissal.</p>\n",
                    "line": 199,
                    "rawdescription": "\n\nControls the visibility state of the alert.\nTwo-way bindable model that can be programmatically controlled or updated by user dismissal.\n",
                    "jsdoctags": [
                        {
                            "pos": 6608,
                            "end": 6627,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6609,
                                "end": 6616,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "required": false
                }
            ],
            "propertiesClass": [
                {
                    "name": "alertTitle",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiAlertTitleComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Content for the alert title given by <code>&lt;eui-alert-title&gt;</code>.</p>\n",
                    "line": 211,
                    "rawdescription": "\n\nContent for the alert title given by `<eui-alert-title>`.\n",
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined, {static: false}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 114
                },
                {
                    "name": "role",
                    "defaultValue": "'alert'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Sets the <code>role</code> attribute for the host element.</p>\n",
                    "line": 140,
                    "rawdescription": "\n\nSets the `role` attribute for the host element.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 4812,
                            "end": 4834,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4813,
                                "end": 4820,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;alert&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 225,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nInitializes the component.\nGenerates a unique ID for the alert on component initialization.\n",
                    "description": "<p>Initializes the component.\nGenerates a unique ID for the alert on component initialization.</p>\n"
                },
                {
                    "name": "onCloseClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 234,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHide the alert and emits the `closeAlert` event when the close button is clicked.\n",
                    "description": "<p>Hide the alert and emits the <code>closeAlert</code> event when the close button is clicked.</p>\n"
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.aria-describedby",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4973,
                            "end": 5016,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4974,
                                "end": 4981,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p><code>alertContent-${uniqueId}</code></p>\n"
                        },
                        {
                            "pos": 5016,
                            "end": 5079,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5017,
                                "end": 5024,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>The ID of the element associated with the alert.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `aria-describedby` attribute for the host element.\n\n",
                    "description": "<p>Sets the <code>aria-describedby</code> attribute for the host element.</p>\n",
                    "line": 149,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "attr.data-e2e",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5595,
                            "end": 5621,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5596,
                                "end": 5603,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-alert&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `data-e2e` attribute for the host element. It is used for end-to-end testing.\n\n",
                    "description": "<p>Sets the <code>data-e2e</code> attribute for the host element. It is used for end-to-end testing.</p>\n",
                    "line": 169,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "attr.role",
                    "defaultValue": "'alert'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4812,
                            "end": 4834,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4813,
                                "end": 4820,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;alert&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `role` attribute for the host element.\n\n",
                    "description": "<p>Sets the <code>role</code> attribute for the host element.</p>\n",
                    "line": 140,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "attr.tabindex",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5296,
                            "end": 5358,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5297,
                                "end": 5304,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>&#39;0&#39; if defined as focusable else &#39;1&#39; as string.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `tabindex` attribute for the host element.\n\n",
                    "description": "<p>Sets the <code>tabindex</code> attribute for the host element.</p>\n",
                    "line": 159,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4102,
                            "end": 4219,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4103,
                                "end": 4114,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                        },
                        {
                            "pos": 4219,
                            "end": 4284,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4220,
                                "end": 4227,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 4228,
                                "end": 4236,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 4229,
                                    "end": 4235,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                    "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                    "line": 123,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "EUI_ICON_BUTTON"
                },
                {
                    "name": "EUI_ICON_STATE"
                }
            ],
            "description": "<p>Alert component for displaying short, important messages that attract user attention without interrupting tasks.\nProvides semantic variants (success, info, warning, danger) with corresponding visual styling and icons.\nSupports optional title section, close button, and keyboard focus for accessibility.\nVisibility can be controlled programmatically or by user dismissal via close button.\nIncludes ARIA attributes for screen reader support and unique ID generation for content association.</p>\n<ul>\n<li><p>Supports four semantic variants: success, info, warning, and danger (via BaseStatesDirective)</p>\n</li>\n<li><p>Optional title section via <code>&lt;eui-alert-title&gt;</code> content projection</p>\n</li>\n<li><p>Main content area for alert message (projected via ng-content)</p>\n</li>\n<li><p>Optional close button when <code>isCloseable</code> is true</p>\n</li>\n<li><p>Icon state indicator matching the alert variant</p>\n</li>\n<li><p>Closeable: Can be dismissed by user via close button</p>\n</li>\n<li><p>Focusable: Can receive keyboard focus for accessibility</p>\n</li>\n<li><p>Visibility control: Can be shown/hidden via <code>isVisible</code> model</p>\n</li>\n<li><p>Accessibility: Includes ARIA attributes (role=&quot;alert&quot;, aria-describedby)</p>\n</li>\n<li><p>Unique ID generation for content association</p>\n</li>\n</ul>\n<h4>Basic alert (defaults to info variant)</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-alert&gt;\n  Important message for the user\n&lt;/eui-alert&gt;</code></pre></div><h4>Alert with title and variant</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-alert euiSuccess&gt;\n  &lt;eui-alert-title&gt;Success&lt;/eui-alert-title&gt;\n  Your changes have been saved successfully.\n&lt;/eui-alert&gt;</code></pre></div><h4>Closeable alert with visibility control</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-alert euiWarning [isCloseable]=&quot;true&quot; [(isVisible)]=&quot;showAlert&quot; (closeAlert)=&quot;onClose()&quot;&gt;\n  This is a dismissible warning message.\n&lt;/eui-alert&gt;</code></pre></div><h4>Focusable alert for keyboard navigation</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-alert euiDanger [isFocusable]=&quot;true&quot;&gt;\n  Critical error that requires attention.\n&lt;/eui-alert&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses role=&quot;alert&quot; for immediate screen reader announcement of important messages</li>\n<li>aria-describedby links alert to its content for proper association</li>\n<li>Keyboard focusable when isFocusable is true (tabindex=&quot;0&quot;)</li>\n<li>Close button is keyboard accessible with Enter/Space keys</li>\n<li>Semantic variants provide visual and contextual meaning for all users</li>\n<li>Icon state indicators supplement color for users with color vision deficiencies</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Defaults to info variant if no variant is specified</li>\n<li>isVisible is a two-way bindable model for programmatic control</li>\n<li>closeAlert event emits false when alert is dismissed</li>\n<li>Alert remains in DOM when hidden (display: none), use *ngIf for removal</li>\n<li>Use sparingly to avoid alert fatigue - reserve for truly important messages</li>\n<li>Consider toast notifications for less critical, temporary messages</li>\n</ul>\n",
            "rawdescription": "\n\nAlert component for displaying short, important messages that attract user attention without interrupting tasks.\nProvides semantic variants (success, info, warning, danger) with corresponding visual styling and icons.\nSupports optional title section, close button, and keyboard focus for accessibility.\nVisibility can be controlled programmatically or by user dismissal via close button.\nIncludes ARIA attributes for screen reader support and unique ID generation for content association.\n\n- Supports four semantic variants: success, info, warning, and danger (via BaseStatesDirective)\n- Optional title section via `<eui-alert-title>` content projection\n- Main content area for alert message (projected via ng-content)\n- Optional close button when `isCloseable` is true\n- Icon state indicator matching the alert variant\n\n- Closeable: Can be dismissed by user via close button\n- Focusable: Can receive keyboard focus for accessibility\n- Visibility control: Can be shown/hidden via `isVisible` model\n- Accessibility: Includes ARIA attributes (role=\"alert\", aria-describedby)\n- Unique ID generation for content association\n\n#### Basic alert (defaults to info variant)\n```html\n<eui-alert>\n  Important message for the user\n</eui-alert>\n```\n\n#### Alert with title and variant\n```html\n<eui-alert euiSuccess>\n  <eui-alert-title>Success</eui-alert-title>\n  Your changes have been saved successfully.\n</eui-alert>\n```\n\n#### Closeable alert with visibility control\n```html\n<eui-alert euiWarning [isCloseable]=\"true\" [(isVisible)]=\"showAlert\" (closeAlert)=\"onClose()\">\n  This is a dismissible warning message.\n</eui-alert>\n```\n\n#### Focusable alert for keyboard navigation\n```html\n<eui-alert euiDanger [isFocusable]=\"true\">\n  Critical error that requires attention.\n</eui-alert>\n```\n\n### Accessibility\n- Uses role=\"alert\" for immediate screen reader announcement of important messages\n- aria-describedby links alert to its content for proper association\n- Keyboard focusable when isFocusable is true (tabindex=\"0\")\n- Close button is keyboard accessible with Enter/Space keys\n- Semantic variants provide visual and contextual meaning for all users\n- Icon state indicators supplement color for users with color vision deficiencies\n\n### Notes\n- Defaults to info variant if no variant is specified\n- isVisible is a two-way bindable model for programmatic control\n- closeAlert event emits false when alert is dismissed\n- Alert remains in DOM when hidden (display: none), use *ngIf for removal\n- Use sparingly to avoid alert fatigue - reserve for truly important messages\n- Consider toast notifications for less critical, temporary messages\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ChangeDetectionStrategy,\n    ContentChild,\n    forwardRef,\n    QueryList,\n    input,\n    output,\n    booleanAttribute,\n    inject,\n    model,\n    OnInit,\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\nimport { EUI_ICON_STATE } from '@eui/components/eui-icon-state';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiAlertTitleComponent } from './eui-alert-title.component';\n\n/**\n * @description\n * Alert component for displaying short, important messages that attract user attention without interrupting tasks.\n * Provides semantic variants (success, info, warning, danger) with corresponding visual styling and icons.\n * Supports optional title section, close button, and keyboard focus for accessibility.\n * Visibility can be controlled programmatically or by user dismissal via close button.\n * Includes ARIA attributes for screen reader support and unique ID generation for content association.\n *\n * @structure\n * - Supports four semantic variants: success, info, warning, and danger (via BaseStatesDirective)\n * - Optional title section via `<eui-alert-title>` content projection\n * - Main content area for alert message (projected via ng-content)\n * - Optional close button when `isCloseable` is true\n * - Icon state indicator matching the alert variant\n *\n * @features\n * - Closeable: Can be dismissed by user via close button\n * - Focusable: Can receive keyboard focus for accessibility\n * - Visibility control: Can be shown/hidden via `isVisible` model\n * - Accessibility: Includes ARIA attributes (role=\"alert\", aria-describedby)\n * - Unique ID generation for content association\n *\n * @usageNotes\n * #### Basic alert (defaults to info variant)\n * ```html\n * <eui-alert>\n *   Important message for the user\n * </eui-alert>\n * ```\n *\n * #### Alert with title and variant\n * ```html\n * <eui-alert euiSuccess>\n *   <eui-alert-title>Success</eui-alert-title>\n *   Your changes have been saved successfully.\n * </eui-alert>\n * ```\n *\n * #### Closeable alert with visibility control\n * ```html\n * <eui-alert euiWarning [isCloseable]=\"true\" [(isVisible)]=\"showAlert\" (closeAlert)=\"onClose()\">\n *   This is a dismissible warning message.\n * </eui-alert>\n * ```\n *\n * #### Focusable alert for keyboard navigation\n * ```html\n * <eui-alert euiDanger [isFocusable]=\"true\">\n *   Critical error that requires attention.\n * </eui-alert>\n * ```\n *\n * ### Accessibility\n * - Uses role=\"alert\" for immediate screen reader announcement of important messages\n * - aria-describedby links alert to its content for proper association\n * - Keyboard focusable when isFocusable is true (tabindex=\"0\")\n * - Close button is keyboard accessible with Enter/Space keys\n * - Semantic variants provide visual and contextual meaning for all users\n * - Icon state indicators supplement color for users with color vision deficiencies\n *\n * ### Notes\n * - Defaults to info variant if no variant is specified\n * - isVisible is a two-way bindable model for programmatic control\n * - closeAlert event emits false when alert is dismissed\n * - Alert remains in DOM when hidden (display: none), use *ngIf for removal\n * - Use sparingly to avoid alert fatigue - reserve for truly important messages\n * - Consider toast notifications for less critical, temporary messages\n */\n@Component({\n    templateUrl: './eui-alert.component.html',\n    selector: 'div[euiAlert], eui-alert',\n    styleUrl: './eui-alert.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        NgTemplateOutlet,\n        ...EUI_ICON_BUTTON,\n        ...EUI_ICON_STATE,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSuccess',\n                'euiInfo',\n                'euiWarning',\n                'euiDanger',\n                'euiVariant',\n            ],\n        },\n    ],\n})\nexport class EuiAlertComponent implements OnInit {\n    baseStatesDirective = inject(BaseStatesDirective);\n\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    public get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-alert'),\n            this.isFocusable() ? 'eui-alert--focusable' : '',\n            this.isCloseable() ? 'eui-alert--closeable' : '',\n            !this.isVisible() ? 'eui-alert--hidden' : '',\n            this.alertTitle ? 'eui-alert--with-title': '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * Sets the `role` attribute for the host element.\n     *\n     * @default 'alert'\n     */\n    @HostBinding('attr.role') role = 'alert';\n\n    /**\n     * Sets the `aria-describedby` attribute for the host element.\n     *\n     * @default `alertContent-${uniqueId}`\n     * @returns The ID of the element associated with the alert.\n     */\n    @HostBinding('attr.aria-describedby')\n    get ariaDescribedBy(): string {\n        return `alertContent-${this.uniqueId}`;\n    }\n\n    /**\n     * Sets the `tabindex` attribute for the host element.\n     *\n     * @returns '0' if defined as focusable else '1' as string.\n     */\n    @HostBinding('attr.tabindex')\n    get tabindex(): string {\n        return this.isFocusable() ? '0' : '-1';\n    }\n\n    /**\n     * Sets the `data-e2e` attribute for the host element. It is used for end-to-end testing.\n     *\n     * @default 'eui-alert'\n     */\n    @HostBinding('attr.data-e2e')\n    get e2eAttribute(): string {\n        return this.e2eAttr();\n    }\n\n    /**\n     * Data attribute value for end-to-end testing identification.\n     * Applied as data-e2e attribute on the host element.\n     * @default 'eui-alert'\n     */\n    e2eAttr = input('eui-alert');\n\n    /**\n     * Enables a close button allowing users to dismiss the alert.\n     * When true, displays a close icon button that hides the alert and emits closeAlert event.\n     * @default false\n     */\n    isCloseable = input(false, { transform: booleanAttribute });\n\n    /**\n     * Makes the alert focusable via keyboard navigation.\n     * When true, sets tabindex to 0 enabling keyboard focus for accessibility.\n     * @default false\n     */\n    isFocusable = input(false, { transform: booleanAttribute });\n\n    /**\n     * Controls the visibility state of the alert.\n     * Two-way bindable model that can be programmatically controlled or updated by user dismissal.\n     * @default true\n     */\n    isVisible = model(true);\n\n    /**\n     * Emitted when the alert is closed via the close button.\n     * Payload: boolean - always emits false to indicate alert is hidden\n     * Triggered when user clicks the close button (when isCloseable is true).\n     */\n    closeAlert = output<boolean>();\n\n    /**\n     * Content for the alert title given by `<eui-alert-title>`.\n     */\n    @ContentChild(forwardRef(() => EuiAlertTitleComponent), { static: false }) alertTitle: QueryList<EuiAlertTitleComponent>;\n\n    /**\n     * @description\n     * Unique identifier for the alert component.\n     * This ID is used to associate the alert with its content for accessibility purposes.\n     * It is generated using the `crypto` API to ensure uniqueness.\n     */\n    private uniqueId = crypto.randomUUID();\n\n    /**\n     * Initializes the component.\n     * Generates a unique ID for the alert on component initialization.\n     */\n    ngOnInit(): void {\n        if (!this.baseStatesDirective.euiVariant) {\n            this.baseStatesDirective.euiInfo = true;\n        }\n    }\n\n    /**\n     * Hide the alert and emits the `closeAlert` event when the close button is clicked.\n     */\n    onCloseClick(): void {\n        this.isVisible.set(false);\n        this.closeAlert.emit(false);\n    }\n}\n",
            "styleUrl": "./eui-alert.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 123,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                        "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 4102,
                                "end": 4219,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 4103,
                                    "end": 4114,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                            },
                            {
                                "pos": 4219,
                                "end": 4284,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 4220,
                                    "end": 4227,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 4228,
                                    "end": 4236,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 4229,
                                        "end": 4235,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                },
                "ariaDescribedBy": {
                    "name": "ariaDescribedBy",
                    "getSignature": {
                        "name": "ariaDescribedBy",
                        "type": "string",
                        "returnType": "string",
                        "line": 149,
                        "rawdescription": "\n\nSets the `aria-describedby` attribute for the host element.\n\n",
                        "description": "<p>Sets the <code>aria-describedby</code> attribute for the host element.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 4973,
                                "end": 5016,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 4974,
                                    "end": 4981,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "default"
                                },
                                "comment": "<p><code>alertContent-${uniqueId}</code></p>\n"
                            },
                            {
                                "pos": 5016,
                                "end": 5079,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 5017,
                                    "end": 5024,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>The ID of the element associated with the alert.</p>\n"
                            }
                        ]
                    }
                },
                "tabindex": {
                    "name": "tabindex",
                    "getSignature": {
                        "name": "tabindex",
                        "type": "string",
                        "returnType": "string",
                        "line": 159,
                        "rawdescription": "\n\nSets the `tabindex` attribute for the host element.\n\n",
                        "description": "<p>Sets the <code>tabindex</code> attribute for the host element.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 5296,
                                "end": 5358,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 5297,
                                    "end": 5304,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>&#39;0&#39; if defined as focusable else &#39;1&#39; as string.</p>\n"
                            }
                        ]
                    }
                },
                "e2eAttribute": {
                    "name": "e2eAttribute",
                    "getSignature": {
                        "name": "e2eAttribute",
                        "type": "string",
                        "returnType": "string",
                        "line": 169,
                        "rawdescription": "\n\nSets the `data-e2e` attribute for the host element. It is used for end-to-end testing.\n\n",
                        "description": "<p>Sets the <code>data-e2e</code> attribute for the host element. It is used for end-to-end testing.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 5595,
                                "end": 5621,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 5596,
                                    "end": 5603,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "default"
                                },
                                "comment": "<p>&#39;eui-alert&#39;</p>\n"
                            }
                        ]
                    }
                }
            },
            "templateData": "@if (alertTitle) {\n    <div class=\"eui-alert-container\">\n        <div class=\"eui-alert-title-wrapper\">\n            <ng-content *ngTemplateOutlet=\"icon\"/>\n            <ng-content select=\"eui-alert-title\"/>\n        </div>\n        <ng-content *ngTemplateOutlet=\"body\"/>\n    </div>\n} @else {\n    <ng-content *ngTemplateOutlet=\"icon\"/>\n    <ng-content *ngTemplateOutlet=\"body\"/>\n}\n\n<ng-template #icon>\n    <eui-icon-state class=\"eui-alert-icon\" \n        [euiInfo]=\"baseStatesDirective.euiInfo\"\n        [euiWarning]=\"baseStatesDirective.euiWarning\"\n        [euiDanger]=\"baseStatesDirective.euiDanger\"\n        [euiSuccess]=\"baseStatesDirective.euiSuccess\"/>\n</ng-template>\n\n<ng-template #body>\n    <div class=\"eui-alert-content\" [id]=\"ariaDescribedBy\">\n        <ng-content/>\n    </div>\n</ng-template>\n\n@if (isCloseable()) {\n    <eui-icon-button class=\"eui-alert-close\"\n        icon=\"eui-close\"\n        euiRounded\n        (buttonClick)=\"onCloseClick()\"\n        fillColor=\"secondary\"\n        ariaLabel=\"Close alert icon\"\n        [euiInfo]=\"baseStatesDirective.euiInfo\"\n        [euiWarning]=\"baseStatesDirective.euiWarning\"\n        [euiDanger]=\"baseStatesDirective.euiDanger\"\n        [euiSuccess]=\"baseStatesDirective.euiSuccess\"/>\n}\n"
        },
        {
            "name": "EuiAlertTitleComponent",
            "id": "component-EuiAlertTitleComponent-8ecf1f408f5fa3b199c1efa2a943aadd32bf773f5f4bb81adf1546216da5bc4fe0b32ecd1f2c22736c42d69b8022c4951712982879a12d3d3e2194fb5a68e49b",
            "file": "packages/components/eui-alert/eui-alert-title.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-alert-title",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "class",
                    "defaultValue": "'eui-alert-title'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Computes and returns the CSS classes for the label title component based on its current state.</p>\n",
                    "line": 53,
                    "rawdescription": "\n\nComputes and returns the CSS classes for the label title component based on its current state.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1686,
                            "end": 1815,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1687,
                                "end": 1698,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the label title component based on its current state.</p>\n"
                        },
                        {
                            "pos": 1815,
                            "end": 1849,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1816,
                                "end": 1823,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-alert-title&#39;</p>\n"
                        },
                        {
                            "pos": 1849,
                            "end": 1914,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1850,
                                "end": 1857,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 1858,
                                "end": 1866,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 1859,
                                    "end": 1865,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-alert-title'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1686,
                            "end": 1815,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1687,
                                "end": 1698,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the label title component based on its current state.</p>\n"
                        },
                        {
                            "pos": 1815,
                            "end": 1849,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1816,
                                "end": 1823,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-alert-title&#39;</p>\n"
                        },
                        {
                            "pos": 1849,
                            "end": 1914,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1850,
                                "end": 1857,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 1858,
                                "end": 1866,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 1859,
                                    "end": 1865,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the label title component based on its current state.\n\n",
                    "description": "<p>Computes and returns the CSS classes for the label title component based on its current state.</p>\n",
                    "line": 53,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Title subcomponent for eui-alert that displays a prominent heading above the alert message.\nProvides semantic structure and visual hierarchy within alert messages.\nContent is projected via ng-content, allowing text or inline elements as title content.\nAutomatically styled to match the parent alert&#39;s variant and visual design.\nMust be used as a direct child of eui-alert component for proper styling and structure.</p>\n<h4>Alert with title</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-alert euiSuccess&gt;\n  &lt;eui-alert-title&gt;Success&lt;/eui-alert-title&gt;\n  Your operation completed successfully.\n&lt;/eui-alert&gt;</code></pre></div><h4>Alert with title and multiple variants</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-alert euiWarning&gt;\n  &lt;eui-alert-title&gt;Warning&lt;/eui-alert-title&gt;\n  Please review the following issues before proceeding.\n&lt;/eui-alert&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Provides semantic structure that helps screen readers distinguish title from content</li>\n<li>Title is announced first, giving context before the main message</li>\n<li>Visual hierarchy aids users with cognitive disabilities in understanding message importance</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-alert component</li>\n<li>Should be placed before the main alert content</li>\n<li>Only one title per alert is recommended for clarity</li>\n<li>Title styling automatically inherits from parent alert variant</li>\n<li>Keep titles concise - typically 1-3 words for quick comprehension</li>\n</ul>\n",
            "rawdescription": "\n\nTitle subcomponent for eui-alert that displays a prominent heading above the alert message.\nProvides semantic structure and visual hierarchy within alert messages.\nContent is projected via ng-content, allowing text or inline elements as title content.\nAutomatically styled to match the parent alert's variant and visual design.\nMust be used as a direct child of eui-alert component for proper styling and structure.\n\n#### Alert with title\n```html\n<eui-alert euiSuccess>\n  <eui-alert-title>Success</eui-alert-title>\n  Your operation completed successfully.\n</eui-alert>\n```\n\n#### Alert with title and multiple variants\n```html\n<eui-alert euiWarning>\n  <eui-alert-title>Warning</eui-alert-title>\n  Please review the following issues before proceeding.\n</eui-alert>\n```\n\n### Accessibility\n- Provides semantic structure that helps screen readers distinguish title from content\n- Title is announced first, giving context before the main message\n- Visual hierarchy aids users with cognitive disabilities in understanding message importance\n\n### Notes\n- Must be used within eui-alert component\n- Should be placed before the main alert content\n- Only one title per alert is recommended for clarity\n- Title styling automatically inherits from parent alert variant\n- Keep titles concise - typically 1-3 words for quick comprehension\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Title subcomponent for eui-alert that displays a prominent heading above the alert message.\n * Provides semantic structure and visual hierarchy within alert messages.\n * Content is projected via ng-content, allowing text or inline elements as title content.\n * Automatically styled to match the parent alert's variant and visual design.\n * Must be used as a direct child of eui-alert component for proper styling and structure.\n *\n * @usageNotes\n * #### Alert with title\n * ```html\n * <eui-alert euiSuccess>\n *   <eui-alert-title>Success</eui-alert-title>\n *   Your operation completed successfully.\n * </eui-alert>\n * ```\n *\n * #### Alert with title and multiple variants\n * ```html\n * <eui-alert euiWarning>\n *   <eui-alert-title>Warning</eui-alert-title>\n *   Please review the following issues before proceeding.\n * </eui-alert>\n * ```\n *\n * ### Accessibility\n * - Provides semantic structure that helps screen readers distinguish title from content\n * - Title is announced first, giving context before the main message\n * - Visual hierarchy aids users with cognitive disabilities in understanding message importance\n *\n * ### Notes\n * - Must be used within eui-alert component\n * - Should be placed before the main alert content\n * - Only one title per alert is recommended for clarity\n * - Title styling automatically inherits from parent alert variant\n * - Keep titles concise - typically 1-3 words for quick comprehension\n */\n@Component({\n    selector: 'eui-alert-title',\n    template: '<ng-content />',\n    styleUrl: 'eui-alert-title.scss',\n})\nexport class EuiAlertTitleComponent {\n    /**\n     * @description\n     * Computes and returns the CSS classes for the label title component based on its current state.\n     *\n     * @default 'eui-alert-title'\n     * @returns {string} Space-separated string of CSS class names\n     */\n    @HostBinding('class') class = 'eui-alert-title';\n}\n",
            "styleUrl": "eui-alert-title.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiApexChartComponent",
            "id": "component-EuiApexChartComponent-8cb8e3976be772231926bd66ce0280feb473ae2d470b8dca7a038752e6aa11317df5078fc12a66202940d3b325cdd8fc84ed097872b766958919080689648cf0",
            "file": "packages/components/externals/charts/chart/chart.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-apex-chart",
            "styleUrls": [],
            "styles": [],
            "template": "<div #chart></div>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "annotations",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexAnnotations",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 54,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                },
                {
                    "name": "autoUpdateSeries",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 76,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                },
                {
                    "name": "chart",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexChart",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 53,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                },
                {
                    "name": "colors",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 55,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                },
                {
                    "name": "dataLabels",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexDataLabels",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 56,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                },
                {
                    "name": "fill",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexFill",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 63,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                },
                {
                    "name": "forecastDataPoints",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexForecastDataPoints",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 69,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                },
                {
                    "name": "grid",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexGrid",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 70,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                },
                {
                    "name": "labels",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 59,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                },
                {
                    "name": "legend",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexLegend",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 60,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                },
                {
                    "name": "markers",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexMarkers",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 61,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                },
                {
                    "name": "noData",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexNoData",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 62,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                },
                {
                    "name": "plotOptions",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexPlotOptions",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 65,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                },
                {
                    "name": "responsive",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexResponsive[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 66,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                },
                {
                    "name": "series",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexAxisChartSeries | ApexNonAxisChartSeries",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 57,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                },
                {
                    "name": "states",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexStates",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 71,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                },
                {
                    "name": "stroke",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexStroke",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 58,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                },
                {
                    "name": "subtitle",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexTitleSubtitle",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 73,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                },
                {
                    "name": "theme",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexTheme",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 74,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                },
                {
                    "name": "title",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexTitleSubtitle",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 72,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                },
                {
                    "name": "tooltip",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexTooltip",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 64,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                },
                {
                    "name": "xaxis",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexXAxis",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 67,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                },
                {
                    "name": "yaxis",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ApexYAxis | ApexYAxis[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 68,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                }
            ],
            "outputsClass": [
                {
                    "name": "chartReady",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "{ chartObj: ApexCharts }",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 78,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                }
            ],
            "propertiesClass": [
                {
                    "name": "chartInstance",
                    "defaultValue": "signal<ApexCharts | null>(null)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 84,
                    "modifierKind": [
                        148
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "addPointAnnotation",
                    "args": [
                        {
                            "name": "options",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "pushToMemory",
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "context",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 298,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "pushToMemory",
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "context",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "addXaxisAnnotation",
                    "args": [
                        {
                            "name": "options",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "pushToMemory",
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "context",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 278,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "pushToMemory",
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "context",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "addYaxisAnnotation",
                    "args": [
                        {
                            "name": "options",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "pushToMemory",
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "context",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 288,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "pushToMemory",
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "context",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "appendData",
                    "args": [
                        {
                            "name": "newData",
                            "type": "any[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 209,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "newData",
                            "type": "any[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "appendSeries",
                    "args": [
                        {
                            "name": "newSeries",
                            "type": "ApexAxisChartSeries | ApexNonAxisChartSeries",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "animate",
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 200,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "newSeries",
                            "type": "ApexAxisChartSeries | ApexNonAxisChartSeries",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "animate",
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "clearAnnotations",
                    "args": [
                        {
                            "name": "options",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 314,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "dataURI",
                    "args": [
                        {
                            "name": "options",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "any",
                    "typeParameters": [],
                    "line": 320,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "destroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 259,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "hideSeries",
                    "args": [
                        {
                            "name": "seriesName",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 233,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "seriesName",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "highlightSeries",
                    "args": [
                        {
                            "name": "seriesName",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "any",
                    "typeParameters": [],
                    "line": 215,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "seriesName",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 92,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 100,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "paper",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 274,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "removeAnnotation",
                    "args": [
                        {
                            "name": "id",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "options",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 308,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "id",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "options",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "render",
                    "args": [],
                    "optional": false,
                    "returnType": "any",
                    "typeParameters": [],
                    "line": 167,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "resetSeries",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 239,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "setLocale",
                    "args": [
                        {
                            "name": "localeName",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 268,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "localeName",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "showSeries",
                    "args": [
                        {
                            "name": "seriesName",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 227,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "seriesName",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "toggleDataPointSelection",
                    "args": [
                        {
                            "name": "seriesIndex",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "dataPointIndex",
                            "type": "number",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 247,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "seriesIndex",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "dataPointIndex",
                            "type": "number",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "toggleSeries",
                    "args": [
                        {
                            "name": "seriesName",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "any",
                    "typeParameters": [],
                    "line": 221,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "seriesName",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "updateOptions",
                    "args": [
                        {
                            "name": "options",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "redrawPaths",
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "animate",
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "updateSyncedCharts",
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "any",
                    "typeParameters": [],
                    "line": 175,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "redrawPaths",
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "animate",
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "updateSyncedCharts",
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "updateSeries",
                    "args": [
                        {
                            "name": "newSeries",
                            "type": "ApexAxisChartSeries | ApexNonAxisChartSeries",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "animate",
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "any",
                    "typeParameters": [],
                    "line": 191,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "newSeries",
                            "type": "ApexAxisChartSeries | ApexNonAxisChartSeries",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "animate",
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "zoomX",
                    "args": [
                        {
                            "name": "min",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "max",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 243,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "min",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "max",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { isPlatformBrowser } from \"@angular/common\";\nimport {\n  Component,\n  ElementRef,\n  inject,\n  input,\n  NgZone,\n  OnChanges,\n  OnDestroy,\n  output,\n  PLATFORM_ID,\n  signal,\n  SimpleChanges,\n  viewChild,\n} from \"@angular/core\";\nimport { asapScheduler } from \"rxjs\";\nimport {\n  ApexAnnotations,\n  ApexAxisChartSeries,\n  ApexChart,\n  ApexDataLabels,\n  ApexFill,\n  ApexForecastDataPoints,\n  ApexGrid,\n  ApexLegend,\n  ApexMarkers,\n  ApexNoData,\n  ApexNonAxisChartSeries,\n  ApexPlotOptions,\n  ApexResponsive,\n  ApexStates,\n  ApexStroke,\n  ApexTheme,\n  ApexTitleSubtitle,\n  ApexTooltip,\n  ApexXAxis,\n  ApexYAxis,\n} from \"../model/apex-types\";\n\ntype ApexCharts = import(\"apexcharts\");\n\ndeclare global {\n  interface Window {\n    ApexCharts: any;\n  }\n}\n\n@Component({\n  selector: \"eui-apex-chart\",\n  template: `<div #chart></div>`,\n})\nexport class EuiApexChartComponent implements OnChanges, OnDestroy {\n  readonly chart = input<ApexChart>();\n  readonly annotations = input<ApexAnnotations>();\n  readonly colors = input<any[]>();\n  readonly dataLabels = input<ApexDataLabels>();\n  readonly series = input<ApexAxisChartSeries | ApexNonAxisChartSeries>();\n  readonly stroke = input<ApexStroke>();\n  readonly labels = input<string[]>();\n  readonly legend = input<ApexLegend>();\n  readonly markers = input<ApexMarkers>();\n  readonly noData = input<ApexNoData>();\n  readonly fill = input<ApexFill>();\n  readonly tooltip = input<ApexTooltip>();\n  readonly plotOptions = input<ApexPlotOptions>();\n  readonly responsive = input<ApexResponsive[]>();\n  readonly xaxis = input<ApexXAxis>();\n  readonly yaxis = input<ApexYAxis | ApexYAxis[]>();\n  readonly forecastDataPoints = input<ApexForecastDataPoints>();\n  readonly grid = input<ApexGrid>();\n  readonly states = input<ApexStates>();\n  readonly title = input<ApexTitleSubtitle>();\n  readonly subtitle = input<ApexTitleSubtitle>();\n  readonly theme = input<ApexTheme>();\n\n  readonly autoUpdateSeries = input(true);\n\n  readonly chartReady = output<{ chartObj: ApexCharts }>();\n\n  // If consumers need to capture the `chartInstance` for use, consumers\n  // can access the component instance through `viewChild` and use `computed`\n  // or `effect` on `component.chartInstance()` to monitor its changes and\n  // recompute effects or computations whenever `chartInstance` is updated.\n  readonly chartInstance = signal<ApexCharts | null>(null);\n\n  private readonly chartElement =\n    viewChild.required<ElementRef<HTMLElement>>(\"chart\");\n\n  private ngZone = inject(NgZone);\n  private isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (!this.isBrowser) return;\n\n    this.ngZone.runOutsideAngular(() => {\n      asapScheduler.schedule(() => this.hydrate(changes));\n    });\n  }\n\n  ngOnDestroy() {\n    this.destroy();\n  }\n\n  private hydrate(changes: SimpleChanges): void {\n    const shouldUpdateSeries =\n      this.autoUpdateSeries() &&\n      Object.keys(changes).filter((c) => c !== \"series\").length === 0;\n\n    if (shouldUpdateSeries) {\n      this.updateSeries(this.series(), true);\n      return;\n    }\n\n    this.createElement();\n  }\n\n  private async createElement() {\n    const { default: ApexCharts } = await import(\"apexcharts\");\n    window.ApexCharts ||= ApexCharts;\n\n    const options: any = {};\n\n    const properties = [\n      \"annotations\",\n      \"chart\",\n      \"colors\",\n      \"dataLabels\",\n      \"series\",\n      \"stroke\",\n      \"labels\",\n      \"legend\",\n      \"fill\",\n      \"tooltip\",\n      \"plotOptions\",\n      \"responsive\",\n      \"markers\",\n      \"noData\",\n      \"xaxis\",\n      \"yaxis\",\n      \"forecastDataPoints\",\n      \"grid\",\n      \"states\",\n      \"title\",\n      \"subtitle\",\n      \"theme\",\n    ] as const;\n\n    properties.forEach((property) => {\n      const value = this[property]();\n      if (value) {\n        options[property] = value;\n      }\n    });\n\n    this.destroy();\n\n    const chartInstance = this.ngZone.runOutsideAngular(\n      () => new ApexCharts(this.chartElement().nativeElement, options)\n    );\n\n    this.chartInstance.set(chartInstance);\n\n    this.render();\n    this.chartReady.emit({ chartObj: chartInstance });\n  }\n\n  public render() {\n    return this.ngZone.runOutsideAngular(() => {\n        if (this.chartInstance) {\n            this.chartInstance().render()\n        }\n    });\n  }\n\n  public updateOptions(\n    options: any,\n    redrawPaths?: boolean,\n    animate?: boolean,\n    updateSyncedCharts?: boolean\n  ) {\n    return this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.updateOptions(\n        options,\n        redrawPaths,\n        animate,\n        updateSyncedCharts\n      )\n    );\n  }\n\n  public updateSeries(\n    newSeries: ApexAxisChartSeries | ApexNonAxisChartSeries,\n    animate?: boolean\n  ) {\n    return this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.updateSeries(newSeries, animate)\n    );\n  }\n\n  public appendSeries(\n    newSeries: ApexAxisChartSeries | ApexNonAxisChartSeries,\n    animate?: boolean\n  ) {\n    this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.appendSeries(newSeries, animate)\n    );\n  }\n\n  public appendData(newData: any[]) {\n    this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.appendData(newData)\n    );\n  }\n\n  public highlightSeries(seriesName: string): any {\n    return this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.highlightSeries(seriesName)\n    );\n  }\n\n  public toggleSeries(seriesName: string): any {\n    return this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.toggleSeries(seriesName)\n    );\n  }\n\n  public showSeries(seriesName: string) {\n    this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.showSeries(seriesName)\n    );\n  }\n\n  public hideSeries(seriesName: string) {\n    this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.hideSeries(seriesName)\n    );\n  }\n\n  public resetSeries() {\n    this.ngZone.runOutsideAngular(() => this.chartInstance()?.resetSeries());\n  }\n\n  public zoomX(min: number, max: number) {\n    this.ngZone.runOutsideAngular(() => this.chartInstance()?.zoomX(min, max));\n  }\n\n  public toggleDataPointSelection(\n    seriesIndex: number,\n    dataPointIndex?: number\n  ) {\n    this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.toggleDataPointSelection(\n        seriesIndex,\n        dataPointIndex\n      )\n    );\n  }\n\n  public destroy() {\n    try {\n        this.chartInstance()?.destroy();\n        this.chartInstance.set(null);\n    } catch(e){\n        console.log(e)\n    }\n  }\n\n  public setLocale(localeName: string) {\n    this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.setLocale(localeName)\n    );\n  }\n\n  public paper() {\n    this.ngZone.runOutsideAngular(() => this.chartInstance()?.paper());\n  }\n\n  public addXaxisAnnotation(\n    options: any,\n    pushToMemory?: boolean,\n    context?: any\n  ) {\n    this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.addXaxisAnnotation(options, pushToMemory, context)\n    );\n  }\n\n  public addYaxisAnnotation(\n    options: any,\n    pushToMemory?: boolean,\n    context?: any\n  ) {\n    this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.addYaxisAnnotation(options, pushToMemory, context)\n    );\n  }\n\n  public addPointAnnotation(\n    options: any,\n    pushToMemory?: boolean,\n    context?: any\n  ) {\n    this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.addPointAnnotation(options, pushToMemory, context)\n    );\n  }\n\n  public removeAnnotation(id: string, options?: any) {\n    this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.removeAnnotation(id, options)\n    );\n  }\n\n  public clearAnnotations(options?: any) {\n    this.ngZone.runOutsideAngular(() =>\n      this.chartInstance()?.clearAnnotations(options)\n    );\n  }\n\n  public dataURI(options?: any) {\n    return this.chartInstance()?.dataURI(options);\n  }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnChanges",
                "OnDestroy"
            ]
        },
        {
            "name": "EuiApp",
            "id": "component-EuiApp-d7d52c2e27e6831969a5d6e476d9f3f025ca3a027dd60743417d001ac86c1969e671ba9daf9252d1721dd302be9366c9e064d1a55e781e4329605fa0e3e984c2",
            "file": "packages/components/layout/eui-app-v2/eui-app.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-app.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "appSubTitle",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 39,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "themeClass",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 40,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 46
                },
                {
                    "name": "cssClasses",
                    "defaultValue": "'eui-app'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 37,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "euiGrowlService",
                    "defaultValue": "inject(EuiGrowlService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 47
                },
                {
                    "name": "hasNoPageWrapper",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 42
                },
                {
                    "name": "isViewLoaded",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 44
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 53,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 106,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 57,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 37,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "EUI_GROWL"
                },
                {
                    "name": "EUI_DIMMER"
                },
                {
                    "name": "EUI_BLOCK_DOCUMENT"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    OnInit,\n    OnDestroy,\n    Input,\n    OnChanges,\n    SimpleChanges,\n    ChangeDetectorRef,\n    AfterContentInit,\n    inject,\n    PLATFORM_ID,\n} from '@angular/core';\nimport { AsyncPipe, DOCUMENT, isPlatformBrowser } from '@angular/common';\n\nimport { Subject, fromEvent } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\n\nimport { EuiAppShellService, EuiGrowlService } from '@eui/core';\nimport { CssUtils } from '@eui/core';\nimport { EUI_DIMMER } from '@eui/components/eui-dimmer';\nimport { EUI_GROWL } from '@eui/components/eui-growl';\nimport { EUI_BLOCK_DOCUMENT } from '@eui/components/eui-block-document';\n\n@Component({\n    selector: 'eui-app',\n    templateUrl: './eui-app.html',\n    styleUrl: './eui-app.scss',\n    imports: [\n        AsyncPipe,\n        ...EUI_GROWL,\n        ...EUI_DIMMER,\n        ...EUI_BLOCK_DOCUMENT,\n    ],\n})\nexport class EuiApp implements OnInit, OnDestroy, AfterContentInit {\n    @HostBinding('class') cssClasses = 'eui-app';\n\n    @Input() appSubTitle = '';\n    @Input() themeClass = '';\n\n    hasNoPageWrapper = false;\n\n    isViewLoaded: boolean;\n\n    asService = inject(EuiAppShellService);\n    euiGrowlService = inject(EuiGrowlService);\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private cdRef = inject(ChangeDetectorRef);\n    private platformId = inject(PLATFORM_ID);\n    private document = inject<Document>(DOCUMENT);\n\n    ngAfterContentInit(): void {\n        this.isViewLoaded = true;\n    }\n\n    ngOnInit(): void {\n        this.isViewLoaded = false;\n\n        CssUtils.initCssVars(this.document, this.platformId);\n\n        CssUtils.setHtmlClass('eui-21', this.document);\n\n        if(isPlatformBrowser(this.platformId)) {\n            const browserAgent = window.navigator.userAgent.toLowerCase();\n\n            this.asService.setState({\n                ...this.asService.state,\n                windowHeight: window.innerHeight,\n                windowWidth: window.innerWidth,\n                hasHeader: false,\n                hasSidebar: false,\n                deviceInfo: {\n                    isChrome: browserAgent.indexOf('chrome') > -1,\n                    isIE: browserAgent.indexOf('trident') > -1,\n                    isFF: browserAgent.indexOf('firefox') > -1,\n                },\n                appBaseFontSize: this.asService.getBaseFontSize(),\n            });\n        }\n\n        this.asService\n            .getState('wrapperClasses')\n            .pipe(takeUntil(this.destroy$))\n            .subscribe((state: string) => {\n                this.cdRef.detach();\n                this.cssClasses = ['eui-app', state].join(' ');\n                this.cdRef.reattach();\n                this.cdRef.detectChanges();\n            });\n\n        if(isPlatformBrowser(this.platformId)) {\n            fromEvent(window, 'resize')\n                .pipe(debounceTime(50), takeUntil(this.destroy$))\n                .subscribe(() => {\n                    this.asService?.setState({\n                        ...this.asService.state,\n                        windowHeight: window.innerHeight,\n                        windowWidth: window.innerWidth,\n                    });\n                    CssUtils.setAppViewportCssVars(this.platformId);\n                });\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n}",
            "styleUrl": "./eui-app.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy",
                "AfterContentInit"
            ],
            "templateData": "<eui-dimmer [isDimmerActive]=\"(asService.state$ | async).isDimmerActive\" />\n\n@if (isViewLoaded) {\n    <div class=\"eui-app-wrapper\">\n        <div class=\"eui-app-header-wrapper\">\n            <ng-content select=\"eui-app-top-message\"/>\n            <ng-content select=\"eui-app-header\"/>\n            <ng-content select=\"eui-app-toolbar\"/>\n        </div>\n\n        <div class=\"eui-app-content-wrapper\">\n            <ng-content select=\"eui-app-sidebar\"/>\n\n            <div class=\"eui-app-content\">\n                <ng-content/>\n            </div>\n        </div>\n\n        <ng-content select=\"eui-app-footer\"/>\n    </div>\n}\n\n@let growlCallback = (euiGrowlService.growlCallback | async);\n\n<eui-growl\n    [value]=\"euiGrowlService.growlMessages | async\"\n    [sticky]=\"euiGrowlService.isGrowlSticky | async\"\n    [closeAllSticky]=\"euiGrowlService.isCloseAllSticky | async\"\n    [life]=\"euiGrowlService.growlLife | async\"\n    [ariaLive]=\"euiGrowlService.ariaGrowlLive | async\"\n    [position]=\"euiGrowlService.growlPosition | async\"\n    (growlClick)=\"growlCallback?.()\" />\n\n<eui-block-document [isBlocked]=\"(asService.state$ | async).isBlockDocumentActive\" />"
        },
        {
            "name": "EuiAppBreadcrumbComponent",
            "id": "component-EuiAppBreadcrumbComponent-3ac98e1624a0e2e7ca1a19d4179f62a56b8ec7e5aae5b6af143cdf9d4df5c68a589bef0cd4429403aec7ed041cb1a302d134603646167e1ab39e05a483d016b6",
            "file": "packages/components/layout/eui-app/eui-app-breadcrumb/breadcrumb.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-breadcrumb",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "role",
                    "defaultValue": "'nav'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 54,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 57,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'nav'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 54,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 51,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Breadcrumb navigation component that displays the hierarchical path to the current page location.\nAutomatically registers with EuiAppShellService to coordinate layout positioning within the application shell.\nProvides semantic navigation landmark with appropriate ARIA role for accessibility.\nContent is projected via ng-content allowing flexible breadcrumb item composition and custom separators.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Breadcrumb navigation in app --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-breadcrumb&gt;\n    &lt;eui-breadcrumb&gt;\n      &lt;eui-breadcrumb-item link=&quot;/&quot; iconSvgName=&quot;home:outline&quot; ariaLabel=&quot;Home&quot;&gt;&lt;/eui-breadcrumb-item&gt;\n      &lt;eui-breadcrumb-item link=&quot;/products&quot; label=&quot;Products&quot;&gt;&lt;/eui-breadcrumb-item&gt;\n      &lt;eui-breadcrumb-item label=&quot;Electronics&quot;&gt;&lt;/eui-breadcrumb-item&gt;\n    &lt;/eui-breadcrumb&gt;\n  &lt;/eui-app-breadcrumb&gt;\n&lt;/eui-app&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses role=&quot;nav&quot; for semantic navigation landmark</li>\n<li>Provides hierarchical page location context</li>\n<li>Breadcrumb items are keyboard accessible</li>\n<li>Current page (last item) typically not linked</li>\n<li>Screen readers announce navigation structure</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-app component for proper layout integration</li>\n<li>Automatically registers with EuiAppShellService on init</li>\n<li>Typically contains eui-breadcrumb child component</li>\n<li>Content is projected via ng-content for flexible composition</li>\n<li>Positioned below header/toolbar, above main content</li>\n<li>Shows hierarchical path from home to current page</li>\n<li>Last breadcrumb item represents current page location</li>\n</ul>\n",
            "rawdescription": "\n\nBreadcrumb navigation component that displays the hierarchical path to the current page location.\nAutomatically registers with EuiAppShellService to coordinate layout positioning within the application shell.\nProvides semantic navigation landmark with appropriate ARIA role for accessibility.\nContent is projected via ng-content allowing flexible breadcrumb item composition and custom separators.\n\n```html\n<!-- Breadcrumb navigation in app -->\n<eui-app>\n  <eui-app-breadcrumb>\n    <eui-breadcrumb>\n      <eui-breadcrumb-item link=\"/\" iconSvgName=\"home:outline\" ariaLabel=\"Home\"></eui-breadcrumb-item>\n      <eui-breadcrumb-item link=\"/products\" label=\"Products\"></eui-breadcrumb-item>\n      <eui-breadcrumb-item label=\"Electronics\"></eui-breadcrumb-item>\n    </eui-breadcrumb>\n  </eui-app-breadcrumb>\n</eui-app>\n```\n\n### Accessibility\n- Uses role=\"nav\" for semantic navigation landmark\n- Provides hierarchical page location context\n- Breadcrumb items are keyboard accessible\n- Current page (last item) typically not linked\n- Screen readers announce navigation structure\n\n### Notes\n- Must be used within eui-app component for proper layout integration\n- Automatically registers with EuiAppShellService on init\n- Typically contains eui-breadcrumb child component\n- Content is projected via ng-content for flexible composition\n- Positioned below header/toolbar, above main content\n- Shows hierarchical path from home to current page\n- Last breadcrumb item represents current page location\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, OnInit, inject } from '@angular/core';\n\nimport { EuiAppShellService } from '@eui/core';\n\n/**\n * @description\n * Breadcrumb navigation component that displays the hierarchical path to the current page location.\n * Automatically registers with EuiAppShellService to coordinate layout positioning within the application shell.\n * Provides semantic navigation landmark with appropriate ARIA role for accessibility.\n * Content is projected via ng-content allowing flexible breadcrumb item composition and custom separators.\n * \n * @usageNotes\n * ```html\n * <!-- Breadcrumb navigation in app -->\n * <eui-app>\n *   <eui-app-breadcrumb>\n *     <eui-breadcrumb>\n *       <eui-breadcrumb-item link=\"/\" iconSvgName=\"home:outline\" ariaLabel=\"Home\"></eui-breadcrumb-item>\n *       <eui-breadcrumb-item link=\"/products\" label=\"Products\"></eui-breadcrumb-item>\n *       <eui-breadcrumb-item label=\"Electronics\"></eui-breadcrumb-item>\n *     </eui-breadcrumb>\n *   </eui-app-breadcrumb>\n * </eui-app>\n * ```\n *\n * ### Accessibility\n * - Uses role=\"nav\" for semantic navigation landmark\n * - Provides hierarchical page location context\n * - Breadcrumb items are keyboard accessible\n * - Current page (last item) typically not linked\n * - Screen readers announce navigation structure\n *\n * ### Notes\n * - Must be used within eui-app component for proper layout integration\n * - Automatically registers with EuiAppShellService on init\n * - Typically contains eui-breadcrumb child component\n * - Content is projected via ng-content for flexible composition\n * - Positioned below header/toolbar, above main content\n * - Shows hierarchical path from home to current page\n * - Last breadcrumb item represents current page location\n */\n@Component({\n    selector: 'eui-app-breadcrumb',\n    template: '<ng-content/>',\n    styleUrl: './breadcrumb.scss',\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiAppBreadcrumbComponent implements OnInit {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return this.getCssClasses();\n    }\n    @HostBinding('attr.role') role = 'nav';\n    private asService = inject(EuiAppShellService);\n\n    ngOnInit(): void {\n        this.asService.activateBreadcrumb();\n    }\n\n    /** @internal */\n    private getCssClasses(): string {\n        return ['eui-app-breadcrumb'].join(' ');\n    }\n}\n",
            "styleUrl": "./breadcrumb.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 51
                    }
                }
            }
        },
        {
            "name": "EuiAppComponent",
            "id": "component-EuiAppComponent-4aea83bc1088f6fcb8d7d2d3089e9dddd6258fc7efa3ac167536ba9e679e2f7f410e7b27f9765d8e41e6ebb2e1f0c21b040bb52b37ff539af07e4be79f39aa0d",
            "file": "packages/components/layout/eui-app/eui-app.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-app.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "appSubTitle",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5303,
                            "end": 5330,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5304,
                                "end": 5311,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>empty string</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSubtitle text displayed in the application header or toolbar area.\nTypically used to show contextual information about the current view or section.\n",
                    "description": "<p>Subtitle text displayed in the application header or toolbar area.\nTypically used to show contextual information about the current view or section.</p>\n",
                    "line": 148,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShrinkHeaderActive",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6248,
                            "end": 6267,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6249,
                                "end": 6256,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables automatic header shrinking behavior on scroll.\nWhen true, the application header reduces its height when user scrolls down, maximizing content area.\n",
                    "description": "<p>Enables automatic header shrinking behavior on scroll.\nWhen true, the application header reduces its height when user scrolls down, maximizing content area.</p>\n",
                    "line": 174,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isSidebarHidden",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6566,
                            "end": 6586,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6567,
                                "end": 6574,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nCompletely hides the sidebar from the layout.\nWhen true, sidebar is removed from DOM and content area expands to full width.\nDiffers from isSidebarOpen which only collapses the sidebar.\n",
                    "description": "<p>Completely hides the sidebar from the layout.\nWhen true, sidebar is removed from DOM and content area expands to full width.\nDiffers from isSidebarOpen which only collapses the sidebar.</p>\n",
                    "line": 182,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isSidebarOpen",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5973,
                            "end": 5992,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5974,
                                "end": 5981,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls the expanded/collapsed state of the application sidebar.\nWhen true, sidebar is fully expanded showing labels and content. When false, sidebar collapses to icon-only mode.\nSyncs with EuiAppShellService state to coordinate sidebar behavior across the application.\n",
                    "description": "<p>Controls the expanded/collapsed state of the application sidebar.\nWhen true, sidebar is fully expanded showing labels and content. When false, sidebar collapses to icon-only mode.\nSyncs with EuiAppShellService state to coordinate sidebar behavior across the application.</p>\n",
                    "line": 167,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "themeClass",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5546,
                            "end": 5573,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5547,
                                "end": 5554,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>empty string</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nCSS class name to apply a custom theme to the application shell.\nAllows theme switching by applying predefined theme class names to the root component.\n",
                    "description": "<p>CSS class name to apply a custom theme to the application shell.\nAllows theme switching by applying predefined theme class names to the root component.</p>\n",
                    "line": 155,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "appSidebar",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiAppSidebarComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 185,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "appToolbar",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiAppToolbarComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 191,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 193
                },
                {
                    "name": "cssClasses",
                    "defaultValue": "'eui-app'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 141,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "customPageWrapper",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiAppPageWrapperDirective",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 188,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "euiGrowlService",
                    "defaultValue": "inject(EuiGrowlService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 194
                },
                {
                    "name": "hasNoPageWrapper",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 157
                },
                {
                    "name": "isViewLoaded",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 159
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 205,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 346,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 361,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 210,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 141,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "RouterOutlet"
                },
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "EuiAppSidebarComponent",
                    "type": "component"
                },
                {
                    "name": "EuiAppSidebarMenuComponent",
                    "type": "component"
                },
                {
                    "name": "EuiAppSidebarBodyComponent",
                    "type": "component"
                },
                {
                    "name": "EuiAppToolbarComponent",
                    "type": "component"
                },
                {
                    "name": "EuiToolbarComponent",
                    "type": "component"
                },
                {
                    "name": "EuiToolbarItemsComponent",
                    "type": "component"
                },
                {
                    "name": "EuiToolbarItemComponent",
                    "type": "component"
                },
                {
                    "name": "EUI_USER_PROFILE"
                },
                {
                    "name": "EUI_DIMMER"
                },
                {
                    "name": "PortalModule",
                    "type": "module"
                }
            ],
            "description": "<p>Root application shell component that provides the foundational layout structure for EUI applications.\nManages the main application frame including sidebar navigation, toolbar, page content area, and global UI services.\nHandles responsive behavior, viewport tracking, and theme application across the entire application.\nIntegrates with EuiAppShellService to maintain centralized application state for layout configuration.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Basic app shell --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-sidebar&gt;\n    &lt;eui-app-sidebar-menu&gt;\n      &lt;!-- Navigation menu items --&gt;\n    &lt;/eui-app-sidebar-menu&gt;\n  &lt;/eui-app-sidebar&gt;\n\n  &lt;eui-app-toolbar&gt;\n    &lt;!-- Toolbar content --&gt;\n  &lt;/eui-app-toolbar&gt;\n\n  &lt;router-outlet&gt;&lt;/router-outlet&gt;\n&lt;/eui-app&gt;\n\n&lt;!-- With custom configuration --&gt;\n&lt;eui-app\n  [isSidebarOpen]=&quot;sidebarOpen&quot;\n  [isShrinkHeaderActive]=&quot;true&quot;\n  [themeClass]=&quot;&#39;dark-theme&#39;&quot;\n  appSubTitle=&quot;Dashboard&quot;&gt;\n  &lt;eui-app-sidebar&gt;\n    &lt;!-- Sidebar content --&gt;\n  &lt;/eui-app-sidebar&gt;\n  &lt;router-outlet&gt;&lt;/router-outlet&gt;\n&lt;/eui-app&gt;\n\n&lt;!-- Without sidebar --&gt;\n&lt;eui-app [isSidebarHidden]=&quot;true&quot;&gt;\n  &lt;eui-app-toolbar&gt;\n    &lt;!-- Toolbar only layout --&gt;\n  &lt;/eui-app-toolbar&gt;\n  &lt;router-outlet&gt;&lt;/router-outlet&gt;\n&lt;/eui-app&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">export class AppComponent {\n  sidebarOpen = true;\n\n  constructor(private appShellService: EuiAppShellService) {\n    // Access global app state\n    this.appShellService.state$.subscribe(state =&gt; {\n      console.log(&#39;App state:&#39;, state);\n    });\n  }\n}</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Provides semantic application structure with proper landmarks</li>\n<li>Sidebar navigation is keyboard accessible</li>\n<li>Focus management handled during sidebar expand/collapse</li>\n<li>Responsive behavior maintains usability across devices</li>\n<li>Theme changes preserve contrast ratios for accessibility</li>\n<li>Growl notifications use ARIA live regions for screen reader announcements</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used as root layout component in application</li>\n<li>Integrates with EuiAppShellService for centralized state management</li>\n<li>Automatically tracks viewport dimensions and updates on resize</li>\n<li>Applies &#39;eui-21&#39; class to HTML element for global styling</li>\n<li>isSidebarOpen controls sidebar expanded/collapsed state (default: true)</li>\n<li>isSidebarHidden completely removes sidebar from layout (default: false)</li>\n<li>isShrinkHeaderActive enables header shrinking on scroll (default: true)</li>\n<li>themeClass applies custom theme styling to entire application</li>\n<li>appSubTitle displays contextual subtitle in header/toolbar</li>\n<li>Manages growl notification overlay positioning and lifecycle</li>\n<li>Handles browser detection for Chrome, IE, Firefox specific behaviors</li>\n<li>Automatically sets CSS custom properties for viewport dimensions</li>\n<li>Content projection expects eui-app-sidebar, eui-app-toolbar, and router-outlet</li>\n<li>Use EuiAppPageWrapperDirective for custom page wrapper layouts</li>\n<li>Responsive breakpoints handled automatically via media queries</li>\n</ul>\n",
            "rawdescription": "\n\nRoot application shell component that provides the foundational layout structure for EUI applications.\nManages the main application frame including sidebar navigation, toolbar, page content area, and global UI services.\nHandles responsive behavior, viewport tracking, and theme application across the entire application.\nIntegrates with EuiAppShellService to maintain centralized application state for layout configuration.\n\n```html\n<!-- Basic app shell -->\n<eui-app>\n  <eui-app-sidebar>\n    <eui-app-sidebar-menu>\n      <!-- Navigation menu items -->\n    </eui-app-sidebar-menu>\n  </eui-app-sidebar>\n\n  <eui-app-toolbar>\n    <!-- Toolbar content -->\n  </eui-app-toolbar>\n\n  <router-outlet></router-outlet>\n</eui-app>\n\n<!-- With custom configuration -->\n<eui-app\n  [isSidebarOpen]=\"sidebarOpen\"\n  [isShrinkHeaderActive]=\"true\"\n  [themeClass]=\"'dark-theme'\"\n  appSubTitle=\"Dashboard\">\n  <eui-app-sidebar>\n    <!-- Sidebar content -->\n  </eui-app-sidebar>\n  <router-outlet></router-outlet>\n</eui-app>\n\n<!-- Without sidebar -->\n<eui-app [isSidebarHidden]=\"true\">\n  <eui-app-toolbar>\n    <!-- Toolbar only layout -->\n  </eui-app-toolbar>\n  <router-outlet></router-outlet>\n</eui-app>\n```\n\n```ts\nexport class AppComponent {\n  sidebarOpen = true;\n\n  constructor(private appShellService: EuiAppShellService) {\n    // Access global app state\n    this.appShellService.state$.subscribe(state => {\n      console.log('App state:', state);\n    });\n  }\n}\n```\n\n### Accessibility\n- Provides semantic application structure with proper landmarks\n- Sidebar navigation is keyboard accessible\n- Focus management handled during sidebar expand/collapse\n- Responsive behavior maintains usability across devices\n- Theme changes preserve contrast ratios for accessibility\n- Growl notifications use ARIA live regions for screen reader announcements\n\n### Notes\n- Must be used as root layout component in application\n- Integrates with EuiAppShellService for centralized state management\n- Automatically tracks viewport dimensions and updates on resize\n- Applies 'eui-21' class to HTML element for global styling\n- isSidebarOpen controls sidebar expanded/collapsed state (default: true)\n- isSidebarHidden completely removes sidebar from layout (default: false)\n- isShrinkHeaderActive enables header shrinking on scroll (default: true)\n- themeClass applies custom theme styling to entire application\n- appSubTitle displays contextual subtitle in header/toolbar\n- Manages growl notification overlay positioning and lifecycle\n- Handles browser detection for Chrome, IE, Firefox specific behaviors\n- Automatically sets CSS custom properties for viewport dimensions\n- Content projection expects eui-app-sidebar, eui-app-toolbar, and router-outlet\n- Use EuiAppPageWrapperDirective for custom page wrapper layouts\n- Responsive breakpoints handled automatically via media queries\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    Directive,\n    ViewEncapsulation,\n    HostBinding,\n    OnInit,\n    OnDestroy,\n    Input,\n    ContentChild,\n    forwardRef,\n    OnChanges,\n    SimpleChanges,\n    ChangeDetectorRef,\n    AfterContentInit,\n    inject,\n    PLATFORM_ID,\n    booleanAttribute,\n    Injector,\n    ComponentRef,\n} from '@angular/core';\nimport { AsyncPipe, DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { RouterOutlet } from '@angular/router';\nimport { Subject, fromEvent, debounceTime, take, takeUntil, withLatestFrom } from 'rxjs';\nimport { GlobalPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal, PortalModule } from '@angular/cdk/portal';\n\nimport { EuiAppShellService, EuiGrowlService, CssUtils } from '@eui/core';\nimport { EUI_DIMMER } from '@eui/components/eui-dimmer';\nimport { EuiGrowlComponent } from '@eui/components/eui-growl';\nimport { EuiBlockDocumentComponent } from '@eui/components/eui-block-document';\nimport { EUI_USER_PROFILE } from '@eui/components/eui-user-profile';\n\nimport { EuiToolbarComponent, EuiToolbarItemComponent, EuiToolbarItemsComponent } from '../eui-toolbar';\nimport { EuiAppSidebarBodyComponent, EuiAppSidebarComponent, EuiAppSidebarMenuComponent } from './eui-app-sidebar';\nimport { EuiAppToolbarComponent } from './eui-app-toolbar';\n\n/**\n * @description\n * Root application shell component that provides the foundational layout structure for EUI applications.\n * Manages the main application frame including sidebar navigation, toolbar, page content area, and global UI services.\n * Handles responsive behavior, viewport tracking, and theme application across the entire application.\n * Integrates with EuiAppShellService to maintain centralized application state for layout configuration.\n * \n * @usageNotes\n * ```html\n * <!-- Basic app shell -->\n * <eui-app>\n *   <eui-app-sidebar>\n *     <eui-app-sidebar-menu>\n *       <!-- Navigation menu items -->\n *     </eui-app-sidebar-menu>\n *   </eui-app-sidebar>\n *   \n *   <eui-app-toolbar>\n *     <!-- Toolbar content -->\n *   </eui-app-toolbar>\n *   \n *   <router-outlet></router-outlet>\n * </eui-app>\n *\n * <!-- With custom configuration -->\n * <eui-app \n *   [isSidebarOpen]=\"sidebarOpen\"\n *   [isShrinkHeaderActive]=\"true\"\n *   [themeClass]=\"'dark-theme'\"\n *   appSubTitle=\"Dashboard\">\n *   <eui-app-sidebar>\n *     <!-- Sidebar content -->\n *   </eui-app-sidebar>\n *   <router-outlet></router-outlet>\n * </eui-app>\n *\n * <!-- Without sidebar -->\n * <eui-app [isSidebarHidden]=\"true\">\n *   <eui-app-toolbar>\n *     <!-- Toolbar only layout -->\n *   </eui-app-toolbar>\n *   <router-outlet></router-outlet>\n * </eui-app>\n * ```\n *\n * ```ts\n * export class AppComponent {\n *   sidebarOpen = true;\n *   \n *   constructor(private appShellService: EuiAppShellService) {\n *     // Access global app state\n *     this.appShellService.state$.subscribe(state => {\n *       console.log('App state:', state);\n *     });\n *   }\n * }\n * ```\n *\n * ### Accessibility\n * - Provides semantic application structure with proper landmarks\n * - Sidebar navigation is keyboard accessible\n * - Focus management handled during sidebar expand/collapse\n * - Responsive behavior maintains usability across devices\n * - Theme changes preserve contrast ratios for accessibility\n * - Growl notifications use ARIA live regions for screen reader announcements\n *\n * ### Notes\n * - Must be used as root layout component in application\n * - Integrates with EuiAppShellService for centralized state management\n * - Automatically tracks viewport dimensions and updates on resize\n * - Applies 'eui-21' class to HTML element for global styling\n * - isSidebarOpen controls sidebar expanded/collapsed state (default: true)\n * - isSidebarHidden completely removes sidebar from layout (default: false)\n * - isShrinkHeaderActive enables header shrinking on scroll (default: true)\n * - themeClass applies custom theme styling to entire application\n * - appSubTitle displays contextual subtitle in header/toolbar\n * - Manages growl notification overlay positioning and lifecycle\n * - Handles browser detection for Chrome, IE, Firefox specific behaviors\n * - Automatically sets CSS custom properties for viewport dimensions\n * - Content projection expects eui-app-sidebar, eui-app-toolbar, and router-outlet\n * - Use EuiAppPageWrapperDirective for custom page wrapper layouts\n * - Responsive breakpoints handled automatically via media queries\n */\n@Component({\n    selector: 'eui-app',\n    templateUrl: './eui-app.component.html',\n    styleUrl: './_styles/_index.scss',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        RouterOutlet,\n        AsyncPipe,\n        EuiAppSidebarComponent,\n        EuiAppSidebarMenuComponent,\n        EuiAppSidebarBodyComponent,\n        EuiAppToolbarComponent,\n        EuiToolbarComponent,\n        EuiToolbarItemsComponent,\n        EuiToolbarItemComponent,\n        ...EUI_USER_PROFILE,\n        ...EUI_DIMMER,\n        PortalModule,\n    ],\n})\nexport class EuiAppComponent implements OnInit, OnDestroy, OnChanges, AfterContentInit {\n    @HostBinding('class') cssClasses = 'eui-app';\n\n    /**\n     * Subtitle text displayed in the application header or toolbar area.\n     * Typically used to show contextual information about the current view or section.\n     * @default empty string\n     */\n    @Input() appSubTitle = '';\n\n    /**\n     * CSS class name to apply a custom theme to the application shell.\n     * Allows theme switching by applying predefined theme class names to the root component.\n     * @default empty string\n     */\n    @Input() themeClass = '';\n\n    hasNoPageWrapper = false;\n\n    isViewLoaded: boolean;\n\n    /**\n     * Controls the expanded/collapsed state of the application sidebar.\n     * When true, sidebar is fully expanded showing labels and content. When false, sidebar collapses to icon-only mode.\n     * Syncs with EuiAppShellService state to coordinate sidebar behavior across the application.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isSidebarOpen = true;\n\n    /**\n     * Enables automatic header shrinking behavior on scroll.\n     * When true, the application header reduces its height when user scrolls down, maximizing content area.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isShrinkHeaderActive = true;\n\n    /**\n     * Completely hides the sidebar from the layout.\n     * When true, sidebar is removed from DOM and content area expands to full width.\n     * Differs from isSidebarOpen which only collapses the sidebar.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isSidebarHidden = false;\n    \n    @ContentChild(forwardRef(() => EuiAppSidebarComponent))\n    appSidebar: EuiAppSidebarComponent;\n\n    @ContentChild(forwardRef(() => EuiAppPageWrapperDirective))\n    customPageWrapper: EuiAppPageWrapperDirective;\n\n    @ContentChild(forwardRef(() => EuiAppToolbarComponent))\n    appToolbar: EuiAppToolbarComponent;\n\n    asService = inject(EuiAppShellService);\n    euiGrowlService = inject(EuiGrowlService);\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private cdRef = inject(ChangeDetectorRef);\n    private platformId = inject(PLATFORM_ID);\n    private document = inject<Document>(DOCUMENT);\n    private overlay = inject(Overlay);\n    private overlayRefs: OverlayRef[] = [];\n    private growlInstance: ComponentRef<EuiGrowlComponent> = null;\n    private blockDocumentOverlayRef: OverlayRef = null;\n    private blockDocumentInstance: ComponentRef<EuiBlockDocumentComponent> = null;\n\n    ngAfterContentInit(): void {\n        this.hasNoPageWrapper = !this.customPageWrapper;\n        this.isViewLoaded = true;\n    }\n\n    ngOnInit(): void {\n        this.isViewLoaded = false;\n\n        CssUtils.initCssVars(this.document, this.platformId);\n\n        CssUtils.setHtmlClass('eui-21', this.document);\n\n        if(isPlatformBrowser(this.platformId)) {\n            const browserAgent = window.navigator.userAgent.toLowerCase();\n\n            this.asService.setState({\n                ...this.asService.state,\n                windowHeight: window.innerHeight,\n                windowWidth: window.innerWidth,\n                hasHeader: false,\n                hasSidebar: false,\n                deviceInfo: {\n                    isChrome: browserAgent.indexOf('chrome') > -1,\n                    isIE: browserAgent.indexOf('trident') > -1,\n                    isFF: browserAgent.indexOf('firefox') > -1,\n                },\n                appBaseFontSize: this.asService.getBaseFontSize(),\n            });\n        }\n\n        this.asService\n            .getState('wrapperClasses')\n            .pipe(takeUntil(this.destroy$))\n            .subscribe((state: string) => {\n                this.cdRef.detach();\n                this.cssClasses = ['eui-app', state].join(' ');\n                this.cdRef.reattach();\n                this.cdRef.detectChanges();\n            });\n\n        if(isPlatformBrowser(this.platformId)) {\n            fromEvent(window, 'resize')\n                .pipe(debounceTime(50), takeUntil(this.destroy$))\n                .subscribe(() => {\n                    this.asService?.setState({\n                        ...this.asService.state,\n                        windowHeight: window.innerHeight,\n                        windowWidth: window.innerWidth,\n                    });\n                    CssUtils.setAppViewportCssVars(this.platformId);\n                });\n        }\n\n        this.euiGrowlService.growlMessages\n            .pipe(\n                withLatestFrom(\n                this.euiGrowlService.isGrowlSticky,\n                this.euiGrowlService.isCloseAllSticky,\n                this.euiGrowlService.growlLife,\n                this.euiGrowlService.growlPosition,\n                this.euiGrowlService.growlCallback,\n                this.euiGrowlService.ariaGrowlLive,\n                ),\n                takeUntil(this.destroy$),\n            )\n        .subscribe(([messages, sticky, closeAllSticky, life, position, callback, ariaLive]) => {\n            if (messages.length > 0) {\n                if (!this.growlInstance) {\n                    const overlayRef = this.overlay.create({\n                        hasBackdrop: false,\n                        disposeOnNavigation: true,\n                        panelClass: ['eui-growl', 'eui-growl--' + position, 'eui-21'],\n                        positionStrategy: this.getPositionStrategy(position),\n                    });\n    \n                    this.overlayRefs.push(overlayRef);\n                    this.overlayRefs.slice(0, -1).forEach(ref => ref.dispose());\n                    this.overlayRefs = this.overlayRefs.slice(-1);\n\n                    const containerPortal = new ComponentPortal<EuiGrowlComponent>(EuiGrowlComponent);\n                    this.growlInstance = overlayRef.attach(containerPortal);\n\n                    this.growlInstance.setInput('value', messages);\n                    this.growlInstance.setInput('sticky', sticky);\n                    this.growlInstance.setInput('closeAllSticky', closeAllSticky);\n                    this.growlInstance.setInput('life', life);\n                    this.growlInstance.setInput('position', position);\n                    this.growlInstance.setInput('ariaLive', ariaLive);\n                    this.growlInstance.setInput('callback', callback);\n\n                    this.growlInstance.instance.growlClose.pipe(take(1)).subscribe(() => {\n                        if (messages.length === 0) {\n                            this.overlayRefs.forEach(ref => ref.dispose());\n                            this.overlayRefs = [];\n                            this.growlInstance = null;\n                        }\n                    });\n                } else {\n                    this.growlInstance.setInput('value', messages);\n                    this.growlInstance.instance.growlClose.pipe(take(1)).subscribe(() => {\n                        if (messages.length === 0) {\n                            this.overlayRefs.forEach(ref => ref.dispose());\n                            this.overlayRefs = [];\n                            this.growlInstance = null;\n                        }\n                    });\n                }\n            } else {\n                this.overlayRefs.forEach(ref => ref.dispose());\n                this.overlayRefs = [];\n                this.growlInstance = null;\n            }\n        });\n\n        this.asService\n            .getState('isBlockDocumentActive')\n            .pipe(takeUntil(this.destroy$))\n            .subscribe((isBlocked: boolean) => {\n                if (isBlocked) {\n                    if (!this.blockDocumentInstance) {\n                        this.blockDocumentOverlayRef = this.overlay.create({\n                            hasBackdrop: false,\n                            disposeOnNavigation: false,\n                            panelClass: ['eui-21'],\n                            positionStrategy: this.overlay.position().global(),\n                        });\n\n                        const blockPortal = new ComponentPortal<EuiBlockDocumentComponent>(EuiBlockDocumentComponent);\n                        this.blockDocumentInstance = this.blockDocumentOverlayRef.attach(blockPortal);\n                        this.blockDocumentInstance.setInput('isBlocked', true);\n                    }\n                } else {\n                    if (this.blockDocumentOverlayRef) {\n                        this.blockDocumentOverlayRef.dispose();\n                        this.blockDocumentOverlayRef = null;\n                        this.blockDocumentInstance = null;\n                    }\n                }\n            });\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes.isSidebarHidden) {\n            this.asService.setState({\n                ...this.asService.state,\n                isSidebarHidden: changes.isSidebarHidden.currentValue,\n            });\n        }\n        if (changes.isSidebarOpen) {\n            this.asService.setState({\n                ...this.asService.state,\n                isSidebarOpen: changes.isSidebarOpen.currentValue,\n            });\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n        this.overlayRefs.forEach(ref => ref.dispose());\n        this.overlayRefs = [];\n        this.growlInstance = null;\n        if (this.blockDocumentOverlayRef) {\n            this.blockDocumentOverlayRef.dispose();\n            this.blockDocumentOverlayRef = null;\n            this.blockDocumentInstance = null;\n        }\n    }\n\n    private getPositionStrategy(position: string): GlobalPositionStrategy {\n        const strategy = this.overlay.position().global();\n\n        switch (position) {\n            case 'bottom-right':\n            return strategy.bottom().right();\n\n            case 'bottom-left':\n            return strategy.bottom().left();\n\n            case 'top-right':\n            return strategy.top().right();\n\n            case 'top-left':\n            return strategy.top().left();\n\n            case 'bottom-center':\n            return strategy.bottom().centerHorizontally();\n\n            case 'top-center':\n            return strategy.top().centerHorizontally();\n\n            default:\n            return strategy.bottom().right();\n        }\n    }\n}\n\n/**\n * @description\n * Marker directive to identify custom page wrapper content projected into the eui-app component.\n * When present, prevents the default page wrapper from being rendered, allowing full control over page layout structure.\n * Used internally by EuiAppComponent to detect custom content projection.\n */\n/* eslint-disable */\n@Directive({ selector: 'eui-app-page-wrapper' })\nexport class EuiAppPageWrapperDirective { }\n\n",
            "styleUrl": "./_styles/_index.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy",
                "OnChanges",
                "AfterContentInit"
            ],
            "templateData": "<eui-dimmer [isDimmerActive]=\"(asService.state$ | async).isDimmerActive\" />\n\n<ng-content select=\"eui-app-sidebar\" />\n@if (!appSidebar && (asService.state$ | async).menuLinks.length !== 0 && (asService.state$ | async).hasHeader && (asService.breakpoints$ | async).isMobile) {\n    <eui-app-sidebar>\n        <eui-app-sidebar-body>\n            <eui-app-sidebar-menu [hasIcons]=\"true\" />\n        </eui-app-sidebar-body>\n    </eui-app-sidebar>\n}\n\n@if (isViewLoaded) {\n    <div class=\"eui-app-main\">\n        <ng-content select=\"eui-app-top-message\"></ng-content>\n\n        <ng-content select=\"eui-app-header\"></ng-content>\n\n        @if (\n            (!appToolbar && (asService.state$ | async).hasHeader && (asService.breakpoints$ | async).isMobile) || \n            (appToolbar && (asService.state$ | async).hasHeader && (asService.breakpoints$ | async).isMobile ) && (asService.state$ | async).menuLinks.length !== 0\n            ) {\n            <eui-app-toolbar>\n                <eui-toolbar>\n                    <eui-toolbar-items>\n                        <ng-content select=\"eui-app-toolbar-items-mobile\"/>\n                        <eui-toolbar-item>\n                            <ng-content select=\"eui-user-profile\"/>\n                        </eui-toolbar-item>\n                    </eui-toolbar-items>                \n                </eui-toolbar>\n            </eui-app-toolbar>\n        } @else {\n            <ng-content select=\"eui-app-toolbar\"></ng-content>\n        }\n\n        <ng-content select=\"eui-app-breadcrumb\"></ng-content>\n\n        <div class=\"eui-app-main-content\" role=\"main\">\n            <ng-content select=\"eui-app-page-wrapper\"></ng-content>\n            @if (hasNoPageWrapper) {\n                <router-outlet></router-outlet>\n            }\n        </div>\n\n        <ng-content select=\"eui-app-footer\"></ng-content>\n    </div>\n}\n\n<ng-content select=\"eui-app-side-container\"/>\n"
        },
        {
            "name": "EuiAppFooterComponent",
            "id": "component-EuiAppFooterComponent-3255bf97ea1391da807eb635e7b9227b5c036570dfe735191f0c9d3a0b2dc03bc6edfc9d411af239a677e9b605f67541d36aab57778066d0d520111fe941c27f",
            "file": "packages/components/layout/eui-app/eui-app-footer/footer.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-footer",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-footer'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 45,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": ""
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "role",
                    "defaultValue": "'contentinfo'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 46,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'contentinfo'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 46,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "defaultValue": "'eui-app-footer'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 45,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Application footer component that provides a bottom-level content area for copyright, links, and supplementary information.\nPositioned at the bottom of the application layout with semantic contentinfo role for accessibility.\nContent is projected via ng-content allowing flexible footer composition with custom elements and layouts.\nAutomatically styled with consistent spacing and theming to match the application shell design.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Basic app footer --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-footer&gt;\n    &lt;eui-footer euiPrimary&gt;\n      © 2026 European Commission - &lt;a href=&quot;/privacy&quot;&gt;Privacy&lt;/a&gt; - &lt;a href=&quot;/legal&quot;&gt;Legal Notice&lt;/a&gt;\n    &lt;/eui-footer&gt;\n  &lt;/eui-app-footer&gt;\n&lt;/eui-app&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses role=&quot;contentinfo&quot; for semantic landmark identification</li>\n<li>Provides consistent location for supplementary information</li>\n<li>Links within footer are keyboard accessible</li>\n<li>Content projection allows flexible accessible structure</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-app component for proper layout integration</li>\n<li>Positioned at bottom of application, below all content</li>\n<li>Typically contains eui-footer child component for content</li>\n<li>Content is projected via ng-content for flexible composition</li>\n<li>Automatically styled with consistent spacing and theming</li>\n<li>Common content includes copyright, legal links, version info</li>\n<li>Footer remains at bottom even with minimal page content</li>\n</ul>\n",
            "rawdescription": "\n\nApplication footer component that provides a bottom-level content area for copyright, links, and supplementary information.\nPositioned at the bottom of the application layout with semantic contentinfo role for accessibility.\nContent is projected via ng-content allowing flexible footer composition with custom elements and layouts.\nAutomatically styled with consistent spacing and theming to match the application shell design.\n\n```html\n<!-- Basic app footer -->\n<eui-app>\n  <eui-app-footer>\n    <eui-footer euiPrimary>\n      © 2026 European Commission - <a href=\"/privacy\">Privacy</a> - <a href=\"/legal\">Legal Notice</a>\n    </eui-footer>\n  </eui-app-footer>\n</eui-app>\n```\n\n### Accessibility\n- Uses role=\"contentinfo\" for semantic landmark identification\n- Provides consistent location for supplementary information\n- Links within footer are keyboard accessible\n- Content projection allows flexible accessible structure\n\n### Notes\n- Must be used within eui-app component for proper layout integration\n- Positioned at bottom of application, below all content\n- Typically contains eui-footer child component for content\n- Content is projected via ng-content for flexible composition\n- Automatically styled with consistent spacing and theming\n- Common content includes copyright, legal links, version info\n- Footer remains at bottom even with minimal page content\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\n\n/**\n * @description\n * Application footer component that provides a bottom-level content area for copyright, links, and supplementary information.\n * Positioned at the bottom of the application layout with semantic contentinfo role for accessibility.\n * Content is projected via ng-content allowing flexible footer composition with custom elements and layouts.\n * Automatically styled with consistent spacing and theming to match the application shell design.\n * \n * @usageNotes\n * ```html\n * <!-- Basic app footer -->\n * <eui-app>\n *   <eui-app-footer>\n *     <eui-footer euiPrimary>\n *       © 2026 European Commission - <a href=\"/privacy\">Privacy</a> - <a href=\"/legal\">Legal Notice</a>\n *     </eui-footer>\n *   </eui-app-footer>\n * </eui-app>\n * ```\n *\n * ### Accessibility\n * - Uses role=\"contentinfo\" for semantic landmark identification\n * - Provides consistent location for supplementary information\n * - Links within footer are keyboard accessible\n * - Content projection allows flexible accessible structure\n *\n * ### Notes\n * - Must be used within eui-app component for proper layout integration\n * - Positioned at bottom of application, below all content\n * - Typically contains eui-footer child component for content\n * - Content is projected via ng-content for flexible composition\n * - Automatically styled with consistent spacing and theming\n * - Common content includes copyright, legal links, version info\n * - Footer remains at bottom even with minimal page content\n */\n@Component({\n    selector: 'eui-app-footer',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.Default,\n    styleUrl: './footer.scss',\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiAppFooterComponent {\n    @HostBinding() class = 'eui-app-footer';\n    @HostBinding('attr.role') role = 'contentinfo';\n}\n",
            "styleUrl": "./footer.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiAppHeader",
            "id": "component-EuiAppHeader-da79935945e61706fcb593c6e365b009ca959781bd5607221cd790bb951d17251c90337caddb0ca53bf8ced7382a8bef65e5a9d0bbfe33afa76607a3df8d29f9",
            "file": "packages/components/layout/eui-app-v2/eui-app-header/eui-app-header.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-header",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-app-header.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-app-header eui--primary'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-header eui--primary'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 10,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n@Component({\n    selector: 'eui-app-header',\n    templateUrl: './eui-app-header.html',\n    styleUrl: './eui-app-header.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiAppHeader {\n    @HostBinding('class') string = 'eui-app-header eui--primary';\n}\n",
            "styleUrl": "./eui-app-header.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "<div class=\"eui-app-header-logo-wrapper\">\n    <ng-content select=\"eui-app-header-logo\"></ng-content>\n    <ng-content select=\"eui-app-header-environment\"></ng-content>\n</div>\n\n<ng-content select=\"eui-app-header-appname\" />\n\n<div class=\"eui-app-header-right-content-wrapper\">\n    <ng-content select=\"eui-app-header-right-content\"></ng-content>\n    <ng-content select=\"eui-user-profile\"></ng-content>\n</div>\n\n<ng-content select=\"eui-language-selector\" />\n\n<ng-content select=\"eui-app-header-search\" />\n"
        },
        {
            "name": "EuiAppHeaderAppName",
            "id": "component-EuiAppHeaderAppName-68d64de011d9ed86fe699fe7d45b788ab176eb70566ab9d47f1e970dae9af7c3ae119f871d2f8da5f288f233cc086f4cafb79b9a3f60006c5870cc3ddcc8249d",
            "file": "packages/components/layout/eui-app-v2/eui-app-header/eui-app-header-appname.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-header-appname",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-app-header-appname.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-app-header-appname'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-header-appname'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 10,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n    selector: 'eui-app-header-appname',\n    templateUrl: './eui-app-header-appname.html',\n    styleUrl: './eui-app-header-appname.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiAppHeaderAppName {\n    @HostBinding('class') string = 'eui-app-header-appname';\n}\n",
            "styleUrl": "./eui-app-header-appname.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "<ng-content select=\"eui-app-header-appname-label\"/>\n<ng-content select=\"eui-app-header-appname-sub-label\"/>"
        },
        {
            "name": "EuiAppHeaderAppNameLabel",
            "id": "component-EuiAppHeaderAppNameLabel-d9518fbb71302e269ccbd1553cd02d5b40604f0c10df184836dabb416184cda1fae34d18690b256836764ba812a12b7416a4c97ecca0382c053bfbc719ef026e",
            "file": "packages/components/layout/eui-app-v2/eui-app-header/eui-app-header-appname-label.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-header-appname-label",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-app-header-appname-label'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-header-appname-label'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 10,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n    selector: 'eui-app-header-appname-label',\n    template: '<ng-content />',\n    styleUrl: './eui-app-header-appname-label.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiAppHeaderAppNameLabel {\n    @HostBinding('class') string = 'eui-app-header-appname-label';\n}\n",
            "styleUrl": "./eui-app-header-appname-label.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiAppHeaderAppNameSublabel",
            "id": "component-EuiAppHeaderAppNameSublabel-ce77646b132aa5d9fb786b2ef8fb086d75b5bf07cb2912aa46709ab6dd6e0c8b1e67d84efab2a71b3edfab47bc4bc9edffba023b950a29c63f3d707e59309331",
            "file": "packages/components/layout/eui-app-v2/eui-app-header/eui-app-header-appname-sub-label.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-header-appname-sub-label",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-app-header-appname-sub-label'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-header-appname-sub-label'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 10,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n    selector: 'eui-app-header-appname-sub-label',\n    template: '<ng-content />',\n    styleUrl: './eui-app-header-appname-sub-label.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiAppHeaderAppNameSublabel {\n    @HostBinding('class') string = 'eui-app-header-appname-sub-label';\n}\n",
            "styleUrl": "./eui-app-header-appname-sub-label.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiAppHeaderComponent",
            "id": "component-EuiAppHeaderComponent-4cb3cad292135c9541aaa4212146168ed7198ac8c14b238cd30fc31fcd8eccc43d612ea7e31259382008681a6a1a6f25ff4359632c12ce550e0badc525771fe2",
            "file": "packages/components/layout/eui-app/eui-app-header/header.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-header",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./header.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "isShrinkHeaderActive",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3797,
                            "end": 3817,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3798,
                                "end": 3805,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables automatic header height reduction when user scrolls down the page.\nWhen true, monitors viewport scroll position and applies shrinked styling to reduce header height, maximizing content area.\n",
                    "description": "<p>Enables automatic header height reduction when user scrolls down the page.\nWhen true, monitors viewport scroll position and applies shrinked styling to reduce header height, maximizing content area.</p>\n",
                    "line": 104,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 91
                },
                {
                    "name": "role",
                    "defaultValue": "'banner'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 96,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 144,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 120,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'banner'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 96,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 93,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "EuiSidebarToggleComponent",
                    "type": "component"
                }
            ],
            "description": "<p>Application header component that provides a top-level banner area for branding, navigation, and global actions.\nAutomatically registers with EuiAppShellService to coordinate layout calculations and CSS variable management.\nSupports automatic header shrinking on scroll to maximize content area when user scrolls down the page.\nIntegrates with Angular CDK ScrollDispatcher for optimized scroll event handling outside Angular zone.\nIncludes built-in sidebar toggle integration for responsive navigation control.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Basic app header --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-header&gt;\n    &lt;eui-header&gt;\n      &lt;eui-header-logo&gt;&lt;/eui-header-logo&gt;\n      &lt;eui-header-environment&gt;DEV&lt;/eui-header-environment&gt;\n      &lt;eui-header-app&gt;\n        &lt;eui-header-app-name&gt;&lt;strong&gt;My&lt;/strong&gt;Workplace&lt;/eui-header-app-name&gt;\n        &lt;eui-header-app-subtitle&gt;Dashboard&lt;/eui-header-app-subtitle&gt;\n      &lt;/eui-header-app&gt;\n      &lt;eui-header-user-profile&gt;\n        &lt;!-- User profile menu --&gt;\n      &lt;/eui-header-user-profile&gt;\n    &lt;/eui-header&gt;\n  &lt;/eui-app-header&gt;\n&lt;/eui-app&gt;\n\n&lt;!-- With shrink on scroll --&gt;\n&lt;eui-app [isShrinkHeaderActive]=&quot;true&quot;&gt;\n  &lt;eui-app-header [isShrinkHeaderActive]=&quot;true&quot;&gt;\n    &lt;eui-header&gt;\n      &lt;!-- Header content --&gt;\n    &lt;/eui-header&gt;\n  &lt;/eui-app-header&gt;\n&lt;/eui-app&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses role=&quot;banner&quot; for semantic landmark identification</li>\n<li>Provides consistent branding and navigation structure</li>\n<li>Sidebar toggle is keyboard accessible</li>\n<li>Header shrinking maintains accessibility in all states</li>\n<li>Child components handle their own accessibility features</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-app component for proper layout integration</li>\n<li>Automatically registers with EuiAppShellService on init</li>\n<li>Sets --eui-app-header-height CSS variable for layout calculations</li>\n<li>isShrinkHeaderActive enables scroll-based height reduction (default: false)</li>\n<li>Scroll detection runs outside Angular zone for performance</li>\n<li>Expects eui-header child component for content projection</li>\n<li>Includes built-in sidebar toggle for responsive layouts</li>\n<li>Cleans up layout state and CSS variables on destroy</li>\n<li>Header shrinks when viewport scroll position &gt; 0</li>\n<li>Positioned at top of application, above toolbar and content</li>\n</ul>\n",
            "rawdescription": "\n\nApplication header component that provides a top-level banner area for branding, navigation, and global actions.\nAutomatically registers with EuiAppShellService to coordinate layout calculations and CSS variable management.\nSupports automatic header shrinking on scroll to maximize content area when user scrolls down the page.\nIntegrates with Angular CDK ScrollDispatcher for optimized scroll event handling outside Angular zone.\nIncludes built-in sidebar toggle integration for responsive navigation control.\n\n```html\n<!-- Basic app header -->\n<eui-app>\n  <eui-app-header>\n    <eui-header>\n      <eui-header-logo></eui-header-logo>\n      <eui-header-environment>DEV</eui-header-environment>\n      <eui-header-app>\n        <eui-header-app-name><strong>My</strong>Workplace</eui-header-app-name>\n        <eui-header-app-subtitle>Dashboard</eui-header-app-subtitle>\n      </eui-header-app>\n      <eui-header-user-profile>\n        <!-- User profile menu -->\n      </eui-header-user-profile>\n    </eui-header>\n  </eui-app-header>\n</eui-app>\n\n<!-- With shrink on scroll -->\n<eui-app [isShrinkHeaderActive]=\"true\">\n  <eui-app-header [isShrinkHeaderActive]=\"true\">\n    <eui-header>\n      <!-- Header content -->\n    </eui-header>\n  </eui-app-header>\n</eui-app>\n```\n\n### Accessibility\n- Uses role=\"banner\" for semantic landmark identification\n- Provides consistent branding and navigation structure\n- Sidebar toggle is keyboard accessible\n- Header shrinking maintains accessibility in all states\n- Child components handle their own accessibility features\n\n### Notes\n- Must be used within eui-app component for proper layout integration\n- Automatically registers with EuiAppShellService on init\n- Sets --eui-app-header-height CSS variable for layout calculations\n- isShrinkHeaderActive enables scroll-based height reduction (default: false)\n- Scroll detection runs outside Angular zone for performance\n- Expects eui-header child component for content projection\n- Includes built-in sidebar toggle for responsive layouts\n- Cleans up layout state and CSS variables on destroy\n- Header shrinks when viewport scroll position > 0\n- Positioned at top of application, above toolbar and content\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ChangeDetectionStrategy,\n    ViewEncapsulation,\n    OnInit,\n    OnDestroy,\n    Input,\n    NgZone,\n    PLATFORM_ID,\n    inject,\n} from '@angular/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { ScrollDispatcher, ViewportRuler } from '@angular/cdk/scrolling';\nimport { EuiAppShellService } from '@eui/core';\n\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { CssUtils } from '@eui/core';\nimport { AsyncPipe, DOCUMENT } from '@angular/common';\nimport { EuiSidebarToggleComponent } from '../../eui-sidebar-toggle';\n\n/**\n * @description\n * Application header component that provides a top-level banner area for branding, navigation, and global actions.\n * Automatically registers with EuiAppShellService to coordinate layout calculations and CSS variable management.\n * Supports automatic header shrinking on scroll to maximize content area when user scrolls down the page.\n * Integrates with Angular CDK ScrollDispatcher for optimized scroll event handling outside Angular zone.\n * Includes built-in sidebar toggle integration for responsive navigation control.\n * \n * @usageNotes\n * ```html\n * <!-- Basic app header -->\n * <eui-app>\n *   <eui-app-header>\n *     <eui-header>\n *       <eui-header-logo></eui-header-logo>\n *       <eui-header-environment>DEV</eui-header-environment>\n *       <eui-header-app>\n *         <eui-header-app-name><strong>My</strong>Workplace</eui-header-app-name>\n *         <eui-header-app-subtitle>Dashboard</eui-header-app-subtitle>\n *       </eui-header-app>\n *       <eui-header-user-profile>\n *         <!-- User profile menu -->\n *       </eui-header-user-profile>\n *     </eui-header>\n *   </eui-app-header>\n * </eui-app>\n *\n * <!-- With shrink on scroll -->\n * <eui-app [isShrinkHeaderActive]=\"true\">\n *   <eui-app-header [isShrinkHeaderActive]=\"true\">\n *     <eui-header>\n *       <!-- Header content -->\n *     </eui-header>\n *   </eui-app-header>\n * </eui-app>\n * ```\n *\n * ### Accessibility\n * - Uses role=\"banner\" for semantic landmark identification\n * - Provides consistent branding and navigation structure\n * - Sidebar toggle is keyboard accessible\n * - Header shrinking maintains accessibility in all states\n * - Child components handle their own accessibility features\n *\n * ### Notes\n * - Must be used within eui-app component for proper layout integration\n * - Automatically registers with EuiAppShellService on init\n * - Sets --eui-app-header-height CSS variable for layout calculations\n * - isShrinkHeaderActive enables scroll-based height reduction (default: false)\n * - Scroll detection runs outside Angular zone for performance\n * - Expects eui-header child component for content projection\n * - Includes built-in sidebar toggle for responsive layouts\n * - Cleans up layout state and CSS variables on destroy\n * - Header shrinks when viewport scroll position > 0\n * - Positioned at top of application, above toolbar and content\n */\n@Component({\n    selector: 'eui-app-header',\n    templateUrl: './header.component.html',\n    styleUrl: './header.scss',\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        AsyncPipe,\n        EuiSidebarToggleComponent,\n    ],\n})\nexport class EuiAppHeaderComponent implements OnInit, OnDestroy {\n    asService = inject(EuiAppShellService);\n    @HostBinding('class')\n    get cssClasses(): string {\n        return this.getCssClasses();\n    }\n    @HostBinding('attr.role') role = 'banner';\n\n    /**\n     * Enables automatic header height reduction when user scrolls down the page.\n     * When true, monitors viewport scroll position and applies shrinked styling to reduce header height, maximizing content area.\n     * @default false\n     */\n    @Input()\n    get isShrinkHeaderActive(): boolean {\n        return this._isShrinkHeaderActive;\n    }\n    set isShrinkHeaderActive(value: BooleanInput) {\n        this._isShrinkHeaderActive = coerceBooleanProperty(value);\n    }\n    private _isShrinkHeaderActive = false;\n\n    private isHeaderShrinked = false;\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private zone = inject(NgZone);\n    private viewportRuler = inject(ViewportRuler);\n    private scrollDispatcher = inject(ScrollDispatcher);\n    private document = inject<Document>(DOCUMENT);\n    private platformId = inject(PLATFORM_ID);\n\n    ngOnInit(): void {\n        this.asService.activateHeader();\n\n        // Scrolled is running outside angular zone (for performance reasons - less change detections).\n        // Read more: https://material.angular.io/cdk/scrolling/api#ScrollDispatcher\n        // scrolled uses DEFAULT_SCROLL_TIME which is 20ms\n        this.scrollDispatcher\n            .scrolled()\n            .pipe(\n                filter(() => this.isShrinkHeaderActive),\n                takeUntil(this.destroy$),\n            )\n            .subscribe(() => {\n                // read the top scroll position of the viewport\n                const topScrollPos = this.viewportRuler.getViewportScrollPosition().top;\n                CssUtils.setHeaderShrinkCssVar(topScrollPos > 0, this.document, this.platformId);\n                // change the shrinkHeader value only if it's different from the current one\n                if (topScrollPos > 0 !== this.isHeaderShrinked) {\n                    // we need to run this inside angular zone to trigger change detection in CSS\n                    this.zone.run(() => (this.isHeaderShrinked = topScrollPos > 0));\n                }\n            });\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n        // cleanup\n        this.asService.setState({\n            ...this.asService.state,\n            hasHeader: false,\n        });\n        this.document.documentElement.style.removeProperty('--eui-app-header-height');\n    }\n\n    private getCssClasses(): string {\n        return ['eui-app-header', this.isHeaderShrinked ? 'eui-app-header--shrinked' : ''].join(' ');\n    }\n}\n",
            "styleUrl": "./header.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 93
                    }
                },
                "isShrinkHeaderActive": {
                    "name": "isShrinkHeaderActive",
                    "setSignature": {
                        "name": "isShrinkHeaderActive",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 107,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "isShrinkHeaderActive",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 104,
                        "rawdescription": "\n\nEnables automatic header height reduction when user scrolls down the page.\nWhen true, monitors viewport scroll position and applies shrinked styling to reduce header height, maximizing content area.\n",
                        "description": "<p>Enables automatic header height reduction when user scrolls down the page.\nWhen true, monitors viewport scroll position and applies shrinked styling to reduce header height, maximizing content area.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 3797,
                                "end": 3817,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 3798,
                                    "end": 3805,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "default"
                                },
                                "comment": "<p>false</p>\n"
                            }
                        ]
                    }
                }
            },
            "templateData": "@if ((asService.state$ | async).hasSidebar && (asService.state$ | async).hasHeader && !(asService.state$ | async).hasToolbar) {\n    <eui-sidebar-toggle class=\"eui-app-header__sidebar-toggle\"/>\n}\n<ng-content select=\"eui-header\"/>\n"
        },
        {
            "name": "EuiAppHeaderEnvironment",
            "id": "component-EuiAppHeaderEnvironment-9278e1490f18a00e812e9c2cb9f5a6056792c18f784ff43193e5d9525bf43a1f34c6bf5c54f4f197a0b9313868c5a9fd9458c8a7ded0a96eb69d9e950ab7a5f7",
            "file": "packages/components/layout/eui-app-v2/eui-app-header/eui-app-header-environment.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-header-environment",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 12,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "cssClass",
                    "defaultValue": "'eui-app-header-environment'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 11,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 23,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 15,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-header-environment'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 11,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { Component, ChangeDetectionStrategy, HostBinding, OnInit, ElementRef, OnDestroy, inject } from '@angular/core';\nimport { EuiAppShellService } from '@eui/core';\n\n@Component({\n    selector: 'eui-app-header-environment',\n    template: '<ng-content />',\n    styleUrl: './eui-app-header-environment.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiAppHeaderEnvironment implements OnInit, OnDestroy {\n    @HostBinding('class') cssClass = 'eui-app-header-environment';\n    protected asService = inject(EuiAppShellService);\n    private elRef = inject(ElementRef);\n\n    ngOnInit(): void {\n        this.asService?.setState({\n            ...this.asService.state,\n            hasHeaderEnvironment: true,\n            environmentValue: this.elRef.nativeElement.innerHTML,\n        });\n    }\n\n    ngOnDestroy(): void {\n        this.asService?.setState({\n            ...this.asService.state,\n            hasHeaderEnvironment: false,\n        });\n    }\n}\n",
            "styleUrl": "./eui-app-header-environment.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy"
            ]
        },
        {
            "name": "EuiAppHeaderLogo",
            "id": "component-EuiAppHeaderLogo-1c5f3ee01a462573d798cf3ef23427aeafb8f40b9e69f0ba77ee9234899a84097aaecfe4b76571d4185e3a782bb0a0ff5060c9f36ddfafbc95f1b9b8869f240f",
            "file": "packages/components/layout/eui-app-v2/eui-app-header/eui-app-header-logo.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-header-logo",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-app-header-logo.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "homeUrl",
                    "defaultValue": "'..'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 31,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "logoHeight",
                    "defaultValue": "'64px'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 33,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "logoUrl",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 32,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "logoWidth",
                    "defaultValue": "'260px'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 34,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 36,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "cssClass",
                    "defaultValue": "'eui-app-header-logo'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 29,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "euiThemeService",
                    "defaultValue": "inject(EuiThemeService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 37,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "logoStyle",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 38,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 71,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 43,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-header-logo'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 29,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "RouterLink"
                },
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "TranslateModule",
                    "type": "module"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { AsyncPipe } from '@angular/common';\nimport {\n    Component,\n    HostBinding,\n    ViewEncapsulation,\n    Input,\n    OnInit,\n    OnDestroy,\n    inject,\n} from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { EuiAppShellService, EuiThemeService } from '@eui/core';\nimport { EuiConfig } from '@eui/core';\nimport { EUI_CONFIG_TOKEN } from '@eui/core';\n\n@Component({\n    selector: 'eui-app-header-logo',\n    templateUrl: './eui-app-header-logo.html',\n    styleUrl: './eui-app-header-logo.scss',\n    imports: [\n        RouterLink,\n        AsyncPipe,\n        TranslateModule,\n    ],\n})\nexport class EuiAppHeaderLogo implements OnInit, OnDestroy {\n    @HostBinding('class') cssClass = 'eui-app-header-logo';\n\n    @Input() homeUrl = '..';\n    @Input() logoUrl: string;\n    @Input() logoHeight = '64px'\n    @Input() logoWidth = '260px';    \n\n    protected asService = inject(EuiAppShellService);\n    protected euiThemeService = inject(EuiThemeService);\n    protected logoStyle;\n    private logo: string;\n    private assetsBaseUrl: string;\n    private config = inject<EuiConfig>(EUI_CONFIG_TOKEN, { optional: true })!;\n\n    ngOnInit(): void {\n        this.asService?.setState({\n            ...this.asService.state,\n            hasHeaderLogo: true,\n        });\n        this.asService?.getState('activeLanguage').subscribe((activeLanguage) => {\n            this.logo = 'logo-ec--' + activeLanguage;\n        });\n        this.assetsBaseUrl = this.config?.appConfig?.global?.eui?.assetsBaseUrl || 'assets';\n        this.logoStyle = `width:${this.logoWidth}; height:${this.logoHeight};`;\n    }\n\n    get svgUrl(): string {\n        if (this.logoUrl) {\n            return this.logoUrl;\n        } else {\n            return `${this.assetsBaseUrl}/ecl/ec/logo/positive/${this.logo}.svg`;\n        }\n    }\n\n    get svgUrlDark(): string {\n        if (this.logoUrl) {\n            return this.logoUrl;\n        } else {\n            return `${this.assetsBaseUrl}/ecl/ec/logo/negative/${this.logo}.svg`;\n        }   \n    }\n\n    ngOnDestroy(): void {\n        this.asService?.setState({\n            ...this.asService.state,\n            hasHeaderLogo: false,\n        });\n    }\n}\n",
            "styleUrl": "./eui-app-header-logo.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy"
            ],
            "accessors": {
                "svgUrl": {
                    "name": "svgUrl",
                    "getSignature": {
                        "name": "svgUrl",
                        "type": "string",
                        "returnType": "string",
                        "line": 55
                    }
                },
                "svgUrlDark": {
                    "name": "svgUrlDark",
                    "getSignature": {
                        "name": "svgUrlDark",
                        "type": "string",
                        "returnType": "string",
                        "line": 63
                    }
                }
            },
            "templateData": "@if ((euiThemeService.state$ | async).theme.isDark) {\n    <img class=\"eui-app-header__logo-image\" [src]=\"svgUrlDark\" [routerLink]=\"homeUrl\" [style]=\"logoStyle\" alt=\"{{ 'eui.header.LOGO' | translate }}\" />\n\n} @else {\n    <img class=\"eui-app-header__logo-image\" [src]=\"svgUrl\" [routerLink]=\"homeUrl\" [style]=\"logoStyle\" alt=\"{{ 'eui.header.LOGO' | translate }}\" />\n}\n"
        },
        {
            "name": "EuiAppHeaderRightContent",
            "id": "component-EuiAppHeaderRightContent-964a4fe1b33ded23ac550f3c70c3cfdbd73aac3df6b37dc80097bcb6e28ef007e74ad277fc428f9ddf943a5236f12351ad9379f60936d6608dbfb74c19fd2f0e",
            "file": "packages/components/layout/eui-app-v2/eui-app-header/eui-app-header-right-content.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-header-right-content",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "cssClass",
                    "defaultValue": "'eui-app-header-right-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 9,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-header-right-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 9,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { Component, ChangeDetectionStrategy, HostBinding } from '@angular/core';\n\n@Component({\n    selector: 'eui-app-header-right-content',\n    template: '<ng-content />',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiAppHeaderRightContent {\n    @HostBinding('class') cssClass = 'eui-app-header-right-content';\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiAppHeaderSearch",
            "id": "component-EuiAppHeaderSearch-5aec5e5671c5b8ce35ccd818ae9529340e5df2d23fe9ee21668ca0da88fa16019958d75511b8d85f0090d33154bcae9ead369eb0aba5e5a7f3132a6695457fef",
            "file": "packages/components/layout/eui-app-v2/eui-app-header/eui-app-header-search.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-header-search",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-app-header-search.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "placeholder",
                    "defaultValue": "'Type something...'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 31,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "searchLabel",
                    "defaultValue": "'Search'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 32,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "searchClick",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 34,
                    "type": "EventEmitter<string>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "cssClass",
                    "defaultValue": "'eui-app-header-search'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 29,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "inputValue",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 36,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onSearch",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 38,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-header-search'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 29,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "FormsModule",
                    "type": "module"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_INPUT_TEXT"
                },
                {
                    "name": "EUI_INPUT_GROUP"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    ChangeDetectionStrategy,\n    HostBinding,\n    Input,\n    EventEmitter,\n    Output,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_INPUT_GROUP } from '@eui/components/eui-input-group';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\n\n@Component({\n    selector: 'eui-app-header-search',\n    templateUrl: './eui-app-header-search.html',\n    styleUrl: './eui-app-header-search.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        FormsModule,\n        ...EUI_ICON,\n        ...EUI_BUTTON,\n        ...EUI_INPUT_TEXT,\n        ...EUI_INPUT_GROUP,\n    ],\n})\nexport class EuiAppHeaderSearch {\n    @HostBinding('class') cssClass = 'eui-app-header-search';\n\n    @Input() placeholder = 'Type something...';\n    @Input() searchLabel = 'Search';\n\n    @Output() searchClick: EventEmitter<string> = new EventEmitter();\n\n    protected inputValue: string;\n\n    onSearch(): void {\n        this.searchClick.emit(this.inputValue);\n    }\n}\n",
            "styleUrl": "./eui-app-header-search.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "<div euiInputGroup class=\"eui-u-m-none\">\n    <div euiInputGroupAddOn>\n        <input euiInputText [(ngModel)]=\"inputValue\" type=\"search\" placeholder=\"Search\" aria-label=\"Search website\"/>\n\n        <button euiButton euiSecondary (click)=\"onSearch()\">\n            <eui-icon-svg icon=\"eui-search\" size=\"s\"></eui-icon-svg>\n            Search\n        </button>\n    </div>\n</div>\n"
        },
        {
            "name": "EuiAppSidebar",
            "id": "component-EuiAppSidebar-98265b2db1505502c79092bd270ddc39220b74d6cb9fe7c124d0008406ce9d72e3d3dc28f46406adad2d387bb9ea3b4603e8e58f26dce9f80c62bad5bc7f6e92",
            "file": "packages/components/layout/eui-app-v2/eui-app-sidebar/eui-app-sidebar.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-sidebar",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-app-sidebar.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "role",
                    "defaultValue": "'nav'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 27,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 31,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onClose",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 35,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'nav'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 27,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 22,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_ICON_BUTTON"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import {\n    ChangeDetectionStrategy,\n    Component,\n    HostBinding,\n    inject,\n    OnInit,\n} from '@angular/core';\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\nimport { EuiAppShellService } from '@eui/core';\n\n@Component({\n    selector: 'eui-app-sidebar',\n    templateUrl: './eui-app-sidebar.html',\n    styleUrl: './eui-app-sidebar.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        ...EUI_ICON_BUTTON,\n    ], \n})\nexport class EuiAppSidebar implements OnInit {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-app-sidebar',\n        ].join(' ').trim();\n    }\n    @HostBinding('attr.role') role = 'nav';\n\n    private asService = inject(EuiAppShellService);\n\n    ngOnInit(): void {\n        this.asService?.activateSidebar();        \n    }\n\n    onClose(): void {\n        this.asService.sidebarToggle();\n    }\n}",
            "styleUrl": "./eui-app-sidebar.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 22
                    }
                }
            },
            "templateData": "<div class=\"eui-app-sidebar-wrapper\">\n    <ng-content select=\"eui-app-sidebar-header\"/>\n    <ng-content select=\"eui-app-sidebar-body\"/>\n    <ng-content select=\"eui-app-sidebar-footer\"/>\n    <ng-content/>\n    <div class=\"eui-app-sidebar-mobile-toggle\">\n        <eui-icon-button icon=\"eui-close\" size=\"l\" (buttonClick)=\"onClose()\"/>\n    </div>\n</div>\n"
        },
        {
            "name": "EuiAppSidebarBody",
            "id": "component-EuiAppSidebarBody-1081831b5923055a809c4ed0693f1b762770fc92b6c74ebcb0d4974e87acb4f0d56a11f5f22fb9e45efb061ab4815657029e08ecbafad091ff147c0a6c338762",
            "file": "packages/components/layout/eui-app-v2/eui-app-sidebar/eui-app-sidebar-body.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-sidebar-body",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-app-sidebar-body'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-sidebar-body'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 10,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n@Component({\n    selector: 'eui-app-sidebar-body',\n    styleUrl: './eui-app-sidebar-body.scss',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiAppSidebarBody {\n    @HostBinding('class') string = 'eui-app-sidebar-body';\n}\n",
            "styleUrl": "./eui-app-sidebar-body.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiAppSidebarBodyComponent",
            "id": "component-EuiAppSidebarBodyComponent-683422683328d6dd16468bca705624deb7c011bd4641e6a4dea016335b73a0d1fb06569d17445c2a6c8768b5823f794ec79ffd663ff1e1c3fa2f110fedad5f0a",
            "file": "packages/components/layout/eui-app/eui-app-sidebar/sidebar-body/sidebar-body.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-sidebar-body",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./sidebar-body.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-sidebar-body'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 48,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": ""
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-sidebar-body'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 48,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Container component for the main content area of the sidebar, positioned between header and footer.\nProvides a scrollable region for sidebar navigation menus or other interactive content.\nAutomatically handles vertical spacing to accommodate sidebar header and footer when present.\nContent is projected via ng-content allowing flexible body composition.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Sidebar body with navigation menu --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-sidebar&gt;\n    &lt;eui-app-sidebar-body&gt;\n      &lt;eui-app-sidebar-menu\n        [items]=&quot;sidebarItems&quot;\n        [hasFilter]=&quot;true&quot;\n        [hasIcons]=&quot;true&quot;&gt;\n      &lt;/eui-app-sidebar-menu&gt;\n    &lt;/eui-app-sidebar-body&gt;\n  &lt;/eui-app-sidebar&gt;\n&lt;/eui-app&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Provides scrollable navigation region</li>\n<li>Content projection allows flexible accessible structure</li>\n<li>Child menu components handle keyboard navigation</li>\n<li>Scroll behavior maintains focus visibility</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-app-sidebar for proper layout integration</li>\n<li>Positioned between eui-app-sidebar-header and eui-app-sidebar-footer</li>\n<li>Typically contains eui-app-sidebar-menu for navigation</li>\n<li>Automatically scrollable when content exceeds available height</li>\n<li>Content is projected via ng-content for flexible composition</li>\n<li>Vertical spacing automatically adjusts for header/footer presence</li>\n<li>Takes remaining vertical space between header and footer</li>\n</ul>\n",
            "rawdescription": "\n\nContainer component for the main content area of the sidebar, positioned between header and footer.\nProvides a scrollable region for sidebar navigation menus or other interactive content.\nAutomatically handles vertical spacing to accommodate sidebar header and footer when present.\nContent is projected via ng-content allowing flexible body composition.\n\n```html\n<!-- Sidebar body with navigation menu -->\n<eui-app>\n  <eui-app-sidebar>\n    <eui-app-sidebar-body>\n      <eui-app-sidebar-menu\n        [items]=\"sidebarItems\"\n        [hasFilter]=\"true\"\n        [hasIcons]=\"true\">\n      </eui-app-sidebar-menu>\n    </eui-app-sidebar-body>\n  </eui-app-sidebar>\n</eui-app>\n```\n\n### Accessibility\n- Provides scrollable navigation region\n- Content projection allows flexible accessible structure\n- Child menu components handle keyboard navigation\n- Scroll behavior maintains focus visibility\n\n### Notes\n- Must be used within eui-app-sidebar for proper layout integration\n- Positioned between eui-app-sidebar-header and eui-app-sidebar-footer\n- Typically contains eui-app-sidebar-menu for navigation\n- Automatically scrollable when content exceeds available height\n- Content is projected via ng-content for flexible composition\n- Vertical spacing automatically adjusts for header/footer presence\n- Takes remaining vertical space between header and footer\n",
            "type": "component",
            "sourceCode": "import { Component, ChangeDetectionStrategy, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n * @description\n * Container component for the main content area of the sidebar, positioned between header and footer.\n * Provides a scrollable region for sidebar navigation menus or other interactive content.\n * Automatically handles vertical spacing to accommodate sidebar header and footer when present.\n * Content is projected via ng-content allowing flexible body composition.\n * \n * @usageNotes\n * ```html\n * <!-- Sidebar body with navigation menu -->\n * <eui-app>\n *   <eui-app-sidebar>\n *     <eui-app-sidebar-body>\n *       <eui-app-sidebar-menu\n *         [items]=\"sidebarItems\"\n *         [hasFilter]=\"true\"\n *         [hasIcons]=\"true\">\n *       </eui-app-sidebar-menu>\n *     </eui-app-sidebar-body>\n *   </eui-app-sidebar>\n * </eui-app>\n * ```\n *\n * ### Accessibility\n * - Provides scrollable navigation region\n * - Content projection allows flexible accessible structure\n * - Child menu components handle keyboard navigation\n * - Scroll behavior maintains focus visibility\n *\n * ### Notes\n * - Must be used within eui-app-sidebar for proper layout integration\n * - Positioned between eui-app-sidebar-header and eui-app-sidebar-footer\n * - Typically contains eui-app-sidebar-menu for navigation\n * - Automatically scrollable when content exceeds available height\n * - Content is projected via ng-content for flexible composition\n * - Vertical spacing automatically adjusts for header/footer presence\n * - Takes remaining vertical space between header and footer\n */\n@Component({\n    selector: 'eui-app-sidebar-body',\n    templateUrl: './sidebar-body.component.html',\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiAppSidebarBodyComponent {\n    @HostBinding() class = 'eui-app-sidebar-body';\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "<ng-content select=\"eui-app-sidebar-menu\"/>\n<ng-content/>\n"
        },
        {
            "name": "EuiAppSidebarComponent",
            "id": "component-EuiAppSidebarComponent-e1af976c59fe0c9945da1f1b79904f303d0f2b27e9ce48803e260299cfcdb6542a3dc20dce0f83c21449e6638ff054b72cf921a7ff366acd0cf3f27a3bd3debe",
            "file": "packages/components/layout/eui-app/eui-app-sidebar/sidebar.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-sidebar",
            "styleUrls": [
                "./_styles/_index.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./sidebar.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService, { optional: true })!",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 83
                },
                {
                    "name": "string",
                    "defaultValue": "'eui-app-sidebar'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 81,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "close",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 88,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'body:click'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 113,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 97,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-sidebar'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 81,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [
                {
                    "name": "body:click",
                    "args": [],
                    "argsDecorator": [],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 88
                }
            ],
            "standalone": false,
            "imports": [],
            "description": "<p>Application sidebar component that provides a collapsible navigation panel for the application shell.\nAutomatically registers with EuiAppShellService to coordinate layout state and responsive behavior.\nHandles automatic collapse on mobile and tablet breakpoints, and closes on body clicks in responsive modes.\nManages CSS variables for sidebar dimensions to ensure proper content area positioning.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Basic sidebar within app structure --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-sidebar&gt;\n    &lt;eui-app-sidebar-header&gt;\n      &lt;eui-app-sidebar-header-user-profile\n        (toggle)=&quot;onSidebarProfileToggle($event)&quot;\n        [hasProfileDrawer]=&quot;true&quot;&gt;\n      &lt;/eui-app-sidebar-header-user-profile&gt;\n    &lt;/eui-app-sidebar-header&gt;\n\n    &lt;eui-app-sidebar-drawer [isExpanded]=&quot;false&quot;&gt;\n      &lt;p&gt;User profile details&lt;/p&gt;\n    &lt;/eui-app-sidebar-drawer&gt;\n\n    &lt;eui-app-sidebar-body&gt;\n      &lt;eui-app-sidebar-menu\n        [items]=&quot;sidebarItems&quot;\n        [hasFilter]=&quot;true&quot;\n        [hasIcons]=&quot;true&quot;&gt;\n      &lt;/eui-app-sidebar-menu&gt;\n    &lt;/eui-app-sidebar-body&gt;\n\n    &lt;eui-app-sidebar-footer&gt;\n      Footer content\n    &lt;/eui-app-sidebar-footer&gt;\n  &lt;/eui-app-sidebar&gt;\n&lt;/eui-app&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Provides semantic navigation structure for sidebar content</li>\n<li>Keyboard navigation supported through child menu components</li>\n<li>Automatically closes on mobile/tablet for better UX</li>\n<li>Focus management handled by child components</li>\n<li>Collapsible behavior maintains accessibility in all states</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-app component for proper layout integration</li>\n<li>Automatically registers with EuiAppShellService on init</li>\n<li>Manages CSS variables for sidebar width calculations</li>\n<li>Automatically collapses on mobile and tablet breakpoints</li>\n<li>Closes on body clicks when in responsive mode</li>\n<li>Expects child components: eui-app-sidebar-header, eui-app-sidebar-body, eui-app-sidebar-footer</li>\n<li>Optional eui-app-sidebar-drawer for expandable content (e.g., user profile)</li>\n<li>Cleans up layout state and CSS variables on destroy</li>\n<li>Sidebar state controlled via EuiAppShellService.isSidebarOpen</li>\n</ul>\n",
            "rawdescription": "\n\nApplication sidebar component that provides a collapsible navigation panel for the application shell.\nAutomatically registers with EuiAppShellService to coordinate layout state and responsive behavior.\nHandles automatic collapse on mobile and tablet breakpoints, and closes on body clicks in responsive modes.\nManages CSS variables for sidebar dimensions to ensure proper content area positioning.\n\n```html\n<!-- Basic sidebar within app structure -->\n<eui-app>\n  <eui-app-sidebar>\n    <eui-app-sidebar-header>\n      <eui-app-sidebar-header-user-profile\n        (toggle)=\"onSidebarProfileToggle($event)\"\n        [hasProfileDrawer]=\"true\">\n      </eui-app-sidebar-header-user-profile>\n    </eui-app-sidebar-header>\n\n    <eui-app-sidebar-drawer [isExpanded]=\"false\">\n      <p>User profile details</p>\n    </eui-app-sidebar-drawer>\n\n    <eui-app-sidebar-body>\n      <eui-app-sidebar-menu\n        [items]=\"sidebarItems\"\n        [hasFilter]=\"true\"\n        [hasIcons]=\"true\">\n      </eui-app-sidebar-menu>\n    </eui-app-sidebar-body>\n\n    <eui-app-sidebar-footer>\n      Footer content\n    </eui-app-sidebar-footer>\n  </eui-app-sidebar>\n</eui-app>\n```\n\n### Accessibility\n- Provides semantic navigation structure for sidebar content\n- Keyboard navigation supported through child menu components\n- Automatically closes on mobile/tablet for better UX\n- Focus management handled by child components\n- Collapsible behavior maintains accessibility in all states\n\n### Notes\n- Must be used within eui-app component for proper layout integration\n- Automatically registers with EuiAppShellService on init\n- Manages CSS variables for sidebar width calculations\n- Automatically collapses on mobile and tablet breakpoints\n- Closes on body clicks when in responsive mode\n- Expects child components: eui-app-sidebar-header, eui-app-sidebar-body, eui-app-sidebar-footer\n- Optional eui-app-sidebar-drawer for expandable content (e.g., user profile)\n- Cleans up layout state and CSS variables on destroy\n- Sidebar state controlled via EuiAppShellService.isSidebarOpen\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ChangeDetectionStrategy,\n    ViewEncapsulation,\n    OnInit,\n    HostListener,\n    OnDestroy,\n    inject,\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { EuiAppShellService } from '@eui/core';\nimport { CssUtils } from '@eui/core';\n\n/**\n * @description\n * Application sidebar component that provides a collapsible navigation panel for the application shell.\n * Automatically registers with EuiAppShellService to coordinate layout state and responsive behavior.\n * Handles automatic collapse on mobile and tablet breakpoints, and closes on body clicks in responsive modes.\n * Manages CSS variables for sidebar dimensions to ensure proper content area positioning.\n * \n * @usageNotes\n * ```html\n * <!-- Basic sidebar within app structure -->\n * <eui-app>\n *   <eui-app-sidebar>\n *     <eui-app-sidebar-header>\n *       <eui-app-sidebar-header-user-profile \n *         (toggle)=\"onSidebarProfileToggle($event)\"\n *         [hasProfileDrawer]=\"true\">\n *       </eui-app-sidebar-header-user-profile>\n *     </eui-app-sidebar-header>\n *     \n *     <eui-app-sidebar-drawer [isExpanded]=\"false\">\n *       <p>User profile details</p>\n *     </eui-app-sidebar-drawer>\n *     \n *     <eui-app-sidebar-body>\n *       <eui-app-sidebar-menu\n *         [items]=\"sidebarItems\"\n *         [hasFilter]=\"true\"\n *         [hasIcons]=\"true\">\n *       </eui-app-sidebar-menu>\n *     </eui-app-sidebar-body>\n *     \n *     <eui-app-sidebar-footer>\n *       Footer content\n *     </eui-app-sidebar-footer>\n *   </eui-app-sidebar>\n * </eui-app>\n * ```\n *\n * ### Accessibility\n * - Provides semantic navigation structure for sidebar content\n * - Keyboard navigation supported through child menu components\n * - Automatically closes on mobile/tablet for better UX\n * - Focus management handled by child components\n * - Collapsible behavior maintains accessibility in all states\n *\n * ### Notes\n * - Must be used within eui-app component for proper layout integration\n * - Automatically registers with EuiAppShellService on init\n * - Manages CSS variables for sidebar width calculations\n * - Automatically collapses on mobile and tablet breakpoints\n * - Closes on body clicks when in responsive mode\n * - Expects child components: eui-app-sidebar-header, eui-app-sidebar-body, eui-app-sidebar-footer\n * - Optional eui-app-sidebar-drawer for expandable content (e.g., user profile)\n * - Cleans up layout state and CSS variables on destroy\n * - Sidebar state controlled via EuiAppShellService.isSidebarOpen\n */\n@Component({\n    selector: 'eui-app-sidebar',\n    templateUrl: './sidebar.component.html',\n    styleUrls: ['./_styles/_index.scss'],\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiAppSidebarComponent implements OnInit, OnDestroy {\n    @HostBinding('class') string = 'eui-app-sidebar';\n\n    asService = inject(EuiAppShellService, { optional: true })!;\n    private subscriptions: Subscription[] = [];\n    private document = inject<Document>(DOCUMENT);\n\n    @HostListener('body:click')\n    close(): void {\n        if (\n            this.asService &&\n            (this.asService.state.breakpoints.isMobile || this.asService.state.breakpoints.isTablet || this.asService.state.isSidebarHidden)\n        ) {\n            this.asService.isSidebarOpen = false;\n        }\n    }\n\n    ngOnInit(): void {\n        this.asService?.activateSidebar();\n        this.subscriptions.push(\n            this.asService\n                ?.getState('breakpoints.isMobile')\n                .pipe(filter((s) => s === true))\n                .subscribe(() => (this.asService.isSidebarOpen = false)),\n        );\n        this.subscriptions.push(\n            this.asService\n                ?.getState('breakpoints.isTablet')\n                .pipe(filter((s) => s === true))\n                .subscribe(() => (this.asService.isSidebarOpen = false)),\n        );\n    }\n\n    ngOnDestroy(): void {\n        this.subscriptions.forEach((s) => s.unsubscribe());\n        this.asService?.setState({\n            ...this.asService.state,\n            hasSidebar: false,\n        });\n        CssUtils.removeSidebarCssVars(this.document);\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@forward 'sidebar';\n@forward 'sidebar.mq';\n@forward 'sidebar-drawer';\n",
                    "styleUrl": "./_styles/_index.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy"
            ],
            "templateData": "<aside class=\"eui-app-sidebar-content\">\n    <ng-content select=\"eui-app-sidebar-header-user-profile\"></ng-content>\n    <ng-content select=\"eui-app-sidebar-header\"></ng-content>\n    <ng-content select=\"eui-app-sidebar-body\"></ng-content>\n    <ng-content select=\"eui-app-sidebar-footer\"></ng-content>\n    <ng-content select=\"eui-app-sidebar-drawer\"></ng-content>\n</aside>\n"
        },
        {
            "name": "EuiAppSidebarDrawerComponent",
            "id": "component-EuiAppSidebarDrawerComponent-4ec9beb5ca57314d1c88a76fb9c700dc5fbdce4b4507bca2c8c036b2200327542f76b7e16120c499854c27cce9f762bc9c011d4d4a2e1c4c0a8c9150373beb7f",
            "file": "packages/components/layout/eui-app/eui-app-sidebar/sidebar-drawer/sidebar-drawer.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-sidebar-drawer",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./sidebar-drawer.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "isExpanded",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2814,
                            "end": 2834,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2815,
                                "end": 2822,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls the expanded/collapsed state of the drawer panel.\nWhen true, drawer slides out to display its content. When false, drawer is hidden.\nAccepts boolean or boolean-coercible values (string 'true'/'false', empty attribute).\n",
                    "description": "<p>Controls the expanded/collapsed state of the drawer panel.\nWhen true, drawer slides out to display its content. When false, drawer is hidden.\nAccepts boolean or boolean-coercible values (string &#39;true&#39;/&#39;false&#39;, empty attribute).</p>\n",
                    "line": 73,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "onSidebarDrawerContentClick",
                    "args": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 85,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 80,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Expandable drawer component that slides out from the sidebar to display additional content or details.\nProvides a secondary panel for contextual information, settings, or extended navigation without leaving the current view.\nManages expanded/collapsed state with corresponding CSS classes for animation and positioning.\nPrevents event propagation from drawer content to avoid unintended sidebar interactions.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Sidebar drawer for user profile details --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-sidebar&gt;\n    &lt;eui-app-sidebar-header&gt;\n      &lt;eui-app-sidebar-header-user-profile\n        (toggle)=&quot;onSidebarProfileToggle($event)&quot;\n        [hasProfileDrawer]=&quot;true&quot;&gt;\n      &lt;/eui-app-sidebar-header-user-profile&gt;\n    &lt;/eui-app-sidebar-header&gt;\n\n    &lt;eui-app-sidebar-drawer [isExpanded]=&quot;drawerExpanded&quot;&gt;\n      &lt;p&gt;&lt;strong&gt;User Profile Details&lt;/strong&gt;&lt;/p&gt;\n      &lt;p&gt;Additional user information and settings&lt;/p&gt;\n    &lt;/eui-app-sidebar-drawer&gt;\n\n    &lt;eui-app-sidebar-body&gt;\n      &lt;eui-app-sidebar-menu [items]=&quot;sidebarItems&quot;&gt;&lt;/eui-app-sidebar-menu&gt;\n    &lt;/eui-app-sidebar-body&gt;\n  &lt;/eui-app-sidebar&gt;\n&lt;/eui-app&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">drawerExpanded = false;\n\nonSidebarProfileToggle(event: any): void {\n  this.drawerExpanded = !this.drawerExpanded;\n}</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Drawer content is keyboard accessible</li>\n<li>Expanded/collapsed state is visually indicated</li>\n<li>Content within drawer maintains focus management</li>\n<li>Event propagation prevented to avoid sidebar conflicts</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-app-sidebar for proper layout integration</li>\n<li>isExpanded controls drawer visibility (default: false)</li>\n<li>Typically toggled via eui-app-sidebar-header-user-profile</li>\n<li>Commonly used for user profile details or extended settings</li>\n<li>Drawer slides out over sidebar content when expanded</li>\n<li>Content is projected via ng-content for flexible composition</li>\n<li>Automatically prevents click events from propagating to sidebar</li>\n<li>Positioned between sidebar header and body in layout</li>\n<li>Includes automatic scroll when content exceeds viewport height</li>\n</ul>\n",
            "rawdescription": "\n\nExpandable drawer component that slides out from the sidebar to display additional content or details.\nProvides a secondary panel for contextual information, settings, or extended navigation without leaving the current view.\nManages expanded/collapsed state with corresponding CSS classes for animation and positioning.\nPrevents event propagation from drawer content to avoid unintended sidebar interactions.\n\n```html\n<!-- Sidebar drawer for user profile details -->\n<eui-app>\n  <eui-app-sidebar>\n    <eui-app-sidebar-header>\n      <eui-app-sidebar-header-user-profile\n        (toggle)=\"onSidebarProfileToggle($event)\"\n        [hasProfileDrawer]=\"true\">\n      </eui-app-sidebar-header-user-profile>\n    </eui-app-sidebar-header>\n\n    <eui-app-sidebar-drawer [isExpanded]=\"drawerExpanded\">\n      <p><strong>User Profile Details</strong></p>\n      <p>Additional user information and settings</p>\n    </eui-app-sidebar-drawer>\n\n    <eui-app-sidebar-body>\n      <eui-app-sidebar-menu [items]=\"sidebarItems\"></eui-app-sidebar-menu>\n    </eui-app-sidebar-body>\n  </eui-app-sidebar>\n</eui-app>\n```\n\n```ts\ndrawerExpanded = false;\n\nonSidebarProfileToggle(event: any): void {\n  this.drawerExpanded = !this.drawerExpanded;\n}\n```\n\n### Accessibility\n- Drawer content is keyboard accessible\n- Expanded/collapsed state is visually indicated\n- Content within drawer maintains focus management\n- Event propagation prevented to avoid sidebar conflicts\n\n### Notes\n- Must be used within eui-app-sidebar for proper layout integration\n- isExpanded controls drawer visibility (default: false)\n- Typically toggled via eui-app-sidebar-header-user-profile\n- Commonly used for user profile details or extended settings\n- Drawer slides out over sidebar content when expanded\n- Content is projected via ng-content for flexible composition\n- Automatically prevents click events from propagating to sidebar\n- Positioned between sidebar header and body in layout\n- Includes automatic scroll when content exceeds viewport height\n",
            "type": "component",
            "sourceCode": "import { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { Component, HostBinding, ViewEncapsulation, Input } from '@angular/core';\n\n/**\n * @description\n * Expandable drawer component that slides out from the sidebar to display additional content or details.\n * Provides a secondary panel for contextual information, settings, or extended navigation without leaving the current view.\n * Manages expanded/collapsed state with corresponding CSS classes for animation and positioning.\n * Prevents event propagation from drawer content to avoid unintended sidebar interactions.\n * \n * @usageNotes\n * ```html\n * <!-- Sidebar drawer for user profile details -->\n * <eui-app>\n *   <eui-app-sidebar>\n *     <eui-app-sidebar-header>\n *       <eui-app-sidebar-header-user-profile\n *         (toggle)=\"onSidebarProfileToggle($event)\"\n *         [hasProfileDrawer]=\"true\">\n *       </eui-app-sidebar-header-user-profile>\n *     </eui-app-sidebar-header>\n *     \n *     <eui-app-sidebar-drawer [isExpanded]=\"drawerExpanded\">\n *       <p><strong>User Profile Details</strong></p>\n *       <p>Additional user information and settings</p>\n *     </eui-app-sidebar-drawer>\n *     \n *     <eui-app-sidebar-body>\n *       <eui-app-sidebar-menu [items]=\"sidebarItems\"></eui-app-sidebar-menu>\n *     </eui-app-sidebar-body>\n *   </eui-app-sidebar>\n * </eui-app>\n * ```\n *\n * ```ts\n * drawerExpanded = false;\n *\n * onSidebarProfileToggle(event: any): void {\n *   this.drawerExpanded = !this.drawerExpanded;\n * }\n * ```\n *\n * ### Accessibility\n * - Drawer content is keyboard accessible\n * - Expanded/collapsed state is visually indicated\n * - Content within drawer maintains focus management\n * - Event propagation prevented to avoid sidebar conflicts\n *\n * ### Notes\n * - Must be used within eui-app-sidebar for proper layout integration\n * - isExpanded controls drawer visibility (default: false)\n * - Typically toggled via eui-app-sidebar-header-user-profile\n * - Commonly used for user profile details or extended settings\n * - Drawer slides out over sidebar content when expanded\n * - Content is projected via ng-content for flexible composition\n * - Automatically prevents click events from propagating to sidebar\n * - Positioned between sidebar header and body in layout\n * - Includes automatic scroll when content exceeds viewport height\n */\n@Component({\n    selector: 'eui-app-sidebar-drawer',\n    templateUrl: './sidebar-drawer.component.html',\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiAppSidebarDrawerComponent {\n    /**\n     * Controls the expanded/collapsed state of the drawer panel.\n     * When true, drawer slides out to display its content. When false, drawer is hidden.\n     * Accepts boolean or boolean-coercible values (string 'true'/'false', empty attribute).\n     * @default false\n     */\n    @Input()\n    get isExpanded(): boolean {\n        return this._isExpanded;\n    }\n    set isExpanded(value: BooleanInput) {\n        this._isExpanded = coerceBooleanProperty(value);\n    }\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return this._getCssClasses();\n    }\n    private _isExpanded = false;\n\n    public onSidebarDrawerContentClick(event: Event): void {\n        event.stopPropagation();\n    }\n\n    private _getCssClasses(): string {\n        return ['eui-app-sidebar-drawer', this.isExpanded ? 'eui-app-sidebar-drawer--expanded' : ''].join(' ').trim();\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "isExpanded": {
                    "name": "isExpanded",
                    "setSignature": {
                        "name": "isExpanded",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 76,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "isExpanded",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 73,
                        "rawdescription": "\n\nControls the expanded/collapsed state of the drawer panel.\nWhen true, drawer slides out to display its content. When false, drawer is hidden.\nAccepts boolean or boolean-coercible values (string 'true'/'false', empty attribute).\n",
                        "description": "<p>Controls the expanded/collapsed state of the drawer panel.\nWhen true, drawer slides out to display its content. When false, drawer is hidden.\nAccepts boolean or boolean-coercible values (string &#39;true&#39;/&#39;false&#39;, empty attribute).</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 2814,
                                "end": 2834,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2815,
                                    "end": 2822,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "default"
                                },
                                "comment": "<p>false</p>\n"
                            }
                        ]
                    }
                },
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 80
                    }
                }
            },
            "templateData": "<!-- HIDDEN APP DRAWER : scrolls up and revealing user info details or any other injected content -->\n<div class=\"eui-app-sidebar-drawer-content\" (click)=\"onSidebarDrawerContentClick($event)\">\n    <ng-content></ng-content>\n</div>\n"
        },
        {
            "name": "EuiAppSidebarFooter",
            "id": "component-EuiAppSidebarFooter-3920681659dd073e459aff778c94ea58e3594c08e76e1a70f2d91dbb5dccc4975de1351e39677ae2b7fef8e4ccad77bc50af3d0cf6d89bc328a23ede99ef3008",
            "file": "packages/components/layout/eui-app-v2/eui-app-sidebar/eui-app-sidebar-footer.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-sidebar-footer",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-app-sidebar-footer'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-sidebar-footer'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 10,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n@Component({\n    selector: 'eui-app-sidebar-footer',\n    styleUrl: './eui-app-sidebar-footer.scss',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiAppSidebarFooter {\n    @HostBinding('class') string = 'eui-app-sidebar-footer';\n}\n",
            "styleUrl": "./eui-app-sidebar-footer.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiAppSidebarFooterComponent",
            "id": "component-EuiAppSidebarFooterComponent-79e2c98142d9ee26674b2ab2eac7f4cde44cc5c54f52139bf7146cbe02878d0f0df57a3b3a312a3a6b89cefecd43e54d4ceafa62beb6f95e95b2f739ce24950f",
            "file": "packages/components/layout/eui-app/eui-app-sidebar/sidebar-footer/sidebar-footer.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-sidebar-footer",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-sidebar-footer'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 46,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": ""
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 54,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 50,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-sidebar-footer'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 46,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Container component for the sidebar footer area, typically containing secondary actions, settings, or utility links.\nAutomatically registers with EuiAppShellService to calculate and set CSS variables for proper layout spacing.\nManages the --eui-app-sidebar-footer-height CSS variable to coordinate vertical positioning of sidebar content.\nContent is projected via ng-content allowing flexible footer composition.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Sidebar footer with custom content --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-sidebar&gt;\n    &lt;eui-app-sidebar-footer&gt;\n      &lt;p&gt;Version 1.0.0&lt;/p&gt;\n      &lt;a href=&quot;/help&quot;&gt;Help&lt;/a&gt;\n    &lt;/eui-app-sidebar-footer&gt;\n  &lt;/eui-app-sidebar&gt;\n&lt;/eui-app&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Provides semantic container for sidebar footer content</li>\n<li>Content projection allows flexible accessible structure</li>\n<li>Links and buttons within footer maintain keyboard accessibility</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-app-sidebar for proper layout integration</li>\n<li>Automatically registers with EuiAppShellService on init</li>\n<li>Sets --eui-app-sidebar-footer-height CSS variable for layout calculations</li>\n<li>Typically contains utility links, version info, or secondary actions</li>\n<li>Content is projected via ng-content for flexible composition</li>\n<li>Cleans up CSS variables on destroy</li>\n<li>Height is automatically calculated based on content</li>\n<li>Positioned at bottom of sidebar, below sidebar body</li>\n</ul>\n",
            "rawdescription": "\n\nContainer component for the sidebar footer area, typically containing secondary actions, settings, or utility links.\nAutomatically registers with EuiAppShellService to calculate and set CSS variables for proper layout spacing.\nManages the --eui-app-sidebar-footer-height CSS variable to coordinate vertical positioning of sidebar content.\nContent is projected via ng-content allowing flexible footer composition.\n\n```html\n<!-- Sidebar footer with custom content -->\n<eui-app>\n  <eui-app-sidebar>\n    <eui-app-sidebar-footer>\n      <p>Version 1.0.0</p>\n      <a href=\"/help\">Help</a>\n    </eui-app-sidebar-footer>\n  </eui-app-sidebar>\n</eui-app>\n```\n\n### Accessibility\n- Provides semantic container for sidebar footer content\n- Content projection allows flexible accessible structure\n- Links and buttons within footer maintain keyboard accessibility\n\n### Notes\n- Must be used within eui-app-sidebar for proper layout integration\n- Automatically registers with EuiAppShellService on init\n- Sets --eui-app-sidebar-footer-height CSS variable for layout calculations\n- Typically contains utility links, version info, or secondary actions\n- Content is projected via ng-content for flexible composition\n- Cleans up CSS variables on destroy\n- Height is automatically calculated based on content\n- Positioned at bottom of sidebar, below sidebar body\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ViewEncapsulation, OnInit, OnDestroy, inject } from '@angular/core';\nimport { EuiAppShellService } from '@eui/core';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * @description\n * Container component for the sidebar footer area, typically containing secondary actions, settings, or utility links.\n * Automatically registers with EuiAppShellService to calculate and set CSS variables for proper layout spacing.\n * Manages the --eui-app-sidebar-footer-height CSS variable to coordinate vertical positioning of sidebar content.\n * Content is projected via ng-content allowing flexible footer composition.\n * \n * @usageNotes\n * ```html\n * <!-- Sidebar footer with custom content -->\n * <eui-app>\n *   <eui-app-sidebar>\n *     <eui-app-sidebar-footer>\n *       <p>Version 1.0.0</p>\n *       <a href=\"/help\">Help</a>\n *     </eui-app-sidebar-footer>\n *   </eui-app-sidebar>\n * </eui-app>\n * ```\n *\n * ### Accessibility\n * - Provides semantic container for sidebar footer content\n * - Content projection allows flexible accessible structure\n * - Links and buttons within footer maintain keyboard accessibility\n *\n * ### Notes\n * - Must be used within eui-app-sidebar for proper layout integration\n * - Automatically registers with EuiAppShellService on init\n * - Sets --eui-app-sidebar-footer-height CSS variable for layout calculations\n * - Typically contains utility links, version info, or secondary actions\n * - Content is projected via ng-content for flexible composition\n * - Cleans up CSS variables on destroy\n * - Height is automatically calculated based on content\n * - Positioned at bottom of sidebar, below sidebar body\n */\n@Component({\n    selector: 'eui-app-sidebar-footer',\n    template: '<ng-content/>',\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiAppSidebarFooterComponent implements OnInit, OnDestroy {\n    @HostBinding() class = 'eui-app-sidebar-footer';\n    private asService = inject(EuiAppShellService);\n    private document = inject<Document>(DOCUMENT);\n\n    ngOnInit(): void {\n        this.asService.activateSidebarFooter();\n    }\n\n    ngOnDestroy(): void {\n        this.document.documentElement.style.removeProperty('--eui-app-sidebar-footer-height');\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy"
            ]
        },
        {
            "name": "EuiAppSidebarHeader",
            "id": "component-EuiAppSidebarHeader-77bef00e71e7baf0be98a6ae044dca6f5b3b40b2a5f7524ba4c6e99ab52e312cbf939c3c06f65a18cd1ef74f617113d568bd970b47e017825899c66571681516",
            "file": "packages/components/layout/eui-app-v2/eui-app-sidebar/eui-app-sidebar-header.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-sidebar-header",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-app-sidebar-header'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-sidebar-header'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 10,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n@Component({\n    selector: 'eui-app-sidebar-header',\n    styleUrl: './eui-app-sidebar-header.scss',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiAppSidebarHeader {\n    @HostBinding('class') string = 'eui-app-sidebar-header';\n}\n",
            "styleUrl": "./eui-app-sidebar-header.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiAppSidebarHeaderComponent",
            "id": "component-EuiAppSidebarHeaderComponent-1113992d3721bc72b38a2350a5568732f8a19cd1ea7b7ab427bc6fb11e145d9dc2dc7395f3a37c989572df42e1f7bcec0e1c35ff378e048161f0342c28c8f05f",
            "file": "packages/components/layout/eui-app/eui-app-sidebar/sidebar-header/sidebar-header.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-sidebar-header",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-sidebar-header'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 47,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": ""
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 55,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 51,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-sidebar-header'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 47,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Container component for the sidebar header area, typically containing branding, logo, or user profile elements.\nAutomatically registers with EuiAppShellService to calculate and set CSS variables for proper layout spacing.\nManages the --eui-app-sidebar-header-height CSS variable to coordinate vertical positioning of sidebar content.\nContent is projected via ng-content allowing flexible header composition.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Sidebar header with user profile --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-sidebar&gt;\n    &lt;eui-app-sidebar-header&gt;\n      &lt;eui-app-sidebar-header-user-profile\n        (toggle)=&quot;onSidebarProfileToggle($event)&quot;\n        [hasProfileDrawer]=&quot;true&quot;&gt;\n      &lt;/eui-app-sidebar-header-user-profile&gt;\n    &lt;/eui-app-sidebar-header&gt;\n  &lt;/eui-app-sidebar&gt;\n&lt;/eui-app&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Provides semantic container for sidebar header content</li>\n<li>Content projection allows flexible accessible structure</li>\n<li>Child components handle their own accessibility features</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-app-sidebar for proper layout integration</li>\n<li>Automatically registers with EuiAppShellService on init</li>\n<li>Sets --eui-app-sidebar-header-height CSS variable for layout calculations</li>\n<li>Typically contains eui-app-sidebar-header-user-profile</li>\n<li>Content is projected via ng-content for flexible composition</li>\n<li>Cleans up CSS variables on destroy</li>\n<li>Height is automatically calculated based on content</li>\n</ul>\n",
            "rawdescription": "\n\nContainer component for the sidebar header area, typically containing branding, logo, or user profile elements.\nAutomatically registers with EuiAppShellService to calculate and set CSS variables for proper layout spacing.\nManages the --eui-app-sidebar-header-height CSS variable to coordinate vertical positioning of sidebar content.\nContent is projected via ng-content allowing flexible header composition.\n\n```html\n<!-- Sidebar header with user profile -->\n<eui-app>\n  <eui-app-sidebar>\n    <eui-app-sidebar-header>\n      <eui-app-sidebar-header-user-profile\n        (toggle)=\"onSidebarProfileToggle($event)\"\n        [hasProfileDrawer]=\"true\">\n      </eui-app-sidebar-header-user-profile>\n    </eui-app-sidebar-header>\n  </eui-app-sidebar>\n</eui-app>\n```\n\n### Accessibility\n- Provides semantic container for sidebar header content\n- Content projection allows flexible accessible structure\n- Child components handle their own accessibility features\n\n### Notes\n- Must be used within eui-app-sidebar for proper layout integration\n- Automatically registers with EuiAppShellService on init\n- Sets --eui-app-sidebar-header-height CSS variable for layout calculations\n- Typically contains eui-app-sidebar-header-user-profile\n- Content is projected via ng-content for flexible composition\n- Cleans up CSS variables on destroy\n- Height is automatically calculated based on content\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ViewEncapsulation, OnInit, OnDestroy, inject } from '@angular/core';\nimport { EuiAppShellService } from '@eui/core';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * @description\n * Container component for the sidebar header area, typically containing branding, logo, or user profile elements.\n * Automatically registers with EuiAppShellService to calculate and set CSS variables for proper layout spacing.\n * Manages the --eui-app-sidebar-header-height CSS variable to coordinate vertical positioning of sidebar content.\n * Content is projected via ng-content allowing flexible header composition.\n * \n * @usageNotes\n * ```html\n * <!-- Sidebar header with user profile -->\n * <eui-app>\n *   <eui-app-sidebar>\n *     <eui-app-sidebar-header>\n *       <eui-app-sidebar-header-user-profile\n *         (toggle)=\"onSidebarProfileToggle($event)\"\n *         [hasProfileDrawer]=\"true\">\n *       </eui-app-sidebar-header-user-profile>\n *     </eui-app-sidebar-header>\n *   </eui-app-sidebar>\n * </eui-app>\n * ```\n *\n * ### Accessibility\n * - Provides semantic container for sidebar header content\n * - Content projection allows flexible accessible structure\n * - Child components handle their own accessibility features\n *\n * ### Notes\n * - Must be used within eui-app-sidebar for proper layout integration\n * - Automatically registers with EuiAppShellService on init\n * - Sets --eui-app-sidebar-header-height CSS variable for layout calculations\n * - Typically contains eui-app-sidebar-header-user-profile\n * - Content is projected via ng-content for flexible composition\n * - Cleans up CSS variables on destroy\n * - Height is automatically calculated based on content\n */\n@Component({\n    selector: 'eui-app-sidebar-header',\n    template: '<ng-content/>',\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiAppSidebarHeaderComponent implements OnInit, OnDestroy {\n    @HostBinding() class = 'eui-app-sidebar-header';\n    private asService = inject(EuiAppShellService);\n    private document = inject<Document>(DOCUMENT);\n\n    ngOnInit(): void {\n        this.asService.activateSidebarHeader();\n    }\n\n    ngOnDestroy(): void {\n        this.document.documentElement.style.removeProperty('--eui-app-sidebar-header-height');\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy"
            ]
        },
        {
            "name": "EuiAppSidebarHeaderUserProfileComponent",
            "id": "component-EuiAppSidebarHeaderUserProfileComponent-11344b3f788ebc2de8d76b1e4a21b6e22d13a08797be27ae57c9ba8b9d45273dd26b55294ed0997338c9de77c93f939e5b0fc4c7326399bc4b6b7f3460aac946",
            "file": "packages/components/layout/eui-app/eui-app-sidebar/sidebar-header-user-profile/sidebar-header-user-profile.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-sidebar-header-user-profile",
            "styleUrls": [
                "./_styles/_index.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./sidebar-header-user-profile.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "avatarUrl",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nURL path to the user's avatar image.\nWhen provided, displays the image instead of initials or default avatar.\nOptional.\n",
                    "description": "<p>URL path to the user&#39;s avatar image.\nWhen provided, displays the image instead of initials or default avatar.\nOptional.</p>\n",
                    "line": 115,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasProfileDrawer",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6223,
                            "end": 6243,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6224,
                                "end": 6231,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables profile drawer mode with expandable content panel.\nWhen true, clicking the profile opens a drawer with additional user details and actions.\n",
                    "description": "<p>Enables profile drawer mode with expandable content panel.\nWhen true, clicking the profile opens a drawer with additional user details and actions.</p>\n",
                    "line": 164,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasTabNavigation",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5689,
                            "end": 5709,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5690,
                                "end": 5697,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables keyboard tab navigation to the user profile component.\nWhen true, makes the profile element focusable and accessible via keyboard.\n",
                    "description": "<p>Enables keyboard tab navigation to the user profile component.\nWhen true, makes the profile element focusable and accessible via keyboard.</p>\n",
                    "line": 150,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasToggle",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5959,
                            "end": 5979,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5960,
                                "end": 5967,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables toggle functionality for expanding/collapsing profile details.\nWhen true, allows clicking to toggle profile state and emits toggle events.\n",
                    "description": "<p>Enables toggle functionality for expanding/collapsing profile details.\nWhen true, allows clicking to toggle profile state and emits toggle events.</p>\n",
                    "line": 157,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasWelcomeLabel",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5430,
                            "end": 5449,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5431,
                                "end": 5438,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls visibility of the welcome label text.\nWhen false, hides the welcome message prefix and shows only the username.\n",
                    "description": "<p>Controls visibility of the welcome label text.\nWhen false, hides the welcome message prefix and shows only the username.</p>\n",
                    "line": 143,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "impersonateLabel",
                    "defaultValue": "'acting as'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4265,
                            "end": 4291,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4266,
                                "end": 4273,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;acting as&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nText label displayed when user is impersonating another user.\nShows between the actual user and impersonated user names, typically \"acting as\".\n",
                    "description": "<p>Text label displayed when user is impersonating another user.\nShows between the actual user and impersonated user names, typically &quot;acting as&quot;.</p>\n",
                    "line": 108,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isOnline",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5196,
                            "end": 5215,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5197,
                                "end": 5204,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIndicates the user's online status with a visual indicator.\nWhen true, displays an online status badge on the avatar.\n",
                    "description": "<p>Indicates the user&#39;s online status with a visual indicator.\nWhen true, displays an online status badge on the avatar.</p>\n",
                    "line": 136,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowAvatarInitials",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4951,
                            "end": 4971,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4952,
                                "end": 4959,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nDisplays user initials in the avatar when no avatar image is provided.\nWhen true, shows first letters of user's name as avatar placeholder.\n",
                    "description": "<p>Displays user initials in the avatar when no avatar image is provided.\nWhen true, shows first letters of user&#39;s name as avatar placeholder.</p>\n",
                    "line": 129,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowUserInfos",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4691,
                            "end": 4710,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4692,
                                "end": 4699,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls visibility of user information text (name, email, etc.).\nWhen false, hides textual user details and shows only the avatar.\n",
                    "description": "<p>Controls visibility of user information text (name, email, etc.).\nWhen false, hides textual user details and shows only the avatar.</p>\n",
                    "line": 122,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "welcomeLabel",
                    "defaultValue": "'Welcome'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4025,
                            "end": 4049,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4026,
                                "end": 4033,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;Welcome&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nText label displayed before the username in the welcome message.\nTypically used for greeting text like \"Welcome\" or \"Hello\".\n",
                    "description": "<p>Text label displayed before the username in the welcome message.\nTypically used for greeting text like &quot;Welcome&quot; or &quot;Hello&quot;.</p>\n",
                    "line": 101,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "toggle",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the user profile is clicked and toggle functionality is enabled.\nPayload: any - event data from the click interaction\nTriggered when hasToggle or hasProfileDrawer is true and the profile is clicked.\n",
                    "description": "<p>Emitted when the user profile is clicked and toggle functionality is enabled.\nPayload: any - event data from the click interaction\nTriggered when hasToggle or hasProfileDrawer is true and the profile is clicked.</p>\n",
                    "line": 172,
                    "type": "EventEmitter<any>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "toggleProfile",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 173,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "userProfileMenu",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiUserProfileMenuComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 175,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onClick",
                    "args": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 186,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'click', ['$event']"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onProfileClick",
                    "args": [
                        {
                            "name": "event",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 179,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 92,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [
                {
                    "name": "click",
                    "args": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$event"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 186
                }
            ],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_USER_PROFILE"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "<p>User profile component displayed in the sidebar header showing user information and avatar.\nProvides visual representation of the logged-in user with optional welcome message, online status, and profile menu integration.\nSupports impersonation indicators, avatar customization, and optional drawer toggle for expanded profile details.\nIntegrates with EuiUserProfileMenuComponent for dropdown menu functionality.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Basic user profile in sidebar header --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-sidebar&gt;\n    &lt;eui-app-sidebar-header&gt;\n      &lt;eui-app-sidebar-header-user-profile\n        welcomeLabel=&quot;Welcome&quot;\n        [avatarUrl]=&quot;userAvatar&quot;\n        [isOnline]=&quot;true&quot;&gt;\n      &lt;/eui-app-sidebar-header-user-profile&gt;\n    &lt;/eui-app-sidebar-header&gt;\n  &lt;/eui-app-sidebar&gt;\n&lt;/eui-app&gt;\n\n&lt;!-- With profile drawer --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-sidebar&gt;\n    &lt;eui-app-sidebar-header&gt;\n      &lt;eui-app-sidebar-header-user-profile\n        [hasProfileDrawer]=&quot;true&quot;\n        (toggle)=&quot;onSidebarProfileToggle($event)&quot;&gt;\n      &lt;/eui-app-sidebar-header-user-profile&gt;\n    &lt;/eui-app-sidebar-header&gt;\n\n    &lt;eui-app-sidebar-drawer [isExpanded]=&quot;false&quot;&gt;\n      &lt;p&gt;User profile details&lt;/p&gt;\n    &lt;/eui-app-sidebar-drawer&gt;\n  &lt;/eui-app-sidebar&gt;\n&lt;/eui-app&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">userAvatar = &#39;assets/user-avatar.jpg&#39;;\n\nonSidebarProfileToggle(event: any): void {\n  console.log(&#39;Profile drawer toggled&#39;);\n}</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Avatar provides visual user identification</li>\n<li>hasTabNavigation enables keyboard focus and navigation</li>\n<li>Online status indicator is visually distinct</li>\n<li>Welcome label provides context for screen readers</li>\n<li>Click interaction is keyboard accessible when hasToggle enabled</li>\n<li>Profile menu integration supports keyboard navigation</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-app-sidebar-header for proper layout</li>\n<li>welcomeLabel displays greeting text (default: &#39;Welcome&#39;)</li>\n<li>impersonateLabel shows when user is impersonating (default: &#39;acting as&#39;)</li>\n<li>avatarUrl displays custom avatar image</li>\n<li>isShowUserInfos controls visibility of user text details (default: true)</li>\n<li>isShowAvatarInitials shows initials when no avatar image (default: false)</li>\n<li>isOnline displays online status indicator (default: true)</li>\n<li>hasWelcomeLabel controls welcome message visibility (default: true)</li>\n<li>hasTabNavigation enables keyboard focus (default: false)</li>\n<li>hasToggle enables click toggle functionality (default: false)</li>\n<li>hasProfileDrawer enables drawer mode with expandable content (default: false)</li>\n<li>toggle event emits when profile is clicked with hasToggle or hasProfileDrawer enabled</li>\n<li>Integrates with eui-app-sidebar-drawer for expanded profile details</li>\n<li>Can contain eui-user-profile-menu for dropdown menu functionality</li>\n</ul>\n",
            "rawdescription": "\n\nUser profile component displayed in the sidebar header showing user information and avatar.\nProvides visual representation of the logged-in user with optional welcome message, online status, and profile menu integration.\nSupports impersonation indicators, avatar customization, and optional drawer toggle for expanded profile details.\nIntegrates with EuiUserProfileMenuComponent for dropdown menu functionality.\n\n```html\n<!-- Basic user profile in sidebar header -->\n<eui-app>\n  <eui-app-sidebar>\n    <eui-app-sidebar-header>\n      <eui-app-sidebar-header-user-profile\n        welcomeLabel=\"Welcome\"\n        [avatarUrl]=\"userAvatar\"\n        [isOnline]=\"true\">\n      </eui-app-sidebar-header-user-profile>\n    </eui-app-sidebar-header>\n  </eui-app-sidebar>\n</eui-app>\n\n<!-- With profile drawer -->\n<eui-app>\n  <eui-app-sidebar>\n    <eui-app-sidebar-header>\n      <eui-app-sidebar-header-user-profile\n        [hasProfileDrawer]=\"true\"\n        (toggle)=\"onSidebarProfileToggle($event)\">\n      </eui-app-sidebar-header-user-profile>\n    </eui-app-sidebar-header>\n\n    <eui-app-sidebar-drawer [isExpanded]=\"false\">\n      <p>User profile details</p>\n    </eui-app-sidebar-drawer>\n  </eui-app-sidebar>\n</eui-app>\n```\n\n```ts\nuserAvatar = 'assets/user-avatar.jpg';\n\nonSidebarProfileToggle(event: any): void {\n  console.log('Profile drawer toggled');\n}\n```\n\n### Accessibility\n- Avatar provides visual user identification\n- hasTabNavigation enables keyboard focus and navigation\n- Online status indicator is visually distinct\n- Welcome label provides context for screen readers\n- Click interaction is keyboard accessible when hasToggle enabled\n- Profile menu integration supports keyboard navigation\n\n### Notes\n- Must be used within eui-app-sidebar-header for proper layout\n- welcomeLabel displays greeting text (default: 'Welcome')\n- impersonateLabel shows when user is impersonating (default: 'acting as')\n- avatarUrl displays custom avatar image\n- isShowUserInfos controls visibility of user text details (default: true)\n- isShowAvatarInitials shows initials when no avatar image (default: false)\n- isOnline displays online status indicator (default: true)\n- hasWelcomeLabel controls welcome message visibility (default: true)\n- hasTabNavigation enables keyboard focus (default: false)\n- hasToggle enables click toggle functionality (default: false)\n- hasProfileDrawer enables drawer mode with expandable content (default: false)\n- toggle event emits when profile is clicked with hasToggle or hasProfileDrawer enabled\n- Integrates with eui-app-sidebar-drawer for expanded profile details\n- Can contain eui-user-profile-menu for dropdown menu functionality\n",
            "type": "component",
            "sourceCode": "import { booleanAttribute, Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Input, EventEmitter, Output, ContentChildren, forwardRef, QueryList, HostListener } from '@angular/core';\nimport { consumeEvent } from '@eui/core';\nimport { EUI_USER_PROFILE, EuiUserProfileMenuComponent } from '@eui/components/eui-user-profile';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\n/**\n * @description\n * User profile component displayed in the sidebar header showing user information and avatar.\n * Provides visual representation of the logged-in user with optional welcome message, online status, and profile menu integration.\n * Supports impersonation indicators, avatar customization, and optional drawer toggle for expanded profile details.\n * Integrates with EuiUserProfileMenuComponent for dropdown menu functionality.\n * \n * @usageNotes\n * ```html\n * <!-- Basic user profile in sidebar header -->\n * <eui-app>\n *   <eui-app-sidebar>\n *     <eui-app-sidebar-header>\n *       <eui-app-sidebar-header-user-profile\n *         welcomeLabel=\"Welcome\"\n *         [avatarUrl]=\"userAvatar\"\n *         [isOnline]=\"true\">\n *       </eui-app-sidebar-header-user-profile>\n *     </eui-app-sidebar-header>\n *   </eui-app-sidebar>\n * </eui-app>\n *\n * <!-- With profile drawer -->\n * <eui-app>\n *   <eui-app-sidebar>\n *     <eui-app-sidebar-header>\n *       <eui-app-sidebar-header-user-profile\n *         [hasProfileDrawer]=\"true\"\n *         (toggle)=\"onSidebarProfileToggle($event)\">\n *       </eui-app-sidebar-header-user-profile>\n *     </eui-app-sidebar-header>\n *     \n *     <eui-app-sidebar-drawer [isExpanded]=\"false\">\n *       <p>User profile details</p>\n *     </eui-app-sidebar-drawer>\n *   </eui-app-sidebar>\n * </eui-app>\n * ```\n *\n * ```ts\n * userAvatar = 'assets/user-avatar.jpg';\n *\n * onSidebarProfileToggle(event: any): void {\n *   console.log('Profile drawer toggled');\n * }\n * ```\n *\n * ### Accessibility\n * - Avatar provides visual user identification\n * - hasTabNavigation enables keyboard focus and navigation\n * - Online status indicator is visually distinct\n * - Welcome label provides context for screen readers\n * - Click interaction is keyboard accessible when hasToggle enabled\n * - Profile menu integration supports keyboard navigation\n *\n * ### Notes\n * - Must be used within eui-app-sidebar-header for proper layout\n * - welcomeLabel displays greeting text (default: 'Welcome')\n * - impersonateLabel shows when user is impersonating (default: 'acting as')\n * - avatarUrl displays custom avatar image\n * - isShowUserInfos controls visibility of user text details (default: true)\n * - isShowAvatarInitials shows initials when no avatar image (default: false)\n * - isOnline displays online status indicator (default: true)\n * - hasWelcomeLabel controls welcome message visibility (default: true)\n * - hasTabNavigation enables keyboard focus (default: false)\n * - hasToggle enables click toggle functionality (default: false)\n * - hasProfileDrawer enables drawer mode with expandable content (default: false)\n * - toggle event emits when profile is clicked with hasToggle or hasProfileDrawer enabled\n * - Integrates with eui-app-sidebar-drawer for expanded profile details\n * - Can contain eui-user-profile-menu for dropdown menu functionality\n */\n@Component({\n    selector: 'eui-app-sidebar-header-user-profile',\n    templateUrl: './sidebar-header-user-profile.component.html',\n    styleUrls: ['./_styles/_index.scss'],\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        ...EUI_USER_PROFILE,\n        ...EUI_BUTTON,\n        ...EUI_ICON,\n    ],\n})\nexport class EuiAppSidebarHeaderUserProfileComponent {\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return this._getCssClasses();\n    }\n\n    /**\n     * Text label displayed before the username in the welcome message.\n     * Typically used for greeting text like \"Welcome\" or \"Hello\".\n     * @default 'Welcome'\n     */\n    @Input() welcomeLabel = 'Welcome';\n\n    /**\n     * Text label displayed when user is impersonating another user.\n     * Shows between the actual user and impersonated user names, typically \"acting as\".\n     * @default 'acting as'\n     */\n    @Input() impersonateLabel = 'acting as';\n\n    /**\n     * URL path to the user's avatar image.\n     * When provided, displays the image instead of initials or default avatar.\n     * Optional.\n     */\n    @Input() avatarUrl: string;\n\n    /**\n     * Controls visibility of user information text (name, email, etc.).\n     * When false, hides textual user details and shows only the avatar.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isShowUserInfos = true;\n\n    /**\n     * Displays user initials in the avatar when no avatar image is provided.\n     * When true, shows first letters of user's name as avatar placeholder.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isShowAvatarInitials = false;\n\n    /**\n     * Indicates the user's online status with a visual indicator.\n     * When true, displays an online status badge on the avatar.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isOnline = true;\n\n    /**\n     * Controls visibility of the welcome label text.\n     * When false, hides the welcome message prefix and shows only the username.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasWelcomeLabel = true;\n\n    /**\n     * Enables keyboard tab navigation to the user profile component.\n     * When true, makes the profile element focusable and accessible via keyboard.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasTabNavigation = false;\n\n    /**\n     * Enables toggle functionality for expanding/collapsing profile details.\n     * When true, allows clicking to toggle profile state and emits toggle events.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasToggle = false;\n\n    /**\n     * Enables profile drawer mode with expandable content panel.\n     * When true, clicking the profile opens a drawer with additional user details and actions.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasProfileDrawer = false;\n\n    /**\n     * Emitted when the user profile is clicked and toggle functionality is enabled.\n     * Payload: any - event data from the click interaction\n     * Triggered when hasToggle or hasProfileDrawer is true and the profile is clicked.\n     */\n    // eslint-disable-next-line\n    @Output() toggle: EventEmitter<any> = new EventEmitter();\n    public toggleProfile = false;\n\n    @ContentChildren(forwardRef(() => EuiUserProfileMenuComponent)) userProfileMenu: QueryList<EuiUserProfileMenuComponent>;\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    onProfileClick(event: any): void {\n        this.toggleProfile = !this.toggleProfile;\n        consumeEvent(event);\n        this.toggle.emit();\n    }\n\n    @HostListener('click', ['$event'])\n    onClick(event: MouseEvent): void {\n        if (this.hasProfileDrawer) {\n            this.onProfileClick(event);\n        }\n        consumeEvent(event);\n    }\n\n    private _getCssClasses(): string {\n        return [\n            'eui-app-sidebar-header-user-profile',\n            this.hasProfileDrawer ? 'eui-app-sidebar-header-user-profile--has-drawer' : '',\n        ].join(' ').trim();\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@forward 'user-profile';\n@forward 'user-profile.mq';\n",
                    "styleUrl": "./_styles/_index.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 92
                    }
                }
            },
            "templateData": "<eui-user-profile\n    [hasWelcomeLabel]=\"hasWelcomeLabel\"\n    [welcomeLabel]=\"welcomeLabel\"\n    [impersonateLabel]=\"impersonateLabel\"\n    [avatarUrl]=\"avatarUrl\"\n    [hasMenu]=\"userProfileMenu.length !== 0\"\n    [isShowUserInfos]=\"isShowUserInfos\"\n    [isShowAvatarInitials]=\"isShowAvatarInitials\"\n    [hasTabNavigation]=\"hasTabNavigation\"\n    isReverse\n    [hasToggle]=\"hasToggle\"\n    #userProfile>\n    <ng-content select=\"eui-user-profile-menu\" />\n</eui-user-profile>\n\n@if (hasProfileDrawer) {\n    <button euiButton euiRounded euiIconButton euiBasicButton euiSecondary class=\"eui-u-ml-auto\" aria-label=\"Toggle user profile details\">\n        <eui-icon-svg [icon]=\"toggleProfile ? 'eui-chevron-up' : 'eui-chevron-down'\"></eui-icon-svg>\n    </button>\n}\n"
        },
        {
            "name": "EuiAppSidebarMenu",
            "id": "component-EuiAppSidebarMenu-cd6792c54a68874d6734ed8c733f05a24bb32409ee2ec4e95ebe0d50b7eaee750288bad14e20130741eb1197794e7dde1b439b16634146766683671cac0f5236",
            "file": "packages/components/layout/eui-app-v2/eui-app-sidebar/eui-app-sidebar-menu.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-sidebar-menu",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-app-sidebar-menu.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "expandAllItems",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 43,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasBoldRootLevel",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 48,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasCollapsedInitials",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 45,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasFilter",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 38,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasIcons",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 39,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasIconsLabels",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 40,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasScrollToItem",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 47,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasTooltip",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 41,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasTooltipOnExpanded",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 42,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCollapsed",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 44,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isFlat",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 46,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "items",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 50,
                    "type": "Items[]",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "sidebarItemClick",
                    "defaultValue": "new EventEmitter<EuiMenuItem>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 52,
                    "type": "EventEmitter"
                },
                {
                    "name": "sidebarItemToggle",
                    "defaultValue": "new EventEmitter<EuiMenuItem>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 53,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 34
                },
                {
                    "name": "class",
                    "defaultValue": "'eui-app-sidebar-menu'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 36,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": ""
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "menu",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiMenuComponent",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 55,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'menu', {static: false}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 87,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 99,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 95,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 63,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onMenuItemClicked",
                    "args": [
                        {
                            "name": "event",
                            "type": "EuiMenuItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 108,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "EuiMenuItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onSidebarItemToggled",
                    "args": [
                        {
                            "name": "event",
                            "type": "EuiMenuItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 120,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "EuiMenuItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-sidebar-menu'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 36,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "EUI_MENU"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ViewEncapsulation,\n    Input,\n    OnChanges,\n    OnInit,\n    SimpleChanges,\n    Output,\n    EventEmitter,\n    OnDestroy,\n    booleanAttribute,\n    inject,\n    ViewChild,\n    AfterViewInit,\n    ChangeDetectionStrategy,\n} from '@angular/core';\nimport { EuiAppShellService } from '@eui/core';\nimport { EUI_MENU, EuiMenuComponent, EuiMenuItem } from '@eui/components/eui-menu';\nimport { Subscription } from 'rxjs';\nimport { AsyncPipe } from '@angular/common';\n\n@Component({\n    selector: 'eui-app-sidebar-menu',\n    templateUrl: './eui-app-sidebar-menu.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        AsyncPipe,\n        ...EUI_MENU,\n    ],\n})\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class EuiAppSidebarMenu<Items = any> implements OnInit, AfterViewInit, OnChanges, OnDestroy {\n    asService = inject(EuiAppShellService);\n\n    @HostBinding() class = 'eui-app-sidebar-menu';\n\n    @Input({ transform: booleanAttribute }) hasFilter = false;\n    @Input({ transform: booleanAttribute }) hasIcons = false;\n    @Input({ transform: booleanAttribute }) hasIconsLabels = false;\n    @Input({ transform: booleanAttribute }) hasTooltip = true;\n    @Input({ transform: booleanAttribute }) hasTooltipOnExpanded = false;\n    @Input({ transform: booleanAttribute }) expandAllItems = false;\n    @Input({ transform: booleanAttribute }) isCollapsed = false;\n    @Input({ transform: booleanAttribute }) hasCollapsedInitials = false;\n    @Input({ transform: booleanAttribute }) isFlat = false;\n    @Input({ transform: booleanAttribute }) hasScrollToItem = false;\n    @Input({ transform: booleanAttribute }) hasBoldRootLevel = false;\n\n    @Input() items: Items[];\n\n    @Output() sidebarItemClick = new EventEmitter<EuiMenuItem>();\n    @Output() sidebarItemToggle = new EventEmitter<EuiMenuItem>();\n\n    @ViewChild('menu', { static: false }) menu?: EuiMenuComponent;\n\n    private subs: Subscription;\n\n    constructor() {\n        this.subs = new Subscription();\n    }\n\n    ngOnInit(): void {\n        if (this.items) {\n            this.asService.setState({\n                ...this.asService.state,\n                sidebarLinks: this.items,\n            });\n        }\n        \n        if (this.hasIconsLabels) {\n            this.asService.hasSidebarCollapsedVariant = this.hasIconsLabels;\n        }\n\n        this.subs.add(this.asService.state$.subscribe((state) => {\n            if (state?.breakpoints?.isMobile) {\n                this.items = <Items[]>state.combinedLinks;\n            } else {\n                this.items = <Items[]>state.sidebarLinks;\n            }\n        }));\n\n        // subscribe to state changes\n        // this.subs.add(this.asService.getState<Items[]>('combinedLinks').subscribe((links) => (this.items = links)));\n    }\n\n    ngAfterViewInit(): void {\n        this.subs.add(this.asService.state$.subscribe((state) => {\n            if (state?.isSidebarFocused && this.menu) {\n                this.menu.menubar.nativeElement.focus();\n            }\n        }));\n    }\n\n    ngOnDestroy(): void {\n        this.subs.unsubscribe();\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes.items) {\n            this.asService.setState({\n                ...this.asService.state,\n                sidebarLinks: this.items,\n            });\n        }\n    }\n\n    public onMenuItemClicked(event: EuiMenuItem): void {\n        // Auto-close sidebar menu after click when in mobile / tablet modes\n        if (\n            event.url &&\n            (this.asService.state.breakpoints.isMobile || this.asService.state.breakpoints.isTablet || this.asService.state.isSidebarHidden)\n        ) {\n            this.asService.isSidebarOpen = false;\n        }\n\n        this.sidebarItemClick.emit(event);\n    }\n\n    public onSidebarItemToggled(event: EuiMenuItem): void {\n        this.sidebarItemToggle.emit(event);\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 57
            },
            "extends": [],
            "implements": [
                "OnInit",
                "AfterViewInit",
                "OnChanges",
                "OnDestroy"
            ],
            "templateData": "<eui-menu\n    #menu\n    [items]=\"items\"\n    [hasFilter]=\"hasFilter\"\n    [hasIcons]=\"hasIcons\"\n    [hasIconsLabels]=\"hasIconsLabels\"\n    [hasTooltip]=\"hasTooltip\"\n    [hasTooltipOnExpanded]=\"hasTooltipOnExpanded\"\n    [expandAllItems]=\"expandAllItems\"\n    [isFlat]=\"isFlat\"\n    [hasScrollToItem]=\"hasScrollToItem\"\n    [hasCollapsedInitials]=\"hasCollapsedInitials\"\n    [hasBoldRootLevel]=\"hasBoldRootLevel\"\n    [isCollapsed]=\"!(asService.state$ | async).isSidebarOpen\"\n    (itemClick)=\"onMenuItemClicked($event)\"\n    (expandToggle)=\"onSidebarItemToggled($event)\" />\n"
        },
        {
            "name": "EuiAppSidebarMenuComponent",
            "id": "component-EuiAppSidebarMenuComponent-c7b824960fbf346fa6bdfb4aa05fd4d87bc92cf982340ff4f6b4eac4606c3e6279524391099c3c553468b5b51c8e3c6c675848d450e2b9cfadd98123eece4eed",
            "file": "packages/components/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-sidebar-menu",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./sidebar-menu.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "expandAllItems",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5163,
                            "end": 5183,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5164,
                                "end": 5171,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nExpands all collapsible menu items by default.\nWhen true, all parent menu items with children are rendered in expanded state on initialization.\n",
                    "description": "<p>Expands all collapsible menu items by default.\nWhen true, all parent menu items with children are rendered in expanded state on initialization.</p>\n",
                    "line": 153,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasBoldRootLevel",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6507,
                            "end": 6527,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6508,
                                "end": 6515,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nApplies bold font weight to root-level menu items.\nWhen true, emphasizes top-level menu items with bold styling to distinguish hierarchy.\n",
                    "description": "<p>Applies bold font weight to root-level menu items.\nWhen true, emphasizes top-level menu items with bold styling to distinguish hierarchy.</p>\n",
                    "line": 188,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasCollapsedInitials",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5714,
                            "end": 5734,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5715,
                                "end": 5722,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nDisplays initials instead of full icons in collapsed mode.\nWhen true, shows first letter of menu item label as a visual identifier when sidebar is collapsed.\n",
                    "description": "<p>Displays initials instead of full icons in collapsed mode.\nWhen true, shows first letter of menu item label as a visual identifier when sidebar is collapsed.</p>\n",
                    "line": 167,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasFilter",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3888,
                            "end": 3908,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3889,
                                "end": 3896,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables a search/filter input field above the menu items.\nWhen true, displays a text input allowing users to filter menu items by label.\n",
                    "description": "<p>Enables a search/filter input field above the menu items.\nWhen true, displays a text input allowing users to filter menu items by label.</p>\n",
                    "line": 118,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasIcons",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4123,
                            "end": 4143,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4124,
                                "end": 4131,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nDisplays icons alongside menu item labels.\nWhen true, renders icon elements for menu items that have icon definitions.\n",
                    "description": "<p>Displays icons alongside menu item labels.\nWhen true, renders icon elements for menu items that have icon definitions.</p>\n",
                    "line": 125,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasIconsLabels",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4388,
                            "end": 4408,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4389,
                                "end": 4396,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nShows icon labels in collapsed sidebar mode.\nWhen true, displays text labels below icons when sidebar is collapsed, enabling icon-with-label variant.\n",
                    "description": "<p>Shows icon labels in collapsed sidebar mode.\nWhen true, displays text labels below icons when sidebar is collapsed, enabling icon-with-label variant.</p>\n",
                    "line": 132,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasScrollToItem",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6247,
                            "end": 6267,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6248,
                                "end": 6255,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables automatic scrolling to active menu item.\nWhen true, scrolls the menu container to bring the currently active item into view.\n",
                    "description": "<p>Enables automatic scrolling to active menu item.\nWhen true, scrolls the menu container to bring the currently active item into view.</p>\n",
                    "line": 181,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasTooltip",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4650,
                            "end": 4669,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4651,
                                "end": 4658,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables tooltips on menu items when sidebar is collapsed.\nWhen true, displays full menu item labels in tooltips on hover in collapsed state.\n",
                    "description": "<p>Enables tooltips on menu items when sidebar is collapsed.\nWhen true, displays full menu item labels in tooltips on hover in collapsed state.</p>\n",
                    "line": 139,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasTooltipOnExpanded",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4892,
                            "end": 4912,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4893,
                                "end": 4900,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nShows tooltips even when sidebar is expanded.\nWhen true, displays tooltips on menu items regardless of sidebar collapse state.\n",
                    "description": "<p>Shows tooltips even when sidebar is expanded.\nWhen true, displays tooltips on menu items regardless of sidebar collapse state.</p>\n",
                    "line": 146,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCollapsed",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5438,
                            "end": 5458,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5439,
                                "end": 5446,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nRenders the menu in collapsed/icon-only mode.\nWhen true, hides menu item labels and shows only icons, typically synchronized with sidebar collapse state.\n",
                    "description": "<p>Renders the menu in collapsed/icon-only mode.\nWhen true, hides menu item labels and shows only icons, typically synchronized with sidebar collapse state.</p>\n",
                    "line": 160,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isFlat",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6001,
                            "end": 6021,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6002,
                                "end": 6009,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nRenders menu in flat mode without hierarchical indentation.\nWhen true, all menu items are displayed at the same level regardless of parent-child relationships.\n",
                    "description": "<p>Renders menu in flat mode without hierarchical indentation.\nWhen true, all menu items are displayed at the same level regardless of parent-child relationships.</p>\n",
                    "line": 174,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "items",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nArray of menu item objects to render in the sidebar navigation.\nEach item should conform to EuiMenuItem interface with properties like label, url, icon, and children.\nRequired for menu rendering.\n",
                    "description": "<p>Array of menu item objects to render in the sidebar navigation.\nEach item should conform to EuiMenuItem interface with properties like label, url, icon, and children.\nRequired for menu rendering.</p>\n",
                    "line": 195,
                    "type": "Items[]",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "sidebarItemClick",
                    "defaultValue": "new EventEmitter<EuiMenuItem>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when a menu item is clicked by the user.\nPayload: EuiMenuItem - the clicked menu item object\nTriggered on any menu item click, before automatic sidebar closure on mobile/tablet.\n",
                    "description": "<p>Emitted when a menu item is clicked by the user.\nPayload: EuiMenuItem - the clicked menu item object\nTriggered on any menu item click, before automatic sidebar closure on mobile/tablet.</p>\n",
                    "line": 202,
                    "type": "EventEmitter"
                },
                {
                    "name": "sidebarItemToggle",
                    "defaultValue": "new EventEmitter<EuiMenuItem>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when a collapsible menu item is expanded or collapsed.\nPayload: EuiMenuItem - the toggled menu item object\nTriggered when user clicks the expand/collapse control on parent menu items.\n",
                    "description": "<p>Emitted when a collapsible menu item is expanded or collapsed.\nPayload: EuiMenuItem - the toggled menu item object\nTriggered when user clicks the expand/collapse control on parent menu items.</p>\n",
                    "line": 209,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 109
                },
                {
                    "name": "class",
                    "defaultValue": "'eui-app-sidebar-menu'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 111,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": ""
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "menu",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiMenuComponent",
                    "indexKey": "",
                    "optional": true,
                    "description": "",
                    "line": 211,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'menu', {static: false}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 243,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 256,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 252,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 219,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onMenuItemClicked",
                    "args": [
                        {
                            "name": "event",
                            "type": "EuiMenuItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 265,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "EuiMenuItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onSidebarItemToggled",
                    "args": [
                        {
                            "name": "event",
                            "type": "EuiMenuItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 277,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "EuiMenuItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-sidebar-menu'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 111,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "EUI_MENU"
                }
            ],
            "description": "<p>Sidebar navigation menu component that renders hierarchical menu items within the application sidebar.\nIntegrates with EuiAppShellService to synchronize menu state and handle responsive behavior.\nSupports filtering, icons, tooltips, collapsible states, and automatic closure on mobile/tablet navigation.\nAutomatically switches between sidebar-only and combined menu items based on viewport breakpoints.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Basic sidebar menu within app structure --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-sidebar&gt;\n    &lt;eui-app-sidebar-body&gt;\n      &lt;eui-app-sidebar-menu\n        [items]=&quot;sidebarItems&quot;\n        [hasFilter]=&quot;true&quot;\n        [hasIcons]=&quot;true&quot;\n        (sidebarItemClick)=&quot;onMenuItemClick($event)&quot;\n        (sidebarItemToggle)=&quot;onMenuItemToggle($event)&quot;&gt;\n      &lt;/eui-app-sidebar-menu&gt;\n    &lt;/eui-app-sidebar-body&gt;\n  &lt;/eui-app-sidebar&gt;\n&lt;/eui-app&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">import { EuiMenuItem } from &#39;&#64;eui/components/eui-menu&#39;;\n\nsidebarItems: EuiMenuItem[] = [\n  {\n    label: &#39;Dashboard&#39;,\n    url: &#39;/dashboard&#39;,\n    icon: &#39;home:outline&#39;\n  },\n  {\n    label: &#39;Settings&#39;,\n    icon: &#39;settings:outline&#39;,\n    children: [\n      { label: &#39;Profile&#39;, url: &#39;/settings/profile&#39; },\n      { label: &#39;Security&#39;, url: &#39;/settings/security&#39; }\n    ]\n  }\n];\n\nonMenuItemClick(item: EuiMenuItem): void {\n  console.log(&#39;Menu item clicked:&#39;, item);\n}</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Keyboard navigation supported (Arrow keys, Enter, Space)</li>\n<li>Focus management handled automatically</li>\n<li>ARIA attributes for menu structure and states</li>\n<li>Tooltips provide context in collapsed mode</li>\n<li>Filter input is keyboard accessible</li>\n<li>Collapsible items announce expanded/collapsed state</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-app-sidebar-body for proper layout</li>\n<li>items array should use EuiMenuItem interface</li>\n<li>hasFilter enables search/filter input above menu</li>\n<li>hasIcons displays icons alongside labels</li>\n<li>hasIconsLabels shows text below icons in collapsed mode</li>\n<li>hasTooltip enables tooltips in collapsed state (default: true)</li>\n<li>hasTooltipOnExpanded shows tooltips even when expanded</li>\n<li>expandAllItems expands all parent items by default</li>\n<li>isCollapsed renders icon-only mode (syncs with sidebar state)</li>\n<li>hasCollapsedInitials shows first letter instead of icon</li>\n<li>isFlat removes hierarchical indentation</li>\n<li>hasScrollToItem auto-scrolls to active item</li>\n<li>hasBoldRootLevel emphasizes top-level items</li>\n<li>Automatically closes sidebar on mobile/tablet after navigation</li>\n<li>Switches to combined menu items on mobile breakpoint</li>\n<li>sidebarItemClick emits on any item click</li>\n<li>sidebarItemToggle emits on expand/collapse actions</li>\n</ul>\n",
            "rawdescription": "\n\nSidebar navigation menu component that renders hierarchical menu items within the application sidebar.\nIntegrates with EuiAppShellService to synchronize menu state and handle responsive behavior.\nSupports filtering, icons, tooltips, collapsible states, and automatic closure on mobile/tablet navigation.\nAutomatically switches between sidebar-only and combined menu items based on viewport breakpoints.\n\n```html\n<!-- Basic sidebar menu within app structure -->\n<eui-app>\n  <eui-app-sidebar>\n    <eui-app-sidebar-body>\n      <eui-app-sidebar-menu\n        [items]=\"sidebarItems\"\n        [hasFilter]=\"true\"\n        [hasIcons]=\"true\"\n        (sidebarItemClick)=\"onMenuItemClick($event)\"\n        (sidebarItemToggle)=\"onMenuItemToggle($event)\">\n      </eui-app-sidebar-menu>\n    </eui-app-sidebar-body>\n  </eui-app-sidebar>\n</eui-app>\n```\n\n```ts\nimport { EuiMenuItem } from '@eui/components/eui-menu';\n\nsidebarItems: EuiMenuItem[] = [\n  {\n    label: 'Dashboard',\n    url: '/dashboard',\n    icon: 'home:outline'\n  },\n  {\n    label: 'Settings',\n    icon: 'settings:outline',\n    children: [\n      { label: 'Profile', url: '/settings/profile' },\n      { label: 'Security', url: '/settings/security' }\n    ]\n  }\n];\n\nonMenuItemClick(item: EuiMenuItem): void {\n  console.log('Menu item clicked:', item);\n}\n```\n\n### Accessibility\n- Keyboard navigation supported (Arrow keys, Enter, Space)\n- Focus management handled automatically\n- ARIA attributes for menu structure and states\n- Tooltips provide context in collapsed mode\n- Filter input is keyboard accessible\n- Collapsible items announce expanded/collapsed state\n\n### Notes\n- Must be used within eui-app-sidebar-body for proper layout\n- items array should use EuiMenuItem interface\n- hasFilter enables search/filter input above menu\n- hasIcons displays icons alongside labels\n- hasIconsLabels shows text below icons in collapsed mode\n- hasTooltip enables tooltips in collapsed state (default: true)\n- hasTooltipOnExpanded shows tooltips even when expanded\n- expandAllItems expands all parent items by default\n- isCollapsed renders icon-only mode (syncs with sidebar state)\n- hasCollapsedInitials shows first letter instead of icon\n- isFlat removes hierarchical indentation\n- hasScrollToItem auto-scrolls to active item\n- hasBoldRootLevel emphasizes top-level items\n- Automatically closes sidebar on mobile/tablet after navigation\n- Switches to combined menu items on mobile breakpoint\n- sidebarItemClick emits on any item click\n- sidebarItemToggle emits on expand/collapse actions\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ViewEncapsulation,\n    Input,\n    OnChanges,\n    OnInit,\n    SimpleChanges,\n    Output,\n    EventEmitter,\n    OnDestroy,\n    booleanAttribute,\n    inject,\n    ViewChild,\n    AfterViewInit,\n} from '@angular/core';\nimport { EuiAppShellService } from '@eui/core';\nimport { EUI_MENU, EuiMenuComponent, EuiMenuItem } from '@eui/components/eui-menu';\nimport { Subscription } from 'rxjs';\nimport { AsyncPipe } from '@angular/common';\n\n/**\n * @description\n * Sidebar navigation menu component that renders hierarchical menu items within the application sidebar.\n * Integrates with EuiAppShellService to synchronize menu state and handle responsive behavior.\n * Supports filtering, icons, tooltips, collapsible states, and automatic closure on mobile/tablet navigation.\n * Automatically switches between sidebar-only and combined menu items based on viewport breakpoints.\n * \n * @usageNotes\n * ```html\n * <!-- Basic sidebar menu within app structure -->\n * <eui-app>\n *   <eui-app-sidebar>\n *     <eui-app-sidebar-body>\n *       <eui-app-sidebar-menu\n *         [items]=\"sidebarItems\"\n *         [hasFilter]=\"true\"\n *         [hasIcons]=\"true\"\n *         (sidebarItemClick)=\"onMenuItemClick($event)\"\n *         (sidebarItemToggle)=\"onMenuItemToggle($event)\">\n *       </eui-app-sidebar-menu>\n *     </eui-app-sidebar-body>\n *   </eui-app-sidebar>\n * </eui-app>\n * ```\n *\n * ```ts\n * import { EuiMenuItem } from '@eui/components/eui-menu';\n *\n * sidebarItems: EuiMenuItem[] = [\n *   {\n *     label: 'Dashboard',\n *     url: '/dashboard',\n *     icon: 'home:outline'\n *   },\n *   {\n *     label: 'Settings',\n *     icon: 'settings:outline',\n *     children: [\n *       { label: 'Profile', url: '/settings/profile' },\n *       { label: 'Security', url: '/settings/security' }\n *     ]\n *   }\n * ];\n *\n * onMenuItemClick(item: EuiMenuItem): void {\n *   console.log('Menu item clicked:', item);\n * }\n * ```\n *\n * ### Accessibility\n * - Keyboard navigation supported (Arrow keys, Enter, Space)\n * - Focus management handled automatically\n * - ARIA attributes for menu structure and states\n * - Tooltips provide context in collapsed mode\n * - Filter input is keyboard accessible\n * - Collapsible items announce expanded/collapsed state\n *\n * ### Notes\n * - Must be used within eui-app-sidebar-body for proper layout\n * - items array should use EuiMenuItem interface\n * - hasFilter enables search/filter input above menu\n * - hasIcons displays icons alongside labels\n * - hasIconsLabels shows text below icons in collapsed mode\n * - hasTooltip enables tooltips in collapsed state (default: true)\n * - hasTooltipOnExpanded shows tooltips even when expanded\n * - expandAllItems expands all parent items by default\n * - isCollapsed renders icon-only mode (syncs with sidebar state)\n * - hasCollapsedInitials shows first letter instead of icon\n * - isFlat removes hierarchical indentation\n * - hasScrollToItem auto-scrolls to active item\n * - hasBoldRootLevel emphasizes top-level items\n * - Automatically closes sidebar on mobile/tablet after navigation\n * - Switches to combined menu items on mobile breakpoint\n * - sidebarItemClick emits on any item click\n * - sidebarItemToggle emits on expand/collapse actions\n */\n@Component({\n    selector: 'eui-app-sidebar-menu',\n    templateUrl: './sidebar-menu.component.html',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        AsyncPipe,\n        ...EUI_MENU,\n    ],\n})\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class EuiAppSidebarMenuComponent<Items = any> implements OnInit, AfterViewInit, OnChanges, OnDestroy {\n    asService = inject(EuiAppShellService);\n\n    @HostBinding() class = 'eui-app-sidebar-menu';\n\n    /**\n     * Enables a search/filter input field above the menu items.\n     * When true, displays a text input allowing users to filter menu items by label.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasFilter = false;\n\n    /**\n     * Displays icons alongside menu item labels.\n     * When true, renders icon elements for menu items that have icon definitions.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasIcons = false;\n\n    /**\n     * Shows icon labels in collapsed sidebar mode.\n     * When true, displays text labels below icons when sidebar is collapsed, enabling icon-with-label variant.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasIconsLabels = false;\n\n    /**\n     * Enables tooltips on menu items when sidebar is collapsed.\n     * When true, displays full menu item labels in tooltips on hover in collapsed state.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasTooltip = true;\n\n    /**\n     * Shows tooltips even when sidebar is expanded.\n     * When true, displays tooltips on menu items regardless of sidebar collapse state.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasTooltipOnExpanded = false;\n\n    /**\n     * Expands all collapsible menu items by default.\n     * When true, all parent menu items with children are rendered in expanded state on initialization.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) expandAllItems = false;\n\n    /**\n     * Renders the menu in collapsed/icon-only mode.\n     * When true, hides menu item labels and shows only icons, typically synchronized with sidebar collapse state.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsed = false;\n\n    /**\n     * Displays initials instead of full icons in collapsed mode.\n     * When true, shows first letter of menu item label as a visual identifier when sidebar is collapsed.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasCollapsedInitials = false;\n\n    /**\n     * Renders menu in flat mode without hierarchical indentation.\n     * When true, all menu items are displayed at the same level regardless of parent-child relationships.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isFlat = false;\n\n    /**\n     * Enables automatic scrolling to active menu item.\n     * When true, scrolls the menu container to bring the currently active item into view.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasScrollToItem = false;\n\n    /**\n     * Applies bold font weight to root-level menu items.\n     * When true, emphasizes top-level menu items with bold styling to distinguish hierarchy.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasBoldRootLevel = false;\n\n    /**\n     * Array of menu item objects to render in the sidebar navigation.\n     * Each item should conform to EuiMenuItem interface with properties like label, url, icon, and children.\n     * Required for menu rendering.\n     */\n    @Input() items: Items[];\n\n    /**\n     * Emitted when a menu item is clicked by the user.\n     * Payload: EuiMenuItem - the clicked menu item object\n     * Triggered on any menu item click, before automatic sidebar closure on mobile/tablet.\n     */\n    @Output() sidebarItemClick = new EventEmitter<EuiMenuItem>();\n\n    /**\n     * Emitted when a collapsible menu item is expanded or collapsed.\n     * Payload: EuiMenuItem - the toggled menu item object\n     * Triggered when user clicks the expand/collapse control on parent menu items.\n     */\n    @Output() sidebarItemToggle = new EventEmitter<EuiMenuItem>();\n\n    @ViewChild('menu', { static: false }) menu?: EuiMenuComponent;\n\n    private subs: Subscription;\n\n    constructor() {\n        this.subs = new Subscription();\n    }\n\n    ngOnInit(): void {\n        if (this.items) {\n            this.asService.setState({\n                ...this.asService.state,\n                sidebarLinks: this.items,\n            });\n        }\n        \n        if (this.hasIconsLabels) {\n            this.asService.hasSidebarCollapsedVariant = this.hasIconsLabels;\n        }\n\n        this.subs.add(this.asService.state$.subscribe((state) => {\n            if (state?.breakpoints?.isMobile) {\n                this.items = <Items[]>state.combinedLinks;\n            } else {\n                this.items = <Items[]>state.sidebarLinks;\n            }\n        }));\n\n        // subscribe to state changes\n        // this.subs.add(this.asService.getState<Items[]>('combinedLinks').subscribe((links) => (this.items = links)));\n    }\n\n    ngAfterViewInit(): void {\n        this.subs.add(this.asService.state$.subscribe((state) => {\n            if (state?.isSidebarFocused && this.menu) {\n                this.menu.menubar.nativeElement.focus();\n                this.asService.state.isSidebarFocused = false;\n            }\n        }));\n    }\n\n    ngOnDestroy(): void {\n        this.subs.unsubscribe();\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes.items) {\n            this.asService.setState({\n                ...this.asService.state,\n                sidebarLinks: this.items,\n            });\n        }\n    }\n\n    public onMenuItemClicked(event: EuiMenuItem): void {\n        // Auto-close sidebar menu after click when in mobile / tablet modes\n        if (\n            event.url &&\n            (this.asService.state.breakpoints.isMobile || this.asService.state.breakpoints.isTablet || this.asService.state.isSidebarHidden)\n        ) {\n            this.asService.isSidebarOpen = false;\n        }\n\n        this.sidebarItemClick.emit(event);\n    }\n\n    public onSidebarItemToggled(event: EuiMenuItem): void {\n        this.sidebarItemToggle.emit(event);\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 213
            },
            "extends": [],
            "implements": [
                "OnInit",
                "AfterViewInit",
                "OnChanges",
                "OnDestroy"
            ],
            "templateData": "<eui-menu\n    #menu\n    [items]=\"items\"\n    [hasFilter]=\"hasFilter\"\n    [hasIcons]=\"hasIcons\"\n    [hasIconsLabels]=\"hasIconsLabels\"\n    [hasTooltip]=\"hasTooltip\"\n    [hasTooltipOnExpanded]=\"hasTooltipOnExpanded\"\n    [expandAllItems]=\"expandAllItems\"\n    [isFlat]=\"isFlat\"\n    [hasScrollToItem]=\"hasScrollToItem\"\n    [hasCollapsedInitials]=\"hasCollapsedInitials\"\n    [hasBoldRootLevel]=\"hasBoldRootLevel\"\n    [isCollapsed]=\"!(asService.state$ | async).isSidebarOpen\"\n    (itemClick)=\"onMenuItemClicked($event)\"\n    (expandToggle)=\"onSidebarItemToggled($event)\" />\n"
        },
        {
            "name": "EuiAppSideContainerComponent",
            "id": "component-EuiAppSideContainerComponent-6bdb795730b70889c208ab740dd2161e88cc21b65b2491d4748d9ee5ca56e89e43c999a16ea06f55282e22d39b22197e05bf54091d1f36e8e28934ebc33923ee",
            "file": "packages/components/layout/eui-app/eui-app-side-container/side-container.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-side-container",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./side-container.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "isActive",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 42,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isOverlayActive",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 43,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService, { optional: true })!",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 40
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "c",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 56,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "c",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 67,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 47,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 34,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "EUI_OVERLAY"
                },
                {
                    "name": "EuiResizableDirective",
                    "type": "directive"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { NgTemplateOutlet } from '@angular/common';\nimport {\n    Component,\n    HostBinding,\n    ChangeDetectionStrategy,\n    ViewEncapsulation,\n    inject,\n    OnInit,\n    Input,\n    booleanAttribute,\n    OnChanges,\n    SimpleChanges,\n    OnDestroy,\n} from '@angular/core';\nimport { EuiResizableDirective } from '@eui/components/directives';\nimport { EUI_OVERLAY } from '@eui/components/eui-overlay';\nimport { EuiAppShellService } from '@eui/core';\nimport { Subject, takeUntil } from 'rxjs';\n\n@Component({\n    selector: 'eui-app-side-container',\n    templateUrl: './side-container.component.html',\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n    styleUrl: './side-container.scss',\n    imports: [\n        NgTemplateOutlet,\n        ...EUI_OVERLAY,\n        EuiResizableDirective,\n    ],\n})\nexport class EuiAppSideContainerComponent implements OnInit, OnChanges, OnDestroy {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-app-side-container',\n        ].join(' ').trim();\n    }\n\n    asService = inject(EuiAppShellService, { optional: true })!;\n\n    @Input({ transform: booleanAttribute }) isActive = false;\n    @Input({ transform: booleanAttribute }) isOverlayActive = false;\n\n    private destroy$ = new Subject<boolean>();\n\n    ngOnInit(): void {\n        this.asService.breakpoints$.pipe(takeUntil(this.destroy$)).subscribe((bkps) => {\n            if (bkps.isLtDesktop) {\n                this.isOverlayActive = true;\n                this.asService?.deactivateSideContainer();\n            }\n        });\n    }\n\n    ngOnChanges(c: SimpleChanges): void {\n        if (this.isOverlayActive) {\n            this.asService?.deactivateSideContainer();\n        } else {\n            this.asService?.activateSideContainer();\n        }\n        if (!this.isActive) {\n            this.asService?.deactivateSideContainer();\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n}\n",
            "styleUrl": "./side-container.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnChanges",
                "OnDestroy"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 34
                    }
                }
            },
            "templateData": "@if (isActive) {\n    @if (isOverlayActive) {\n        <eui-overlay isActive class=\"eui-app-side-container__overlay\" euiResizable euiResizablePosition=\"left\" euiResizableMinWidth=\"300\">\n            <eui-overlay-content>\n                <ng-container *ngTemplateOutlet=\"content\"/>\n            </eui-overlay-content>\n        </eui-overlay>\n    \n    } @else {\n        <div class=\"eui-app-side-container__content\" euiResizable euiResizableSideContainer euiResizablePosition=\"left\" euiResizableMinWidth=\"300\">\n            <ng-container *ngTemplateOutlet=\"content\"/>\n        </div>\n    }\n}\n\n<ng-template #content>\n    <ng-content/>\n</ng-template>"
        },
        {
            "name": "EuiAppToolbar",
            "id": "component-EuiAppToolbar-24b24a6720991fb7600e720b53724fe63cd5e0a6718ed215fd27fe7093bffae75cb696e970ccbc05f0d30a7ff35dbe213ec530f8461a0711b41c55520dd39bde",
            "file": "packages/components/layout/eui-app-v2/eui-app-toolbar/eui-app-toolbar.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-toolbar",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-app-toolbar.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiSecondary"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 28,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 26,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 37,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 31,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "EuiAppToolbarSidebarToggle"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, inject, OnInit } from '@angular/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiAppToolbarSidebarToggle } from './eui-app-toolbar-sidebar-toggle';\nimport { EuiAppShellService } from '@eui/core';\nimport { AsyncPipe } from '@angular/common';\n\n@Component({\n    selector: 'eui-app-toolbar',\n    templateUrl: './eui-app-toolbar.html',\n    styleUrl: './eui-app-toolbar.scss',\n    imports: [\n        AsyncPipe,\n        EuiAppToolbarSidebarToggle,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiPrimary',\n                'euiSecondary',\n            ],\n        },\n    ],\n})\nexport class EuiAppToolbar implements OnInit {\n    protected baseStatesDirective = inject(BaseStatesDirective);\n\n    protected asService = inject(EuiAppShellService);\n\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-app-toolbar'),\n        ].join(' ').trim();\n    }\n\n    ngOnInit(): void {\n        if (!this.baseStatesDirective.euiSecondary) {\n            this.baseStatesDirective.euiPrimary = true;\n        }\n    }\n}\n",
            "styleUrl": "./eui-app-toolbar.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 31
                    }
                }
            },
            "templateData": "@if (asService.getState('hasSidebar') | async) {\n    <eui-app-toolbar-sidebar-toggle/>\n}\n\n<div class=\"eui-app-toolbar__start\">\n    <ng-content select=\"eui-app-toolbar-logo\"/>\n    <ng-content select=\"eui-app-toolbar-appname\"/>\n    <ng-content select=\"eui-app-toolbar-environment\"/>\n    <ng-content select=\"eui-app-toolbar-mega-menu\"/>\n    <ng-content select=\"eui-app-toolbar-navbar\"/>\n</div>\n\n<!-- <div class=\"eui-app-toolbar__nav-wrapper\">\n    <ng-content select=\"eui-app-toolbar-mega-menu\"/>\n    <ng-content select=\"eui-app-toolbar-navbar\"/>\n</div> -->\n\n<div class=\"eui-app-toolbar__center\">\n    <ng-content select=\"eui-app-toolbar-search\"/>\n    <ng-content select=\"eui-app-toolbar-selector\"/>\n</div>\n\n<div class=\"eui-app-toolbar__end\">\n    <ng-content select=\"eui-app-toolbar-items\"/>\n    <ng-content select=\"eui-user-profile\"/>\n    <ng-content select=\"eui-language-selector\"/>\n</div>  \n"
        },
        {
            "name": "EuiAppToolbarAppname",
            "id": "component-EuiAppToolbarAppname-1471fe8aba088984591906d115883cde40ceb326a4845442f35b274c3f89d114cee65e5a6aca6d565b7658ff81b9c4b3509b7ff73f04de5a58c7c32c36a4639e",
            "file": "packages/components/layout/eui-app-v2/eui-app-toolbar/eui-app-toolbar-appname.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-toolbar-appname",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-app-toolbar-appname.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-app-toolbar-appname'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-toolbar-appname'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 10,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n@Component({\n    selector: 'eui-app-toolbar-appname',\n    templateUrl: './eui-app-toolbar-appname.html',\n    styleUrl: './eui-app-toolbar-appname.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiAppToolbarAppname {\n    @HostBinding('class') string = 'eui-app-toolbar-appname';\n}\n",
            "styleUrl": "./eui-app-toolbar-appname.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "<ng-content select=\"eui-app-toolbar-appname-label\"/>\n<ng-content select=\"eui-app-toolbar-appname-sub-label\"/>"
        },
        {
            "name": "EuiAppToolbarAppNameLabel",
            "id": "component-EuiAppToolbarAppNameLabel-27cf6e1725f68867f401865b9e0858402f159227fd0965167af457ec5c2cc774c158b7911c53d2e39e66fc0ff9bdc88cc5e2202d471f4ed8ff8969124e308b17",
            "file": "packages/components/layout/eui-app-v2/eui-app-toolbar/eui-app-toolbar-appname-label.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-toolbar-appname-label",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-app-toolbar-appname-label'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-toolbar-appname-label'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 10,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n    selector: 'eui-app-toolbar-appname-label',\n    template: '<ng-content />',\n    styleUrl: './eui-app-toolbar-appname-label.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiAppToolbarAppNameLabel {\n    @HostBinding('class') string = 'eui-app-toolbar-appname-label';\n}\n",
            "styleUrl": "./eui-app-toolbar-appname-label.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiAppToolbarAppNameSublabel",
            "id": "component-EuiAppToolbarAppNameSublabel-7323257b9474fdd8d207125709d5f61d8bb8431d1f1c729acfd68802182a043b6965ea7c7bf603081cd25c3e0f5073d9f0d128e94f563ff264f448535969183a",
            "file": "packages/components/layout/eui-app-v2/eui-app-toolbar/eui-app-toolbar-appname-sub-label.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-toolbar-appname-sub-label",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-app-toolbar-appname-sub-label'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-toolbar-appname-sub-label'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 10,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n    selector: 'eui-app-toolbar-appname-sub-label',\n    template: '<ng-content />',\n    styleUrl: './eui-app-toolbar-appname-sub-label.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiAppToolbarAppNameSublabel {\n    @HostBinding('class') string = 'eui-app-toolbar-appname-sub-label';\n}\n",
            "styleUrl": "./eui-app-toolbar-appname-sub-label.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiAppToolbarComponent",
            "id": "component-EuiAppToolbarComponent-d233dc82dda7bc869712adb243e9e2718e14d2a7e3ccef438cc01554e4bc8f21bd4d9a0ed40218630b886db1a187c86c5120900d67c430e50c06b416da49f740",
            "file": "packages/components/layout/eui-app/eui-app-toolbar/toolbar.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-toolbar",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./toolbar.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "euiSecondary",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3314,
                            "end": 3334,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3315,
                                "end": 3322,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nApplies secondary styling variant to the toolbar.\n",
                    "description": "<p>Applies secondary styling variant to the toolbar.</p>\n",
                    "line": 94,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 95
                },
                {
                    "name": "role",
                    "defaultValue": "'banner'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 88,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 102,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 98,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'banner'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 88,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 81,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "EuiSidebarToggleComponent",
                    "type": "component"
                },
                {
                    "name": "EUI_LANGUAGE_SELECTOR"
                }
            ],
            "description": "<p>Application-level toolbar component that provides a horizontal navigation and action bar at the top of the application.\nAutomatically registers itself with EuiAppShellService to coordinate layout calculations and CSS variable management.\nSupports primary and secondary visual variants for different toolbar contexts within the application hierarchy.\nIncludes built-in sidebar toggle and language selector integration points.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Basic toolbar within app structure --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-toolbar&gt;\n    &lt;eui-toolbar&gt;\n      &lt;eui-toolbar-mega-menu [items]=&quot;menuItems&quot;&gt;&lt;/eui-toolbar-mega-menu&gt;\n      &lt;eui-toolbar-items euiPositionRight&gt;\n        &lt;eui-toolbar-item-notifications&gt;\n          &lt;eui-notifications [count]=&quot;notificationItems.length&quot; [items]=&quot;notificationItems&quot;&gt;&lt;/eui-notifications&gt;\n        &lt;/eui-toolbar-item-notifications&gt;\n      &lt;/eui-toolbar-items&gt;\n    &lt;/eui-toolbar&gt;\n  &lt;/eui-app-toolbar&gt;\n&lt;/eui-app&gt;\n\n&lt;!-- Secondary toolbar variant --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-toolbar [euiSecondary]=&quot;true&quot;&gt;\n    &lt;eui-toolbar&gt;\n      &lt;!-- Toolbar content --&gt;\n    &lt;/eui-toolbar&gt;\n  &lt;/eui-app-toolbar&gt;\n&lt;/eui-app&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses role=&quot;banner&quot; for semantic landmark identification</li>\n<li>Provides consistent navigation structure across application</li>\n<li>Sidebar toggle is keyboard accessible</li>\n<li>Language selector supports keyboard navigation</li>\n<li>Child toolbar components inherit accessibility features</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-app component for proper layout integration</li>\n<li>Automatically registers with EuiAppShellService on init</li>\n<li>Sets --eui-app-toolbar-height CSS variable for layout calculations</li>\n<li>euiSecondary applies secondary theme styling (default: false, primary)</li>\n<li>Expects eui-toolbar child component for content projection</li>\n<li>Includes built-in sidebar toggle and language selector slots</li>\n<li>Cleans up layout state and CSS variables on destroy</li>\n<li>Theme variants affect nested eui-toolbar styling automatically</li>\n</ul>\n",
            "rawdescription": "\n\nApplication-level toolbar component that provides a horizontal navigation and action bar at the top of the application.\nAutomatically registers itself with EuiAppShellService to coordinate layout calculations and CSS variable management.\nSupports primary and secondary visual variants for different toolbar contexts within the application hierarchy.\nIncludes built-in sidebar toggle and language selector integration points.\n\n```html\n<!-- Basic toolbar within app structure -->\n<eui-app>\n  <eui-app-toolbar>\n    <eui-toolbar>\n      <eui-toolbar-mega-menu [items]=\"menuItems\"></eui-toolbar-mega-menu>\n      <eui-toolbar-items euiPositionRight>\n        <eui-toolbar-item-notifications>\n          <eui-notifications [count]=\"notificationItems.length\" [items]=\"notificationItems\"></eui-notifications>\n        </eui-toolbar-item-notifications>\n      </eui-toolbar-items>\n    </eui-toolbar>\n  </eui-app-toolbar>\n</eui-app>\n\n<!-- Secondary toolbar variant -->\n<eui-app>\n  <eui-app-toolbar [euiSecondary]=\"true\">\n    <eui-toolbar>\n      <!-- Toolbar content -->\n    </eui-toolbar>\n  </eui-app-toolbar>\n</eui-app>\n```\n\n### Accessibility\n- Uses role=\"banner\" for semantic landmark identification\n- Provides consistent navigation structure across application\n- Sidebar toggle is keyboard accessible\n- Language selector supports keyboard navigation\n- Child toolbar components inherit accessibility features\n\n### Notes\n- Must be used within eui-app component for proper layout integration\n- Automatically registers with EuiAppShellService on init\n- Sets --eui-app-toolbar-height CSS variable for layout calculations\n- euiSecondary applies secondary theme styling (default: false, primary)\n- Expects eui-toolbar child component for content projection\n- Includes built-in sidebar toggle and language selector slots\n- Cleans up layout state and CSS variables on destroy\n- Theme variants affect nested eui-toolbar styling automatically\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ChangeDetectionStrategy,\n    ViewEncapsulation,\n    OnInit,\n    OnDestroy,\n    Input,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\nimport { EuiAppShellService } from '@eui/core';\nimport { AsyncPipe, DOCUMENT } from '@angular/common';\nimport { EuiSidebarToggleComponent } from '../../eui-sidebar-toggle';\nimport { EUI_LANGUAGE_SELECTOR } from '@eui/components/eui-language-selector';\n\n/**\n * @description\n * Application-level toolbar component that provides a horizontal navigation and action bar at the top of the application.\n * Automatically registers itself with EuiAppShellService to coordinate layout calculations and CSS variable management.\n * Supports primary and secondary visual variants for different toolbar contexts within the application hierarchy.\n * Includes built-in sidebar toggle and language selector integration points.\n * \n * @usageNotes\n * ```html\n * <!-- Basic toolbar within app structure -->\n * <eui-app>\n *   <eui-app-toolbar>\n *     <eui-toolbar>\n *       <eui-toolbar-mega-menu [items]=\"menuItems\"></eui-toolbar-mega-menu>\n *       <eui-toolbar-items euiPositionRight>\n *         <eui-toolbar-item-notifications>\n *           <eui-notifications [count]=\"notificationItems.length\" [items]=\"notificationItems\"></eui-notifications>\n *         </eui-toolbar-item-notifications>\n *       </eui-toolbar-items>\n *     </eui-toolbar>\n *   </eui-app-toolbar>\n * </eui-app>\n *\n * <!-- Secondary toolbar variant -->\n * <eui-app>\n *   <eui-app-toolbar [euiSecondary]=\"true\">\n *     <eui-toolbar>\n *       <!-- Toolbar content -->\n *     </eui-toolbar>\n *   </eui-app-toolbar>\n * </eui-app>\n * ```\n *\n * ### Accessibility\n * - Uses role=\"banner\" for semantic landmark identification\n * - Provides consistent navigation structure across application\n * - Sidebar toggle is keyboard accessible\n * - Language selector supports keyboard navigation\n * - Child toolbar components inherit accessibility features\n *\n * ### Notes\n * - Must be used within eui-app component for proper layout integration\n * - Automatically registers with EuiAppShellService on init\n * - Sets --eui-app-toolbar-height CSS variable for layout calculations\n * - euiSecondary applies secondary theme styling (default: false, primary)\n * - Expects eui-toolbar child component for content projection\n * - Includes built-in sidebar toggle and language selector slots\n * - Cleans up layout state and CSS variables on destroy\n * - Theme variants affect nested eui-toolbar styling automatically\n */\n@Component({\n    selector: 'eui-app-toolbar',\n    templateUrl: './toolbar.component.html',\n    styleUrl: './toolbar.scss',\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        AsyncPipe,\n        EuiSidebarToggleComponent,\n        ...EUI_LANGUAGE_SELECTOR,\n    ],\n})\nexport class EuiAppToolbarComponent implements OnInit, OnDestroy {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-app-toolbar',\n            this.euiSecondary ? 'eui-app-toolbar--secondary eui--secondary' : 'eui-app-toolbar--primary eui--primary',\n        ].join(' ').trim();\n    }\n\n    @HostBinding('attr.role') role = 'banner';\n\n    /**\n     * Applies secondary styling variant to the toolbar.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiSecondary = false;\n    asService = inject(EuiAppShellService);\n    private document = inject<Document>(DOCUMENT);\n\n    ngOnInit(): void {\n        this.asService.activateToolbar();\n    }\n\n    ngOnDestroy(): void {\n        this.asService.setState({\n            ...this.asService.state,\n            hasToolbar: false,\n        });\n        this.document.documentElement.style.removeProperty('--eui-app-toolbar-height');\n    }\n}\n",
            "styleUrl": "./toolbar.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 81
                    }
                }
            },
            "templateData": "@if (asService.getState('hasSidebar') | async) {\n    <eui-sidebar-toggle class=\"eui-app-toolbar__sidebar-toggle\"/>\n}\n\n<ng-content/>\n\n@if ((asService.getState('hasHeader') | async) && (asService.breakpoints$ | async).isMobile) {\n    <eui-language-selector isToolbarSelector/>\n}\n"
        },
        {
            "name": "EuiAppToolbarEnvironment",
            "id": "component-EuiAppToolbarEnvironment-018ad8531bd63434af76931d45912a1d6127c1011086cff5d500803ff22a386ad4bca6f489b4015e3cb4f1192d2808fdecae1e26ae3e9b1b64be5c1442bd7ba4",
            "file": "packages/components/layout/eui-app-v2/eui-app-toolbar/eui-app-toolbar-environment.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-toolbar-environment",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-toolbar-environment'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": ""
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-toolbar-environment'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 10,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n@Component({\n    selector: 'eui-app-toolbar-environment',\n    template: '<ng-content />',\n    styleUrl: './eui-app-toolbar-environment.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiAppToolbarEnvironment {\n    @HostBinding() class = 'eui-app-toolbar-environment';\n}\n",
            "styleUrl": "./eui-app-toolbar-environment.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiAppToolbarItem",
            "id": "component-EuiAppToolbarItem-0309b323474d896f2691f0cf8eb9d997c66e4117e42f49cb26de9abd4a0fb2bd522d8c35367635e292c8f0b636fe238985fb889ff734e702e082156a6aaf4206",
            "file": "packages/components/layout/eui-app-v2/eui-app-toolbar/eui-app-toolbar-item.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-toolbar-item",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-app-toolbar-item'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-toolbar-item'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 10,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n@Component({\n    selector: 'eui-app-toolbar-item',\n    template: '<ng-content/>',\n    styleUrl: './eui-app-toolbar-item.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,   \n})\nexport class EuiAppToolbarItem {\n    @HostBinding('class') string = 'eui-app-toolbar-item';\n}\n",
            "styleUrl": "./eui-app-toolbar-item.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiAppToolbarItems",
            "id": "component-EuiAppToolbarItems-5bbcb370c5baaa1fe6d7b18f5cbc5d069c4e2548fcd23f098da1eb5e1ce0146dea0a0472f1785f2a29ceddee93d428ad12780d20d51d46d621778ee2d8b59cf8",
            "file": "packages/components/layout/eui-app-v2/eui-app-toolbar/eui-app-toolbar-items.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-toolbar-items",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-app-toolbar-items'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 10,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-toolbar-items'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 10,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n@Component({\n    selector: 'eui-app-toolbar-items',\n    template: '<ng-content/>',\n    styleUrl: './eui-app-toolbar-items.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiAppToolbarItems {\n    @HostBinding('class') string = 'eui-app-toolbar-items';\n}\n",
            "styleUrl": "./eui-app-toolbar-items.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiAppToolbarItemsMobileComponent",
            "id": "component-EuiAppToolbarItemsMobileComponent-04544489eef03caa71fddfa373383d8f1f43d9a6789b1c0363bfb1c6bb20b5add0962245ac756d5aeca0cb46040faa84794a38b4b0509a34528a7bc0ada6b912",
            "file": "packages/components/layout/eui-app/eui-app-toolbar/toolbar-items-mobile.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-toolbar-items-mobile",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, Input, booleanAttribute } from '@angular/core';\n\n@Component({\n    selector: 'eui-app-toolbar-items-mobile',\n    template: '<ng-content />',\n})\nexport class EuiAppToolbarItemsMobileComponent {\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiAppToolbarLogo",
            "id": "component-EuiAppToolbarLogo-dbfb3a7e739c60a237d683b9b95340546c621365f73a326b09402f60da0dfe84a2ad160a5016263edc5d3ac2e2bbf1b923888a8a796bac8d63986f0111a0d36d",
            "file": "packages/components/layout/eui-app-v2/eui-app-toolbar/eui-app-toolbar-logo.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-toolbar-logo",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-app-toolbar-logo.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "homeUrl",
                    "defaultValue": "'..'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 16,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "logoHeight",
                    "defaultValue": "'36px'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 18,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "logoUrl",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 17,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "logoWidth",
                    "defaultValue": "'53px'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 19,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "logoStyle",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 22,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "logoUrlGenerated",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 21,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "string",
                    "defaultValue": "'eui-app-toolbar-logo'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 14,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 31,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 27,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'click'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-toolbar-logo'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 14,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [
                {
                    "name": "click",
                    "args": [],
                    "argsDecorator": [],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 27
                }
            ],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding, HostListener, inject, Input, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { EuiConfig } from '@eui/base';\nimport { EUI_CONFIG_TOKEN } from '@eui/core';\n\n@Component({\n    selector: 'eui-app-toolbar-logo',\n    templateUrl: './eui-app-toolbar-logo.html',\n    styleUrl: './eui-app-toolbar-logo.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    \n})\nexport class EuiAppToolbarLogo implements OnInit {\n    @HostBinding('class') string = 'eui-app-toolbar-logo';\n\n    @Input() homeUrl = '..';\n    @Input() logoUrl: string;\n    @Input() logoHeight = '36px'\n    @Input() logoWidth = '53px';\n\n    protected logoUrlGenerated;\n    protected logoStyle;\n    private router = inject(Router);\n    private config = inject<EuiConfig>(EUI_CONFIG_TOKEN, { optional: true })!;    \n\n    @HostListener('click')\n    onClick(): void {\n        this.router.navigate([this.homeUrl]);\n    }\n\n    ngOnInit(): void {\n        let assetsBaseUrl = this.config?.appConfig?.global?.eui?.assetsBaseUrl;\n        if (!assetsBaseUrl) {\n            assetsBaseUrl = 'assets';\n        }\n\n        if (!this.logoUrl) {\n            this.logoUrlGenerated = `${assetsBaseUrl}/images/ec-europa/logos/europa-flag-small.png`;\n        } else {\n            this.logoUrlGenerated = this.logoUrl;\n        }\n\n        this.logoStyle = `width:${this.logoWidth}; height:${this.logoHeight};`;\n    }    \n}\n",
            "styleUrl": "./eui-app-toolbar-logo.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit"
            ],
            "templateData": "<img [src]=\"logoUrlGenerated\" class=\"eui-app-toolbar-logo-image\" alt=\"application logo\" [style]=\"logoStyle\"/>\n"
        },
        {
            "name": "EuiAppToolbarMegaMenu",
            "id": "component-EuiAppToolbarMegaMenu-e177e64028da6c873faf7fdd24a45dcde2f48013ef6ae00d29bf35d8451cf3881e6eff206a4306d1936925e669375c948b02cefb023cf9811b489a9404cf836e",
            "file": "packages/components/layout/eui-app-v2/eui-app-toolbar/eui-app-toolbar-mega-menu.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-toolbar-mega-menu",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-app-toolbar-mega-menu.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "items",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 29,
                    "type": "Items[]",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "activeMenu",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 33,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "megaMenuItems",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Items[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 31,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "megaMenuItemsGrouped",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 32,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "role",
                    "defaultValue": "'nav'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 27,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "string",
                    "defaultValue": "'eui-app-toolbar-mega-menu'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 26,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "closeMenu",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 74,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "groupByColIdPerParent",
                    "args": [
                        {
                            "name": "items",
                            "type": "Items[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "literal type",
                    "typeParameters": [],
                    "line": 82,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "items",
                            "type": "Items[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 57,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 43,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "openMenu",
                    "args": [
                        {
                            "name": "menuIndex",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 78,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "menuIndex",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'nav'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 27,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "defaultValue": "'eui-app-toolbar-mega-menu'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 26,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_BADGE"
                },
                {
                    "name": "RouterLink"
                },
                {
                    "name": "RouterLinkActive"
                },
                {
                    "name": "JsonPipe",
                    "type": "pipe"
                },
                {
                    "name": "KeyValuePipe",
                    "type": "pipe"
                },
                {
                    "name": "NgTemplateOutlet"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, OnInit, inject, Input, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';\nimport { DOCUMENT, JsonPipe, KeyValuePipe, NgTemplateOutlet } from '@angular/common';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\n\nimport { EuiAppShellService, EuiMenuItem } from '@eui/core';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BADGE } from '@eui/components/eui-badge';\nimport { Subscription } from 'rxjs';\n\n@Component({\n    selector: 'eui-app-toolbar-mega-menu',\n    templateUrl: './eui-app-toolbar-mega-menu.html',\n    styleUrl: './eui-app-toolbar-mega-menu.scss',\n    changeDetection: ChangeDetectionStrategy.Default,\n    imports: [\n        ...EUI_ICON, \n        ...EUI_BADGE, \n        RouterLink, \n        RouterLinkActive, \n        JsonPipe, \n        KeyValuePipe, \n        NgTemplateOutlet,\n    ],\n})\nexport class EuiAppToolbarMegaMenu<Items = EuiMenuItem> implements OnInit, OnChanges {\n    @HostBinding('class') string = 'eui-app-toolbar-mega-menu';\n    @HostBinding('attr.role') role = 'nav';\n\n    @Input() items: Items[];\n    \n    protected megaMenuItems: Items[];\n    protected megaMenuItemsGrouped: { [parentIndex: number]: { [colIndex: string]: { [colLabel: string]: Items[] } } } ;\n    protected activeMenu: number = null;\n\n    private asService = inject(EuiAppShellService);\n    private document = inject<Document>(DOCUMENT);\n    private subs: Subscription;\n\n    constructor() {\n        this.subs = new Subscription();\n    }\n\n    ngOnInit(): void {\n        // console.log(this.items);\n        // this.asService.activateToolbarMegaMenu();\n\n        this.megaMenuItems = this.filterMegaMenuItems(this.items);\n        // console.log(this.megaMenuItems);\n        // console.log(this.groupByColIdPerParent(this.megaMenuItems));\n\n        this.megaMenuItemsGrouped = this.groupByColIdPerParent(this.megaMenuItems);\n\n        // subscribe to state changes\n        this.subs.add(this.asService.getState<Items[]>('menuLinks').subscribe((links: Items[]) => (this.items = links)));        \n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes.items) {\n            this.asService.setState({\n                ...this.asService.state,\n                menuLinks: changes.items.currentValue,\n            });\n        }\n    }\n\n    // ngOnDestroy(): void {\n    //     this.asService.setState({\n    //         ...this.asService.state,\n    //         hasToolbarMegaMenu: false,\n    //     });\n    //     this.document.documentElement.style.removeProperty('--eui-app-toolbar-mega-menu-height');\n    // }\n\n    closeMenu(): void {\n        this.activeMenu = null;\n    }\n\n    openMenu(menuIndex: number): void {\n        this.activeMenu = menuIndex;\n    }\n\n    groupByColIdPerParent(items: Items[]): { [parentIndex: number]: { [colIndex: string]: { [colLabel: string]: Items[] } } } {\n        const result: { [parentIndex: number]: { [colIndex: string]: { [colLabel: string]: Items[] } } } = {};\n\n        items.forEach((parent, index) => {\n            const group: { [colIndex: string]: { [colLabel: string]: Items[] } } = {};\n\n            parent['children']?.forEach((child: Items) => {\n                const colId = child['megaMenuColIndex'] ?? 'eui-no-col-label';\n                const colLabel = child['megaMenuColLabel'] ?? 'eui-no-label';\n\n                if (!group[colId]) {\n                    group[colId] = {};\n                }\n\n                if (!group[colId][colLabel]) {\n                    group[colId][colLabel] = [];\n                }\n\n                group[colId][colLabel].push(child);\n            });\n\n            result[index] = group;\n        });\n\n        return result;\n    }\n\n    private filterMegaMenuItems(items: Items[]): Items[] {\n        return items\n            // .filter((item) => item['isMegaMenu'])\n            .map((item) => {\n                const newItem = { ...item };\n                if (newItem['children']) {\n                    newItem['children'] = this.filterMegaMenuItems(newItem['children']);\n                }\n                return newItem;\n            });\n    }    \n}\n",
            "styleUrl": "./eui-app-toolbar-mega-menu.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 37
            },
            "extends": [],
            "implements": [
                "OnInit",
                "OnChanges"
            ],
            "templateData": "<nav (mouseleave)=\"closeMenu()\">\n    <ul>\n        @for(megaMenuItem of megaMenuItems; track $index; let i = $index) {\n            <li>\n                @if (megaMenuItem['children'] && megaMenuItem['children'].length > 0) {\n                    <a href=\"javascript: void(0)\"\n                        [class.active]=\"activeMenu === i\"\n                        [class.mega-menu-item--disabled]=\"megaMenuItem['disabled']\"\n                        [attr.aria-disabled]=\"megaMenuItem['disabled']\"\n                        (click)=\"openMenu(i)\"\n                        (focus)=\"openMenu(i)\">\n                        @if (megaMenuItem['iconSvgName']) {\n                        <eui-icon-svg\n                            icon=\"{{ megaMenuItem['iconSvgName'] }}\"\n                            fillColor=\"{{ megaMenuItem['iconTypeClass'] || null }}\"\n                            class=\"mega-menu-item-icon\" />\n                        }\n                        {{ megaMenuItem['label'] }}\n                        <eui-icon-svg icon=\"eui-chevron-down:eui\" size=\"xs\" class=\"eui-u-ml-s\" />\n                    </a>\n                } @else {\n                    <a [routerLink]=\"!megaMenuItem['disabled'] ? megaMenuItem['url'] : null\"\n                        [class.active]=\"activeMenu === i\"\n                        [class.mega-menu-item--disabled]=\"megaMenuItem['disabled']\"\n                        [attr.aria-disabled]=\"megaMenuItem['disabled']\"\n                        (click)=\"openMenu(i)\"\n                        (focus)=\"openMenu(i)\">\n                        {{ megaMenuItem['label'] }}\n                    </a>\n                }\n                \n                @if (activeMenu === i && megaMenuItem['children'] && megaMenuItem['children'].length > 0 && !megaMenuItem['disabled']) {\n                    <div class=\"mega-menu__container\">\n                        @for (col of megaMenuItemsGrouped[i] | keyvalue; track $index) {\n                            <div class=\"mega-menu__container-col\">\n                                <ul class=\"mega-menu-items\">\n                                    @for (label of col.value | keyvalue; track $index) {\n\n                                        <div class=\"mega-menu-item\">\n                                            @if (label.key !== 'eui-no-label') {\n                                                <div class=\"mega-menu-item__category\">{{ label.key }}</div>\n                                            }\n                                            \n                                            @for (item of label.value; track $index) {\n                                                <li class=\"mega-menu-item__link\">\n                                                    @if (item['url']) {\n                                                    <a [routerLink]=\"!item['disabled'] ? item['url'] : null\"\n                                                        [class.mega-menu-item--disabled]=\"item['disabled']\"\n                                                        [attr.aria-disabled]=\"item['disabled']\">\n                                                        <ng-template [ngTemplateOutlet]=\"itemContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\" />\n                                                    </a>\n\n                                                    } @else if (item['urlExternal']) {\n                                                        <a  [href]=\"!item['disabled'] ? item['urlExternal'] : null\"\n                                                            [target]=\"item['urlExternalTarget'] ? item['urlExternalTarget'] :'_blank'\"\n                                                            [class.mega-menu-item--disabled]=\"item['disabled']\"\n                                                            [attr.aria-disabled]=\"item['disabled']\">\n                                                            <ng-template [ngTemplateOutlet]=\"itemContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\" />\n                                                        </a>\n                                                    }\n                                                </li>\n                                            }\n                                        </div>\n                                    }\n                                </ul>\n                            </div>\n                        }\n                    </div>\n                }\n            </li>\n        }\n    </ul>\n</nav>\n\n<!-- PROJECTED CONTENT -->\n<ng-template #itemContent let-item>\n    <div class=\"mega-menu-item__link-start-block\">\n        @if (item['iconSvgName']) {\n        <eui-icon-svg class=\"mega-menu-item__link-icon\" icon=\"{{ item['iconSvgName'] }}\"\n            fillColor=\"{{ item['iconTypeClass'] || null }}\" />\n        } @else if (item['hasMarker']) {\n        <!-- MARKER -->\n        <eui-icon-svg fillColor=\"{{ item['markerTypeClass'] || null }}\" icon=\"eui-circle-fill\" size=\"2xs\"\n            [aria-label]=\"item['markerTypeClass'] + ' ' + 'marker'\" />\n        }\n    </div>\n\n    <div class=\"mega-menu-item__link-content-block\">\n        <div class=\"mega-menu-item__link-label-container\">\n            <span class=\"mega-menu-item__link-label\">{{ item['label'] }}</span>\n        </div>\n    </div>\n\n    <div class=\"mega-menu-item__link-end-block\">\n        @if (item['tagLabel']) {\n        <eui-badge euiOutline euiVariant=\"{{ item['tagTypeClass'] }}\">{{ item['tagLabel'] }}</eui-badge>\n        }\n    </div>\n</ng-template>\n"
        },
        {
            "name": "EuiAppToolbarNavbar",
            "id": "component-EuiAppToolbarNavbar-525fa995247f1bb3814f1d7ce03d1951b7fa4f4142710ab833c89f01860ef680410c7d12ebd6d8f5b04b844b78f036c6407d98ebd4a83eb66ab3f7c62f23c0f6",
            "file": "packages/components/layout/eui-app-v2/eui-app-toolbar/eui-app-toolbar-navbar.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-toolbar-navbar",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-app-toolbar-navbar.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [
                {
                    "name": "itemClick",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 38,
                    "type": "EventEmitter<string>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 42
                },
                {
                    "name": "baseItemSelected",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiAppToolbarNavbarItem",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 43,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "class",
                    "defaultValue": "'eui-app-toolbar-navbar'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 36,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": ""
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "isDropdownView",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 44,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "items",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiAppToolbarNavbarItem>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 40,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "itemSelected",
                    "args": [
                        {
                            "name": "id",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 64,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "id",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 47,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 51,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-toolbar-navbar'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 36,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_DROPDOWN"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    ChangeDetectionStrategy,\n    HostBinding,\n    ViewEncapsulation,\n    Output,\n    EventEmitter,\n    ContentChildren,\n    forwardRef,\n    QueryList,\n    ElementRef,\n    AfterViewInit,\n    AfterContentInit,\n    inject,\n} from '@angular/core';\nimport { EuiAppToolbarNavbarItem } from './eui-app-toolbar-navbar-item';\nimport { EuiAppShellService } from '@eui/core';\nimport { EUI_DROPDOWN } from '@eui/components/eui-dropdown';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { AsyncPipe } from '@angular/common';\n\n@Component({\n    selector: 'eui-app-toolbar-navbar',\n    templateUrl: './eui-app-toolbar-navbar.html',\n    styleUrl: './eui-app-toolbar-navbar.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        AsyncPipe,\n        ...EUI_ICON,\n        ...EUI_BUTTON,\n        ...EUI_DROPDOWN,\n    ],\n})\nexport class EuiAppToolbarNavbar implements AfterContentInit, AfterViewInit {\n    @HostBinding() class = 'eui-app-toolbar-navbar';\n\n    @Output() itemClick: EventEmitter<string> = new EventEmitter();\n\n    @ContentChildren(forwardRef(() => EuiAppToolbarNavbarItem)) items: QueryList<EuiAppToolbarNavbarItem>;\n\n    asService = inject(EuiAppShellService);\n    public baseItemSelected: EuiAppToolbarNavbarItem;\n    public isDropdownView = false;\n    private elementRef = inject(ElementRef);\n\n    ngAfterContentInit(): void {\n        this.baseItemSelected = this.items.filter((i) => i.isActive)[0];\n    }\n\n    ngAfterViewInit(): void {\n        // if (!this.asService?.state?.hasHeader) {\n            const parentWidth = this.elementRef.nativeElement.closest('eui-toolbar').clientWidth;\n            const width = this.elementRef.nativeElement.clientWidth;\n\n            if (width > parentWidth) {\n                setTimeout(() => {\n                    this.isDropdownView = true;\n                }, 1);\n            }\n        // }\n    }\n\n    public itemSelected(id: string): void {\n        this.items.forEach((item) => {\n            if (item.id === id) {\n                item.isActive = true;\n            } else {\n                item.isActive = false;\n            }\n        });\n        this.itemClick.emit(id);\n    }\n}\n",
            "styleUrl": "./eui-app-toolbar-navbar.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterContentInit",
                "AfterViewInit"
            ],
            "templateData": "@if ( (asService.breakpoints$ | async).isLtLargeTablet || isDropdownView ) {\n    <eui-dropdown isLabelUpdatedFromSelectedItem>\n        <button euiButton euiSecondary euiSizeS [attr.aria-label]=\"'Button trigger'\">\n            <span class=\"eui-label\">{{ baseItemSelected.label }}</span>\n            <eui-icon-svg icon=\"eui-chevron-down\" size=\"s\"></eui-icon-svg>\n        </button>\n        <eui-dropdown-content>\n            @for (item of items; track item) {\n            <button euiDropdownItem (click)=\"itemSelected(item.id)\" ariaLabel=\"{{ item.label }}\">\n                {{ item.label }}\n            </button>\n            }\n        </eui-dropdown-content>\n    </eui-dropdown>\n} @else {\n    <ng-content />\n}\n"
        },
        {
            "name": "EuiAppToolbarNavbarItem",
            "id": "component-EuiAppToolbarNavbarItem-734f2c4d2edd7663d6f3bbb2aa218f24f50be17917566eb48b45b6bee4b75edd14a5dfac52ae7e38deb80cfdc45b6da7f1a980e6e181d4d6148a3568ba90bede",
            "file": "packages/components/layout/eui-app-v2/eui-app-toolbar/eui-app-toolbar-navbar-item.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-toolbar-navbar-item",
            "styleUrls": [],
            "styles": [],
            "template": "{{ label }}",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 29,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isActive",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 31,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 30,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "navBarComponentParent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiAppToolbarNavbar",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 33
                },
                {
                    "name": "tabindex",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 27,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.tabindex'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 42,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'click'"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ]
                },
                {
                    "name": "onKeydown",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 47,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'keydown', ['$event']"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.tabindex",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 27,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 20,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [
                {
                    "name": "click",
                    "args": [],
                    "argsDecorator": [],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 42
                },
                {
                    "name": "keydown",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$event"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 47
                }
            ],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import {\n    ChangeDetectionStrategy,\n    Component,\n    HostBinding,\n    HostListener,\n    Input,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\nimport { EuiAppToolbarNavbar } from './eui-app-toolbar-navbar';\n\n@Component({\n    selector: 'eui-app-toolbar-navbar-item',\n    template: '{{ label }}',\n    styleUrl: './eui-app-toolbar-navbar-item.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiAppToolbarNavbarItem {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-app-toolbar-navbar-item',\n            this.isActive ? 'eui-app-toolbar-navbar-item--active' : '',\n        ].join(' ').trim();\n    }\n\n    @HostBinding('attr.tabindex') tabindex = 0;\n\n    @Input() id: string;\n    @Input() label: string;\n    @Input({ transform: booleanAttribute }) isActive = false;\n\n    navBarComponentParent: EuiAppToolbarNavbar;\n\n    constructor() {\n        const navBarComponent = inject(EuiAppToolbarNavbar, { host: true, optional: true })!;\n\n        this.navBarComponentParent = navBarComponent;\n    }\n\n    @HostListener('click')\n    protected onClick(): void {\n        this._click();\n    }\n\n    @HostListener('keydown', ['$event'])\n    protected onKeydown(event: KeyboardEvent): void {\n        switch (event.code) {\n            case 'Enter':\n            case 'Space':\n                event.preventDefault();\n                event.stopPropagation();\n                this._click();\n                break;\n        }\n    }\n\n    private _click(): void {\n        this.navBarComponentParent.itemSelected(this.id);\n    }\n}\n",
            "styleUrl": "./eui-app-toolbar-navbar-item.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 33
            },
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 20
                    }
                }
            }
        },
        {
            "name": "EuiAppToolbarSearch",
            "id": "component-EuiAppToolbarSearch-632472fb3fc0cec9ea0e93674579ffb86e5727a62c29f681d5afb78057fe337f7d255ecc024ba1f08da79ea233f037be7229d4deb5b23f4bd3463e9dacdcde06",
            "file": "packages/components/layout/eui-app-v2/eui-app-toolbar/eui-app-toolbar-search.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-toolbar-search",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-app-toolbar-search.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "hasExpandAnimation",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 71,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasSearchButton",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 70,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isAutocomplete",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 68,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isInputText",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 69,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "panelWidth",
                    "defaultValue": "'25vw'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 65,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "placeholderLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 64,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "searchResults",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 66,
                    "type": "EuiAutoCompleteItem[]",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "inputBlur",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 78,
                    "type": "EventEmitter<Event>"
                },
                {
                    "name": "inputFocus",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 77,
                    "type": "EventEmitter<Event>"
                },
                {
                    "name": "search",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 74,
                    "type": "EventEmitter<string>"
                },
                {
                    "name": "searchClick",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 76,
                    "type": "EventEmitter<string>"
                },
                {
                    "name": "selectionChange",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 75,
                    "type": "EventEmitter<EuiAutoCompleteItem[]>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 81,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "isInputFocus",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 58
                },
                {
                    "name": "resultItemTemplate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<literal type>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 62,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "searchInput",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 60
                },
                {
                    "name": "searchTerm",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 59
                },
                {
                    "name": "templates",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiTemplateDirective>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 80,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "EuiTemplateDirective"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 83,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 97,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onInputBlur",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 114,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onInputFocus",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 109,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onSearch",
                    "args": [
                        {
                            "name": "e",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 121,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "e",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onSearchClick",
                    "args": [
                        {
                            "name": "isIconOnly",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 133,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "isIconOnly",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onSearchInput",
                    "args": [
                        {
                            "name": "e",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 126,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "e",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onSelectionChange",
                    "args": [
                        {
                            "name": "items",
                            "type": "EuiAutoCompleteItem[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 105,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "items",
                            "type": "EuiAutoCompleteItem[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 48,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_ICON_BUTTON"
                },
                {
                    "name": "EUI_AUTOCOMPLETE"
                },
                {
                    "name": "EUI_ICON_INPUT"
                },
                {
                    "name": "EUI_INPUT_TEXT"
                },
                {
                    "name": "EuiTemplateDirective",
                    "type": "directive"
                },
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "FormsModule",
                    "type": "module"
                },
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    ContentChildren,\n    ChangeDetectionStrategy,\n    HostBinding,\n    Input,\n    Output,\n    EventEmitter,\n    TemplateRef,\n    AfterViewInit,\n    QueryList,\n    booleanAttribute,\n    AfterContentInit,\n    inject,\n} from '@angular/core';\nimport { EUI_AUTOCOMPLETE, EuiAutoCompleteItem } from '@eui/components/eui-autocomplete';\n\nimport { EuiTemplateDirective } from '@eui/components/directives';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_ICON_INPUT } from '@eui/components/eui-icon-input';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\nimport { FormsModule } from '@angular/forms';\nimport { EuiAppShellService } from '@eui/core';\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\n\n@Component({\n    selector: 'eui-app-toolbar-search',\n    templateUrl: './eui-app-toolbar-search.html',\n    styleUrl: './eui-app-toolbar-search.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        ...EUI_BUTTON,\n        ...EUI_ICON,\n        ...EUI_ICON_BUTTON,\n        ...EUI_AUTOCOMPLETE,\n        ...EUI_ICON_INPUT,\n        ...EUI_INPUT_TEXT,\n        EuiTemplateDirective,\n        NgTemplateOutlet,\n        FormsModule,\n        AsyncPipe,\n    ],\n})\nexport class EuiAppToolbarSearch implements AfterViewInit, AfterContentInit {\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [\n            'eui-toolbar-search',\n            this.isInputFocus ? 'eui-toolbar-search--focus' : '',\n            !this.hasExpandAnimation ? 'eui-toolbar-search--no-animation': '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    isInputFocus = false;\n    searchTerm: string;\n    searchInput = '';\n\n    public resultItemTemplate: TemplateRef<{ $implicit: EuiAutoCompleteItem }>;\n\n    @Input() placeholderLabel: string;\n    @Input() panelWidth = '25vw';\n    @Input() searchResults: EuiAutoCompleteItem[] = [];\n\n    @Input({ transform: booleanAttribute }) isAutocomplete = false;\n    @Input({ transform: booleanAttribute }) isInputText = false;\n    @Input({ transform: booleanAttribute }) hasSearchButton = false;\n    @Input({ transform: booleanAttribute }) hasExpandAnimation = true;\n\n    // eslint-disable-next-line @angular-eslint/no-output-native\n    @Output() search: EventEmitter<string> = new EventEmitter();\n    @Output() selectionChange: EventEmitter<EuiAutoCompleteItem[]> = new EventEmitter();\n    @Output() searchClick: EventEmitter<string> = new EventEmitter();\n    @Output() inputFocus: EventEmitter<Event> = new EventEmitter();\n    @Output() inputBlur: EventEmitter<Event> = new EventEmitter();\n\n    @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n    protected asService = inject(EuiAppShellService);\n\n    ngAfterContentInit(): void {\n        if (this.isAutocomplete) {\n            this.isInputText = false;\n        }\n\n        if (this.isInputText) {\n            this.isAutocomplete = false;\n        }\n\n        if (!this.isInputText && !this.isAutocomplete) {\n            this.isAutocomplete = true;\n        }\n    }\n\n    ngAfterViewInit(): void {\n        this.templates.forEach((item) => {\n            if (item.getType() === 'resultItemTemplate') {\n                this.resultItemTemplate = item.template;\n            }\n        });\n    }\n\n    onSelectionChange(items: EuiAutoCompleteItem[]): void {\n        this.selectionChange.emit(items);\n    }\n\n    onInputFocus(): void {\n        this.inputFocus.emit();\n        this.isInputFocus = true;\n    }\n\n    onInputBlur(): void {\n        if (!this.hasSearchButton || (this.hasSearchButton && this.searchInput === '')) {\n            this.inputBlur.emit();\n            this.isInputFocus = false;\n        }\n    }\n\n    onSearch(e: string): void {\n        this.searchTerm = e;\n        this.search.emit(e);\n    }\n\n    onSearchInput(e: KeyboardEvent): void {\n        if (e.code === 'Enter' || e.code === 'NumpadEnter') {\n            this.searchTerm = this.searchInput;\n            this.search.emit(this.searchInput);\n        }\n    }\n\n    onSearchClick(isIconOnly: boolean): void {\n        if (isIconOnly) {\n            this.searchClick.emit(null);\n        } else {\n            this.isInputFocus = false;\n            if (this.searchInput) {\n                this.searchClick.emit(this.searchInput);\n            }\n        }\n    }\n}\n",
            "styleUrl": "./eui-app-toolbar-search.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterViewInit",
                "AfterContentInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 48
                    }
                }
            },
            "templateData": "@if ((asService.breakpoints$ | async).isLtLargeTablet) {\n    <eui-icon-button icon=\"eui-search\" (buttonClick)=\"onSearchClick(true)\"/>\n\n} @else {\n    <eui-icon-input euiIconPositionEnd>\n        @if (isAutocomplete) {\n            <eui-autocomplete [autocompleteData]=\"searchResults\"\n                placeholder=\"{{placeholderLabel}}\"\n                panelWidth=\"{{panelWidth}}\"\n                (inputBlur)=\"onInputBlur()\"\n                (inputFocus)=\"onInputFocus()\"\n                (selectionChange)=\"onSelectionChange($event)\"\n                (inputChange)=\"onSearch($event)\">\n                @if (templates.length !== 0) {\n                    <ng-template let-option euiTemplate=\"dropdownOption\">\n                        <ng-container\n                            [ngTemplateOutlet]=\"resultItemTemplate\"\n                            [ngTemplateOutletContext]=\"{ $implicit: option }\" />\n                    </ng-template>\n                }\n            </eui-autocomplete>\n        } @else {\n            @if (isInputText) {\n                <input euiInputText class=\"eui-toolbar-search-bar__input\" [(ngModel)]=\"searchInput\"\n                    placeholder=\"{{ placeholderLabel }}\"\n                    (focus)=\"onInputFocus()\" (blur)=\"onInputBlur()\" (keydown)=\"onSearchInput($event)\" />\n            }\n        }\n\n        @if (hasSearchButton) {\n            <button class=\"eui-toolbar-search__input-button\"\n                euiButton\n                euiIconButton\n                euiSizeS\n                [euiSecondary]=\"isInputFocus\"\n                [euiPrimary]=\"!isInputFocus\"\n                (click)=\"onSearchClick(false)\"\n                aria-label=\"search button\">\n                <eui-icon-svg icon=\"eui-search\" size=\"s\"></eui-icon-svg>\n            </button>\n        } @else {\n            <eui-icon-svg icon=\"eui-search\" size=\"s\" />\n        }\n    </eui-icon-input>\n\n}\n\n"
        },
        {
            "name": "EuiAppToolbarSelector",
            "id": "component-EuiAppToolbarSelector-f4849ce7d6c2c9cba4f984de2a4a94d57a9bd1921d8dfeecb49ab66fd8dd9aaff2fff713a9ffa82f3cf5fac35f7dfc7f3fd3c200ab3e305b26cd502f0d4b1a99",
            "file": "packages/components/layout/eui-app-v2/eui-app-toolbar/eui-app-toolbar-selector.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-toolbar-selector",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-app-toolbar-selector.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "euiDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 26,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "iconSvgName",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 24,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 23,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "selectorClick",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 28,
                    "type": "EventEmitter<boolean>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 29,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "class",
                    "defaultValue": "'eui-app-toolbar-selector'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 21,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": ""
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 31,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-toolbar-selector'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 21,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_ICON_BUTTON"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { AsyncPipe } from '@angular/common';\nimport { Component, ChangeDetectionStrategy, HostBinding, Input, booleanAttribute, Output, EventEmitter, inject } from '@angular/core';\nimport { EuiAppShellService } from '@eui/core';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\n\n@Component({\n    selector: 'eui-app-toolbar-selector',\n    templateUrl: './eui-app-toolbar-selector.html',\n    styleUrl: './eui-app-toolbar-selector.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        AsyncPipe,\n        ...EUI_BUTTON,\n        ...EUI_ICON,\n        ...EUI_ICON_BUTTON,\n    ],\n})\nexport class EuiAppToolbarSelector {\n    @HostBinding() class = 'eui-app-toolbar-selector';\n\n    @Input() label: string;\n    @Input() iconSvgName: string;\n\n    @Input({ transform: booleanAttribute }) euiDisabled = false;\n\n    @Output() selectorClick: EventEmitter<boolean> = new EventEmitter();\n    protected asService = inject(EuiAppShellService);\n\n    onClick(): void {\n        this.selectorClick.emit(true);\n    }\n}\n",
            "styleUrl": "./eui-app-toolbar-selector.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "@if ((asService.breakpoints$ | async).isLtLargeTablet) {\n    <eui-icon-button [icon]=\"iconSvgName\" (buttonClick)=\"onClick()\"/>\n} @else {\n    <button euiButton euiOutline euiBranding [euiDisabled]=\"euiDisabled\" (click)=\"onClick()\" class=\"eui-app-toolbar-selector__button\">\n        {{ label }}\n        <eui-icon-svg [icon]=\"iconSvgName\" size=\"s\" class=\"eui-u-ml-m\"></eui-icon-svg>\n    </button>\n}"
        },
        {
            "name": "EuiAppToolbarSidebarToggle",
            "id": "component-EuiAppToolbarSidebarToggle-c7c13a7c23479de36c7d7de6ec9efebae69cd69fe81b63cca855ed93affe88ee8a788074087abd4580ea926b6d411e81ed0799d72cadcac3968de500c4d24a65",
            "file": "packages/components/layout/eui-app-v2/eui-app-toolbar/eui-app-toolbar-sidebar-toggle.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-toolbar-sidebar-toggle",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-app-toolbar-sidebar-toggle.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-app-toolbar-sidebar-toggle'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 16,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "iconSvgFillColor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 19,
                    "type": "any",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 20
                },
                {
                    "name": "name",
                    "defaultValue": "'eui-app-toolbar-sidebar-toggle'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 17,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onToggleSidebar",
                    "args": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 22,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-app-toolbar-sidebar-toggle'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 17,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "EUI_ICON_BUTTON"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation, inject } from '@angular/core';\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\nimport { EuiAppShellService, consumeEvent } from '@eui/core';\n\n@Component({\n    selector: 'eui-app-toolbar-sidebar-toggle',\n    templateUrl: './eui-app-toolbar-sidebar-toggle.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        AsyncPipe,\n        ...EUI_ICON_BUTTON,\n    ],\n})\nexport class EuiAppToolbarSidebarToggle {\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-app-toolbar-sidebar-toggle';\n    @HostBinding('class') name = 'eui-app-toolbar-sidebar-toggle';\n\n    @Input() iconSvgFillColor;\n    asService = inject(EuiAppShellService);\n\n    onToggleSidebar(event: Event): void {\n        // focus the first focusable element in the sidebar when opened in mobile/tablet\n        if (this.asService.state.breakpoints.isMobile || this.asService.state.breakpoints.isTablet) {\n            if (!this.asService.isSidebarOpen) {\n                this.asService.state.isSidebarFocused = true;\n            } else {\n                this.asService.state.isSidebarFocused = false;\n            }\n        }\n        this.asService.sidebarToggle();\n        consumeEvent(event);\n    }\n}",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "<eui-icon-button\n    icon=\"eui-menu\"\n    fillColor=\"{{iconSvgFillColor}}\"\n    size=\"l\"\n    [ariaLabel]=\"(asService.state$ | async).isSidebarOpen ? 'Close Sidebar' : 'Open Sidebar'\"\n    (buttonClick)=\"onToggleSidebar($event)\" />"
        },
        {
            "name": "EuiAppTopMessage",
            "id": "component-EuiAppTopMessage-a42656616c03bf123a105fdb56a10a7eae4275261cd08a08648a9c94a20aafc03a7fa9b3ad7a644aba8ac3118283a1406bc634057f058a0622f3e6202a0a399d",
            "file": "packages/components/layout/eui-app-v2/eui-app-top-message/eui-app-top-message.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-top-message",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-app-top-message.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiInfo",
                        "euiWarning",
                        "euiSuccess",
                        "euiDanger",
                        "euiVariant"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "required": false,
                    "name": "hasCustomContent",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 46,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCloseable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 45,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isVisible",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 47,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "topMessageClose",
                    "defaultValue": "new EventEmitter<null>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 49,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 52,
                    "rawdescription": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1391,
                            "end": 1466,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1392,
                                "end": 1403,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Instance of BaseStatesDirective for managing component states</p>\n"
                        }
                    ]
                },
                {
                    "name": "role",
                    "defaultValue": "'banner'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 43,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 54,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onCloseClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 60,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'banner'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 43,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 37,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_ICON_BUTTON"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    Input,\n    Output,\n    EventEmitter,\n    booleanAttribute,\n    inject,\n    OnInit,\n} from '@angular/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\n\n@Component({\n    selector: 'eui-app-top-message',\n    templateUrl: './eui-app-top-message.html',\n    styleUrl: './eui-app-top-message.scss',\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiPrimary',\n                'euiInfo',\n                'euiWarning',\n                'euiSuccess',\n                'euiDanger',\n                'euiVariant',\n            ],\n        },\n    ],\n    imports: [\n        ...EUI_ICON_BUTTON,\n    ],\n})\nexport class EuiAppTopMessage implements OnInit {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-app-top-message'),\n            !this.isVisible ? 'eui-app-top-message--hidden' : '',\n    ].join(' ').trim();\n    }\n    @HostBinding('attr.role') role = 'banner';\n\n    @Input({ transform: booleanAttribute }) isCloseable = false;\n    @Input({ transform: booleanAttribute }) hasCustomContent = false;\n    @Input({ transform: booleanAttribute }) isVisible = true;\n\n    @Output() topMessageClose = new EventEmitter<null>();\n\n    /** @description Instance of BaseStatesDirective for managing component states */\n    protected baseStatesDirective = inject(BaseStatesDirective);\n\n    ngOnInit(): void {\n        if (!this.baseStatesDirective.euiVariant) {\n            this.baseStatesDirective.euiDanger = true;\n        }\n    }\n\n    onCloseClick(): void {\n        this.isVisible = false;\n        this.topMessageClose.emit();\n    }\n}",
            "styleUrl": "./eui-app-top-message.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 37
                    }
                }
            },
            "templateData": "<div class=\"eui-app-top-message__content\">\n    <ng-content></ng-content>\n</div>\n\n@if (isCloseable) {\n    <eui-icon-button\n        icon=\"eui-close\"\n        (buttonClick)=\"onCloseClick()\"\n        ariaLabel=\"Close top message\"\n        fillColor=\"white\"\n        euiRounded\n        euiSizeS\n        class=\"eui-app-top-message__close\"/>\n}\n"
        },
        {
            "name": "EuiAppTopMessageComponent",
            "id": "component-EuiAppTopMessageComponent-955643bfa19930c98ae6656bb39b95739e612f473491f6f98c92926681bfe5019d5d21c2cce0f4be7bb016f3b5ffe75844e08acb00e09fb8be55b3087ce0b360",
            "file": "packages/components/layout/eui-app/eui-app-top-message/top-message.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-app-top-message",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./top-message.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiInfo",
                        "euiWarning",
                        "euiSuccess",
                        "euiDanger",
                        "euiVariant"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "required": false,
                    "name": "hasCustomContent",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4289,
                            "end": 4309,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4290,
                                "end": 4297,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIndicates that custom HTML content is projected into the message area.\nWhen true, applies specific styling to accommodate non-standard message layouts.\n",
                    "description": "<p>Indicates that custom HTML content is projected into the message area.\nWhen true, applies specific styling to accommodate non-standard message layouts.</p>\n",
                    "line": 115,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCloseable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4019,
                            "end": 4039,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4020,
                                "end": 4027,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables a close button allowing users to dismiss the top message.\nWhen true, displays an icon button that triggers the topMessageClose event and hides the message.\n",
                    "description": "<p>Enables a close button allowing users to dismiss the top message.\nWhen true, displays an icon button that triggers the topMessageClose event and hides the message.</p>\n",
                    "line": 108,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "isVisible",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4640,
                            "end": 4659,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4641,
                                "end": 4648,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls the visibility state of the top message banner.\nWhen changed, triggers layout recalculation to adjust application content positioning.\nSetting to false collapses the message and releases reserved vertical space.\n",
                    "description": "<p>Controls the visibility state of the top message banner.\nWhen changed, triggers layout recalculation to adjust application content positioning.\nSetting to false collapses the message and releases reserved vertical space.</p>\n",
                    "line": 124,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "topMessageClose",
                    "defaultValue": "new EventEmitter<null>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the user clicks the close button on a dismissible message.\nPayload: null\nTriggered only when isCloseable is true and the close button is clicked.\n",
                    "description": "<p>Emitted when the user clicks the close button on a dismissible message.\nPayload: null\nTriggered only when isCloseable is true and the close button is clicked.</p>\n",
                    "line": 138,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "appTopMessage",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 100,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'appTopMessage'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "appTopMessageChanges",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Subscription",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 101
                },
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 140
                },
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 146,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "role",
                    "defaultValue": "'banner'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 98,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 156,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 164,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 149,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onCloseClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 176,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'banner'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 98,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 91,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_ICON_BUTTON"
                }
            ],
            "description": "<p>Banner component displayed at the top of the application shell to communicate important system-wide messages.\nAutomatically adjusts application layout by reserving vertical space and updating CSS variables for proper content positioning.\nSupports dismissible messages, custom content projection, and theme variants through BaseStatesDirective.\nIntegrates with EuiAppShellService to coordinate layout calculations and viewport changes.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-app&gt;\n    &lt;eui-app-top-message euiDanger&gt;\n        Test message for App top message\n    &lt;/eui-app-top-message&gt;\n&lt;/eui-app&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses role=&quot;banner&quot; for semantic landmark identification</li>\n<li>Close button is keyboard accessible (Enter/Space)</li>\n<li>Message content is announced to screen readers</li>\n<li>Color variants provide visual meaning supplemented by text</li>\n<li>Ensure message text is clear and actionable</li>\n<li>Consider using euiWarning or euiDanger for time-sensitive messages</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-app component for proper layout integration</li>\n<li>Automatically adjusts application layout by updating CSS variables</li>\n<li>Color variants: euiPrimary, euiInfo, euiWarning, euiSuccess, euiDanger</li>\n<li>isCloseable adds close button and enables dismissal</li>\n<li>hasCustomContent applies styling for complex HTML layouts</li>\n<li>isVisible controls visibility and triggers layout recalculation</li>\n<li>topMessageClose event emits when close button is clicked</li>\n<li>Height is automatically calculated and communicated to EuiAppShellService</li>\n<li>Responds to viewport changes and recalculates layout</li>\n<li>Content changes are observed and trigger height recalculation</li>\n<li>On destroy, resets layout by removing reserved space</li>\n<li>Use for system-wide announcements, alerts, or important notifications</li>\n<li>Avoid multiple simultaneous top messages (only one supported)</li>\n<li>Message persists across navigation unless dismissed or hidden</li>\n</ul>\n",
            "rawdescription": "\n\nBanner component displayed at the top of the application shell to communicate important system-wide messages.\nAutomatically adjusts application layout by reserving vertical space and updating CSS variables for proper content positioning.\nSupports dismissible messages, custom content projection, and theme variants through BaseStatesDirective.\nIntegrates with EuiAppShellService to coordinate layout calculations and viewport changes.\n\n```html\n<eui-app>\n    <eui-app-top-message euiDanger>\n        Test message for App top message\n    </eui-app-top-message>\n</eui-app>\n```\n\n### Accessibility\n- Uses role=\"banner\" for semantic landmark identification\n- Close button is keyboard accessible (Enter/Space)\n- Message content is announced to screen readers\n- Color variants provide visual meaning supplemented by text\n- Ensure message text is clear and actionable\n- Consider using euiWarning or euiDanger for time-sensitive messages\n\n### Notes\n- Must be used within eui-app component for proper layout integration\n- Automatically adjusts application layout by updating CSS variables\n- Color variants: euiPrimary, euiInfo, euiWarning, euiSuccess, euiDanger\n- isCloseable adds close button and enables dismissal\n- hasCustomContent applies styling for complex HTML layouts\n- isVisible controls visibility and triggers layout recalculation\n- topMessageClose event emits when close button is clicked\n- Height is automatically calculated and communicated to EuiAppShellService\n- Responds to viewport changes and recalculates layout\n- Content changes are observed and trigger height recalculation\n- On destroy, resets layout by removing reserved space\n- Use for system-wide announcements, alerts, or important notifications\n- Avoid multiple simultaneous top messages (only one supported)\n- Message persists across navigation unless dismissed or hidden\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ChangeDetectionStrategy,\n    ViewEncapsulation,\n    ElementRef,\n    AfterViewInit,\n    Input,\n    OnInit,\n    Output,\n    EventEmitter,\n    OnDestroy,\n    ChangeDetectorRef,\n    ViewChild,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\nimport { EuiAppShellService } from '@eui/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { Subject, startWith, Subscription, takeUntil, distinctUntilChanged } from 'rxjs';\nimport { ContentObserver } from '@angular/cdk/observers';\nimport { CssUtils } from '@eui/core';\nimport { DOCUMENT } from '@angular/common';\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\n\n/**\n * @description\n * Banner component displayed at the top of the application shell to communicate important system-wide messages.\n * Automatically adjusts application layout by reserving vertical space and updating CSS variables for proper content positioning.\n * Supports dismissible messages, custom content projection, and theme variants through BaseStatesDirective.\n * Integrates with EuiAppShellService to coordinate layout calculations and viewport changes.\n * \n * @usageNotes\n * ```html\n * <eui-app>\n *     <eui-app-top-message euiDanger>\n *         Test message for App top message\n *     </eui-app-top-message>\n * </eui-app>\n * ```\n *\n * ### Accessibility\n * - Uses role=\"banner\" for semantic landmark identification\n * - Close button is keyboard accessible (Enter/Space)\n * - Message content is announced to screen readers\n * - Color variants provide visual meaning supplemented by text\n * - Ensure message text is clear and actionable\n * - Consider using euiWarning or euiDanger for time-sensitive messages\n *\n * ### Notes\n * - Must be used within eui-app component for proper layout integration\n * - Automatically adjusts application layout by updating CSS variables\n * - Color variants: euiPrimary, euiInfo, euiWarning, euiSuccess, euiDanger\n * - isCloseable adds close button and enables dismissal\n * - hasCustomContent applies styling for complex HTML layouts\n * - isVisible controls visibility and triggers layout recalculation\n * - topMessageClose event emits when close button is clicked\n * - Height is automatically calculated and communicated to EuiAppShellService\n * - Responds to viewport changes and recalculates layout\n * - Content changes are observed and trigger height recalculation\n * - On destroy, resets layout by removing reserved space\n * - Use for system-wide announcements, alerts, or important notifications\n * - Avoid multiple simultaneous top messages (only one supported)\n * - Message persists across navigation unless dismissed or hidden\n */\n@Component({\n    selector: 'eui-app-top-message',\n    templateUrl: './top-message.component.html',\n    changeDetection: ChangeDetectionStrategy.Default,\n    styleUrl: './top-message.scss',\n    encapsulation: ViewEncapsulation.None,\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiPrimary',\n                'euiInfo',\n                'euiWarning',\n                'euiSuccess',\n                'euiDanger',\n                'euiVariant',\n            ],\n        },\n    ],\n    imports: [\n        ...EUI_ICON_BUTTON,\n    ],\n})\nexport class EuiAppTopMessageComponent implements AfterViewInit, OnInit, OnDestroy {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-app-top-message'),\n            !this.isVisible ? 'eui-app-top-message--hidden' : '',\n            this.hasCustomContent ? 'eui-app-top-message--custom' : '',\n    ].join(' ').trim();\n    }\n    @HostBinding('attr.role') role = 'banner';\n\n    @ViewChild('appTopMessage') appTopMessage: ElementRef;\n    appTopMessageChanges: Subscription;\n\n    /**\n     * Enables a close button allowing users to dismiss the top message.\n     * When true, displays an icon button that triggers the topMessageClose event and hides the message.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCloseable = false;\n\n    /**\n     * Indicates that custom HTML content is projected into the message area.\n     * When true, applies specific styling to accommodate non-standard message layouts.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasCustomContent = false;\n\n    /**\n     * Controls the visibility state of the top message banner.\n     * When changed, triggers layout recalculation to adjust application content positioning.\n     * Setting to false collapses the message and releases reserved vertical space.\n     * @default true\n     */\n    @Input()\n    set isVisible(value: boolean) {\n        this._isVisible = value;\n        this._calculateHeight();\n    }\n\n    get isVisible(): boolean {\n        return this._isVisible;\n    }\n\n    /**\n     * Emitted when the user clicks the close button on a dismissible message.\n     * Payload: null\n     * Triggered only when isCloseable is true and the close button is clicked.\n     */\n    @Output() topMessageClose = new EventEmitter<null>();\n\n    asService = inject(EuiAppShellService);\n    private _isVisible = true;\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private elRef = inject(ElementRef);\n    private cd = inject(ChangeDetectorRef);\n    private obs = inject(ContentObserver);\n    protected baseStatesDirective = inject(BaseStatesDirective);\n    private document = inject<Document>(DOCUMENT);\n\n    ngOnInit(): void {\n        // Trigger for recalculate when resizing viewport (works perfect)\n        this.asService.breakpoint$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n            this._calculateHeight();\n        });\n    }\n\n    ngAfterViewInit(): void {\n        // TODO: This will not work when there are more than one top-message\n        this.appTopMessageChanges = this.obs\n            .observe(this.appTopMessage.nativeElement)\n            .pipe(startWith(0))\n            .subscribe(() => this._calculateHeight());\n    }\n\n    ngOnDestroy(): void {\n        this.asService.setState({\n            ...this.asService.state,\n            hasTopMessage: false,\n        });\n        CssUtils.activateTopMessageCssVars(0, this.document);\n        this.appTopMessageChanges.unsubscribe();\n\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    onCloseClick(): void {\n        this.isVisible = false;\n        CssUtils.activateTopMessageCssVars(0, this.document);\n        this.topMessageClose.emit();\n    }\n\n    private _calculateHeight(): void {\n        // Differ DC from AfterViewInit due to the styles the are not yet applied when retrieving the CSS var value\n        setTimeout( () => {\n            this.cd.detach();\n            const height = this.elRef.nativeElement.offsetHeight;\n            this.asService.activateTopMessage(height);\n            this.cd.reattach();\n            this.cd.detectChanges();\n        }, 0);\n    }\n}\n",
            "styleUrl": "./top-message.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterViewInit",
                "OnInit",
                "OnDestroy"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 91
                    }
                },
                "isVisible": {
                    "name": "isVisible",
                    "setSignature": {
                        "name": "isVisible",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "boolean",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 124,
                        "rawdescription": "\n\nControls the visibility state of the top message banner.\nWhen changed, triggers layout recalculation to adjust application content positioning.\nSetting to false collapses the message and releases reserved vertical space.\n",
                        "description": "<p>Controls the visibility state of the top message banner.\nWhen changed, triggers layout recalculation to adjust application content positioning.\nSetting to false collapses the message and releases reserved vertical space.</p>\n",
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "boolean",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "isVisible",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 129
                    }
                }
            },
            "templateData": "<div class=\"eui-app-top-message__wrapper\" #appTopMessage>\n    <div class=\"eui-app-top-message__content\">\n        <ng-content></ng-content>\n    </div>\n    @if (isCloseable) {\n    <eui-icon-button\n        icon=\"eui-close\"\n        (buttonClick)=\"onCloseClick()\"\n        ariaLabel=\"Close top message\"\n        fillColor=\"white\"\n        euiRounded\n        class=\"eui-app-top-message__close\"/>\n    }\n</div>\n"
        },
        {
            "name": "EuiAutocompleteAsyncTestComponent",
            "id": "component-EuiAutocompleteAsyncTestComponent-f24bf53e55f9dbdedc22eb42af2a7bfb97eab1f35246769afc50e2c3e3340afb39f9eb46480560d50fce47c0b3766efafc7d9bf485a248aa3fdada206db86422",
            "file": "packages/components/eui-autocomplete/testing/eui-autocomplete-async-test.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-autocomplete-test-component",
            "styleUrls": [],
            "styles": [],
            "template": "<form [formGroup]=\"form\">       <eui-autocomplete\n           #autocomplete\n           isAsync\n           formControlName=\"autocomplete\"\n           [autocompleteData]=\"autocompleteDataFormAutocomplete\">\n       </eui-autocomplete>\n       <input class=\"default-formcontrol\" type=\"text\" formControlName=\"text\" />\n   </form>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "autocomplete",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiAutocompleteComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 25,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'autocomplete'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "autocompleteDataFormAutocomplete",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 23,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "form",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "FormGroup",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 24,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 27,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EuiAutocompleteComponent",
                    "type": "component"
                },
                {
                    "name": "FormsModule",
                    "type": "module"
                },
                {
                    "name": "ReactiveFormsModule",
                    "type": "module"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup, FormsModule, Validators, ReactiveFormsModule } from '@angular/forms';\n\nimport { EuiAutocompleteComponent } from '../eui-autocomplete.component';\nimport { EuiAutoCompleteItem } from '../models/eui-autocomplete-item.model';\n\n@Component({\n    template: ` <form [formGroup]=\"form\">\n        <eui-autocomplete\n            #autocomplete\n            isAsync\n            formControlName=\"autocomplete\"\n            [autocompleteData]=\"autocompleteDataFormAutocomplete\">\n        </eui-autocomplete>\n        <input class=\"default-formcontrol\" type=\"text\" formControlName=\"text\" />\n    </form>`,\n    selector: 'eui-autocomplete-test-component',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [EuiAutocompleteComponent, FormsModule, ReactiveFormsModule],\n})\nexport class EuiAutocompleteAsyncTestComponent implements OnInit {\n    public autocompleteDataFormAutocomplete = [];\n    public form: FormGroup;\n    @ViewChild('autocomplete') autocomplete: EuiAutocompleteComponent;\n\n    ngOnInit(): void {\n        const dataSource: EuiAutoCompleteItem[] = [\n            { id: 1, label: 'Lemon', typeClass: 'primary', isOutline: true },\n            { id: 2, label: 'Lime', typeClass: 'secondary', isRounded: true },\n            { id: 3, label: 'Apple', typeClass: 'info', sizeClass: 'euiSizeS' },\n            { id: 4, label: 'Orange', typeClass: 'success', isRemovable: false },\n            { id: 5, label: 'Strawberry', typeClass: 'warning' },\n            { id: 6, label: 'Peer', typeClass: 'danger', isRemovable: false },\n        ];\n\n        this.form = new FormGroup({\n            autocomplete: new FormControl(null, Validators.required),\n            text: new FormControl(null, Validators.required),\n        });\n\n        this.form.get('autocomplete').valueChanges.subscribe((value) => {\n            if (value && typeof value === 'string') {\n                this.autocompleteDataFormAutocomplete = dataSource.filter((d) => d.label.toLowerCase().indexOf(value.toLowerCase()) !== -1);\n            } else {\n                this.autocompleteDataFormAutocomplete = [];\n            }\n        });\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit"
            ]
        },
        {
            "name": "EuiAutocompleteChipsAsyncTestComponent",
            "id": "component-EuiAutocompleteChipsAsyncTestComponent-584b57b7a05fca2f2055d10f3954a8469a1d53ed79b66847ed9ae118c5b9a2c9188c61777050a14f187162ab2c6418b12820fbadaf11e65241d32d5ee59e2d1b",
            "file": "packages/components/eui-autocomplete/testing/eui-autocomplete-chips-async-test.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-autocomplete-test-component",
            "styleUrls": [],
            "styles": [],
            "template": "<form [formGroup]=\"form\">       <eui-autocomplete\n           #autocomplete\n           [hasChips]=\"true\"\n           isAsync\n           formControlName=\"autocomplete\"\n           [autocompleteData]=\"autocompleteDataFormAutocomplete\">\n       </eui-autocomplete>\n       <input class=\"default-formcontrol\" type=\"text\" formControlName=\"text\" />\n   </form>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "autocomplete",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiAutocompleteComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 26,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'autocomplete'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "autocompleteDataFormAutocomplete",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 24,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "form",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "FormGroup",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 25,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 28,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EuiAutocompleteComponent",
                    "type": "component"
                },
                {
                    "name": "FormsModule",
                    "type": "module"
                },
                {
                    "name": "ReactiveFormsModule",
                    "type": "module"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';\n\nimport { EuiAutocompleteComponent } from '../eui-autocomplete.component';\nimport { EuiAutoCompleteItem } from '../models/eui-autocomplete-item.model';\n\n@Component({\n    template: ` <form [formGroup]=\"form\">\n        <eui-autocomplete\n            #autocomplete\n            [hasChips]=\"true\"\n            isAsync\n            formControlName=\"autocomplete\"\n            [autocompleteData]=\"autocompleteDataFormAutocomplete\">\n        </eui-autocomplete>\n        <input class=\"default-formcontrol\" type=\"text\" formControlName=\"text\" />\n    </form>`,\n    selector: 'eui-autocomplete-test-component',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [EuiAutocompleteComponent, FormsModule, ReactiveFormsModule],\n})\nexport class EuiAutocompleteChipsAsyncTestComponent implements OnInit {\n    public autocompleteDataFormAutocomplete = [];\n    public form: FormGroup;\n    @ViewChild('autocomplete') autocomplete: EuiAutocompleteComponent;\n\n    ngOnInit(): void {\n        const dataSource: EuiAutoCompleteItem[] = [\n            { id: 1, label: 'Lemon', typeClass: 'primary', isOutline: true },\n            { id: 2, label: 'Lime', typeClass: 'secondary', isRounded: true },\n            { id: 3, label: 'Apple', typeClass: 'info', sizeClass: 'euiSizeS' },\n            { id: 4, label: 'Orange', typeClass: 'success', isRemovable: false },\n            { id: 5, label: 'Strawberry', typeClass: 'warning' },\n            { id: 6, label: 'Peer', typeClass: 'danger', isRemovable: false },\n        ];\n\n        this.form = new FormGroup({\n            autocomplete: new FormControl(null, Validators.required),\n            text: new FormControl(null, Validators.required),\n        });\n\n        this.form.get('autocomplete').valueChanges.subscribe((value) => {\n            if (value && typeof value === 'string') {\n                this.autocompleteDataFormAutocomplete = dataSource.filter((d) => d.label.toLowerCase().indexOf(value.toLowerCase()) !== -1);\n            } else {\n                this.autocompleteDataFormAutocomplete = [];\n            }\n        });\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit"
            ]
        },
        {
            "name": "EuiAutocompleteChipsTestComponent",
            "id": "component-EuiAutocompleteChipsTestComponent-2879769fec115de454b3e408c9edff64fc77da7683440b66011b547fac8b8e9450663c0e2e75bd1c61eeec1b3024400d134f26652a6b654713872346fa5deb94",
            "file": "packages/components/eui-autocomplete/testing/eui-autocomplete-chips-test.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-autocomplete-test-component",
            "styleUrls": [],
            "styles": [],
            "template": "<form [formGroup]=\"form\">       <eui-autocomplete\n           #autocomplete\n           [hasChips]=\"true\"\n           formControlName=\"autocomplete\"\n           [autocompleteData]=\"autocompleteDataFormAutocomplete\">\n       </eui-autocomplete>\n       <input class=\"default-formcontrol\" type=\"text\" formControlName=\"text\" />\n   </form>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "autocomplete",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiAutocompleteComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 36,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'autocomplete'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "autocompleteDataFormAutocomplete",
                    "defaultValue": "[\n        { id: 1, label: 'Lemon', typeClass: 'primary', isOutline: true },\n        { id: 2, label: 'Lime', typeClass: 'secondary', isRounded: true },\n        { id: 3, label: 'Apple', typeClass: 'info', sizeClass: 'euiSizeS' },\n        { id: 4, label: 'Orange', typeClass: 'success', isRemovable: false },\n        { id: 5, label: 'Strawberry', typeClass: 'warning' },\n        { id: 6, label: 'Peer', typeClass: 'danger', isRemovable: false },\n    ]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiAutoCompleteItem[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 27,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "form",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "FormGroup",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 35,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 38,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EuiAutocompleteComponent",
                    "type": "component"
                },
                {
                    "name": "FormsModule",
                    "type": "module"
                },
                {
                    "name": "ReactiveFormsModule",
                    "type": "module"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';\n\nimport { EuiAutocompleteComponent } from '../eui-autocomplete.component';\nimport { EuiAutoCompleteItem } from '../models/eui-autocomplete-item.model';\n\n@Component({\n    template: ` <form [formGroup]=\"form\">\n        <eui-autocomplete\n            #autocomplete\n            [hasChips]=\"true\"\n            formControlName=\"autocomplete\"\n            [autocompleteData]=\"autocompleteDataFormAutocomplete\">\n        </eui-autocomplete>\n        <input class=\"default-formcontrol\" type=\"text\" formControlName=\"text\" />\n    </form>`,\n    selector: 'eui-autocomplete-test-component',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        EuiAutocompleteComponent,\n        FormsModule,\n        ReactiveFormsModule,\n    ],\n})\nexport class EuiAutocompleteChipsTestComponent implements OnInit {\n    public autocompleteDataFormAutocomplete: EuiAutoCompleteItem[] = [\n        { id: 1, label: 'Lemon', typeClass: 'primary', isOutline: true },\n        { id: 2, label: 'Lime', typeClass: 'secondary', isRounded: true },\n        { id: 3, label: 'Apple', typeClass: 'info', sizeClass: 'euiSizeS' },\n        { id: 4, label: 'Orange', typeClass: 'success', isRemovable: false },\n        { id: 5, label: 'Strawberry', typeClass: 'warning' },\n        { id: 6, label: 'Peer', typeClass: 'danger', isRemovable: false },\n    ];\n    public form: FormGroup;\n    @ViewChild('autocomplete') autocomplete: EuiAutocompleteComponent;\n\n    ngOnInit(): void {\n        this.form = new FormGroup({\n            autocomplete: new FormControl(null, Validators.required),\n            text: new FormControl(null, Validators.required),\n        });\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit"
            ]
        },
        {
            "name": "EuiAutocompleteComponent",
            "id": "component-EuiAutocompleteComponent-cb1a7301c88d2ca8a5435a59980752dbb763e7b3967db867b6ead6c60b0278e38a0e4c343fa854f1e3b64bfcae5f2476a3bdf6b468f0f761a8a928618b3a308a",
            "file": "packages/components/eui-autocomplete/eui-autocomplete.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-autocomplete, input[euiAutocomplete]",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-autocomplete.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiSecondary",
                        "euiSuccess",
                        "euiInfo",
                        "euiWarning",
                        "euiDanger"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "autocompleteDataSelected",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the options that will be selected by default.\n",
                    "description": "<p>Sets the options that will be selected by default.</p>\n",
                    "line": 230,
                    "type": "EuiAutoCompleteItem[]",
                    "decorators": []
                },
                {
                    "name": "autocompleteData",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Datas to be used in the autocomplete.</p>\n",
                    "line": 210,
                    "rawdescription": "\n\nDatas to be used in the autocomplete.\n",
                    "required": false
                },
                {
                    "name": "chipsLabelTruncateCount",
                    "defaultValue": "null, { transform: numberAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether the chips label length is limited by the value of this option.</p>\n",
                    "line": 358,
                    "rawdescription": "\n\nWhether the chips label length is limited by the value of this option.\n",
                    "required": false
                },
                {
                    "name": "chipsPosition",
                    "defaultValue": "'top'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"top\" | \"bottom\" | \"inside\"",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 254,
                    "rawdescription": "\n\n",
                    "jsdoctags": [
                        {
                            "pos": 8875,
                            "end": 8920,
                            "kind": 345,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8876,
                                "end": 8880,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "type"
                            },
                            "comment": "",
                            "typeExpression": {
                                "pos": 8881,
                                "end": 8912,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 8882,
                                    "end": 8911,
                                    "kind": 197,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "type": {
                                        "pos": 8883,
                                        "end": 8910,
                                        "kind": 193,
                                        "id": 0,
                                        "flags": 16777216,
                                        "modifierFlagsCache": 0,
                                        "transformFlags": 1,
                                        "types": [
                                            {
                                                "pos": 8883,
                                                "end": 8888,
                                                "kind": 202,
                                                "id": 0,
                                                "flags": 16777216,
                                                "modifierFlagsCache": 0,
                                                "transformFlags": 1,
                                                "literal": {
                                                    "pos": 8883,
                                                    "end": 8888,
                                                    "kind": 11,
                                                    "id": 0,
                                                    "flags": 16777216,
                                                    "modifierFlagsCache": 0,
                                                    "transformFlags": 0,
                                                    "text": "top",
                                                    "hasExtendedUnicodeEscape": false
                                                }
                                            },
                                            {
                                                "pos": 8890,
                                                "end": 8899,
                                                "kind": 202,
                                                "id": 0,
                                                "flags": 16777216,
                                                "modifierFlagsCache": 0,
                                                "transformFlags": 1,
                                                "literal": {
                                                    "pos": 8890,
                                                    "end": 8899,
                                                    "kind": 11,
                                                    "id": 0,
                                                    "flags": 16777216,
                                                    "modifierFlagsCache": 0,
                                                    "transformFlags": 0,
                                                    "text": "bottom",
                                                    "hasExtendedUnicodeEscape": false
                                                }
                                            },
                                            {
                                                "pos": 8901,
                                                "end": 8910,
                                                "kind": 202,
                                                "id": 0,
                                                "flags": 16777216,
                                                "modifierFlagsCache": 0,
                                                "transformFlags": 1,
                                                "literal": {
                                                    "pos": 8901,
                                                    "end": 8910,
                                                    "kind": 11,
                                                    "id": 0,
                                                    "flags": 16777216,
                                                    "modifierFlagsCache": 0,
                                                    "transformFlags": 0,
                                                    "text": "inside",
                                                    "hasExtendedUnicodeEscape": false
                                                }
                                            }
                                        ]
                                    }
                                }
                            }
                        },
                        {
                            "pos": 8920,
                            "end": 8941,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8921,
                                "end": 8928,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;top&#39;&#39;</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "chipsSortOrder",
                    "defaultValue": "'ASC'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"ASC\" | \"DESC\"",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Sets the sort criteria of the chips.</p>\n",
                    "line": 237,
                    "rawdescription": "\n\nSets the sort criteria of the chips.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 8362,
                            "end": 8394,
                            "kind": 345,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8363,
                                "end": 8367,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "type"
                            },
                            "comment": "",
                            "typeExpression": {
                                "pos": 8368,
                                "end": 8386,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 8369,
                                    "end": 8385,
                                    "kind": 197,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "type": {
                                        "pos": 8370,
                                        "end": 8384,
                                        "kind": 193,
                                        "id": 0,
                                        "flags": 16777216,
                                        "modifierFlagsCache": 0,
                                        "transformFlags": 1,
                                        "types": [
                                            {
                                                "pos": 8370,
                                                "end": 8375,
                                                "kind": 202,
                                                "id": 0,
                                                "flags": 16777216,
                                                "modifierFlagsCache": 0,
                                                "transformFlags": 1,
                                                "literal": {
                                                    "pos": 8370,
                                                    "end": 8375,
                                                    "kind": 11,
                                                    "id": 0,
                                                    "flags": 16777216,
                                                    "modifierFlagsCache": 0,
                                                    "transformFlags": 0,
                                                    "text": "ASC",
                                                    "hasExtendedUnicodeEscape": false
                                                }
                                            },
                                            {
                                                "pos": 8377,
                                                "end": 8384,
                                                "kind": 202,
                                                "id": 0,
                                                "flags": 16777216,
                                                "modifierFlagsCache": 0,
                                                "transformFlags": 1,
                                                "literal": {
                                                    "pos": 8377,
                                                    "end": 8384,
                                                    "kind": 11,
                                                    "id": 0,
                                                    "flags": 16777216,
                                                    "modifierFlagsCache": 0,
                                                    "transformFlags": 0,
                                                    "text": "DESC",
                                                    "hasExtendedUnicodeEscape": false
                                                }
                                            }
                                        ]
                                    }
                                }
                            }
                        },
                        {
                            "pos": 8394,
                            "end": 8414,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8395,
                                "end": 8402,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;ASC&#39;</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "classList",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Sets a CSS class to be added on the options panel container.</p>\n",
                    "line": 270,
                    "rawdescription": "\n\nSets a CSS class to be added on the options panel container.\n",
                    "required": false
                },
                {
                    "name": "groupBy",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Sets a grouping among the options.</p>\n",
                    "line": 258,
                    "rawdescription": "\n\nSets a grouping among the options.\n",
                    "required": false
                },
                {
                    "name": "hasChips",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether autocomplete will display the selected values with chips.</p>\n",
                    "line": 300,
                    "rawdescription": "\n\nWhether autocomplete will display the selected values with chips.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 10635,
                            "end": 10655,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 10636,
                                "end": 10643,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "inputId",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Sets the id on the text input.</p>\n",
                    "line": 206,
                    "rawdescription": "\n\nSets the id on the text input.\n",
                    "required": false
                },
                {
                    "name": "isAddOnBlur",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>In combination with <code>hasChips</code>. Whether the chip is added when the text input is blurred.</p>\n",
                    "line": 344,
                    "rawdescription": "\n\nIn combination with `hasChips`. Whether the chip is added when the text input is blurred.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 12013,
                            "end": 12033,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 12014,
                                "end": 12021,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "isAsync",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether autocomplete will get the data asynchronously.</p>\n",
                    "line": 306,
                    "rawdescription": "\n\nWhether autocomplete will get the data asynchronously.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 10803,
                            "end": 10823,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 10804,
                                "end": 10811,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "isChipsDragAndDrop",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether the chips can be drag and dropped.</p>\n",
                    "line": 370,
                    "rawdescription": "\n\nWhether the chips can be drag and dropped.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 13007,
                            "end": 13027,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 13008,
                                "end": 13015,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "isChipsRemovable",
                    "defaultValue": "true, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether the chip can be removed from the selection.\nWhen a chip is removed, its value goes back in the panel.</p>\n",
                    "line": 331,
                    "rawdescription": "\n\nWhether the chip can be removed from the selection.\nWhen a chip is removed, its value goes back in the panel.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 11539,
                            "end": 11558,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 11540,
                                "end": 11547,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "isChipsSorted",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether this chip is sorted on their label.</p>\n",
                    "line": 312,
                    "rawdescription": "\n\nWhether this chip is sorted on their label.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 10959,
                            "end": 10979,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 10960,
                                "end": 10967,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "isDuplicateValueAllowed",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether the chips can have multiple times the same value.\nWith this option, the value is not removed from the panel when choosen.</p>\n",
                    "line": 338,
                    "rawdescription": "\n\nWhether the chips can have multiple times the same value.\nWith this option, the value is not removed from the panel when choosen.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 11795,
                            "end": 11815,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 11796,
                                "end": 11803,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "isForceSelection",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>In combination with <code>hasChips</code> and <code>isFreeValueAllowed=false</code>. Whether the text input is empty after blurring when no value has been selected in the panel.</p>\n",
                    "line": 350,
                    "rawdescription": "\n\nIn combination with `hasChips` and `isFreeValueAllowed=false`. Whether the text input is empty after blurring when no value has been selected in the panel.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 12286,
                            "end": 12306,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 12287,
                                "end": 12294,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "isFreeValueAllowed",
                    "defaultValue": "true, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>In combination with <code>hasChips</code>. Whether the user can add a value, which is not part of the options, to craete a chip.</p>\n",
                    "line": 282,
                    "rawdescription": "\n\nIn combination with `hasChips`. Whether the user can add a value, which is not part of the options, to craete a chip.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 10125,
                            "end": 10144,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 10126,
                                "end": 10133,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "isGroupSorted",
                    "defaultValue": "true, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether the grops of items are sorted on their label.</p>\n",
                    "line": 324,
                    "rawdescription": "\n\nWhether the grops of items are sorted on their label.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 11306,
                            "end": 11325,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 11307,
                                "end": 11314,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "isItemsSorted",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether this item in the panel is sorted on their label.</p>\n",
                    "line": 318,
                    "rawdescription": "\n\nWhether this item in the panel is sorted on their label.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 11134,
                            "end": 11154,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 11135,
                                "end": 11142,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "isLoading",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether loading spinner is displayed in text input.</p>\n",
                    "line": 294,
                    "rawdescription": "\n\nWhether loading spinner is displayed in text input.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 10455,
                            "end": 10475,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 10456,
                                "end": 10463,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "isMaxVisibleChipsOpened",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>In combination with <code>maxVisibleChipsCount</code>. Whether all chips are shown by default.</p>\n",
                    "line": 364,
                    "rawdescription": "\n\nIn combination with `maxVisibleChipsCount`. Whether all chips are shown by default.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 12835,
                            "end": 12855,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 12836,
                                "end": 12843,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "isReadonly",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether autocomplete is in readonly mode.</p>\n",
                    "line": 288,
                    "rawdescription": "\n\nWhether autocomplete is in readonly mode.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 10288,
                            "end": 10308,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 10289,
                                "end": 10296,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "itemsSortOrder",
                    "defaultValue": "'ASC'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"ASC\" | \"DESC\"",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>In combination with <code>isChipsSorted</code>. Sets the sort criteria of the options in the panel.</p>\n",
                    "line": 244,
                    "rawdescription": "\n\nIn combination with `isChipsSorted`. Sets the sort criteria of the options in the panel.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 8615,
                            "end": 8647,
                            "kind": 345,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8616,
                                "end": 8620,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "type"
                            },
                            "comment": "",
                            "typeExpression": {
                                "pos": 8621,
                                "end": 8639,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 8622,
                                    "end": 8638,
                                    "kind": 197,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "type": {
                                        "pos": 8623,
                                        "end": 8637,
                                        "kind": 193,
                                        "id": 0,
                                        "flags": 16777216,
                                        "modifierFlagsCache": 0,
                                        "transformFlags": 1,
                                        "types": [
                                            {
                                                "pos": 8623,
                                                "end": 8628,
                                                "kind": 202,
                                                "id": 0,
                                                "flags": 16777216,
                                                "modifierFlagsCache": 0,
                                                "transformFlags": 1,
                                                "literal": {
                                                    "pos": 8623,
                                                    "end": 8628,
                                                    "kind": 11,
                                                    "id": 0,
                                                    "flags": 16777216,
                                                    "modifierFlagsCache": 0,
                                                    "transformFlags": 0,
                                                    "text": "ASC",
                                                    "hasExtendedUnicodeEscape": false
                                                }
                                            },
                                            {
                                                "pos": 8630,
                                                "end": 8637,
                                                "kind": 202,
                                                "id": 0,
                                                "flags": 16777216,
                                                "modifierFlagsCache": 0,
                                                "transformFlags": 1,
                                                "literal": {
                                                    "pos": 8630,
                                                    "end": 8637,
                                                    "kind": 11,
                                                    "id": 0,
                                                    "flags": 16777216,
                                                    "modifierFlagsCache": 0,
                                                    "transformFlags": 0,
                                                    "text": "DESC",
                                                    "hasExtendedUnicodeEscape": false
                                                }
                                            }
                                        ]
                                    }
                                }
                            }
                        },
                        {
                            "pos": 8647,
                            "end": 8667,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8648,
                                "end": 8655,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;ASC&#39;</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "matching",
                    "defaultValue": "'contains'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Sets the way the options should be retrieved.</p>\n",
                    "line": 222,
                    "rawdescription": "\n\nSets the way the options should be retrieved.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 7954,
                            "end": 7979,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7955,
                                "end": 7962,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;contains&#39;</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "maxVisibleChipsCount",
                    "defaultValue": "null, { transform: numberAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether a limited amount, defined by this option, is used to display the chips.</p>\n",
                    "line": 354,
                    "rawdescription": "\n\nWhether a limited amount, defined by this option, is used to display the chips.\n",
                    "required": false
                },
                {
                    "name": "panelWidth",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string | number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Sets the width of the options panel.</p>\n",
                    "line": 276,
                    "rawdescription": "\n\nSets the width of the options panel.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 9870,
                            "end": 9901,
                            "kind": 345,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 9871,
                                "end": 9875,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "type"
                            },
                            "comment": "",
                            "typeExpression": {
                                "pos": 9876,
                                "end": 9895,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 9877,
                                    "end": 9894,
                                    "kind": 197,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "type": {
                                        "pos": 9878,
                                        "end": 9893,
                                        "kind": 193,
                                        "id": 0,
                                        "flags": 16777216,
                                        "modifierFlagsCache": 0,
                                        "transformFlags": 1,
                                        "types": [
                                            {
                                                "pos": 9878,
                                                "end": 9884,
                                                "kind": 154,
                                                "id": 0,
                                                "flags": 16777216,
                                                "transformFlags": 1
                                            },
                                            {
                                                "pos": 9886,
                                                "end": 9893,
                                                "kind": 150,
                                                "id": 0,
                                                "flags": 16777216,
                                                "transformFlags": 1
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    ],
                    "required": false
                },
                {
                    "name": "placeholder",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Sets the placeholder of the text input.</p>\n",
                    "line": 226,
                    "rawdescription": "\n\nSets the placeholder of the text input.\n",
                    "required": false
                },
                {
                    "name": "toggleLinkLessLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>In combination with <code>maxVisibleChipsCount</code>, sets the label of the &#39;less label&#39; button, if not provided an arrow left icon will be displayed only.</p>\n",
                    "line": 266,
                    "rawdescription": "\n\nIn combination with `maxVisibleChipsCount`, sets the label of the 'less label' button, if not provided an arrow left icon will be displayed only.\n",
                    "required": false
                },
                {
                    "name": "toggleLinkMoreLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>In combination with <code>maxVisibleChipsCount</code>, sets the label of the &#39;more label&#39; button, if not provided an arrow right icon will be displayed only.</p>\n",
                    "line": 262,
                    "rawdescription": "\n\nIn combination with `maxVisibleChipsCount`, sets the label of the 'more label' button, if not provided an arrow right icon will be displayed only.\n",
                    "required": false
                },
                {
                    "name": "visibleOptions",
                    "defaultValue": "5, { transform: numberAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Sets the maximum number of options that will be visible in the autocomplete panel.</p>\n",
                    "line": 216,
                    "rawdescription": "\n\nSets the maximum number of options that will be visible in the autocomplete panel.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 7797,
                            "end": 7813,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7798,
                                "end": 7805,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>5</p>\n"
                        }
                    ],
                    "required": false
                }
            ],
            "outputsClass": [
                {
                    "name": "chipDragRelease",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiChipDragDrop",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Event emitted when a chip drag is released.</p>\n",
                    "line": 435,
                    "rawdescription": "\n\nEvent emitted when a chip drag is released.\n",
                    "required": false
                },
                {
                    "name": "chipDragStart",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiChipDragDrop",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Event emitted when a chip drag starts.</p>\n",
                    "line": 431,
                    "rawdescription": "\n\nEvent emitted when a chip drag starts.\n",
                    "required": false
                },
                {
                    "name": "chipDrop",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiChipDragDrop",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Event emitted when a chip is dropped.</p>\n",
                    "line": 439,
                    "rawdescription": "\n\nEvent emitted when a chip is dropped.\n",
                    "required": false
                },
                {
                    "name": "clear",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Event emitted when the text input is cleared.</p>\n",
                    "line": 411,
                    "rawdescription": "\n\nEvent emitted when the text input is cleared.\n",
                    "required": false
                },
                {
                    "name": "inputBlur",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Event emitted when the text input is blurred.</p>\n",
                    "line": 407,
                    "rawdescription": "\n\nEvent emitted when the text input is blurred.\n",
                    "required": false
                },
                {
                    "name": "inputChange",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Event emitted when the value of the text input changes.</p>\n",
                    "line": 427,
                    "rawdescription": "\n\nEvent emitted when the value of the text input changes.\n",
                    "required": false
                },
                {
                    "name": "inputFocus",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Event emitted when the text input gets the focus.</p>\n",
                    "line": 403,
                    "rawdescription": "\n\nEvent emitted when the text input gets the focus.\n",
                    "required": false
                },
                {
                    "name": "itemAdd",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiAutoCompleteItem",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Event emitted when an option is selected.</p>\n",
                    "line": 419,
                    "rawdescription": "\n\nEvent emitted when an option is selected.\n",
                    "required": false
                },
                {
                    "name": "itemRemove",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiAutoCompleteItem",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Event emitted when an option is removed.</p>\n",
                    "line": 423,
                    "rawdescription": "\n\nEvent emitted when an option is removed.\n",
                    "required": false
                },
                {
                    "name": "panelClose",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Event emitted when the panel is closed.</p>\n",
                    "line": 395,
                    "rawdescription": "\n\nEvent emitted when the panel is closed.\n",
                    "required": false
                },
                {
                    "name": "panelOpen",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Event emitted when the panel is opened.</p>\n",
                    "line": 399,
                    "rawdescription": "\n\nEvent emitted when the panel is opened.\n",
                    "required": false
                },
                {
                    "name": "selectionChange",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiAutoCompleteItem[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Event emitted when an option is selected or when the selection is modified.</p>\n",
                    "line": 415,
                    "rawdescription": "\n\nEvent emitted when an option is selected or when the selection is modified.\n",
                    "required": false
                }
            ],
            "propertiesClass": [
                {
                    "name": "autocompleteControl",
                    "defaultValue": "new FormControl<string>('')",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 375,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "autocompleteOptGroupTemplate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<literal type>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 383,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "autocompleteOptions",
                    "defaultValue": "signal<EuiAutoCompleteItem[]>(this.autocompleteData())",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 373,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "autocompleteOptionTemplate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<literal type>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 382,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "chips",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiChip[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 377,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "distinctOptionGroups",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 378,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "globalOptionIndex",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 380,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "groupedOptions",
                    "defaultValue": "new BehaviorSubject<{ [id: string]: { options: EuiAutoCompleteItem[], ancestorLength: number } }>({})",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 379,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "hasAriaRequiredAttribute",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 441,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "input",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 390,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'input', {read: ElementRef}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "inputContainerRef",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 388,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'inputContainerRef'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "isDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 376,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "isVisibleChipsOpened",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Signal<boolean>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 372,
                    "modifierKind": [
                        125,
                        148
                    ]
                },
                {
                    "name": "itemSize",
                    "defaultValue": "40",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 381,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "selectedOptionIndex",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 374,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "templatePortalContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<ElementRef>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 387,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'templatePortalContent'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "templates",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiTemplateDirective>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 385,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "EuiTemplateDirective"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "virtualScrolling",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "CdkVirtualScrollViewport",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 389,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'virtualScrolling'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "add",
                    "args": [
                        {
                            "name": "value",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 937,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod called when an option is added through the text input.\n\n",
                    "description": "<p>Method called when an option is added through the text input.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 38249,
                                "end": 38254,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "value"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 38243,
                                "end": 38248,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Value to add</p>\n"
                        }
                    ]
                },
                {
                    "name": "closePanel",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 891,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCloses the autocomplete panel.\n",
                    "description": "<p>Closes the autocomplete panel.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 580,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngDoCheck",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 570,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "c",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 506,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "c",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 593,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 518,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onBlur",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 1045,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nText input blur handler.\n",
                    "description": "<p>Text input blur handler.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "onChipDragReleased",
                    "args": [
                        {
                            "name": "e",
                            "type": "CdkDragRelease",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 1118,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCalled when a chip is released for reordering or from a source to another.\n\n",
                    "description": "<p>Called when a chip is released for reordering or from a source to another.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 44369,
                                "end": 44370,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "e"
                            },
                            "type": "CdkDragRelease",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 44363,
                                "end": 44368,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Object containing the chip released.</p>\n"
                        }
                    ]
                },
                {
                    "name": "onChipDragStarted",
                    "args": [
                        {
                            "name": "e",
                            "type": "CdkDragStart",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 1103,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCalled when a chip is dragged for reordering or from a source to another.\n\n",
                    "description": "<p>Called when a chip is dragged for reordering or from a source to another.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 43990,
                                "end": 43991,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "e"
                            },
                            "type": "CdkDragStart",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 43984,
                                "end": 43989,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Object containing the chip dragged.</p>\n"
                        }
                    ]
                },
                {
                    "name": "onChipDropped",
                    "args": [
                        {
                            "name": "e",
                            "type": "CdkDragDrop<any[]>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 1080,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCalled when a chip is dropped for reordering or from a source to another.\n\n",
                    "description": "<p>Called when a chip is dropped for reordering or from a source to another.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 43140,
                                "end": 43141,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "e"
                            },
                            "type": "CdkDragDrop<any[]>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 43134,
                                "end": 43139,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Object containing the chip dropped.</p>\n"
                        }
                    ]
                },
                {
                    "name": "onChipRemove",
                    "args": [
                        {
                            "name": "chip",
                            "type": "EuiChip",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 1056,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCalled when a chip is removed.\n\n",
                    "description": "<p>Called when a chip is removed.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "chip",
                            "type": "EuiChip",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onClear",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 1001,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "onFocus",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 1008,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nText input focus handler.\n",
                    "description": "<p>Text input focus handler.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "onOptionSelected",
                    "args": [
                        {
                            "name": "e",
                            "type": "EuiAutoCompleteItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 909,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod called when an option is selected.\n\n",
                    "description": "<p>Method called when an option is selected.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 37171,
                                "end": 37172,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "e"
                            },
                            "type": "EuiAutoCompleteItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 37165,
                                "end": 37170,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Selected option</p>\n"
                        }
                    ]
                },
                {
                    "name": "openPanel",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 660,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod that creates and opens the panel containing autocomplete options.\n",
                    "description": "<p>Method that creates and opens the panel containing autocomplete options.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "optionsTrackByFn",
                    "args": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "item",
                            "type": "EuiAutoCompleteItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "string | number",
                    "typeParameters": [],
                    "line": 961,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "item",
                            "type": "EuiAutoCompleteItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "registerOnChange",
                    "args": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": []
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 993,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [],
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "registerOnTouched",
                    "args": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": []
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 997,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [],
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "setDisabledState",
                    "args": [
                        {
                            "name": "isDisabled",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 980,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "isDisabled",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "toggleTags",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 653,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "writeValue",
                    "args": [
                        {
                            "name": "value",
                            "type": "EuiAutoCompleteItem | EuiAutoCompleteItem[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 965,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "EuiAutoCompleteItem | EuiAutoCompleteItem[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6859,
                            "end": 6976,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6860,
                                "end": 6871,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                        },
                        {
                            "pos": 6976,
                            "end": 7041,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6977,
                                "end": 6984,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 6985,
                                "end": 6993,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 6986,
                                    "end": 6992,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                    "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                    "line": 194,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "DragDropModule",
                    "type": "module"
                },
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "ReactiveFormsModule",
                    "type": "module"
                },
                {
                    "name": "OverlayModule",
                    "type": "module"
                },
                {
                    "name": "ScrollingModule",
                    "type": "module"
                },
                {
                    "name": "A11yModule",
                    "type": "module"
                },
                {
                    "name": "EuiAutocompleteOptionComponent",
                    "type": "component"
                },
                {
                    "name": "EuiAutocompleteOptionGroupComponent",
                    "type": "component"
                },
                {
                    "name": "EUI_INPUT_TEXT"
                },
                {
                    "name": "EUI_CHIP_LIST"
                },
                {
                    "name": "EUI_CHIP"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EuiTruncatePipe",
                    "type": "pipe"
                },
                {
                    "name": "EuiTooltipDirective",
                    "type": "directive"
                }
            ],
            "description": "<p><code>eui-autocomplete</code> component with dropdown suggestions, optional chip display for multiple selections, and comprehensive keyboard navigation.\nProvides type-ahead functionality with filtering, grouping, sorting, and async data support.\nImplements ControlValueAccessor for Angular forms integration with validation support.\n<code>eui-autocomplete</code> supports single or multiple selection modes with chips for visual representation of selected items.\nBuilt on Angular CDK Overlay for positioning and virtual scrolling for performance with large datasets.\n<code>eui-autocomplete</code> includes accessibility features with ARIA attributes, live announcer, and keyboard navigation.</p>\n<h4>Basic single selection</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-autocomplete [autocompleteData]=&quot;fruits&quot; placeholder=&quot;Select a fruit&quot;&gt;&lt;/eui-autocomplete&gt;</code></pre></div><h4>Multiple selection with chips</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-autocomplete\n  [autocompleteData]=&quot;countries&quot;\n  [hasChips]=&quot;true&quot;\n  [chipsPosition]=&quot;&#39;top&#39;&quot;\n  (selectionChange)=&quot;onSelectionChange($event)&quot;&gt;\n&lt;/eui-autocomplete&gt;</code></pre></div><h4>With grouping and async data</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-autocomplete\n  [autocompleteData]=&quot;cities&quot;\n  [groupBy]=&quot;&#39;metadata.continent&#39;&quot;\n  [isAsync]=&quot;true&quot;\n  [isLoading]=&quot;loading&quot;&gt;\n&lt;/eui-autocomplete&gt;</code></pre></div><h4>In reactive form with validation</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-autocomplete\n  [autocompleteData]=&quot;options&quot;\n  formControlName=&quot;selection&quot;\n  [isForceSelection]=&quot;true&quot;&gt;\n&lt;/eui-autocomplete&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">fruits: EuiAutoCompleteItem[] = [\n  { id: 1, label: &#39;Apple&#39; },\n  { id: 2, label: &#39;Banana&#39; },\n  { id: 3, label: &#39;Orange&#39; }\n];\n\nonSelectionChange(items: EuiAutoCompleteItem[]): void {\n  console.log(&#39;Selected:&#39;, items);\n}</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses ARIA live announcer to announce option navigation for screen readers</li>\n<li>Keyboard navigation: Arrow Up/Down to navigate options, Enter to select, Escape to close</li>\n<li>Tab key closes panel and optionally adds chip (with isAddOnBlur)</li>\n<li>Backspace removes last chip when input is empty (chipsPosition=&#39;inside&#39;)</li>\n<li>aria-required attribute automatically set when used with Validators.required</li>\n<li>Each option has role=&quot;option&quot; for proper screen reader identification</li>\n<li>Panel positioning adjusts automatically to stay within viewport</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Each EuiAutoCompleteItem must have unique <code>id</code> and <code>label</code> properties</li>\n<li>Use hasChips for multiple selection mode, omit for single selection</li>\n<li>chipsPosition options: &#39;top&#39; (default), &#39;bottom&#39;, &#39;inside&#39; (chips within input)</li>\n<li>matching options: &#39;contains&#39; (default) or &#39;startWith&#39; for filtering behavior</li>\n<li>Set isForceSelection to require selection from available options only</li>\n<li>isFreeValueAllowed (default true) allows custom values not in the list</li>\n<li>Virtual scrolling automatically handles large datasets efficiently</li>\n<li>groupBy accepts nested property paths (e.g., &#39;metadata.category.name&#39;)</li>\n<li>Use isAsync with dynamic data loading, update autocompleteData when ready</li>\n<li>Chips can be drag-and-dropped when isChipsDragAndDrop is enabled</li>\n<li>Panel width defaults to input width, override with panelWidth property</li>\n</ul>\n",
            "rawdescription": "\n\n`eui-autocomplete` component with dropdown suggestions, optional chip display for multiple selections, and comprehensive keyboard navigation.\nProvides type-ahead functionality with filtering, grouping, sorting, and async data support.\nImplements ControlValueAccessor for Angular forms integration with validation support.\n`eui-autocomplete` supports single or multiple selection modes with chips for visual representation of selected items.\nBuilt on Angular CDK Overlay for positioning and virtual scrolling for performance with large datasets.\n`eui-autocomplete` includes accessibility features with ARIA attributes, live announcer, and keyboard navigation.\n\n#### Basic single selection\n```html\n<eui-autocomplete [autocompleteData]=\"fruits\" placeholder=\"Select a fruit\"></eui-autocomplete>\n```\n\n#### Multiple selection with chips\n```html\n<eui-autocomplete\n  [autocompleteData]=\"countries\"\n  [hasChips]=\"true\"\n  [chipsPosition]=\"'top'\"\n  (selectionChange)=\"onSelectionChange($event)\">\n</eui-autocomplete>\n```\n\n#### With grouping and async data\n```html\n<eui-autocomplete\n  [autocompleteData]=\"cities\"\n  [groupBy]=\"'metadata.continent'\"\n  [isAsync]=\"true\"\n  [isLoading]=\"loading\">\n</eui-autocomplete>\n```\n\n#### In reactive form with validation\n```html\n<eui-autocomplete\n  [autocompleteData]=\"options\"\n  formControlName=\"selection\"\n  [isForceSelection]=\"true\">\n</eui-autocomplete>\n```\n\n```ts\nfruits: EuiAutoCompleteItem[] = [\n  { id: 1, label: 'Apple' },\n  { id: 2, label: 'Banana' },\n  { id: 3, label: 'Orange' }\n];\n\nonSelectionChange(items: EuiAutoCompleteItem[]): void {\n  console.log('Selected:', items);\n}\n```\n\n### Accessibility\n- Uses ARIA live announcer to announce option navigation for screen readers\n- Keyboard navigation: Arrow Up/Down to navigate options, Enter to select, Escape to close\n- Tab key closes panel and optionally adds chip (with isAddOnBlur)\n- Backspace removes last chip when input is empty (chipsPosition='inside')\n- aria-required attribute automatically set when used with Validators.required\n- Each option has role=\"option\" for proper screen reader identification\n- Panel positioning adjusts automatically to stay within viewport\n\n### Notes\n- Each EuiAutoCompleteItem must have unique `id` and `label` properties\n- Use hasChips for multiple selection mode, omit for single selection\n- chipsPosition options: 'top' (default), 'bottom', 'inside' (chips within input)\n- matching options: 'contains' (default) or 'startWith' for filtering behavior\n- Set isForceSelection to require selection from available options only\n- isFreeValueAllowed (default true) allows custom values not in the list\n- Virtual scrolling automatically handles large datasets efficiently\n- groupBy accepts nested property paths (e.g., 'metadata.category.name')\n- Use isAsync with dynamic data loading, update autocompleteData when ready\n- Chips can be drag-and-dropped when isChipsDragAndDrop is enabled\n- Panel width defaults to input width, override with panelWidth property\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    ChangeDetectionStrategy,\n    ViewEncapsulation,\n    OnInit,\n    OnDestroy,\n    OnChanges,\n    SimpleChanges,\n    HostBinding,\n    AfterViewInit,\n    ViewContainerRef,\n    ViewChild,\n    TemplateRef,\n    ElementRef,\n    Input,\n    ChangeDetectorRef,\n    ContentChildren,\n    QueryList,\n    booleanAttribute,\n    numberAttribute,\n    inject,\n    PLATFORM_ID,\n    DoCheck,\n    input,\n    InputSignal,\n    output,\n    signal,\n    computed,\n    WritableSignal,\n    Signal,\n    effect,\n    afterNextRender,\n    Injector,\n    runInInjectionContext,\n} from '@angular/core';\nimport { AsyncPipe, isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { ControlValueAccessor, FormControl, NgControl, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { BehaviorSubject, Subject, Subscription, filter, fromEvent, takeUntil } from 'rxjs';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n    ConnectionPositionPair,\n    FlexibleConnectedPositionStrategyOrigin,\n    Overlay,\n    OverlayModule,\n    OverlayRef,\n    PositionStrategy,\n    RepositionScrollStrategy,\n} from '@angular/cdk/overlay';\nimport { CdkScrollable, CdkVirtualScrollViewport, ScrollDispatcher, ScrollingModule } from '@angular/cdk/scrolling';\nimport { A11yModule, LiveAnnouncer } from '@angular/cdk/a11y';\nimport { CdkDragDrop, CdkDragRelease, CdkDragStart, DragDropModule, moveItemInArray } from '@angular/cdk/drag-drop';\n\nimport { EuiAppShellService } from '@eui/core';\n\nimport { EUI_CHIP_LIST } from '@eui/components/eui-chip-list';\nimport { EUI_CHIP, EuiChip, EuiChipTooltip } from '@eui/components/eui-chip';\nimport { EuiTemplateDirective, EuiTooltipDirective } from '@eui/components/directives';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EuiTruncatePipe } from '@eui/components/pipes';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\nimport { EuiAutoCompleteItem } from './models/eui-autocomplete-item.model';\nimport { panelAnimation } from './animations/animations';\nimport { EuiAutocompleteOptionComponent } from './eui-autocomplete-option/eui-autocomplete-option.component';\nimport { EuiAutocompleteOptionGroupComponent } from './eui-autocomplete-option-group/eui-autocomplete-option-group.component';\nimport { EuiChipDragDrop } from './models/eui-chip-drag-drop.model';\n\n/**\n * @description\n * `eui-autocomplete` component with dropdown suggestions, optional chip display for multiple selections, and comprehensive keyboard navigation.\n * Provides type-ahead functionality with filtering, grouping, sorting, and async data support.\n * Implements ControlValueAccessor for Angular forms integration with validation support.\n * `eui-autocomplete` supports single or multiple selection modes with chips for visual representation of selected items.\n * Built on Angular CDK Overlay for positioning and virtual scrolling for performance with large datasets.\n * `eui-autocomplete` includes accessibility features with ARIA attributes, live announcer, and keyboard navigation.\n * \n * @usageNotes\n * #### Basic single selection\n * ```html\n * <eui-autocomplete [autocompleteData]=\"fruits\" placeholder=\"Select a fruit\"></eui-autocomplete>\n * ```\n *\n * #### Multiple selection with chips\n * ```html\n * <eui-autocomplete \n *   [autocompleteData]=\"countries\" \n *   [hasChips]=\"true\" \n *   [chipsPosition]=\"'top'\"\n *   (selectionChange)=\"onSelectionChange($event)\">\n * </eui-autocomplete>\n * ```\n *\n * #### With grouping and async data\n * ```html\n * <eui-autocomplete \n *   [autocompleteData]=\"cities\" \n *   [groupBy]=\"'metadata.continent'\"\n *   [isAsync]=\"true\"\n *   [isLoading]=\"loading\">\n * </eui-autocomplete>\n * ```\n *\n * #### In reactive form with validation\n * ```html\n * <eui-autocomplete \n *   [autocompleteData]=\"options\" \n *   formControlName=\"selection\"\n *   [isForceSelection]=\"true\">\n * </eui-autocomplete>\n * ```\n *\n * ```ts\n * fruits: EuiAutoCompleteItem[] = [\n *   { id: 1, label: 'Apple' },\n *   { id: 2, label: 'Banana' },\n *   { id: 3, label: 'Orange' }\n * ];\n *\n * onSelectionChange(items: EuiAutoCompleteItem[]): void {\n *   console.log('Selected:', items);\n * }\n * ```\n *\n * ### Accessibility\n * - Uses ARIA live announcer to announce option navigation for screen readers\n * - Keyboard navigation: Arrow Up/Down to navigate options, Enter to select, Escape to close\n * - Tab key closes panel and optionally adds chip (with isAddOnBlur)\n * - Backspace removes last chip when input is empty (chipsPosition='inside')\n * - aria-required attribute automatically set when used with Validators.required\n * - Each option has role=\"option\" for proper screen reader identification\n * - Panel positioning adjusts automatically to stay within viewport\n *\n * ### Notes\n * - Each EuiAutoCompleteItem must have unique `id` and `label` properties\n * - Use hasChips for multiple selection mode, omit for single selection\n * - chipsPosition options: 'top' (default), 'bottom', 'inside' (chips within input)\n * - matching options: 'contains' (default) or 'startWith' for filtering behavior\n * - Set isForceSelection to require selection from available options only\n * - isFreeValueAllowed (default true) allows custom values not in the list\n * - Virtual scrolling automatically handles large datasets efficiently\n * - groupBy accepts nested property paths (e.g., 'metadata.category.name')\n * - Use isAsync with dynamic data loading, update autocompleteData when ready\n * - Chips can be drag-and-dropped when isChipsDragAndDrop is enabled\n * - Panel width defaults to input width, override with panelWidth property\n */\n@Component({\n    templateUrl: './eui-autocomplete.component.html',\n    selector: 'eui-autocomplete, input[euiAutocomplete]',\n    styleUrl: './eui-autocomplete.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        DragDropModule,\n        NgTemplateOutlet,\n        AsyncPipe,\n        ReactiveFormsModule,\n        OverlayModule,\n        ScrollingModule,\n        A11yModule,\n        EuiAutocompleteOptionComponent,\n        EuiAutocompleteOptionGroupComponent,\n        ...EUI_INPUT_TEXT,\n        ...EUI_CHIP_LIST,\n        ...EUI_CHIP,\n        ...EUI_ICON,\n        ...EUI_BUTTON,\n        EuiTruncatePipe,\n        EuiTooltipDirective,\n    ],\n    animations: [panelAnimation],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSecondary',\n                'euiSuccess',\n                'euiInfo',\n                'euiWarning',\n                'euiDanger',\n            ],\n        },\n    ],\n})\nexport class EuiAutocompleteComponent implements OnInit, OnDestroy, ControlValueAccessor, OnChanges, AfterViewInit, DoCheck {\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    public get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-autocomplete'),\n            this.hasChips() ? 'eui-autocomplete--chips-position-' + this.chipsPosition() : 'eui-autocomplete--chips-position-none',\n            this.isReadonly() ? 'eui-autocomplete--readonly' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n    /**\n     * Sets the id on the text input.\n     */\n    inputId: InputSignal<string> = input();\n    /**\n     * Datas to be used in the autocomplete.\n     */\n    autocompleteData: InputSignal<EuiAutoCompleteItem[]> = input([]);\n    /**\n     * Sets the maximum number of options that will be visible in the autocomplete panel.\n     *\n     * @default 5\n     */\n    visibleOptions = input(5, { transform: numberAttribute });\n    /**\n     * Sets the way the options should be retrieved.\n     *\n     * @default 'contains'\n     */\n    matching: InputSignal<'startWith' | 'contains'> = input('contains');\n    /**\n     * Sets the placeholder of the text input.\n     */\n    placeholder = input<string>('');\n    /**\n     * Sets the options that will be selected by default.\n     */\n    @Input() autocompleteDataSelected: EuiAutoCompleteItem[] = [];\n    /**\n     * Sets the sort criteria of the chips.\n     *\n     * @type {('ASC' | 'DESC')}\n     * @default 'ASC'\n     */\n    chipsSortOrder: InputSignal<'ASC' | 'DESC'> = input<'ASC' | 'DESC'>('ASC');\n    /**\n     * In combination with `isChipsSorted`. Sets the sort criteria of the options in the panel.\n     *\n     * @type {('ASC' | 'DESC')}\n     * @default 'ASC'\n     */\n    itemsSortOrder: InputSignal<'ASC' | 'DESC'> = input<'ASC' | 'DESC'>('ASC');\n    /**\n     * In Combination with `isItemsSorted`. Sets the position of the chips relative to the text input.\n     *\n     * @type {('top' | 'bottom' | 'inside')}\n     * @default 'top''\n     */\n    /**\n     * @deprecated The 'inside' option will be removed in eUI 23. Please, use 'top' as default.\n     */\n    chipsPosition: InputSignal<'top' | 'bottom' | 'inside'> = input<'top' | 'bottom' | 'inside'>('top');\n    /**\n     * Sets a grouping among the options.\n     */\n    groupBy = input<string>();\n    /**\n     * In combination with `maxVisibleChipsCount`, sets the label of the 'more label' button, if not provided an arrow right icon will be displayed only.\n     */\n    toggleLinkMoreLabel = input<string>(null);\n    /**\n     * In combination with `maxVisibleChipsCount`, sets the label of the 'less label' button, if not provided an arrow left icon will be displayed only.\n     */\n    toggleLinkLessLabel = input<string>(null);\n    /**\n     * Sets a CSS class to be added on the options panel container.\n     */\n    classList = input<string>(null);\n    /**\n     * Sets the width of the options panel.\n     *\n     * @type {(string | number)}\n     */\n    panelWidth: InputSignal<string | number> =  input<string | number>();\n    /**\n     * In combination with `hasChips`. Whether the user can add a value, which is not part of the options, to craete a chip.\n     *\n     * @default true\n     */\n    isFreeValueAllowed = input(true, { transform: booleanAttribute })\n    /**\n     * Whether autocomplete is in readonly mode.\n     *\n     * @default false\n     */\n    isReadonly = input(false, { transform: booleanAttribute })\n    /**\n     * Whether loading spinner is displayed in text input.\n     *\n     * @default false\n     */\n    isLoading = input(false, { transform: booleanAttribute })\n    /**\n     * Whether autocomplete will display the selected values with chips.\n     *\n     * @default false\n     */\n    hasChips = input(false, { transform: booleanAttribute })\n    /**\n     * Whether autocomplete will get the data asynchronously.\n     *\n     * @default false\n     */\n    isAsync = input(false, { transform: booleanAttribute })\n    /**\n     * Whether this chip is sorted on their label.\n     *\n     * @default false\n     */\n    isChipsSorted = input(false, { transform: booleanAttribute })\n    /**\n     * Whether this item in the panel is sorted on their label.\n     *\n     * @default false\n     */\n    isItemsSorted = input(false, { transform: booleanAttribute })\n    /**\n     * Whether the grops of items are sorted on their label.\n     *\n     * @default true\n     */\n    isGroupSorted = input(true, { transform: booleanAttribute })\n    /**\n     * Whether the chip can be removed from the selection.\n     * When a chip is removed, its value goes back in the panel.\n     *\n     * @default true\n     */\n    isChipsRemovable = input(true, { transform: booleanAttribute })\n    /**\n     * Whether the chips can have multiple times the same value.\n     * With this option, the value is not removed from the panel when choosen.\n     *\n     * @default false\n     */\n    isDuplicateValueAllowed = input(false, { transform: booleanAttribute })\n    /**\n     * In combination with `hasChips`. Whether the chip is added when the text input is blurred.\n     *\n     * @default false\n     */\n    isAddOnBlur  = input(false, { transform: booleanAttribute })\n    /**\n     * In combination with `hasChips` and `isFreeValueAllowed=false`. Whether the text input is empty after blurring when no value has been selected in the panel.\n     *\n     * @default false\n     */\n    isForceSelection = input(false, { transform: booleanAttribute })\n    /**\n     * Whether a limited amount, defined by this option, is used to display the chips.\n     */\n    maxVisibleChipsCount = input(null, { transform: numberAttribute });\n    /**\n     * Whether the chips label length is limited by the value of this option.\n     */\n    chipsLabelTruncateCount = input(null, { transform: numberAttribute });\n    /**\n     * In combination with `maxVisibleChipsCount`. Whether all chips are shown by default.\n     *\n     * @default false\n     */\n    isMaxVisibleChipsOpened = input(false, { transform: booleanAttribute });\n    /**\n     * Whether the chips can be drag and dropped.\n     *\n     * @default false\n     */\n    isChipsDragAndDrop = input(false, { transform: booleanAttribute });\n\n    public readonly isVisibleChipsOpened: Signal<boolean>;\n    public autocompleteOptions = signal<EuiAutoCompleteItem[]>(this.autocompleteData());\n    public selectedOptionIndex = 0;\n    public autocompleteControl = new FormControl<string>('');\n    public isDisabled = false;\n    public chips: EuiChip[] = [];\n    public distinctOptionGroups: string[];\n    public groupedOptions = new BehaviorSubject<{ [id: string]: { options: EuiAutoCompleteItem[], ancestorLength: number } }>({});\n    public globalOptionIndex = 0;\n    public itemSize = 40;\n    public autocompleteOptionTemplate: TemplateRef<{ $implicit: EuiAutoCompleteItem }>;\n    public autocompleteOptGroupTemplate: TemplateRef<{ $implicit: { label: string } }>;\n\n    @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n    @ViewChild('templatePortalContent') templatePortalContent: TemplateRef<ElementRef>;\n    @ViewChild('inputContainerRef') inputContainerRef: ElementRef;\n    @ViewChild('virtualScrolling') virtualScrolling: CdkVirtualScrollViewport;\n    @ViewChild('input', { read: ElementRef }) input: ElementRef;\n\n    /**\n     * Event emitted when the panel is closed.\n     */\n    panelClose = output();\n    /**\n     * Event emitted when the panel is opened.\n     */\n    panelOpen = output();\n    /**\n     * Event emitted when the text input gets the focus.\n     */\n    inputFocus = output();\n    /**\n     * Event emitted when the text input is blurred.\n     */\n    inputBlur = output();\n    /**\n     * Event emitted when the text input is cleared.\n     */\n    clear = output();\n    /**\n     * Event emitted when an option is selected or when the selection is modified.\n     */\n    selectionChange = output<EuiAutoCompleteItem[]>();\n    /**\n     * Event emitted when an option is selected.\n     */\n    itemAdd = output<EuiAutoCompleteItem>();\n    /**\n     * Event emitted when an option is removed.\n     */\n    itemRemove = output<EuiAutoCompleteItem>();\n    /**\n     * Event emitted when the value of the text input changes.\n     */\n    inputChange = output<string>();\n    /**\n     * Event emitted when a chip drag starts.\n     */\n    chipDragStart = output<EuiChipDragDrop>();\n    /**\n     * Event emitted when a chip drag is released.\n     */\n    chipDragRelease = output<EuiChipDragDrop>();\n    /**\n     * Event emitted when a chip is dropped.\n     */\n    chipDrop = output<EuiChipDragDrop>();\n\n    protected hasAriaRequiredAttribute: boolean;\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private overlayRef: OverlayRef;\n    private isOpen$ = new BehaviorSubject<boolean>(false);\n    private templatePortal: TemplatePortal<unknown>;\n    private keyboardOptionSelectorHandlerSubscription = new Subscription();\n    private addOnBlurClickHandlerSubscription = new Subscription();\n    private isForceSelectionSubscription = new Subscription();\n    private keyboardSubscription = new Subscription();\n    private autocompleteOptionsSubscription = new Subscription();\n    private scrollDispatcherSubscription = new Subscription();\n    private windowResizeSubscription = new Subscription();\n    private value: EuiAutoCompleteItem | EuiAutoCompleteItem[] = null;\n    private TOP = new ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'bottom' }, 0, 0, [\n        'eui-autocomplete-position',\n        'eui-autocomplete-position--top',\n    ]);\n    private BOTTOM = new ConnectionPositionPair({ originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'top' }, 0, 0, [\n        'eui-autocomplete-position',\n        'eui-autocomplete-position--bottom',\n    ]);\n    private preferredPositons: ConnectionPositionPair[] = [this.BOTTOM, this.TOP];\n    private overlay = inject(Overlay);\n    private cd = inject(ChangeDetectorRef);\n    private viewContainerRef = inject(ViewContainerRef);\n    private elementRef = inject(ElementRef);\n    private liveAnnouncer = inject(LiveAnnouncer);\n    private scrollDispatcher = inject(ScrollDispatcher);\n    private euiAppShellService = inject(EuiAppShellService);\n    private baseStatesDirective = inject(BaseStatesDirective);\n    private control = inject(NgControl, { self: true, optional: true })!;\n    private platformId = inject(PLATFORM_ID);\n    private localIsMaxVisibleChipsOpened: WritableSignal<boolean>;\n    private readonly injector = inject(Injector);\n\n    constructor() {\n        if (this.control) {\n            this.control.valueAccessor = this;\n        }\n\n        this.localIsMaxVisibleChipsOpened = signal(this.isMaxVisibleChipsOpened());\n        this.isVisibleChipsOpened = computed(() => this.localIsMaxVisibleChipsOpened());\n\n        effect(() => {\n            const options = this.autocompleteOptions();\n\n            this.overlayRef?.removePanelClass('eui-autocomplete__panel-container--no-option');\n\n            if (options.length === 0) {\n                this.selectedOptionIndex = 0;\n                this.overlayRef?.addPanelClass('eui-autocomplete__panel-container--no-option');\n            }\n\n            runInInjectionContext(this.injector, () => {\n                afterNextRender(() => {\n                    this.overlayRef?.updatePositionStrategy(this.getPositionStrategy());\n                });\n            });\n        });\n    }\n\n    get isChipsPositionInside(): boolean {\n        return this.chipsPosition() === 'inside';\n    }\n\n    ngOnChanges(c: SimpleChanges): void {\n        if (c && c.autocompleteData) {\n            this.setOptions('', this.isItemsSorted());\n        }\n\n        if (c && c.autocompleteDataSelected && this.hasChips()) {\n            this.autocompleteDataSelected = c.autocompleteDataSelected.currentValue.map((s: EuiAutoCompleteItem) => ({ ...s, euiInternalId: crypto.randomUUID() }));\n            this.chips = this.mapToChip(this.autocompleteDataSelected);\n            this.setOptions('', this.isItemsSorted());\n        }\n    }\n\n    ngOnInit(): void {\n        this.euiAppShellService.state$.pipe(takeUntil(this.destroy$)).subscribe((state) => {\n            this.itemSize = state.appBaseFontSize === '16px' ? 40 : 35;\n        });\n\n        if (this.control) {\n            this.updateInputAriaRequiredAttribute(this.control);\n            this.control.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n                this.updateInputAriaRequiredAttribute(this.control);\n            });\n        }\n\n        this.autocompleteControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value: string) => {\n            this.selectedOptionIndex = 0;\n            if (!this.isOpen) {\n                this.openPanel();\n            }\n\n            this.setOptions(value, this.isItemsSorted());\n\n            if (this.hasChips()) {\n                if (!value) {\n                    this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n                }\n            } else {\n                if (typeof value === 'string') {\n                    const foundItem = this.autocompleteData().find((d) => d.label.toLowerCase().trim() === value.toLowerCase().trim());\n\n                    if (foundItem) {\n                        this.onChange(foundItem);\n                    } else {\n                        // eslint-disable-next-line\n                        value ? this.onChange({ label: value }) : this.onChange(null);\n                    }\n                } else {\n                    this.onChange(value === undefined ? null : value);\n                    if (!value) {\n                        this.setOptions('', this.isItemsSorted());\n                    }\n                }\n            }\n\n            this.inputChange.emit(value as string);\n        });\n\n        if (!this.isAsync()) {\n            this.setOptions(Array.isArray(this.value) ? '' : this.value?.label, this.isItemsSorted());\n        }\n\n        this.localIsMaxVisibleChipsOpened = signal(this.isMaxVisibleChipsOpened());\n    }\n\n    ngDoCheck(): void {\n        if (this.control) {\n            // eslint-disable-next-line\n            this.control.touched ? this.autocompleteControl.markAsTouched() : this.autocompleteControl.markAsUntouched();\n            // eslint-disable-next-line\n            this.control.invalid ? this.autocompleteControl.setErrors(this.control.errors) : this.autocompleteControl.setErrors(null);\n            this.cd.detectChanges();\n        }\n    }\n\n    ngAfterViewInit(): void {\n        this.templatePortal = new TemplatePortal(this.templatePortalContent, this.viewContainerRef);\n\n        this.templates.forEach((item) => {\n            if (item.getType() === 'dropdownOption') {\n                this.autocompleteOptionTemplate = item.template;\n            }\n            if (item.getType() === 'dropdownOptGroup') {\n                this.autocompleteOptGroupTemplate = item.template;\n            }\n        });\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n        this.keyboardOptionSelectorHandlerSubscription.unsubscribe();\n        this.addOnBlurClickHandlerSubscription.unsubscribe();\n        this.isForceSelectionSubscription.unsubscribe();\n        this.keyboardSubscription.unsubscribe();\n        this.autocompleteOptionsSubscription.unsubscribe();\n        this.windowResizeSubscription.unsubscribe();\n    }\n\n    /**\n     * Calculates the height that the virtual scroll need to have.\n     *\n     * @type {number}\n     */\n    get cdkVirtualScrollViewport(): number {\n        if (this.groupBy()) {\n            const filteredOptionGroups: string[] = this.autocompleteOptions()\n                .map(item => this.groupBy().split('.').reduce((prev, curr) => (prev ? prev[curr] : null), item || self))\n                .filter((optionGroup: string) => {\n                    return (\n                        this.autocompleteOptions().some(\n                            (option) => this.groupBy().split('.').reduce((prev, curr) => (prev ? prev[curr] : null), option || self) === optionGroup,\n                        )\n                    );\n                })\n                .filter((optionGroup: string, index, array: string[]) => array.indexOf(optionGroup) === index);\n\n            if (this.autocompleteOptions().length >= this.visibleOptions()) {\n                return this.visibleOptions() * this.itemSize;\n            } else {\n                const scrollItems = this.autocompleteOptions().length + filteredOptionGroups.length;\n                return (scrollItems > this.visibleOptions() ? this.visibleOptions() : scrollItems) * this.itemSize;\n            }\n        } else {\n            return this.autocompleteOptions().length >= this.visibleOptions() ?\n                this.visibleOptions() * this.itemSize :\n                this.autocompleteOptions().length * this.itemSize;\n        }\n    }\n\n    /**\n     * Returns the opening state of the panel.\n     *\n     * @type {boolean}\n     */\n    get isOpen(): boolean {\n        return this.isOpen$.value;\n    }\n\n    /**\n     * Checks if autocomplete options are available.\n     *\n     * @returns {boolean} `true` if options are present, otherwise `false`.\n     */\n    get hasOptionsResult(): boolean {\n        return this.autocompleteOptions().length > 0;\n    }\n\n    public toggleTags(): void {\n        this.localIsMaxVisibleChipsOpened.update(v => !v);\n    }\n\n    /**\n     * Method that creates and opens the panel containing autocomplete options.\n     */\n    public openPanel(): void {\n        if (!this.isOpen && !this.isReadonly()) {\n            this.scrollDispatcherSubscription = this.scrollDispatcher\n                .ancestorScrolled(this.input)\n                .pipe(takeUntil(this.destroy$))\n                .subscribe((event: CdkScrollable) => {\n                    if(isPlatformBrowser(this.platformId)) {\n                        const scrollableParent = event ? event.getElementRef().nativeElement : document.querySelector('body');\n                        if (!this.isVisible(this.input.nativeElement, scrollableParent)) {\n                            this.closePanel();\n                        }\n                    }\n                });\n\n            this.windowResizeSubscription = fromEvent(window, 'resize')\n                .pipe(takeUntil(this.destroy$))\n                .subscribe(() => {\n                    if (this.overlayRef && this.overlayRef.hasAttached() && !this.panelWidth()) {\n                        this.overlayRef.updateSize({\n                            width: this.inputContainerRef.nativeElement.clientWidth,\n                        });\n                    }\n                });\n\n            const positionStrategy = this.getPositionStrategy();\n            const scrollStrategy = this.getScrollStrategy();\n\n            this.overlayRef = this.overlay.create({\n                hasBackdrop: false,\n                positionStrategy,\n                scrollStrategy,\n                disposeOnNavigation: true,\n                width: this.panelWidth() ? this.panelWidth() : this.inputContainerRef.nativeElement.clientWidth,\n                panelClass: ['eui-autocomplete__panel-container', this.classList()],\n            });\n            this.overlayRef.attach(this.templatePortal);\n\n            document.querySelectorAll('.cdk-overlay-container')?.forEach(el => {\n                if (!el.classList.contains('eui-21')) {\n                    el.classList.add('eui-21');\n                }\n            });\n\n            this.overlayRef\n                .outsidePointerEvents()\n                .pipe(takeUntil(this.destroy$))\n                .subscribe((e) => {\n                    const targetElement = e.target as HTMLElement;\n                    const clearElement = this.elementRef.nativeElement.querySelector('.eui-sprite-eui-close');\n                    const isElementOrChildOfElement = (element: HTMLElement, parentElement: HTMLElement): boolean => {\n                        while (element) {\n                            if (element === parentElement) {\n                                return true;\n                            }\n                            element = element.parentElement;\n                        }\n                        return false;\n                    };\n\n                    const isClearableButton = targetElement.classList.contains('eui-sprite-eui-close');\n                    const isInput = targetElement.classList.contains('eui-autocomplete__input');\n\n                    if (!isClearableButton && !isInput && !isElementOrChildOfElement(targetElement, clearElement)) {\n                        this.closePanel();\n                    }\n\n                    if (isClearableButton && !this.elementRef.nativeElement.contains(targetElement)) {\n                        this.closePanel();\n                    }\n\n                    if (isInput && !this.elementRef.nativeElement.contains(targetElement)) {\n                        this.closePanel();\n                    }\n\n                    if ((e.target as HTMLElement).classList.contains('eui-autocomplete__input')) {\n                        e.stopPropagation();\n                    }\n                });\n            this.overlayRef\n                .keydownEvents()\n                .pipe(takeUntil(this.destroy$))\n                .subscribe((keyboardEvent) => {\n                    if (keyboardEvent.key?.toLowerCase() === 'escape') {\n                        this.closePanel();\n                    }\n                });\n\n            const liveAnnouncerSource = this.groupBy() ? Object.values(this.groupedOptions.value).flatMap(group => group.options) : this.autocompleteOptions();\n\n            this.liveAnnouncer.clear();\n            this.liveAnnouncer.announce(liveAnnouncerSource[0]?.label);\n\n            let visibleRangeStart = 0;\n            let visibleRangeEnd = this.visibleOptions() - 1;\n            this.keyboardOptionSelectorHandlerSubscription = fromEvent(this.input.nativeElement, 'keydown')\n                .pipe(\n                    filter((e: KeyboardEvent) => e.code === 'ArrowDown' || e.code === 'ArrowUp' || e.key === 'Enter' || e.code === 'Tab'),\n                    takeUntil(this.destroy$),\n                )\n                .subscribe((e: KeyboardEvent) => {\n                    if (e) {\n                        if (e.code === 'ArrowDown' && this.selectedOptionIndex < this.autocompleteOptions().length - 1) {\n                            this.selectedOptionIndex++;\n                            this.cd.detectChanges();\n\n                            const liveAnnouncerSource = this.groupBy() ? Object.values(this.groupedOptions.value).flatMap(group => group.options) : this.autocompleteOptions();\n\n                            this.liveAnnouncer.clear();\n                            this.liveAnnouncer.announce(liveAnnouncerSource[this.selectedOptionIndex].label);\n\n                            e.preventDefault();\n                        }\n                        if (e.code === 'ArrowUp' && this.selectedOptionIndex > 0) {\n                            this.selectedOptionIndex--;\n                            this.cd.detectChanges();\n\n                            const liveAnnouncerSource = this.groupBy() ? Object.values(this.groupedOptions.value).flatMap(group => group.options) : this.autocompleteOptions();\n\n                            this.liveAnnouncer.clear();\n                            this.liveAnnouncer.announce(liveAnnouncerSource[this.selectedOptionIndex].label);\n\n                            e.preventDefault();\n                        }\n\n                        const cIndex = this.selectedOptionIndex - this.virtualScrolling?.getRenderedRange().start;\n\n                        if (e.code === 'ArrowDown' && cIndex > visibleRangeEnd - visibleRangeStart - visibleRangeEnd) {\n                            let nbOptionsGroup = 0;\n                            const nbOptions = this.autocompleteOptions().length;\n                            if (this.groupBy()) {\n                                Object.keys(this.groupedOptions.value).forEach(groupedOption => {\n                                    if (this.groupedOptions.value[groupedOption].options.length > 0 &&\n                                        this.selectedOptionIndex > this.groupedOptions.value[groupedOption].ancestorLength - 1) {\n                                        nbOptionsGroup ++;\n                                    }\n                                });\n                            }\n\n                            if ((this.selectedOptionIndex + nbOptionsGroup) > visibleRangeEnd && visibleRangeEnd <= (nbOptions + nbOptionsGroup)) {\n                                this.virtualScrolling.scrollToIndex((this.selectedOptionIndex + nbOptionsGroup) - visibleRangeEnd + visibleRangeStart);\n                                visibleRangeStart++;\n                                visibleRangeEnd++;\n                            }\n                        }\n                        if (e.code === 'ArrowUp' && cIndex < visibleRangeStart) {\n                            if (this.selectedOptionIndex < visibleRangeStart) {\n                                this.virtualScrolling.scrollToIndex(this.selectedOptionIndex);\n                                visibleRangeStart--;\n                                visibleRangeEnd--;\n                            }\n                        }\n                        if (e.key === 'Enter') {\n                            if (this.hasOptionsResult) {\n                                if (this.groupBy()) {\n                                    const options = [].concat(...Object.values(this.groupedOptions.value).map(group => group.options));\n                                    this.onOptionSelected(options[this.selectedOptionIndex]);\n                                } else {\n                                    this.onOptionSelected(this.autocompleteOptions()[this.selectedOptionIndex]);\n                                }\n                            } else if (this.hasChips() && this.isFreeValueAllowed()) {\n                                this.add(this.autocompleteControl.value);\n                            }\n                        }\n                        if (e.code === 'Tab') {\n                            if (this.isOpen) {\n                                if (this.isAddOnBlur()  && this.hasChips() && this.autocompleteControl.value?.trim().length > 0) {\n                                    this.add(this.autocompleteControl.value.trim());\n                                }\n                                if (this.isForceSelection()) {\n                                    const foundItem = this.autocompleteData().find((d) => d.label.toLowerCase().trim() === this.autocompleteControl.value?.toLowerCase().trim());\n                                    if (this.hasChips() || (!this.hasChips() && !foundItem)) {\n                                        this.input.nativeElement.value = '';\n                                        this.autocompleteControl.setValue(null, { emitEvent: false });\n                                        this.setOptions('', this.isItemsSorted());\n\n                                        if (!this.hasChips()) {\n                                            this.onChange(null);\n                                        }\n                                        this.inputChange.emit(null);\n\n                                        if (!this.hasChips()) {\n                                            this.autocompleteDataSelected = [];\n                                        }\n                                    }\n                                }\n                                this.closePanel();\n                            }\n                        }\n                    }\n                });\n\n            this.addOnBlurClickHandlerSubscription.unsubscribe();\n            if (this.isAddOnBlur() ) {\n                this.addOnBlurClickHandlerSubscription = fromEvent(document, 'click').pipe(takeUntil(this.destroy$)).subscribe((event: PointerEvent) => {\n                    if (!(event.target as HTMLElement).classList.contains('eui-autocomplete-option') && this.hasChips() && this.autocompleteControl.value?.trim().length > 0) {\n                        this.add(this.autocompleteControl.value.trim());\n                    }\n                });\n            }\n\n            this.isForceSelectionSubscription.unsubscribe();\n            if (this.isForceSelection()) {\n                this.isForceSelectionSubscription = fromEvent(document, 'click').pipe(takeUntil(this.destroy$)).subscribe((event: PointerEvent) => {\n                    if (!(event.target as HTMLElement).classList.contains('eui-autocomplete-option')) {\n                        const foundItem = this.autocompleteData().find((d) => d.label.toLowerCase().trim() === this.autocompleteControl.value?.toLowerCase().trim());\n                        if (this.hasChips() || (!this.hasChips() && !foundItem)) {\n                            this.input.nativeElement.value = '';\n                            this.autocompleteControl.setValue(null, { emitEvent: false });\n                            this.setOptions('', this.isItemsSorted());\n\n                            if (!this.hasChips()) {\n                                this.onChange(null);\n                            }\n                            this.inputChange.emit(null);\n\n                            if (!this.hasChips()) {\n                                this.autocompleteDataSelected = [];\n                            }\n                        }\n                    }\n                });\n            }\n\n            this.isOpen$.next(true);\n            this.panelOpen.emit();\n        }\n    }\n\n    /**\n     * Closes the autocomplete panel.\n     */\n    public closePanel(): void {\n        this.selectedOptionIndex = 0;\n        this.overlayRef?.dispose();\n        this.overlayRef = null;\n        this.isOpen$.next(false);\n        this.cd.detectChanges();\n        this.keyboardOptionSelectorHandlerSubscription.unsubscribe();\n        this.autocompleteOptionsSubscription.unsubscribe();\n        this.scrollDispatcherSubscription.unsubscribe();\n        this.windowResizeSubscription.unsubscribe();\n        this.panelClose.emit();\n    }\n\n    /**\n     * Method called when an option is selected.\n     *\n     * @param e Selected option\n     */\n    public onOptionSelected(e: EuiAutoCompleteItem): void {\n        if (!e.isDisabled) {\n            if (this.hasChips()) {\n                this.autocompleteDataSelected.push({ ...e, euiInternalId: crypto.randomUUID() });\n                this.chips = this.mapToChip(this.autocompleteDataSelected);\n                this.input.nativeElement.value = '';\n                this.autocompleteControl.setValue(null);\n                this.setOptions('', this.isItemsSorted());\n            } else {\n                this.autocompleteDataSelected = [e];\n                this.input.nativeElement.value = e.label;\n                this.autocompleteControl.setValue(e.label);\n            }\n\n            this.addOnBlurClickHandlerSubscription.unsubscribe();\n            this.isForceSelectionSubscription.unsubscribe();\n\n            this.selectionChange.emit(this.autocompleteDataSelected);\n            this.itemAdd.emit(e);\n            this.closePanel();\n        }\n    }\n\n    /**\n     * Method called when an option is added through the text input.\n     *\n     * @param value Value to add\n     */\n    public add(value: string): void {\n        if (!value || (!this.isFreeValueAllowed() && !this.autocompleteData().find(a => a.label === value.trim()))) {\n            return;\n        }\n\n        if (!this.isDuplicateValueAllowed() && this.autocompleteDataSelected.some(s => s.label.trim() === value.trim())) {\n            return;\n        }\n\n        const item = this.autocompleteData().find(a => a.label === value.trim()) || { label: value.trim(), euiInternalId: crypto.randomUUID() };\n\n        this.autocompleteDataSelected.push(item);\n        this.chips = this.mapToChip(this.autocompleteDataSelected);\n        this.input.nativeElement.value = '';\n        this.autocompleteControl.setValue(null);\n        this.closePanel();\n\n        this.addOnBlurClickHandlerSubscription.unsubscribe();\n        this.isForceSelectionSubscription.unsubscribe();\n\n        this.selectionChange.emit(this.autocompleteDataSelected);\n        this.itemAdd.emit(item);\n    }\n\n    public optionsTrackByFn(index: number, item: EuiAutoCompleteItem): string | number {\n        return item.id;\n    }\n\n    public writeValue(value: EuiAutoCompleteItem | EuiAutoCompleteItem[]): void {\n        this.value = value;\n\n        if (this.hasChips()) {\n            this.autocompleteDataSelected = value ? ([...value as EuiAutoCompleteItem[]]) : [];\n            this.chips = this.mapToChip(this.autocompleteDataSelected);\n            this.autocompleteControl.patchValue(null, { emitEvent: false });\n            this.setOptions('', this.isItemsSorted());\n        } else {\n            this.autocompleteControl.patchValue(value ? (value as EuiAutoCompleteItem).label : null, { emitEvent: false });\n            const inputValue = value ? (value as EuiAutoCompleteItem).label : null;\n            this.setOptions(inputValue, this.isItemsSorted());\n        }\n    }\n\n    public setDisabledState(isDisabled: boolean): void {\n        // eslint-disable-next-line\n        this.isDisabled = isDisabled;\n        // eslint-disable-next-line\n        isDisabled ? this.autocompleteControl.disable() : this.autocompleteControl.enable();\n\n        if (this.isOpen) {\n            this.closePanel();\n        }\n\n        this.cd.detectChanges();\n    }\n\n    public registerOnChange(fn: () => void): void {\n        this.onChange = fn;\n    }\n\n    public registerOnTouched(fn: () => void): void {\n        this.onTouch = fn;\n    }\n\n    public onClear(): void {\n        this.clear.emit();\n    }\n\n    /**\n     * Text input focus handler.\n     */\n    public onFocus(): void {\n        this.keyboardSubscription = fromEvent(this.input.nativeElement, 'keydown')\n            .pipe(\n                filter((event: KeyboardEvent) =>\n                    /^[a-zA-Z0-9]$/.test(event.key) ||\n                    event.key === 'Space' ||\n                    event.key === 'ArrowDown' ||\n                    event.key === 'Backspace',\n                    ),\n                )\n            .subscribe((event: KeyboardEvent) => {\n                if (!this.isOpen) {\n                    this.openPanel();\n                    event.stopPropagation();\n                }\n\n                if (this.chipsPosition() === 'inside' && event.key === 'Backspace' && (!this.autocompleteControl.value || this.autocompleteControl.value.length === 0)) {\n                    const removed = this.chips.pop();\n                    this.onChipRemove(removed);\n\n                    this.cd.detectChanges();\n\n                    this.overlayRef.updateSize({ width: this.inputContainerRef.nativeElement.clientWidth });\n                    this.overlayRef.updatePosition();\n                }\n            });\n\n        if (!this.isOpen) {\n            this.openPanel();\n        }\n\n        this.inputFocus.emit();\n    }\n\n    /**\n     * Text input blur handler.\n     */\n    public onBlur(): void {\n        this.keyboardSubscription.unsubscribe();\n        this.inputBlur.emit();\n        this.onTouch();\n    }\n\n    /**\n     * Called when a chip is removed.\n     *\n     * @param e Object containing the chip to remove.\n     */\n    public onChipRemove(chip: EuiChip): void {\n        const itemRemoved = this.autocompleteDataSelected.find(i => i.id === chip.id);\n\n        this.autocompleteDataSelected = this.autocompleteDataSelected.filter(i => {\n            if (this.isDuplicateValueAllowed() || !i.id) {\n                return i.euiInternalId !== chip.euiInternalId;\n            }\n            return i.id !== chip.id;\n        });\n        this.chips = this.mapToChip(this.autocompleteDataSelected);\n\n        this.setOptions('', this.isItemsSorted());\n\n        this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n        this.selectionChange.emit(this.autocompleteDataSelected);\n        this.itemRemove.emit(itemRemoved);\n    }\n\n    /**\n     * Called when a chip is dropped for reordering or from a source to another.\n     *\n     * @param e Object containing the chip dropped.\n     */\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    public onChipDropped(e: CdkDragDrop<any[]>): void {\n        const chip = this.chips[e.previousIndex];\n\n        moveItemInArray(this.chips, e.previousIndex, e.currentIndex);\n        moveItemInArray(this.autocompleteDataSelected, e.previousIndex, e.currentIndex);\n\n        this.autocompleteOptions.set(this.filterOptions(''));\n\n        this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n        this.selectionChange.emit(this.autocompleteDataSelected);\n\n        this.chipDrop.emit({\n            type: 'dropped',\n            chip,\n            chips: this.chips,\n        });\n    }\n\n    /**\n     * Called when a chip is dragged for reordering or from a source to another.\n     *\n     * @param e Object containing the chip dragged.\n     */\n    public onChipDragStarted(e: CdkDragStart): void {\n        const chip = e.source.data;\n\n        this.chipDragStart.emit({\n            type: 'started',\n            chip,\n            chips: this.chips,\n        });\n    }\n\n    /**\n     * Called when a chip is released for reordering or from a source to another.\n     *\n     * @param e Object containing the chip released.\n     */\n    public onChipDragReleased(e: CdkDragRelease): void {\n        const chip = e.source.data;\n\n        this.chipDragRelease.emit({\n            type: 'started',\n            chip,\n            chips: this.chips,\n        });\n    }\n\n    /**\n     * Calculates the item size for virtual scrolling.\n     *\n     * @returns a number representing the item size.\n     */\n    private getItemSize(): number {\n        const optionHeight = this.overlayRef?.hostElement?.querySelector('.eui-autocomplete__panel')?.querySelectorAll('.eui-autocomplete-option')[0]?.clientHeight + 1;\n        return optionHeight || 48;\n    }\n\n    /**\n     * Re-order options panel based on the input valuea and sort order.\n     *\n     * @param value Value to filter the options.\n     * @param isItemsSorted If the items are sorted.\n     */\n    private setOptions(value: string, isItemsSorted: boolean): void {\n        this.autocompleteOptions.set(isItemsSorted ? (this.orderArray(this.filterOptions(value), this.itemsSortOrder())) : this.filterOptions(value));\n\n        if (this.groupBy()) {\n            const { groupedOptions, distinctOptionGroups } = this.groupingHandler(this.autocompleteOptions(), this.groupBy());\n\n            this.groupedOptions.next(groupedOptions);\n            this.distinctOptionGroups = distinctOptionGroups;\n        }\n    }\n\n    /**\n     * Return the position strategy for the panel.\n     *\n     * @returns A CDK position strategy.\n     */\n    private getPositionStrategy(): PositionStrategy {\n        return this.overlay\n            .position()\n            .flexibleConnectedTo(this.inputContainerRef.nativeElement as FlexibleConnectedPositionStrategyOrigin)\n            .withPositions(this.preferredPositons)\n            .withFlexibleDimensions(false)\n            .withLockedPosition(true);\n    }\n\n    /**\n     * Return the scroll strategy for the panel.\n     *\n     * @returns A CDK scroll strategy.\n     */\n    private getScrollStrategy(): RepositionScrollStrategy {\n        return this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n    }\n\n    /**\n     * Refine the options based on the input value.\n     *\n     * @param inputValue Value to filter the options.\n     * @returns An array of options.\n     */\n    private filterOptions(inputValue: string): EuiAutoCompleteItem[] {\n        let data: EuiAutoCompleteItem[] = [];\n        if (inputValue) {\n            data = this.autocompleteData().filter((autocompleteItem) => {\n                if (\n                    this.matching() === 'contains' &&\n                    autocompleteItem.label.toLowerCase().indexOf(inputValue.toString().toLowerCase()) !== -1\n                ) {\n                    return autocompleteItem;\n                }\n                if (\n                    this.matching() === 'startWith' &&\n                    autocompleteItem.label.toLowerCase().substr(0, inputValue.toString().length) === inputValue.toLowerCase()\n                ) {\n                    return autocompleteItem;\n                }\n            });\n        } else {\n            data = this.autocompleteData();\n        }\n\n        if (this.hasChips()) {\n            data = data.filter(d => !this.isDuplicateValueAllowed() ? !this.autocompleteDataSelected.some(selectedItem => d.id === selectedItem.id) : true);\n        }\n\n        if (this.isItemsSorted()) {\n            data = this.orderArray(data, this.itemsSortOrder());\n        }\n\n        return data;\n    }\n\n    /**\n     * Converts EuiAutoCompleteItem array to EuiChip array.\n     *\n     * @param items Array of EuiAutoCompleteItem.\n     * @returns An array of EuiChip\n     */\n    private mapToChip(items: EuiAutoCompleteItem[]): EuiChip[] {\n        const chips = items.map((selected) => {\n            return new EuiChip({\n                id: selected.id,\n                euiInternalId: selected.euiInternalId,\n                label: selected.label,\n                typeClass: selected.typeClass,\n                variant: selected.variant,\n                isOutline: selected.isOutline,\n                isRounded: selected.isRounded,\n                sizeClass: selected.sizeClass,\n                isRemovable: selected.isRemovable,\n                tooltipMessage: selected.tooltip?.tooltipMessage,\n                tooltip: new EuiChipTooltip(selected.tooltip),\n                iconClass: selected.iconClass,\n                iconSvgName: selected.iconSvgName,\n            });\n        });\n\n        return this.isChipsSorted() && chips.length > 0 ? (this.orderArray(chips, this.chipsSortOrder()) as EuiChip[]) : chips;\n    }\n\n    /**\n     * Sort an array of objects based on their label.\n     *\n     * @param tab Array to order\n     * @param sortOrder Sort order criteria\n     * @returns A sorted array\n     */\n    private orderArray<T extends { label: string; }>(tab: T[], sortOrder: 'ASC' | 'DESC'): T[] {\n        tab.sort((a: T, b: T) => {\n            const aObj = a.label.toLowerCase();\n            const bObj = b.label.toLowerCase();\n\n            if (sortOrder === 'ASC') {\n                if (aObj < bObj) {\n                    return -1;\n                }\n                if (aObj > bObj) {\n                    return 1;\n                }\n                return 0;\n            } else {\n                if (aObj > bObj) {\n                    return -1;\n                }\n                if (aObj < bObj) {\n                    return 1;\n                }\n                return 0;\n            }\n        });\n\n        return tab;\n    }\n\n    /**\n     * Transforms array of EuiAutoCompleteItem into a grouped object.\n     *\n     * @param options Array of EuiAutoCompleteItem\n     * @param groupBy Label of the group\n     * @returns An object containing the grouped options and the distinct option groups.\n     */\n    private groupingHandler(options: EuiAutoCompleteItem[], groupBy: string):\n    { groupedOptions: { [id: string]: { options: EuiAutoCompleteItem[], ancestorLength: number } }, distinctOptionGroups: string[] } {\n        const distinctGroups: string[] = this.autocompleteData().map(item => groupBy.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), item || self));\n        const distinctOptionGroups: string[] = this.isGroupSorted() ? [...new Set(distinctGroups)].sort((a: string, b: string) => (a > b ? 1 : -1)) : [...new Set(distinctGroups)];\n        const groupedOptions: { [id: string]: { options: EuiAutoCompleteItem[], ancestorLength: number } } = {};\n\n        let ancestorLength = 0;\n        for (const group of distinctOptionGroups) {\n            let o = options.filter(option => groupBy.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), option || self) === group);\n            if (this.isItemsSorted()) {\n                o = this.orderArray(o, this.itemsSortOrder()) as EuiAutoCompleteItem[];\n            }\n\n            groupedOptions[group] = { options: o, ancestorLength };\n            ancestorLength += o.length;\n        }\n\n        return { groupedOptions, distinctOptionGroups };\n    }\n\n    /**\n     * Indicates if the origin element is visible in the scrollable parent.\n     *\n     * @param origin Origin of the autocomplete\n     * @param scrollableParent Scrollable container\n     * @returns A boolean, true if visible else false.\n     */\n    private isVisible(origin: HTMLElement, scrollableParent: HTMLElement): boolean {\n        const originY = origin.getBoundingClientRect().y;\n        const scrollableParentY = Math.abs(scrollableParent.getBoundingClientRect().y);\n        const scrollableParentHeight = scrollableParent.getBoundingClientRect().height - 55;\n\n        return (\n            (originY > 0 && originY < scrollableParentHeight) ||\n            (originY - scrollableParentY > 0 && originY < scrollableParentY + scrollableParentHeight)\n        );\n    }\n\n    private onChange = <T>(change?: T): void => {\n        /** empty */\n    };\n\n    private onTouch = (): void => {\n        /** empty */\n    };\n\n    /**\n     * Updates the `aria-required` attribute on the input element.\n     * @private\n     */\n    private updateInputAriaRequiredAttribute(control: NgControl): void {\n        this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);\n        this.cd.markForCheck();\n    }\n}\n",
            "styleUrl": "./eui-autocomplete.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 474
            },
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy",
                "ControlValueAccessor",
                "OnChanges",
                "AfterViewInit",
                "DoCheck"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 194,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                        "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 6859,
                                "end": 6976,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 6860,
                                    "end": 6871,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                            },
                            {
                                "pos": 6976,
                                "end": 7041,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 6977,
                                    "end": 6984,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 6985,
                                    "end": 6993,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 6986,
                                        "end": 6992,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                },
                "isChipsPositionInside": {
                    "name": "isChipsPositionInside",
                    "getSignature": {
                        "name": "isChipsPositionInside",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 502
                    }
                },
                "cdkVirtualScrollViewport": {
                    "name": "cdkVirtualScrollViewport",
                    "getSignature": {
                        "name": "cdkVirtualScrollViewport",
                        "type": "number",
                        "returnType": "number",
                        "line": 609,
                        "rawdescription": "\n\nCalculates the height that the virtual scroll need to have.\n\n",
                        "description": "<p>Calculates the height that the virtual scroll need to have.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 22444,
                                "end": 22464,
                                "kind": 345,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 22445,
                                    "end": 22449,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "type"
                                },
                                "comment": "",
                                "typeExpression": {
                                    "pos": 22450,
                                    "end": 22458,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 22451,
                                        "end": 22457,
                                        "kind": 150,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                },
                "isOpen": {
                    "name": "isOpen",
                    "getSignature": {
                        "name": "isOpen",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 640,
                        "rawdescription": "\n\nReturns the opening state of the panel.\n\n",
                        "description": "<p>Returns the opening state of the panel.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 23907,
                                "end": 23928,
                                "kind": 345,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 23908,
                                    "end": 23912,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "type"
                                },
                                "comment": "",
                                "typeExpression": {
                                    "pos": 23913,
                                    "end": 23922,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 23914,
                                        "end": 23921,
                                        "kind": 136,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                },
                "hasOptionsResult": {
                    "name": "hasOptionsResult",
                    "getSignature": {
                        "name": "hasOptionsResult",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 649,
                        "rawdescription": "\n\nChecks if autocomplete options are available.\n\n",
                        "description": "<p>Checks if autocomplete options are available.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 24076,
                                "end": 24150,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 24077,
                                    "end": 24084,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p><code>true</code> if options are present, otherwise <code>false</code>.</p>\n",
                                "typeExpression": {
                                    "pos": 24085,
                                    "end": 24094,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 24086,
                                        "end": 24093,
                                        "kind": 136,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            },
            "templateData": "<div class=\"eui-autocomplete__wrapper\">\n    @if (chipsPosition() === 'bottom') {\n        <ng-container *ngTemplateOutlet=\"control\"></ng-container>\n    }\n    @if (isChipsPositionInside || (hasChips && chips?.length > 0)) {\n        <eui-chip-list cdkDropList cdkDropListOrientation=\"horizontal\" [cdkDropListData]=\"chips\" (cdkDropListDropped)=\"onChipDropped($event)\" [class.eui-chip-list--empty]=\"chips?.length === 0\">\n            @for (chip of chips; let i = $index; track $index) {\n                @if (!maxVisibleChipsCount() || isVisibleChipsOpened() || i < maxVisibleChipsCount()) {\n                    <eui-chip\n                        [isChipRemovable]=\"isChipsRemovable() && !isReadonly() && chip.isRemovable !== false\"\n                        cdkDrag\n                        euiSizeM\n                        [cdkDragDisabled]=\"!isChipsDragAndDrop()\"\n                        [cdkDragData]=\"chip\"\n                        [data]=\"chip\"\n                        [euiVariant]=\"chip.variant\"\n                        [euiTooltip]=\"chip.tooltip?.tooltipMessage\"\n                        [contentAlignment]=\"chip.tooltip?.contentAlignment\"\n                        [position]=\"chip.tooltip?.position\"\n                        [isDisabled]=\"!chip.tooltip || !chip.tooltip.tooltipMessage\"\n                        (remove)=\"onChipRemove($event)\"\n                        (cdkDragStarted)=\"onChipDragStarted($event)\"\n                        (cdkDragReleased)=\"onChipDragReleased($event)\">\n                        \n                        @if (chip.iconSvgName) {\n                            <eui-icon-svg icon=\"{{ chip.iconSvgName }}\"></eui-icon-svg>\n                        }\n                        @if (chip.iconClass) {\n                            <span class=\"{{ chip.iconClass }}\"></span>\n                        }\n\n                        <span class=\"eui-chip-list-label\">\n                            @if (chipsLabelTruncateCount()) {\n                                {{ chip.label | euiTruncate: chipsLabelTruncateCount() }}\n                            } @else {\n                                {{ chip.label }}\n                            }\n                        </span>\n                    </eui-chip>\n                }\n            }\n            <eui-chip-list-additional-content>\n                @if (maxVisibleChipsCount() && chips && chips.length > maxVisibleChipsCount()) {\n                    <button\n                        euiButton\n                        euiBasicButton\n                        euiSecondary\n                        euiSizeS\n                        type=\"button\"\n                        class=\"eui-chip-list__expand-button\"\n                        aria-label=\"{{ isVisibleChipsOpened() ? 'Collapse' : 'Expand' }}\"\n                        (click)=\"toggleTags()\">\n\n                        @if (isVisibleChipsOpened()) {\n                            <eui-icon-svg icon=\"eui-chevron-left\"/>\n                            @if (toggleLinkLessLabel()) {\n                                <span euiLabel>{{ toggleLinkLessLabel() }}</span>\n                            }\n                        } @else {\n                            @if (toggleLinkMoreLabel()) {\n                                <span euiLabel>{{ toggleLinkMoreLabel() }}</span>\n                            }\n                            <eui-icon-svg icon=\"eui-chevron-right\"/>\n                        }\n                    </button>\n                }\n            </eui-chip-list-additional-content>\n    \n            <eui-chip-list-append-content>\n                @if (chipsPosition() === 'inside') {\n                    <ng-container *ngTemplateOutlet=\"control\"></ng-container>\n                }\n            </eui-chip-list-append-content>\n        </eui-chip-list>\n    }\n    @if (chipsPosition() === 'top') {\n        <ng-container *ngTemplateOutlet=\"control\"></ng-container>\n    }\n</div>\n\n<ng-template #control>\n    @if (!hasChips() || (hasChips() && !isReadonly())) {\n        <div class=\"eui-autocomplete__input-container {{ classList() }}\" #inputContainerRef>\n            <input\n                [attr.id]=\"inputId()\"\n                #input\n                euiInputText\n                [euiClearable]=\"!isReadonly() && !isDisabled && !isLoading()\"\n                [euiLoading]=\"isLoading()\"\n                [formControl]=\"autocompleteControl\"\n                class=\"eui-autocomplete__input {{ classList() }}\"\n                placeholder=\"{{ placeholder() }}\"\n                autocomplete=\"off\"\n                [readonly]=\"isReadonly()\"\n                (clear)=\"onClear()\"\n                (click)=\"openPanel()\"\n                (focus)=\"onFocus()\"\n                (blur)=\"onBlur()\"\n                [attr.aria-controls]=\"isOpen ? 'eui-autocomplete__panel' : null\"\n                [attr.aria-label]=\"autocompleteControl.value?.length > 0 ? autocompleteControl.value : 'Input field without value'\"\n                [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n                aria-autocomplete=\"both\"\n                aria-haspopup=\"true\" />\n        </div>\n    }\n</ng-template>\n\n<ng-template #templatePortalContent>\n    <div\n        id=\"eui-autocomplete__panel\"\n        class=\"eui-autocomplete__panel\"\n        [@panelAnimation]=\"isOpen ? 'visible' : 'hidden'\"\n        role=\"listbox\"\n        aria-live=\"polite\"\n        aria-label=\"Autocomplete panel\">\n        <cdk-virtual-scroll-viewport\n            #virtualScrolling\n            [itemSize]=\"itemSize\"\n            tabindex=\"0\"\n            minBufferPx=\"500\"\n            maxBufferPx=\"750\"\n            [style.min-height]=\"cdkVirtualScrollViewport + 'px'\">\n            @if (groupBy()) {\n                @for (distinctOptionGroup of distinctOptionGroups; let i = $index; track distinctOptionGroup) {\n                        @if ((groupedOptions | async)[distinctOptionGroup].options.length > 0) {\n                            <eui-autocomplete-option-group [label]=\"distinctOptionGroup\">\n                                <div class=\"eui-autocomplete-option-group__label\">\n                                    @if (autocompleteOptGroupTemplate) {\n                                        <ng-template\n                                            [ngTemplateOutlet]=\"autocompleteOptGroupTemplate\"\n                                            [ngTemplateOutletContext]=\"{ $implicit: { label: distinctOptionGroup } }\">\n                                        </ng-template>\n                                    } @else {\n                                        {{ distinctOptionGroup }}\n                                    }\n                                </div>\n                                <div class=\"eui-autocomplete-option-group__options\">\n                                    @for (autocompleteOption of (groupedOptions | async)[distinctOptionGroup].options; let j = $index; track autocompleteOption.id) {\n                                        <eui-autocomplete-option\n                                            isGroupItem\n                                            [isActive]=\"selectedOptionIndex === (groupedOptions | async)[distinctOptionGroup].ancestorLength + j\"\n                                            [isDisabled]=\"autocompleteOption.isDisabled\"\n                                            [attr.aria-disabled]=\"autocompleteOption.isDisabled\"\n                                            [euiVariant]=\"autocompleteOption.variant\"\n                                            (click)=\"onOptionSelected(autocompleteOption)\">\n                                            @if (autocompleteOptionTemplate) {\n                                                <ng-template\n                                                    [ngTemplateOutlet]=\"autocompleteOptionTemplate\"\n                                                    [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\">\n                                                </ng-template>\n                                            } @else {\n                                                @if (autocompleteOption.iconClass) {\n                                                    <span class=\"{{ autocompleteOption.iconClass }}\"></span>\n                                                } @else if (autocompleteOption.iconSvgName) {\n                                                    <eui-icon-svg icon=\"{{ autocompleteOption.iconSvgName }}\"></eui-icon-svg>\n                                                }\n                                                {{ autocompleteOption.label }}\n                                            }\n                                        </eui-autocomplete-option>\n                                    }\n                                </div>\n                            </eui-autocomplete-option-group>\n                        }\n                }\n            } @else {\n                <eui-autocomplete-option\n                    *cdkVirtualFor=\"let autocompleteOption of autocompleteOptions(); let i = index; trackBy: optionsTrackByFn\"\n                    [isActive]=\"selectedOptionIndex === i\"\n                    [isDisabled]=\"autocompleteOption.isDisabled\"\n                    [attr.aria-disabled]=\"autocompleteOption.isDisabled\"\n                    [euiVariant]=\"autocompleteOption.variant\"\n                    (click)=\"onOptionSelected(autocompleteOption)\">\n                    @if (autocompleteOptionTemplate) {\n                        <ng-template\n                            [ngTemplateOutlet]=\"autocompleteOptionTemplate\"\n                            [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\">\n                        </ng-template>\n                    } @else {\n                        @if (autocompleteOption.iconClass) {\n                            <span class=\"{{ autocompleteOption.iconClass }}\"></span>\n                        } @else if (autocompleteOption.iconSvgName) {\n                            <eui-icon-svg icon=\"{{ autocompleteOption.iconSvgName }}\"></eui-icon-svg>\n                        }\n                        {{ autocompleteOption.label }}\n                    }\n                </eui-autocomplete-option>\n            }\n        </cdk-virtual-scroll-viewport>\n    </div>\n</ng-template>\n"
        },
        {
            "name": "EuiAutocompleteOptionComponent",
            "id": "component-EuiAutocompleteOptionComponent-6d49a31b0ee48361a64848eecde352f5d8e1cd8319266f16cba75053be8588067d1a11d462e3aa294ba9000a07b1333fb3640e6e3e686429ea7d01f79b4b83f1",
            "file": "packages/components/eui-autocomplete/eui-autocomplete-option/eui-autocomplete-option.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-autocomplete-option",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiVariant"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "isActive",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether the option is active in the panel.</p>\n",
                    "line": 84,
                    "rawdescription": "\n\nWhether the option is active in the panel.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 3017,
                            "end": 3037,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3018,
                                "end": 3025,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "isDisabled",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether the option is disabled in the panel.</p>\n",
                    "line": 90,
                    "rawdescription": "\n\nWhether the option is disabled in the panel.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 3176,
                            "end": 3196,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3177,
                                "end": 3184,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "isGroupItem",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether the option is displayed inside a group.</p>\n",
                    "line": 96,
                    "rawdescription": "\n\nWhether the option is displayed inside a group.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 3340,
                            "end": 3360,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3341,
                                "end": 3348,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "role",
                    "defaultValue": "'option'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>ARIA role for the host element to ensure proper accessibility.</p>\n",
                    "line": 59,
                    "rawdescription": "\n\nARIA role for the host element to ensure proper accessibility.\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 2236,
                            "end": 2259,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2237,
                                "end": 2244,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;option&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'option'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2236,
                            "end": 2259,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2237,
                                "end": 2244,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;option&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nARIA role for the host element to ensure proper accessibility.\n",
                    "description": "<p>ARIA role for the host element to ensure proper accessibility.</p>\n",
                    "line": 59,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2325,
                            "end": 2442,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2326,
                                "end": 2337,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                        },
                        {
                            "pos": 2442,
                            "end": 2507,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2443,
                                "end": 2450,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 2451,
                                "end": 2459,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 2452,
                                    "end": 2458,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                    "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                    "line": 68,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Component used internally by <code>eui-autocomplete</code> to display individual options in the dropdown panel.\nRepresents a single selectable item with support for active, disabled, and grouped states.\nAutomatically rendered by the parent autocomplete component based on autocompleteData.\nSupports visual variants through BaseStatesDirective for custom styling.\nNot intended for direct use in templates - managed internally by eui-autocomplete.</p>\n<p>This component is used internally by eui-autocomplete. Configure options via the parent component:</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-autocomplete [autocompleteData]=&quot;items&quot;&gt;&lt;/eui-autocomplete&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">items: EuiAutoCompleteItem[] = [\n  { id: 1, label: &#39;Option 1&#39; },\n  { id: 2, label: &#39;Option 2&#39;, isDisabled: true },\n  { id: 3, label: &#39;Option 3&#39;, variant: &#39;success&#39; }\n];</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses role=&quot;option&quot; for proper ARIA semantics within listbox</li>\n<li>Active state is visually indicated and announced to screen readers</li>\n<li>Disabled options are not selectable and announced as disabled</li>\n<li>Keyboard navigation automatically highlights active option</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>isActive indicates the currently focused/highlighted option during keyboard navigation</li>\n<li>isDisabled prevents selection and applies disabled styling</li>\n<li>isGroupItem applies special styling when option is within a group</li>\n<li>Visual variants (euiVariant) can be applied for custom option styling</li>\n<li>Component is automatically instantiated by parent autocomplete</li>\n</ul>\n",
            "rawdescription": "\n\nComponent used internally by `eui-autocomplete` to display individual options in the dropdown panel.\nRepresents a single selectable item with support for active, disabled, and grouped states.\nAutomatically rendered by the parent autocomplete component based on autocompleteData.\nSupports visual variants through BaseStatesDirective for custom styling.\nNot intended for direct use in templates - managed internally by eui-autocomplete.\n\nThis component is used internally by eui-autocomplete. Configure options via the parent component:\n```html\n<eui-autocomplete [autocompleteData]=\"items\"></eui-autocomplete>\n```\n\n```ts\nitems: EuiAutoCompleteItem[] = [\n  { id: 1, label: 'Option 1' },\n  { id: 2, label: 'Option 2', isDisabled: true },\n  { id: 3, label: 'Option 3', variant: 'success' }\n];\n```\n\n### Accessibility\n- Uses role=\"option\" for proper ARIA semantics within listbox\n- Active state is visually indicated and announced to screen readers\n- Disabled options are not selectable and announced as disabled\n- Keyboard navigation automatically highlights active option\n\n### Notes\n- isActive indicates the currently focused/highlighted option during keyboard navigation\n- isDisabled prevents selection and applies disabled styling\n- isGroupItem applies special styling when option is within a group\n- Visual variants (euiVariant) can be applied for custom option styling\n- Component is automatically instantiated by parent autocomplete\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, input, booleanAttribute, inject } from '@angular/core';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n/**\n * @description\n * Component used internally by `eui-autocomplete` to display individual options in the dropdown panel.\n * Represents a single selectable item with support for active, disabled, and grouped states.\n * Automatically rendered by the parent autocomplete component based on autocompleteData.\n * Supports visual variants through BaseStatesDirective for custom styling.\n * Not intended for direct use in templates - managed internally by eui-autocomplete.\n * \n * @usageNotes\n * This component is used internally by eui-autocomplete. Configure options via the parent component:\n * ```html\n * <eui-autocomplete [autocompleteData]=\"items\"></eui-autocomplete>\n * ```\n * \n * ```ts\n * items: EuiAutoCompleteItem[] = [\n *   { id: 1, label: 'Option 1' },\n *   { id: 2, label: 'Option 2', isDisabled: true },\n *   { id: 3, label: 'Option 3', variant: 'success' }\n * ];\n * ```\n *\n * ### Accessibility\n * - Uses role=\"option\" for proper ARIA semantics within listbox\n * - Active state is visually indicated and announced to screen readers\n * - Disabled options are not selectable and announced as disabled\n * - Keyboard navigation automatically highlights active option\n *\n * ### Notes\n * - isActive indicates the currently focused/highlighted option during keyboard navigation\n * - isDisabled prevents selection and applies disabled styling\n * - isGroupItem applies special styling when option is within a group\n * - Visual variants (euiVariant) can be applied for custom option styling\n * - Component is automatically instantiated by parent autocomplete\n */\n@Component({\n    selector: 'eui-autocomplete-option',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiVariant',\n            ],\n        },\n    ],\n})\nexport class EuiAutocompleteOptionComponent {\n    /**\n     * ARIA role for the host element to ensure proper accessibility.\n     * @default 'option'\n     */\n    @HostBinding('attr.role') role = 'option';\n\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-autocomplete-option'),\n            this.isActive() ? 'eui-autocomplete-option--active' : '',\n            this.isDisabled() ? 'eui-autocomplete-option--disabled' : '',\n            this.isGroupItem() ? 'eui-autocomplete-option--group-item' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * Whether the option is active in the panel.\n     *\n     * @default false\n     */\n    isActive = input(false, { transform: booleanAttribute });\n    /**\n     * Whether the option is disabled in the panel.\n     *\n     * @default false\n     */\n    isDisabled = input(false, { transform: booleanAttribute });\n    /**\n     * Whether the option is displayed inside a group.\n     *\n     * @default false\n     */\n    isGroupItem = input(false, { transform: booleanAttribute });\n    private baseStatesDirective = inject(BaseStatesDirective);\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 68,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                        "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 2325,
                                "end": 2442,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2326,
                                    "end": 2337,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                            },
                            {
                                "pos": 2442,
                                "end": 2507,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2443,
                                    "end": 2450,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 2451,
                                    "end": 2459,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 2452,
                                        "end": 2458,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            }
        },
        {
            "name": "EuiAutocompleteOptionGroupComponent",
            "id": "component-EuiAutocompleteOptionGroupComponent-843190781ace66305694551378154734670a09bd7fb1699f292814afb0f022af1e7e50dd86cf1da22ef12a62bbf24fe5908eb39c79c22cc2a1eac0494116fbcd",
            "file": "packages/components/eui-autocomplete/eui-autocomplete-option-group/eui-autocomplete-option-group.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-autocomplete-option-group",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Text label displayed as the group header.\nIdentifies the category or section name for the grouped options.\nRequired for proper group identification.</p>\n",
                    "line": 74,
                    "rawdescription": "\n\nText label displayed as the group header.\nIdentifies the category or section name for the grouped options.\nRequired for proper group identification.\n",
                    "required": false
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "role",
                    "defaultValue": "'optgroup'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>ARIA role for the host element to ensure proper accessibility.</p>\n",
                    "line": 56,
                    "rawdescription": "\n\nARIA role for the host element to ensure proper accessibility.\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 2282,
                            "end": 2307,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2283,
                                "end": 2290,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;optgroup&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'optgroup'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2282,
                            "end": 2307,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2283,
                                "end": 2290,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;optgroup&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nARIA role for the host element to ensure proper accessibility.\n",
                    "description": "<p>ARIA role for the host element to ensure proper accessibility.</p>\n",
                    "line": 56,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2375,
                            "end": 2492,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2376,
                                "end": 2387,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                        },
                        {
                            "pos": 2492,
                            "end": 2557,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2493,
                                "end": 2500,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 2501,
                                "end": 2509,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 2502,
                                    "end": 2508,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                    "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                    "line": 65,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Option group component for organizing <code>eui-autocomplete</code> options into labeled sections.\nUsed internally by <code>eui-autocomplete</code> when groupBy property is configured on the parent.\nProvides semantic grouping with ARIA optgroup role for accessibility.\nAutomatically renders group headers based on the groupBy property path.\nContent is projected via ng-content to contain individual <code>eui-autocomplete-option</code> components.\nNot intended for direct use in templates - managed internally by eui-autocomplete.</p>\n<p>This component is used internally when groupBy is configured on eui-autocomplete:</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-autocomplete\n  [autocompleteData]=&quot;countries&quot;\n  [groupBy]=&quot;&#39;metadata.continent&#39;&quot;&gt;\n&lt;/eui-autocomplete&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">countries: EuiAutoCompleteItem[] = [\n  { id: 1, label: &#39;China&#39;, metadata: { continent: &#39;Asia&#39; } },\n  { id: 2, label: &#39;Japan&#39;, metadata: { continent: &#39;Asia&#39; } },\n  { id: 3, label: &#39;France&#39;, metadata: { continent: &#39;Europe&#39; } },\n  { id: 4, label: &#39;Germany&#39;, metadata: { continent: &#39;Europe&#39; } }\n];\n// Results in two groups: &quot;Asia&quot; and &quot;Europe&quot;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses role=&quot;optgroup&quot; for proper ARIA semantics</li>\n<li>Group label is announced by screen readers before grouped options</li>\n<li>Provides clear visual and semantic separation between option categories</li>\n<li>Keyboard navigation flows naturally through grouped options</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Automatically created by parent autocomplete when groupBy is set</li>\n<li>groupBy supports nested property paths using dot notation</li>\n<li>Groups are sorted alphabetically by default</li>\n<li>Empty groups are automatically filtered out</li>\n<li>Group labels are extracted from the data structure, not manually specified</li>\n<li>Component is automatically instantiated by parent autocomplete</li>\n</ul>\n",
            "rawdescription": "\n\nOption group component for organizing `eui-autocomplete` options into labeled sections.\nUsed internally by `eui-autocomplete` when groupBy property is configured on the parent.\nProvides semantic grouping with ARIA optgroup role for accessibility.\nAutomatically renders group headers based on the groupBy property path.\nContent is projected via ng-content to contain individual `eui-autocomplete-option` components.\nNot intended for direct use in templates - managed internally by eui-autocomplete.\n\nThis component is used internally when groupBy is configured on eui-autocomplete:\n```html\n<eui-autocomplete\n  [autocompleteData]=\"countries\"\n  [groupBy]=\"'metadata.continent'\">\n</eui-autocomplete>\n```\n\n```ts\ncountries: EuiAutoCompleteItem[] = [\n  { id: 1, label: 'China', metadata: { continent: 'Asia' } },\n  { id: 2, label: 'Japan', metadata: { continent: 'Asia' } },\n  { id: 3, label: 'France', metadata: { continent: 'Europe' } },\n  { id: 4, label: 'Germany', metadata: { continent: 'Europe' } }\n];\n// Results in two groups: \"Asia\" and \"Europe\"\n```\n\n### Accessibility\n- Uses role=\"optgroup\" for proper ARIA semantics\n- Group label is announced by screen readers before grouped options\n- Provides clear visual and semantic separation between option categories\n- Keyboard navigation flows naturally through grouped options\n\n### Notes\n- Automatically created by parent autocomplete when groupBy is set\n- groupBy supports nested property paths using dot notation\n- Groups are sorted alphabetically by default\n- Empty groups are automatically filtered out\n- Group labels are extracted from the data structure, not manually specified\n- Component is automatically instantiated by parent autocomplete\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, input } from '@angular/core';\n\n/**\n * @description\n * Option group component for organizing `eui-autocomplete` options into labeled sections.\n * Used internally by `eui-autocomplete` when groupBy property is configured on the parent.\n * Provides semantic grouping with ARIA optgroup role for accessibility.\n * Automatically renders group headers based on the groupBy property path.\n * Content is projected via ng-content to contain individual `eui-autocomplete-option` components.\n * Not intended for direct use in templates - managed internally by eui-autocomplete.\n * \n * @usageNotes\n * This component is used internally when groupBy is configured on eui-autocomplete:\n * ```html\n * <eui-autocomplete \n *   [autocompleteData]=\"countries\" \n *   [groupBy]=\"'metadata.continent'\">\n * </eui-autocomplete>\n * ```\n * \n * ```ts\n * countries: EuiAutoCompleteItem[] = [\n *   { id: 1, label: 'China', metadata: { continent: 'Asia' } },\n *   { id: 2, label: 'Japan', metadata: { continent: 'Asia' } },\n *   { id: 3, label: 'France', metadata: { continent: 'Europe' } },\n *   { id: 4, label: 'Germany', metadata: { continent: 'Europe' } }\n * ];\n * // Results in two groups: \"Asia\" and \"Europe\"\n * ```\n *\n * ### Accessibility\n * - Uses role=\"optgroup\" for proper ARIA semantics\n * - Group label is announced by screen readers before grouped options\n * - Provides clear visual and semantic separation between option categories\n * - Keyboard navigation flows naturally through grouped options\n *\n * ### Notes\n * - Automatically created by parent autocomplete when groupBy is set\n * - groupBy supports nested property paths using dot notation\n * - Groups are sorted alphabetically by default\n * - Empty groups are automatically filtered out\n * - Group labels are extracted from the data structure, not manually specified\n * - Component is automatically instantiated by parent autocomplete\n */\n@Component({\n    selector: 'eui-autocomplete-option-group',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiAutocompleteOptionGroupComponent {\n    /**\n     * ARIA role for the host element to ensure proper accessibility.\n     * @default 'optgroup'\n     */\n    @HostBinding('attr.role') role = 'optgroup';\n\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 ['eui-autocomplete-option-group'].join(' ').trim();\n    }\n\n    /**\n     * Text label displayed as the group header.\n     * Identifies the category or section name for the grouped options.\n     * Required for proper group identification.\n     */\n    label = input<string>();\n\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 65,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                        "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 2375,
                                "end": 2492,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2376,
                                    "end": 2387,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                            },
                            {
                                "pos": 2492,
                                "end": 2557,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2493,
                                    "end": 2500,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 2501,
                                    "end": 2509,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 2502,
                                        "end": 2508,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            }
        },
        {
            "name": "EuiAutocompleteTestComponent",
            "id": "component-EuiAutocompleteTestComponent-6b24b65c669db0083216d2b0884f4c47f6c64416038afa0f629d0aa8b03ea1d8fd552c8f8272e58d932e4d4d4040f95922365030e01188739ffd82e407dc900d",
            "file": "packages/components/eui-autocomplete/testing/eui-autocomplete-test.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-autocomplete-test-component",
            "styleUrls": [],
            "styles": [],
            "template": "<form [formGroup]=\"form\">\n    <eui-autocomplete\n        #autocomplete\n        formControlName=\"autocomplete\"\n        [autocompleteData]=\"autocompleteDataFormAutocomplete\">\n    </eui-autocomplete><br />\n    <input class=\"default-formcontrol\" type=\"text\" formControlName=\"text\" />\n</form>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "autocomplete",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiAutocompleteComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 36,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'autocomplete'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "autocompleteDataFormAutocomplete",
                    "defaultValue": "[\n        { id: 1, label: 'Lemon', typeClass: 'primary', isOutline: true },\n        { id: 2, label: 'Lime', typeClass: 'secondary', isRounded: true },\n        { id: 3, label: 'Apple', typeClass: 'info', sizeClass: 'euiSizeS' },\n        { id: 4, label: 'Orange', typeClass: 'success', isRemovable: false },\n        { id: 5, label: 'Strawberry', typeClass: 'warning' },\n        { id: 6, label: 'Peer', typeClass: 'danger', isRemovable: false },\n    ]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiAutoCompleteItem[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 27,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "form",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "FormGroup",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 35,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 38,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EuiAutocompleteComponent",
                    "type": "component"
                },
                {
                    "name": "FormsModule",
                    "type": "module"
                },
                {
                    "name": "ReactiveFormsModule",
                    "type": "module"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';\n\nimport { EuiAutocompleteComponent } from '../eui-autocomplete.component';\nimport { EuiAutoCompleteItem } from '../models/eui-autocomplete-item.model';\n\n@Component({\n    template: `\n    <form [formGroup]=\"form\">\n        <eui-autocomplete\n            #autocomplete\n            formControlName=\"autocomplete\"\n            [autocompleteData]=\"autocompleteDataFormAutocomplete\">\n        </eui-autocomplete><br />\n        <input class=\"default-formcontrol\" type=\"text\" formControlName=\"text\" />\n    </form>`,\n    selector: 'eui-autocomplete-test-component',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        EuiAutocompleteComponent,\n        FormsModule,\n        ReactiveFormsModule,\n    ],\n})\nexport class EuiAutocompleteTestComponent implements OnInit {\n    public autocompleteDataFormAutocomplete: EuiAutoCompleteItem[] = [\n        { id: 1, label: 'Lemon', typeClass: 'primary', isOutline: true },\n        { id: 2, label: 'Lime', typeClass: 'secondary', isRounded: true },\n        { id: 3, label: 'Apple', typeClass: 'info', sizeClass: 'euiSizeS' },\n        { id: 4, label: 'Orange', typeClass: 'success', isRemovable: false },\n        { id: 5, label: 'Strawberry', typeClass: 'warning' },\n        { id: 6, label: 'Peer', typeClass: 'danger', isRemovable: false },\n    ];\n    public form: FormGroup;\n    @ViewChild('autocomplete') autocomplete: EuiAutocompleteComponent;\n\n    ngOnInit(): void {\n        this.form = new FormGroup({\n            autocomplete: new FormControl(null, Validators.required),\n            text: new FormControl(null, Validators.required),\n        });\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit"
            ]
        },
        {
            "name": "EuiAvatarBadgeComponent",
            "id": "component-EuiAvatarBadgeComponent-0b5ba12a432df50a4000ad2ff99797fb416eb909910be1ea457329032696c39b875f436b8c254770c8c4f854dd1c5e1f9e322c11f2f52b185046982c30edb894",
            "file": "packages/components/eui-avatar/avatar-badge/avatar-badge.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "host": {},
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-avatar-badge",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "isPositionBottom",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 938,
                            "end": 958,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 939,
                                "end": 946,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the avatar should have a shadow effect\n",
                    "description": "<p>Whether the avatar should have a shadow effect</p>\n",
                    "line": 34,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "cssClasses",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 41,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nGets the CSS classes to be applied to the host element.\nCombines the base class with a modifier class based on the position.\n",
                    "description": "<p>Gets the CSS classes to be applied to the host element.\nCombines the base class with a modifier class based on the position.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "tagName": {
                                "pos": 1187,
                                "end": 1194,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>The combined CSS classes.</p>\n",
                            "returnType": "string"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Component representing an avatar badge.\nThis badge can be positioned at the top or bottom of the avatar and is used\nto display additional information or status indicators.</p>\n<p>The component uses content projection to allow any content to be displayed inside the badge.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-avatar&gt;\n    &lt;eui-avatar-text&gt;eUI&lt;/eui-avatar-text&gt;\n    &lt;eui-avatar-badge&gt;\n        &lt;eui-badge euiDanger euiSizeS&gt;7&lt;/eui-badge&gt;\n    &lt;/eui-avatar-badge&gt;\n&lt;/eui-avatar&gt;</code></pre></div>",
            "rawdescription": "\n\nComponent representing an avatar badge.\nThis badge can be positioned at the top or bottom of the avatar and is used\nto display additional information or status indicators.\n\nThe component uses content projection to allow any content to be displayed inside the badge.\n\n```html\n<eui-avatar>\n    <eui-avatar-text>eUI</eui-avatar-text>\n    <eui-avatar-badge>\n        <eui-badge euiDanger euiSizeS>7</eui-badge>\n    </eui-avatar-badge>\n</eui-avatar>\n```\n",
            "type": "component",
            "sourceCode": "import { booleanAttribute, ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n/**\n * Component representing an avatar badge.\n * This badge can be positioned at the top or bottom of the avatar and is used\n * to display additional information or status indicators.\n *\n * The component uses content projection to allow any content to be displayed inside the badge.\n *\n * @usageNotes\n * ```html\n * <eui-avatar>\n *     <eui-avatar-text>eUI</eui-avatar-text>\n *     <eui-avatar-badge>\n *         <eui-badge euiDanger euiSizeS>7</eui-badge>\n *     </eui-avatar-badge>\n * </eui-avatar>\n * ```\n */\n@Component({\n    selector: 'eui-avatar-badge',\n    template: '<ng-content/>',\n    styleUrl: './avatar-badge.scss',\n    host: {\n        '[class]': 'cssClasses()',\n    },\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiAvatarBadgeComponent {\n    /**\n     * Whether the avatar should have a shadow effect\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isPositionBottom = false;\n\n    /**\n     * Gets the CSS classes to be applied to the host element.\n     * Combines the base class with a modifier class based on the position.\n     * @returns {string} The combined CSS classes.\n     */\n    public cssClasses(): string {\n        return [\n            'eui-avatar-badge',\n            this.isPositionBottom ? 'eui-avatar-badge--bottom' : 'eui-avatar-badge--top',\n        ].join(' ').trim();\n    }\n}\n",
            "styleUrl": "./avatar-badge.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiAvatarComponent",
            "id": "component-EuiAvatarComponent-d739b9fdd0a4b1b5c2a065dabbab2ac57d4ca5a6c218e16887fe8d19c468ce3f06fcca6bc6ef1168808d42e772cacb6477358dd7f48deedaec8dbac3f3ec55b1",
            "file": "packages/components/eui-avatar/eui-avatar.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "host": {},
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "div[euiAvatar], span[euiAvatar], eui-avatar",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-avatar.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiSecondary",
                        "euiSuccess",
                        "euiInfo",
                        "euiWarning",
                        "euiDanger",
                        "euiVariant",
                        "euiSizeXS",
                        "euiSizeS",
                        "euiSizeL",
                        "euiSizeXL",
                        "euiSize2XL",
                        "euiSizeVariant",
                        "euiOutline"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "aria-label",
                    "defaultValue": "'avatar'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3894,
                            "end": 3917,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3895,
                                "end": 3902,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;avatar&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nARIA label for accessibility\n",
                    "description": "<p>ARIA label for accessibility</p>\n",
                    "line": 120,
                    "type": "string | null",
                    "decorators": []
                },
                {
                    "name": "colorPalette",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nExtra color palette to be used on the avatar.\n",
                    "description": "<p>Extra color palette to be used on the avatar.</p>\n",
                    "line": 149,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-avatar'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3621,
                            "end": 3648,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3622,
                                "end": 3629,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-avatar&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nData attribute for E2E testing\n",
                    "description": "<p>Data attribute for E2E testing</p>\n",
                    "line": 108,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasNoBackground",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4419,
                            "end": 4439,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4420,
                                "end": 4427,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the avatar should have no background color\n",
                    "description": "<p>Whether the avatar should have no background color</p>\n",
                    "line": 138,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasShadow",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4084,
                            "end": 4104,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4085,
                                "end": 4092,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the avatar should have a shadow effect\n",
                    "description": "<p>Whether the avatar should have a shadow effect</p>\n",
                    "line": 126,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isReverse",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4581,
                            "end": 4601,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4582,
                                "end": 4589,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the avatar reverse layout with content\n",
                    "description": "<p>Whether the avatar reverse layout with content</p>\n",
                    "line": 144,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShapeSquare",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4255,
                            "end": 4275,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4256,
                                "end": 4263,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the avatar shape should be square instead of circular\n",
                    "description": "<p>Whether the avatar shape should be square instead of circular</p>\n",
                    "line": 132,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "avatarImage",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiAvatarImageComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 151,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "role",
                    "defaultValue": "'status'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>ARIA role for accessibility</p>\n",
                    "line": 114,
                    "rawdescription": "\n\nARIA role for accessibility\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 3769,
                            "end": 3792,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3770,
                                "end": 3777,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;status&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "cssClasses",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 164,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nGets the CSS classes to be applied to the host element.\nCombines base classes with modifier classes.\n",
                    "description": "<p>Gets the CSS classes to be applied to the host element.\nCombines base classes with modifier classes.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "tagName": {
                                "pos": 5188,
                                "end": 5195,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>The combined CSS classes</p>\n",
                            "returnType": "string"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'status'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3769,
                            "end": 3792,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3770,
                                "end": 3777,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;status&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nARIA role for accessibility\n",
                    "description": "<p>ARIA role for accessibility</p>\n",
                    "line": 114,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Component for displaying avatars in the EUI design system.</p>\n<p>An avatar is a visual representation of a user or entity and can contain\nan image, text, or an icon. This component serves as the container for\nvarious avatar subcomponents, such as EuiAvatarImage, EuiAvatarText,\nEuiAvatarIcon, and EuiAvatarBadge.</p>\n<p>The component supports various customizations, including colors (via state directives),\nsizes, shapes, and appearance modifiers.</p>\n<h4>Text avatar</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-avatar euiPrimary&gt;\n  &lt;eui-avatar-text&gt;JD&lt;/eui-avatar-text&gt;\n&lt;/eui-avatar&gt;</code></pre></div><h4>Image avatar with badge</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-avatar euiSizeL&gt;\n  &lt;eui-avatar-image src=&quot;user.jpg&quot; alt=&quot;John Doe&quot;&gt;&lt;/eui-avatar-image&gt;\n  &lt;eui-avatar-badge euiSuccess&gt;&lt;/eui-avatar-badge&gt;\n&lt;/eui-avatar&gt;</code></pre></div><h4>Icon avatar with square shape</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-avatar euiInfo [isShapeSquare]=&quot;true&quot;&gt;\n  &lt;eui-avatar-icon iconSvgName=&quot;user:outline&quot;&gt;&lt;/eui-avatar-icon&gt;\n&lt;/eui-avatar&gt;</code></pre></div><h4>Avatar with content (name and email)</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-avatar&gt;\n  &lt;eui-avatar-image src=&quot;user.jpg&quot;&gt;&lt;/eui-avatar-image&gt;\n  &lt;eui-avatar-content&gt;\n    &lt;eui-avatar-content-label&gt;John Doe&lt;/eui-avatar-content-label&gt;\n```html\n  &lt;/eui-avatar-content&gt;\n&lt;/eui-avatar&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses role=&quot;status&quot; for screen reader announcements</li>\n<li>aria-label provides context about the avatar (defaults to &quot;avatar&quot;)</li>\n<li>Image avatars should include alt text via eui-avatar-image</li>\n<li>Text avatars are automatically readable by screen readers</li>\n<li>Badge status changes are announced when present</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Default shape is circular, use isShapeSquare for square avatars</li>\n<li>Size variants: euiSizeXS, euiSizeS (default), euiSizeL, euiSizeXL, euiSize2XL</li>\n<li>Color variants: euiPrimary, euiSecondary, euiSuccess, euiInfo, euiWarning, euiDanger</li>\n<li>Use hasNoBackground to remove background color (useful for image avatars)</li>\n<li>isReverse flips the layout when used with eui-avatar-content</li>\n<li>colorPalette accepts custom color palette names for extended theming</li>\n<li>hasShadow adds depth with shadow effect</li>\n<li>euiOutline adds border outline styling</li>\n</ul>\n",
            "rawdescription": "\n\nComponent for displaying avatars in the EUI design system.\n\nAn avatar is a visual representation of a user or entity and can contain\nan image, text, or an icon. This component serves as the container for\nvarious avatar subcomponents, such as EuiAvatarImage, EuiAvatarText,\nEuiAvatarIcon, and EuiAvatarBadge.\n\nThe component supports various customizations, including colors (via state directives),\nsizes, shapes, and appearance modifiers.\n\n#### Text avatar\n```html\n<eui-avatar euiPrimary>\n  <eui-avatar-text>JD</eui-avatar-text>\n</eui-avatar>\n```\n\n#### Image avatar with badge\n```html\n<eui-avatar euiSizeL>\n  <eui-avatar-image src=\"user.jpg\" alt=\"John Doe\"></eui-avatar-image>\n  <eui-avatar-badge euiSuccess></eui-avatar-badge>\n</eui-avatar>\n```\n\n#### Icon avatar with square shape\n```html\n<eui-avatar euiInfo [isShapeSquare]=\"true\">\n  <eui-avatar-icon iconSvgName=\"user:outline\"></eui-avatar-icon>\n</eui-avatar>\n```\n\n#### Avatar with content (name and email)\n```html\n<eui-avatar>\n  <eui-avatar-image src=\"user.jpg\"></eui-avatar-image>\n  <eui-avatar-content>\n    <eui-avatar-content-label>John Doe</eui-avatar-content-label>\n```html\n  </eui-avatar-content>\n</eui-avatar>\n```\n### Accessibility\n- Uses role=\"status\" for screen reader announcements\n- aria-label provides context about the avatar (defaults to \"avatar\")\n- Image avatars should include alt text via eui-avatar-image\n- Text avatars are automatically readable by screen readers\n- Badge status changes are announced when present\n\n### Notes\n- Default shape is circular, use isShapeSquare for square avatars\n- Size variants: euiSizeXS, euiSizeS (default), euiSizeL, euiSizeXL, euiSize2XL\n- Color variants: euiPrimary, euiSecondary, euiSuccess, euiInfo, euiWarning, euiDanger\n- Use hasNoBackground to remove background color (useful for image avatars)\n- isReverse flips the layout when used with eui-avatar-content\n- colorPalette accepts custom color palette names for extended theming\n- hasShadow adds depth with shadow effect\n- euiOutline adds border outline styling\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy, Input, booleanAttribute, inject, ContentChild, forwardRef, QueryList } from '@angular/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiAvatarImageComponent } from './avatar-image/avatar-image.component';\n\n/**\n * @description\n * Component for displaying avatars in the EUI design system.\n *\n * An avatar is a visual representation of a user or entity and can contain\n * an image, text, or an icon. This component serves as the container for\n * various avatar subcomponents, such as EuiAvatarImage, EuiAvatarText,\n * EuiAvatarIcon, and EuiAvatarBadge.\n *\n * The component supports various customizations, including colors (via state directives),\n * sizes, shapes, and appearance modifiers.\n *\n * @usageNotes\n * #### Text avatar\n * ```html\n * <eui-avatar euiPrimary>\n *   <eui-avatar-text>JD</eui-avatar-text>\n * </eui-avatar>\n * ```\n *\n * #### Image avatar with badge\n * ```html\n * <eui-avatar euiSizeL>\n *   <eui-avatar-image src=\"user.jpg\" alt=\"John Doe\"></eui-avatar-image>\n *   <eui-avatar-badge euiSuccess></eui-avatar-badge>\n * </eui-avatar>\n * ```\n *\n * #### Icon avatar with square shape\n * ```html\n * <eui-avatar euiInfo [isShapeSquare]=\"true\">\n *   <eui-avatar-icon iconSvgName=\"user:outline\"></eui-avatar-icon>\n * </eui-avatar>\n * ```\n *\n * #### Avatar with content (name and email)\n * ```html\n * <eui-avatar>\n *   <eui-avatar-image src=\"user.jpg\"></eui-avatar-image>\n *   <eui-avatar-content>\n *     <eui-avatar-content-label>John Doe</eui-avatar-content-label>\n *     <eui-avatar-content-sublabel>john.doe@example.com</eui-avatar-content-sublabel>\n *   </eui-avatar-content>\n * </eui-avatar>\n * ```\n *\n * ### Accessibility\n * - Uses role=\"status\" for screen reader announcements\n * - aria-label provides context about the avatar (defaults to \"avatar\")\n * - Image avatars should include alt text via eui-avatar-image\n * - Text avatars are automatically readable by screen readers\n * - Badge status changes are announced when present\n *\n * ### Notes\n * - Default shape is circular, use isShapeSquare for square avatars\n * - Size variants: euiSizeXS, euiSizeS (default), euiSizeL, euiSizeXL, euiSize2XL\n * - Color variants: euiPrimary, euiSecondary, euiSuccess, euiInfo, euiWarning, euiDanger\n * - Use hasNoBackground to remove background color (useful for image avatars)\n * - isReverse flips the layout when used with eui-avatar-content\n * - colorPalette accepts custom color palette names for extended theming\n * - hasShadow adds depth with shadow effect\n * - euiOutline adds border outline styling\n */\n@Component({\n    selector: 'div[euiAvatar], span[euiAvatar], eui-avatar',\n    templateUrl: './eui-avatar.component.html',\n    styleUrl: './eui-avatar.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiPrimary',\n                'euiSecondary',\n                'euiSuccess',\n                'euiInfo',\n                'euiWarning',\n                'euiDanger',\n                'euiVariant',\n\n                'euiSizeXS',\n                'euiSizeS',\n                'euiSizeL',\n                'euiSizeXL',\n                'euiSize2XL',\n                'euiSizeVariant',\n\n                'euiOutline',\n            ],\n        },\n    ],\n    host: {\n        '[class]': 'cssClasses()',\n        '[attr.data-e2e]': 'e2eAttr',\n        '[attr.role]': '\"status\"',\n        '[attr.aria-label]': 'ariaLabel',\n    },\n})\nexport class EuiAvatarComponent {\n    /**\n     * Data attribute for E2E testing\n     * @default 'eui-avatar'\n     */\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-avatar';\n\n    /**\n     * ARIA role for accessibility\n     * @default 'status'\n     */\n    @HostBinding('attr.role') role = 'status';\n\n    /**\n     * ARIA label for accessibility\n     * @default 'avatar'\n     */\n    @HostBinding('attr.aria-label') @Input('aria-label') ariaLabel: string | null = 'avatar';\n\n    /**\n     * Whether the avatar should have a shadow effect\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasShadow = false;\n\n    /**\n     * Whether the avatar shape should be square instead of circular\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isShapeSquare = false;\n\n    /**\n     * Whether the avatar should have no background color\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasNoBackground = false;\n\n    /**\n     * Whether the avatar reverse layout with content\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isReverse = false;\n\n    /**\n     * Extra color palette to be used on the avatar.\n     */\n    @Input() colorPalette: string;\n\n    @ContentChild(forwardRef(() => EuiAvatarImageComponent)) avatarImage: QueryList<EuiAvatarImageComponent>;\n\n    /**\n     * Reference to the BaseStatesDirective providing state-based styling\n     * @internal\n     */\n    protected baseStatesDirective = inject(BaseStatesDirective);\n\n    /**\n     * Gets the CSS classes to be applied to the host element.\n     * Combines base classes with modifier classes.\n     * @returns {string} The combined CSS classes\n     */\n    public cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-avatar'),\n            this.isShapeSquare ? 'eui-avatar--shape-square' : '',\n            this.hasNoBackground ? 'eui-avatar--no-background' : '',\n            this.isReverse ? 'eui-avatar--reverse' : '',\n            this.avatarImage ? 'eui-avatar--image' : '',\n            this.colorPalette ? `eui-avatar--${this.colorPalette}` : '',\n        ].join(' ').trim();\n    }\n}\n",
            "styleUrl": "./eui-avatar.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "@if(hasShadow) {\n    <div class=\"eui-avatar-shadow\"></div>\n}\n\n<div class=\"eui-avatar-wrapper\">\n    <ng-content select=\"eui-avatar-icon\"/>\n    <ng-content select=\"eui-avatar-text\"/>\n    <ng-content select=\"eui-avatar-image\"/>\n    <ng-content select=\"eui-avatar-badge\"/>\n</div>\n\n<ng-content select=\"eui-avatar-content\"/>\n"
        },
        {
            "name": "EuiAvatarContentComponent",
            "id": "component-EuiAvatarContentComponent-87c46795c76e129fe8d8625764e46c1c9cdbdaa822a50da353d600daf461fb724563e7370b5c28488cf3dc80c8a7044b9548041ff408d4c59ec2d2f3b5e2ab0d",
            "file": "packages/components/eui-avatar/avatar-content/avatar-content.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "host": {},
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-avatar-content",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./avatar-content.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "cssClasses",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 48,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nBinds the CSS class 'eui-avatar-list' to the host element.\nThis class provides the styling necessary for arranging avatars in a list.\n",
                    "description": "<p>Binds the CSS class &#39;eui-avatar-list&#39; to the host element.\nThis class provides the styling necessary for arranging avatars in a list.</p>\n",
                    "jsdoctags": [
                        {
                            "tagName": {
                                "pos": 1760,
                                "end": 1767,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>The CSS class name</p>\n",
                            "returnType": "string"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Component for displaying textual content alongside an avatar.\nServes as a container for avatar-content-label and avatar-content-sublabel subcomponents.\nTypically used to show user name and additional information like email or role.\nContent is projected via ng-content and styled to align properly with the avatar.\nMust be used within an eui-avatar parent component for proper layout.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-avatar&gt;\n  &lt;eui-avatar-image src=&quot;user.jpg&quot;&gt;&lt;/eui-avatar-image&gt;\n  &lt;eui-avatar-content&gt;\n    &lt;eui-avatar-content-label&gt;John Doe&lt;/eui-avatar-content-label&gt;\n    &lt;eui-avatar-content-sublabel&gt;john.doe&#64;ec.europa.eu&lt;/eui-avatar-content-sublabel&gt;\n  &lt;/eui-avatar-content&gt;\n&lt;/eui-avatar&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Content is readable by screen readers in natural reading order</li>\n<li>Label and sublabel are semantically grouped for context</li>\n<li>Use meaningful text that identifies the user or entity</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be direct child of eui-avatar component</li>\n<li>Typically contains eui-avatar-content-label and eui-avatar-content-sublabel</li>\n<li>Layout can be reversed using isReverse on parent eui-avatar</li>\n<li>Automatically styled to align with avatar size variants</li>\n</ul>\n",
            "rawdescription": "\n\nComponent for displaying textual content alongside an avatar.\nServes as a container for avatar-content-label and avatar-content-sublabel subcomponents.\nTypically used to show user name and additional information like email or role.\nContent is projected via ng-content and styled to align properly with the avatar.\nMust be used within an eui-avatar parent component for proper layout.\n\n```html\n<eui-avatar>\n  <eui-avatar-image src=\"user.jpg\"></eui-avatar-image>\n  <eui-avatar-content>\n    <eui-avatar-content-label>John Doe</eui-avatar-content-label>\n    <eui-avatar-content-sublabel>john.doe@ec.europa.eu</eui-avatar-content-sublabel>\n  </eui-avatar-content>\n</eui-avatar>\n```\n\n### Accessibility\n- Content is readable by screen readers in natural reading order\n- Label and sublabel are semantically grouped for context\n- Use meaningful text that identifies the user or entity\n\n### Notes\n- Must be direct child of eui-avatar component\n- Typically contains eui-avatar-content-label and eui-avatar-content-sublabel\n- Layout can be reversed using isReverse on parent eui-avatar\n- Automatically styled to align with avatar size variants\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * @description\n * Component for displaying textual content alongside an avatar.\n * Serves as a container for avatar-content-label and avatar-content-sublabel subcomponents.\n * Typically used to show user name and additional information like email or role.\n * Content is projected via ng-content and styled to align properly with the avatar.\n * Must be used within an eui-avatar parent component for proper layout.\n *\n * @usageNotes\n * ```html\n * <eui-avatar>\n *   <eui-avatar-image src=\"user.jpg\"></eui-avatar-image>\n *   <eui-avatar-content>\n *     <eui-avatar-content-label>John Doe</eui-avatar-content-label>\n *     <eui-avatar-content-sublabel>john.doe@ec.europa.eu</eui-avatar-content-sublabel>\n *   </eui-avatar-content>\n * </eui-avatar>\n * ```\n *\n * ### Accessibility\n * - Content is readable by screen readers in natural reading order\n * - Label and sublabel are semantically grouped for context\n * - Use meaningful text that identifies the user or entity\n *\n * ### Notes\n * - Must be direct child of eui-avatar component\n * - Typically contains eui-avatar-content-label and eui-avatar-content-sublabel\n * - Layout can be reversed using isReverse on parent eui-avatar\n * - Automatically styled to align with avatar size variants\n */\n@Component({\n    selector: 'eui-avatar-content',\n    templateUrl: './avatar-content.html',\n    styleUrl: './avatar-content.scss',\n    host: {\n        '[class]': 'cssClasses()',\n    },\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiAvatarContentComponent {\n    /**\n     * Binds the CSS class 'eui-avatar-list' to the host element.\n     * This class provides the styling necessary for arranging avatars in a list.\n     * @returns {string} The CSS class name\n     */\n    cssClasses(): string {\n        return 'eui-avatar-content';\n    }\n}\n",
            "styleUrl": "./avatar-content.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "<ng-content select=\"eui-avatar-content-label\"/>\n<ng-content select=\"eui-avatar-content-sublabel\"/>"
        },
        {
            "name": "EuiAvatarContentLabelComponent",
            "id": "component-EuiAvatarContentLabelComponent-6d19ea510cb7446beb29d48821e07021db1222ff787513ac24ad1bbe8dc4fea66c84ef0134a09097f9d3b302e60051ba211ec3f1c330cd73bb905892b9e48e7a",
            "file": "packages/components/eui-avatar/avatar-content/avatar-content-label.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "host": {},
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-avatar-content-label",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "cssClasses",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 47,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nBinds the CSS class 'eui-avatar-list' to the host element.\nThis class provides the styling necessary for arranging avatars in a list.\n",
                    "description": "<p>Binds the CSS class &#39;eui-avatar-list&#39; to the host element.\nThis class provides the styling necessary for arranging avatars in a list.</p>\n",
                    "jsdoctags": [
                        {
                            "tagName": {
                                "pos": 1551,
                                "end": 1558,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>The CSS class name</p>\n",
                            "returnType": "string"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Component for displaying the primary label text within avatar content.\nTypically used to show the user&#39;s name or primary identifier.\nContent is projected via ng-content and styled as the main text line.\nMust be used within eui-avatar-content for proper styling and layout.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-avatar&gt;\n  &lt;eui-avatar-image src=&quot;user.jpg&quot;&gt;&lt;/eui-avatar-image&gt;\n  &lt;eui-avatar-content&gt;\n    &lt;eui-avatar-content-label&gt;John Doe&lt;/eui-avatar-content-label&gt;\n    &lt;eui-avatar-content-sublabel&gt;Developer&lt;/eui-avatar-content-sublabel&gt;\n  &lt;/eui-avatar-content&gt;\n&lt;/eui-avatar&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Text content is directly readable by screen readers</li>\n<li>Appears first in reading order before sublabel</li>\n<li>Use concise, meaningful text for user identification</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be child of eui-avatar-content component</li>\n<li>Styled as primary/prominent text</li>\n<li>Typically displays user name or entity title</li>\n<li>Can be used alone without sublabel if needed</li>\n</ul>\n",
            "rawdescription": "\n\nComponent for displaying the primary label text within avatar content.\nTypically used to show the user's name or primary identifier.\nContent is projected via ng-content and styled as the main text line.\nMust be used within eui-avatar-content for proper styling and layout.\n\n```html\n<eui-avatar>\n  <eui-avatar-image src=\"user.jpg\"></eui-avatar-image>\n  <eui-avatar-content>\n    <eui-avatar-content-label>John Doe</eui-avatar-content-label>\n    <eui-avatar-content-sublabel>Developer</eui-avatar-content-sublabel>\n  </eui-avatar-content>\n</eui-avatar>\n```\n\n### Accessibility\n- Text content is directly readable by screen readers\n- Appears first in reading order before sublabel\n- Use concise, meaningful text for user identification\n\n### Notes\n- Must be child of eui-avatar-content component\n- Styled as primary/prominent text\n- Typically displays user name or entity title\n- Can be used alone without sublabel if needed\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * @description\n * Component for displaying the primary label text within avatar content.\n * Typically used to show the user's name or primary identifier.\n * Content is projected via ng-content and styled as the main text line.\n * Must be used within eui-avatar-content for proper styling and layout.\n *\n * @usageNotes\n * ```html\n * <eui-avatar>\n *   <eui-avatar-image src=\"user.jpg\"></eui-avatar-image>\n *   <eui-avatar-content>\n *     <eui-avatar-content-label>John Doe</eui-avatar-content-label>\n *     <eui-avatar-content-sublabel>Developer</eui-avatar-content-sublabel>\n *   </eui-avatar-content>\n * </eui-avatar>\n * ```\n *\n * ### Accessibility\n * - Text content is directly readable by screen readers\n * - Appears first in reading order before sublabel\n * - Use concise, meaningful text for user identification\n *\n * ### Notes\n * - Must be child of eui-avatar-content component\n * - Styled as primary/prominent text\n * - Typically displays user name or entity title\n * - Can be used alone without sublabel if needed\n */\n@Component({\n    selector: 'eui-avatar-content-label',\n    template: '<ng-content />',\n    styleUrl: './avatar-content-label.scss',\n    host: {\n        '[class]': 'cssClasses()',\n    },\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiAvatarContentLabelComponent {\n    /**\n     * Binds the CSS class 'eui-avatar-list' to the host element.\n     * This class provides the styling necessary for arranging avatars in a list.\n     * @returns {string} The CSS class name\n     */\n    cssClasses(): string {\n        return 'eui-avatar-content-label';\n    }\n}\n",
            "styleUrl": "./avatar-content-label.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiAvatarContentSublabelComponent",
            "id": "component-EuiAvatarContentSublabelComponent-4a674ff40ea36c1716b00bb6151c6aebd160a6dd834ef077438a0764c2289c4364fdbb15d4597ce7fd05c0e0164640dc7806a70b7eeefc0b64f468df6c9191a6",
            "file": "packages/components/eui-avatar/avatar-content/avatar-content-sublabel.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "host": {},
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-avatar-content-sublabel",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "cssClasses",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 47,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nBinds the CSS class 'eui-avatar-list' to the host element.\nThis class provides the styling necessary for arranging avatars in a list.\n",
                    "description": "<p>Binds the CSS class &#39;eui-avatar-list&#39; to the host element.\nThis class provides the styling necessary for arranging avatars in a list.</p>\n",
                    "jsdoctags": [
                        {
                            "tagName": {
                                "pos": 1582,
                                "end": 1589,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>The CSS class name</p>\n",
                            "returnType": "string"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Component for displaying secondary label text within avatar content.\nTypically used to show additional information like email, role, or status.\nContent is projected via ng-content and styled as secondary/subdued text.\nMust be used within eui-avatar-content for proper styling and layout.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-avatar&gt;\n  &lt;eui-avatar-text&gt;JD&lt;/eui-avatar-text&gt;\n  &lt;eui-avatar-content&gt;\n    &lt;eui-avatar-content-label&gt;John Doe&lt;/eui-avatar-content-label&gt;\n    &lt;eui-avatar-content-sublabel&gt;john.doe&#64;ec.europa.eu&lt;/eui-avatar-content-sublabel&gt;\n  &lt;/eui-avatar-content&gt;\n&lt;/eui-avatar&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Text content is directly readable by screen readers</li>\n<li>Appears after label in reading order</li>\n<li>Provides additional context about the user or entity</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be child of eui-avatar-content component</li>\n<li>Styled as secondary/muted text</li>\n<li>Typically displays email, role, department, or status</li>\n<li>Optional - can be omitted if only primary label is needed</li>\n</ul>\n",
            "rawdescription": "\n\nComponent for displaying secondary label text within avatar content.\nTypically used to show additional information like email, role, or status.\nContent is projected via ng-content and styled as secondary/subdued text.\nMust be used within eui-avatar-content for proper styling and layout.\n\n```html\n<eui-avatar>\n  <eui-avatar-text>JD</eui-avatar-text>\n  <eui-avatar-content>\n    <eui-avatar-content-label>John Doe</eui-avatar-content-label>\n    <eui-avatar-content-sublabel>john.doe@ec.europa.eu</eui-avatar-content-sublabel>\n  </eui-avatar-content>\n</eui-avatar>\n```\n\n### Accessibility\n- Text content is directly readable by screen readers\n- Appears after label in reading order\n- Provides additional context about the user or entity\n\n### Notes\n- Must be child of eui-avatar-content component\n- Styled as secondary/muted text\n- Typically displays email, role, department, or status\n- Optional - can be omitted if only primary label is needed\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * @description\n * Component for displaying secondary label text within avatar content.\n * Typically used to show additional information like email, role, or status.\n * Content is projected via ng-content and styled as secondary/subdued text.\n * Must be used within eui-avatar-content for proper styling and layout.\n *\n * @usageNotes\n * ```html\n * <eui-avatar>\n *   <eui-avatar-text>JD</eui-avatar-text>\n *   <eui-avatar-content>\n *     <eui-avatar-content-label>John Doe</eui-avatar-content-label>\n *     <eui-avatar-content-sublabel>john.doe@ec.europa.eu</eui-avatar-content-sublabel>\n *   </eui-avatar-content>\n * </eui-avatar>\n * ```\n *\n * ### Accessibility\n * - Text content is directly readable by screen readers\n * - Appears after label in reading order\n * - Provides additional context about the user or entity\n *\n * ### Notes\n * - Must be child of eui-avatar-content component\n * - Styled as secondary/muted text\n * - Typically displays email, role, department, or status\n * - Optional - can be omitted if only primary label is needed\n */\n@Component({\n    selector: 'eui-avatar-content-sublabel',\n    template: '<ng-content />',\n    styleUrl: './avatar-content-sublabel.scss',\n    host: {\n        '[class]': 'cssClasses()',\n    },\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiAvatarContentSublabelComponent {\n    /**\n     * Binds the CSS class 'eui-avatar-list' to the host element.\n     * This class provides the styling necessary for arranging avatars in a list.\n     * @returns {string} The CSS class name\n     */\n    cssClasses(): string {\n        return 'eui-avatar-content-sublabel';\n    }\n}\n",
            "styleUrl": "./avatar-content-sublabel.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiAvatarIconComponent",
            "id": "component-EuiAvatarIconComponent-072e221e584f2575f45f6e836652f80cd638c2102c219ea38f3cabe7da7b6d18facaf836952b09e6a7aa9b53e6ff97f4198b6db6771d3150d8ccc1a676f5938e",
            "file": "packages/components/eui-avatar/avatar-icon/avatar-icon.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "host": {},
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-avatar-icon",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Component representing an avatar icon.\nThis component serves as a container for icons within an avatar.\nIt applies the appropriate styling and structure needed for avatar icons.</p>\n<p>The component simply wraps its content with the &#39;eui-avatar-icon&#39; class styling.\nUsed for displaying icons as avatar content instead of images or text.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-avatar&gt;\n    &lt;eui-avatar-icon&gt;\n        &lt;eui-icon-svg icon=&quot;eui-user&quot; /&gt;\n    &lt;/eui-avatar-icon&gt;\n&lt;/eui-avatar&gt;</code></pre></div>",
            "rawdescription": "\n\nComponent representing an avatar icon.\nThis component serves as a container for icons within an avatar.\nIt applies the appropriate styling and structure needed for avatar icons.\n\nThe component simply wraps its content with the 'eui-avatar-icon' class styling.\nUsed for displaying icons as avatar content instead of images or text.\n\n```html\n<eui-avatar>\n    <eui-avatar-icon>\n        <eui-icon-svg icon=\"eui-user\" />\n    </eui-avatar-icon>\n</eui-avatar>\n```\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * @description\n * Component representing an avatar icon.\n * This component serves as a container for icons within an avatar.\n * It applies the appropriate styling and structure needed for avatar icons.\n *\n * The component simply wraps its content with the 'eui-avatar-icon' class styling.\n * Used for displaying icons as avatar content instead of images or text.\n *\n * @usageNotes\n * ```html\n * <eui-avatar>\n *     <eui-avatar-icon>\n *         <eui-icon-svg icon=\"eui-user\" />\n *     </eui-avatar-icon>\n * </eui-avatar>\n * ```\n */\n@Component({\n    selector: 'eui-avatar-icon',\n    template: '<ng-content/>',\n    styleUrl: './avatar-icon.scss',\n    host: {\n        class: 'eui-avatar-icon',\n    },\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiAvatarIconComponent {}\n",
            "styleUrl": "./avatar-icon.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiAvatarImageComponent",
            "id": "component-EuiAvatarImageComponent-11f42d1a76c9e103d9d882bd6f62a00ac6fd671240abb6ef6ddd39c158ec58123f675df1fa73bfb84f70ab211aa746e2e6b24d9d5d9270a7f05fd21be03514dd",
            "file": "packages/components/eui-avatar/avatar-image/avatar-image.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "host": {},
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-avatar-image",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./avatar-image.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "imageUrl",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nURL of the image to be displayed in the avatar.\nIf not provided, a default image will be used.\n",
                    "description": "<p>URL of the image to be displayed in the avatar.\nIf not provided, a default image will be used.</p>\n",
                    "line": 42,
                    "type": "any",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "imageUrlGenerated",
                    "defaultValue": "'assets'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The final image URL to be used in the template.\nThis will be either the provided imageUrl or a default image URL.</p>\n",
                    "line": 48,
                    "rawdescription": "\n\nThe final image URL to be used in the template.\nThis will be either the provided imageUrl or a default image URL.\n",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "<p>Component representing an avatar image.\nDisplays an image for an avatar with fallback to a default image when none is provided.\nUses the application&#39;s configured assets base URL for the default image path.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-avatar&gt;\n   &lt;eui-avatar-image imageUrl=&quot;assets/images/profile-avatar.png&quot;&gt;&lt;/eui-avatar-image&gt;\n&lt;/eui-avatar&gt;</code></pre></div>",
            "rawdescription": "\n\nComponent representing an avatar image.\nDisplays an image for an avatar with fallback to a default image when none is provided.\nUses the application's configured assets base URL for the default image path.\n\n```html\n<eui-avatar>\n   <eui-avatar-image imageUrl=\"assets/images/profile-avatar.png\"></eui-avatar-image>\n</eui-avatar>\n```\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\n/**\n * @description\n * Component representing an avatar image.\n * Displays an image for an avatar with fallback to a default image when none is provided.\n * Uses the application's configured assets base URL for the default image path.\n *\n * @usageNotes\n * ```html\n * <eui-avatar>\n *    <eui-avatar-image imageUrl=\"assets/images/profile-avatar.png\"></eui-avatar-image>\n * </eui-avatar>\n * ```\n */\n@Component({\n    selector: 'eui-avatar-image',\n    templateUrl: './avatar-image.component.html',\n    styleUrl: './avatar-image.scss',\n    imports: [\n        ...EUI_ICON,\n    ],\n    host: {\n        '[class]': 'cssClasses',\n    },\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiAvatarImageComponent {\n    /** CSS class applied to the host element */\n    public get cssClasses(): string {\n        return [\n            'eui-avatar-image',\n            !this.imageUrl ? 'eui-avatar-image--default' : '',\n        ].join(' ').trim();\n    }\n\n    /**\n     * URL of the image to be displayed in the avatar.\n     * If not provided, a default image will be used.\n     */\n    @Input() imageUrl;\n\n    /**\n     * The final image URL to be used in the template.\n     * This will be either the provided imageUrl or a default image URL.\n     */\n    public imageUrlGenerated = 'assets';\n    // private config = inject<EuiConfig>(EUI_CONFIG_TOKEN, { optional: true })!;\n}\n",
            "styleUrl": "./avatar-image.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 31,
                        "rawdescription": "\nCSS class applied to the host element",
                        "description": "<p>CSS class applied to the host element</p>\n"
                    }
                }
            },
            "templateData": "@if (imageUrl) {\n    <div class=\"eui-avatar-image-wrapper\">\n        <img [src]=\"imageUrl\" alt=\"Avatar\"/>\n    </div>\n} @else {\n    <eui-icon-svg icon=\"eui-user-circle\" fillColor=\"secondary\"/>\n    <!-- <ng-content /> -->\n}\n"
        },
        {
            "name": "EuiAvatarListComponent",
            "id": "component-EuiAvatarListComponent-eee70856c2910df8c47e70919d2487e2f9b483ef04a3194b16d9149004ea6d042225ed25fc6cc2bb7f748cd9093dc37e2e6b62974a93634d9a368124902a594e",
            "file": "packages/components/eui-avatar/avatar-list/avatar-list.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "host": {},
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-avatar-list",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "cssClasses",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 41,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nBinds the CSS class 'eui-avatar-list' to the host element.\nThis class provides the styling necessary for arranging avatars in a list.\n",
                    "description": "<p>Binds the CSS class &#39;eui-avatar-list&#39; to the host element.\nThis class provides the styling necessary for arranging avatars in a list.</p>\n",
                    "jsdoctags": [
                        {
                            "tagName": {
                                "pos": 1401,
                                "end": 1408,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>The CSS class name</p>\n",
                            "returnType": "string"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Component for displaying a list of avatars.\nThis component serves as a container that arranges multiple avatars in a visually\ncoherent group, typically with slight overlapping to save space.</p>\n<p>The component uses content projection to allow placing multiple avatar components\nwithin it and applies appropriate styling via the &#39;eui-avatar-list&#39; CSS class.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-avatar-list&gt;\n    &lt;eui-avatar euiSizeS&gt;\n        &lt;eui-avatar-image imageUrl=&quot;assets/images/avatars/small/panda.png&quot;&gt;&lt;/eui-avatar-image&gt;\n    &lt;/eui-avatar&gt;\n    &lt;eui-avatar euiSizeS&gt;\n        &lt;eui-avatar-image imageUrl=&quot;assets/images/avatars/small/cat.png&quot;&gt;&lt;/eui-avatar-image&gt;\n    &lt;/eui-avatar&gt;\n    &lt;eui-avatar euiSizeS&gt;\n        &lt;eui-avatar-image imageUrl=&quot;assets/images/avatars/small/bear.png&quot;&gt;&lt;/eui-avatar-image&gt;\n    &lt;/eui-avatar&gt;\n&lt;/eui-avatar-list&gt;</code></pre></div>",
            "rawdescription": "\n\nComponent for displaying a list of avatars.\nThis component serves as a container that arranges multiple avatars in a visually\ncoherent group, typically with slight overlapping to save space.\n\nThe component uses content projection to allow placing multiple avatar components\nwithin it and applies appropriate styling via the 'eui-avatar-list' CSS class.\n\n```html\n<eui-avatar-list>\n    <eui-avatar euiSizeS>\n        <eui-avatar-image imageUrl=\"assets/images/avatars/small/panda.png\"></eui-avatar-image>\n    </eui-avatar>\n    <eui-avatar euiSizeS>\n        <eui-avatar-image imageUrl=\"assets/images/avatars/small/cat.png\"></eui-avatar-image>\n    </eui-avatar>\n    <eui-avatar euiSizeS>\n        <eui-avatar-image imageUrl=\"assets/images/avatars/small/bear.png\"></eui-avatar-image>\n    </eui-avatar>\n</eui-avatar-list>\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * @description\n * Component for displaying a list of avatars.\n * This component serves as a container that arranges multiple avatars in a visually\n * coherent group, typically with slight overlapping to save space.\n *\n * The component uses content projection to allow placing multiple avatar components\n * within it and applies appropriate styling via the 'eui-avatar-list' CSS class.\n *\n * @usageNotes\n * ```html\n * <eui-avatar-list>\n *     <eui-avatar euiSizeS>\n *         <eui-avatar-image imageUrl=\"assets/images/avatars/small/panda.png\"></eui-avatar-image>\n *     </eui-avatar>\n *     <eui-avatar euiSizeS>\n *         <eui-avatar-image imageUrl=\"assets/images/avatars/small/cat.png\"></eui-avatar-image>\n *     </eui-avatar>\n *     <eui-avatar euiSizeS>\n *         <eui-avatar-image imageUrl=\"assets/images/avatars/small/bear.png\"></eui-avatar-image>\n *     </eui-avatar>\n * </eui-avatar-list>\n */\n@Component({\n    selector: 'eui-avatar-list',\n    template: '<ng-content/>',\n    styleUrl: './avatar-list.scss',\n    host: {\n        '[class]': 'cssClasses()',\n    },\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiAvatarListComponent {\n    /**\n     * Binds the CSS class 'eui-avatar-list' to the host element.\n     * This class provides the styling necessary for arranging avatars in a list.\n     * @returns {string} The CSS class name\n     */\n    cssClasses(): string {\n        return 'eui-avatar-list';\n    }\n}\n",
            "styleUrl": "./avatar-list.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiAvatarTextComponent",
            "id": "component-EuiAvatarTextComponent-b420aac911a8a8547d1dfee52cdd5f061e1515f1bc3600faa55a3e0ad264b6db92d7938dd2895418bb062928ee882872e5276a21a247a9a967aa41b01d0c63c1",
            "file": "packages/components/eui-avatar/avatar-text/avatar-text.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "host": {},
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-avatar-text",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Component for displaying text content within an avatar.\nThis component serves as a container for text that appears inside an avatar,\nsuch as initials or short text identifiers.</p>\n<p>The component applies the &#39;eui-avatar-text&#39; class to provide appropriate styling\nfor text displayed within an avatar context. It uses content projection to allow\nany text content to be displayed inside.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-avatar euiSizeS&gt;\n    &lt;eui-avatar-text&gt;eUI&lt;/eui-avatar-text&gt;\n    &lt;eui-avatar-badge&gt;\n        &lt;eui-badge euiDanger euiSizeS&gt;7&lt;/eui-badge&gt;\n    &lt;/eui-avatar-badge&gt;\n&lt;/eui-avatar&gt;</code></pre></div>",
            "rawdescription": "\n\nComponent for displaying text content within an avatar.\nThis component serves as a container for text that appears inside an avatar,\nsuch as initials or short text identifiers.\n\nThe component applies the 'eui-avatar-text' class to provide appropriate styling\nfor text displayed within an avatar context. It uses content projection to allow\nany text content to be displayed inside.\n\n```html\n<eui-avatar euiSizeS>\n    <eui-avatar-text>eUI</eui-avatar-text>\n    <eui-avatar-badge>\n        <eui-badge euiDanger euiSizeS>7</eui-badge>\n    </eui-avatar-badge>\n</eui-avatar>\n```\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * @description\n * Component for displaying text content within an avatar.\n * This component serves as a container for text that appears inside an avatar,\n * such as initials or short text identifiers.\n *\n * The component applies the 'eui-avatar-text' class to provide appropriate styling\n * for text displayed within an avatar context. It uses content projection to allow\n * any text content to be displayed inside.\n *\n * @usageNotes\n * ```html\n * <eui-avatar euiSizeS>\n *     <eui-avatar-text>eUI</eui-avatar-text>\n *     <eui-avatar-badge>\n *         <eui-badge euiDanger euiSizeS>7</eui-badge>\n *     </eui-avatar-badge>\n * </eui-avatar>\n * ```\n */\n@Component({\n    selector: 'eui-avatar-text',\n    template: '<ng-content/>',\n    styleUrl: './avatar-text.scss',\n    host: {\n        '[class]': '\"eui-avatar-text\"',\n    },\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiAvatarTextComponent {\n}\n",
            "styleUrl": "./avatar-text.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiBadgeComponent",
            "id": "component-EuiBadgeComponent-8ecbb73b5ffeb9e87bbbc41430d36c2a72fdbaf59ca91bae7a8505ff2818bd86f0901423100b0791d98ad50cab8c6b916e473bb256af0ee4368e5b150167a10c",
            "file": "packages/components/eui-badge/eui-badge.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "div[euiBadge], span[euiBadge], eui-badge",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-badge.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiSecondary",
                        "euiSuccess",
                        "euiInfo",
                        "euiWarning",
                        "euiDanger",
                        "euiVariant",
                        "euiSizeS",
                        "euiSizeM",
                        "euiSizeVariant",
                        "euiOutline"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "aria-label",
                    "defaultValue": "'badge'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3771,
                            "end": 3813,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3772,
                                "end": 3783,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>ARIA label for accessibility</p>\n"
                        }
                    ],
                    "rawdescription": "",
                    "description": "",
                    "line": 125,
                    "type": "string | null",
                    "decorators": []
                },
                {
                    "name": "charReplacement",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4300,
                            "end": 4320,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4301,
                                "end": 4308,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;99+&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nString to display when content is truncated due to maxCharCount.\n",
                    "description": "<p>String to display when content is truncated due to maxCharCount.</p>\n",
                    "line": 138,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "colorPalette",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nExtra color palette to be used on the badge.\nAccepts custom color palette names for extended theming beyond standard variants.\n",
                    "description": "<p>Extra color palette to be used on the badge.\nAccepts custom color palette names for extended theming beyond standard variants.</p>\n",
                    "line": 158,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-badge'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3549,
                            "end": 3593,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3550,
                                "end": 3561,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Data attribute for e2e testing</p>\n"
                        }
                    ],
                    "rawdescription": "",
                    "description": "",
                    "line": 119,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiDottedBadge",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4770,
                            "end": 4790,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4771,
                                "end": 4778,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether to display the badge with dotted styling variant.\nApplies alternative visual treatment to the badge.\n",
                    "description": "<p>Whether to display the badge with dotted styling variant.\nApplies alternative visual treatment to the badge.</p>\n",
                    "line": 152,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiIconBadge",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4542,
                            "end": 4562,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4543,
                                "end": 4550,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the badge contains only an icon (displays as a small dot indicator).\nWhen true, no text content is shown, creating a minimal status indicator.\n",
                    "description": "<p>Whether the badge contains only an icon (displays as a small dot indicator).\nWhen true, no text content is shown, creating a minimal status indicator.</p>\n",
                    "line": 145,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "maxCharCount",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMaximum number of characters to display before truncating.\nWhen content exceeds this limit, it will be replaced with charReplacement value.\nUseful for displaying large numbers in a compact format (e.g., \"99+\" for values over 99).\n",
                    "description": "<p>Maximum number of characters to display before truncating.\nWhen content exceeds this limit, it will be replaced with charReplacement value.\nUseful for displaying large numbers in a compact format (e.g., &quot;99+&quot; for values over 99).</p>\n",
                    "line": 132,
                    "type": "number",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 164,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "content",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 160,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'contentRef'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "hasContentUpdated",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 162,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "role",
                    "defaultValue": "'status'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 122,
                    "rawdescription": "",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 3671,
                            "end": 3712,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3672,
                                "end": 3683,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>ARIA role for accessibility</p>\n"
                        }
                    ]
                },
                {
                    "name": "updatedContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 163,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 168,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onContentChanged",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 182,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles content changes and triggers content checking\n",
                    "description": "<p>Handles content changes and triggers content checking</p>\n",
                    "jsdoctags": []
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'status'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3671,
                            "end": 3712,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3672,
                                "end": 3683,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>ARIA role for accessibility</p>\n"
                        }
                    ],
                    "rawdescription": "",
                    "description": "",
                    "line": 122,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2991,
                            "end": 3103,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2992,
                                "end": 3003,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the badge based on its current state</p>\n"
                        },
                        {
                            "pos": 3103,
                            "end": 3168,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3104,
                                "end": 3111,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 3112,
                                "end": 3120,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 3113,
                                    "end": 3119,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the badge based on its current state\n\n",
                    "description": "<p>Computes and returns the CSS classes for the badge based on its current state</p>\n",
                    "line": 109,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "ObserversModule",
                    "type": "module"
                }
            ],
            "description": "<p>A badge component that can display text, numbers, or icons with various states and styles.\nSupports content truncation, empty states, and icon-only modes.</p>\n<h4>Basic badge</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-badge&gt;99&lt;/eui-badge&gt;</code></pre></div><h4>Badge with semantic variants</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-badge euiSuccess&gt;Active&lt;/eui-badge&gt;\n&lt;eui-badge euiDanger&gt;Error&lt;/eui-badge&gt;</code></pre></div><h4>Badge with icon</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-icon-svg icon=&quot;eui-email&quot;&gt;\n  &lt;eui-badge euiDanger euiSizeS&gt;9&lt;/eui-badge&gt;\n&lt;/eui-icon-svg&gt;</code></pre></div><h4>Badge with button</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;button euiButton euiPrimary&gt;\n  Primary\n  &lt;span euiBadge&gt;99&lt;/span&gt;\n&lt;/button&gt;</code></pre></div><h4>Badge with truncation</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-badge [maxCharCount]=&quot;2&quot; charReplacement=&quot;99+&quot;&gt;150&lt;/eui-badge&gt;</code></pre></div><h4>Icon-only badge (dot indicator)</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-badge [euiIconBadge]=&quot;true&quot; euiDanger&gt;&lt;/eui-badge&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses role=&quot;status&quot; for screen reader announcements</li>\n<li>aria-label provides context (defaults to &quot;badge&quot;)</li>\n<li>Content is automatically announced by screen readers</li>\n<li>Truncated content shows replacement text to all users</li>\n<li>Empty badges are visually indicated with special styling</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Size variants: euiSizeS, euiSizeM (default)</li>\n<li>Color variants: euiPrimary, euiSecondary, euiSuccess, euiInfo, euiWarning, euiDanger</li>\n<li>maxCharCount truncates content when exceeded, showing charReplacement (default: &quot;99+&quot;)</li>\n<li>euiIconBadge creates a small dot indicator without text</li>\n<li>euiDottedBadge applies dotted styling variant</li>\n<li>Empty badges (no content) automatically receive special styling</li>\n<li>colorPalette accepts custom color palette names for extended theming</li>\n<li>euiOutline adds border outline styling</li>\n<li>Can be used as element (eui-badge) or attribute (div[euiBadge], span[euiBadge])</li>\n</ul>\n",
            "rawdescription": "\n\nA badge component that can display text, numbers, or icons with various states and styles.\nSupports content truncation, empty states, and icon-only modes.\n\n#### Basic badge\n```html\n<eui-badge>99</eui-badge>\n```\n\n#### Badge with semantic variants\n```html\n<eui-badge euiSuccess>Active</eui-badge>\n<eui-badge euiDanger>Error</eui-badge>\n```\n\n#### Badge with icon\n```html\n<eui-icon-svg icon=\"eui-email\">\n  <eui-badge euiDanger euiSizeS>9</eui-badge>\n</eui-icon-svg>\n```\n\n#### Badge with button\n```html\n<button euiButton euiPrimary>\n  Primary\n  <span euiBadge>99</span>\n</button>\n```\n\n#### Badge with truncation\n```html\n<eui-badge [maxCharCount]=\"2\" charReplacement=\"99+\">150</eui-badge>\n```\n\n#### Icon-only badge (dot indicator)\n```html\n<eui-badge [euiIconBadge]=\"true\" euiDanger></eui-badge>\n```\n\n### Accessibility\n- Uses role=\"status\" for screen reader announcements\n- aria-label provides context (defaults to \"badge\")\n- Content is automatically announced by screen readers\n- Truncated content shows replacement text to all users\n- Empty badges are visually indicated with special styling\n\n### Notes\n- Size variants: euiSizeS, euiSizeM (default)\n- Color variants: euiPrimary, euiSecondary, euiSuccess, euiInfo, euiWarning, euiDanger\n- maxCharCount truncates content when exceeded, showing charReplacement (default: \"99+\")\n- euiIconBadge creates a small dot indicator without text\n- euiDottedBadge applies dotted styling variant\n- Empty badges (no content) automatically receive special styling\n- colorPalette accepts custom color palette names for extended theming\n- euiOutline adds border outline styling\n- Can be used as element (eui-badge) or attribute (div[euiBadge], span[euiBadge])\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ChangeDetectionStrategy,\n    Input,\n    ViewChild,\n    ElementRef,\n    AfterViewInit,\n    ChangeDetectorRef,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { ObserversModule } from '@angular/cdk/observers';\n\n/**\n * @description\n * A badge component that can display text, numbers, or icons with various states and styles.\n * Supports content truncation, empty states, and icon-only modes.\n * \n * @usageNotes\n * #### Basic badge\n * ```html\n * <eui-badge>99</eui-badge>\n * ```\n *\n * #### Badge with semantic variants\n * ```html\n * <eui-badge euiSuccess>Active</eui-badge>\n * <eui-badge euiDanger>Error</eui-badge>\n * ```\n *\n * #### Badge with icon\n * ```html\n * <eui-icon-svg icon=\"eui-email\">\n *   <eui-badge euiDanger euiSizeS>9</eui-badge>\n * </eui-icon-svg>\n * ```\n *\n * #### Badge with button\n * ```html\n * <button euiButton euiPrimary>\n *   Primary\n *   <span euiBadge>99</span>\n * </button>\n * ```\n *\n * #### Badge with truncation\n * ```html\n * <eui-badge [maxCharCount]=\"2\" charReplacement=\"99+\">150</eui-badge>\n * ```\n *\n * #### Icon-only badge (dot indicator)\n * ```html\n * <eui-badge [euiIconBadge]=\"true\" euiDanger></eui-badge>\n * ```\n *\n * ### Accessibility\n * - Uses role=\"status\" for screen reader announcements\n * - aria-label provides context (defaults to \"badge\")\n * - Content is automatically announced by screen readers\n * - Truncated content shows replacement text to all users\n * - Empty badges are visually indicated with special styling\n *\n * ### Notes\n * - Size variants: euiSizeS, euiSizeM (default)\n * - Color variants: euiPrimary, euiSecondary, euiSuccess, euiInfo, euiWarning, euiDanger\n * - maxCharCount truncates content when exceeded, showing charReplacement (default: \"99+\")\n * - euiIconBadge creates a small dot indicator without text\n * - euiDottedBadge applies dotted styling variant\n * - Empty badges (no content) automatically receive special styling\n * - colorPalette accepts custom color palette names for extended theming\n * - euiOutline adds border outline styling\n * - Can be used as element (eui-badge) or attribute (div[euiBadge], span[euiBadge])\n */\n@Component({\n    selector: 'div[euiBadge], span[euiBadge], eui-badge',\n    templateUrl: './eui-badge.component.html',\n    styleUrl: './eui-badge.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [ObserversModule],\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                'euiSizeM',\n                'euiSizeVariant',\n                'euiOutline',\n            ],\n        },\n    ],\n})\nexport class EuiBadgeComponent implements AfterViewInit {\n    /**\n     * @description\n     * Computes and returns the CSS classes for the badge based on its current state\n     *\n     * @returns {string} Space-separated string of CSS class names\n     */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-badge'),\n            !this.hasContent ? 'eui-badge--empty' : '',\n            this.euiIconBadge ? 'eui-badge--icon-only' : '',\n            this.colorPalette ? `eui-badge--${this.colorPalette}` : '',\n        ].join(' ').trim();\n    }\n\n    /** @description Data attribute for e2e testing */\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-badge';\n\n    /** @description ARIA role for accessibility */\n    @HostBinding('attr.role') role = 'status';\n\n    /** @description ARIA label for accessibility */\n    @HostBinding('attr.aria-label') @Input('aria-label') ariaLabel: string | null = 'badge';\n\n    /**\n     * Maximum number of characters to display before truncating.\n     * When content exceeds this limit, it will be replaced with charReplacement value.\n     * Useful for displaying large numbers in a compact format (e.g., \"99+\" for values over 99).\n     */\n    @Input() maxCharCount: number;\n\n    /**\n     * String to display when content is truncated due to maxCharCount.\n     * @default '99+'\n     */\n    @Input() charReplacement: string;\n\n    /**\n     * Whether the badge contains only an icon (displays as a small dot indicator).\n     * When true, no text content is shown, creating a minimal status indicator.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiIconBadge = false;\n\n    /**\n     * Whether to display the badge with dotted styling variant.\n     * Applies alternative visual treatment to the badge.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiDottedBadge = false;\n\n    /**\n     * Extra color palette to be used on the badge.\n     * Accepts custom color palette names for extended theming beyond standard variants.\n     */\n    @Input() colorPalette: string;\n\n    @ViewChild('contentRef') content: ElementRef;\n\n    protected hasContentUpdated = false;\n    protected updatedContent: string;\n    protected baseStatesDirective = inject(BaseStatesDirective);\n    private cdRef = inject(ChangeDetectorRef);\n    private hasContent = true;\n\n    ngAfterViewInit(): void {\n        setTimeout(() => {\n            const innerHtml = this.content.nativeElement.innerHTML;\n            if (!innerHtml || (innerHtml && innerHtml.trim() === '')) {\n                this.hasContent = false;\n            }\n            this._checkContent();\n        }, 1);\n    }\n\n    /**\n     * @description\n     * Handles content changes and triggers content checking\n     */\n    onContentChanged(): void {\n        this._checkContent();\n    }\n\n    /**\n     * @description\n     * Checks if content exceeds maxCharCount and updates content if necessary\n     * @private\n     */\n    private _checkContent(): void {\n        if (this.maxCharCount) {\n            const contentText = this.content.nativeElement.outerText;\n            if (contentText && contentText.length > this.maxCharCount) {\n                this.hasContentUpdated = true;\n                this.updatedContent = this.charReplacement || '99+';\n                this.cdRef.markForCheck();\n            }\n        }\n    }\n}\n",
            "styleUrl": "./eui-badge.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterViewInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 109,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the badge based on its current state\n\n",
                        "description": "<p>Computes and returns the CSS classes for the badge based on its current state</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 2991,
                                "end": 3103,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2992,
                                    "end": 3003,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the badge based on its current state</p>\n"
                            },
                            {
                                "pos": 3103,
                                "end": 3168,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 3104,
                                    "end": 3111,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 3112,
                                    "end": 3120,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 3113,
                                        "end": 3119,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            },
            "templateData": "@if (hasContentUpdated) {\n    <span class=\"eui-badge-wrapper\">\n        {{ updatedContent }}\n    </span>\n} @else {\n    <span class=\"eui-badge-wrapper\" #contentRef (cdkObserveContent)=\"onContentChanged()\">\n        <ng-content></ng-content>\n    </span>\n}\n"
        },
        {
            "name": "EuiBannerComponent",
            "id": "component-EuiBannerComponent-720abcc47f7a99340e91878a7505c680351a88831e00fe88c122c18721f54721c16edf45f9f4cb5523b58b0d21963d6a80d6a9b9c971cd15c496f2c1ab26921c",
            "file": "packages/components/eui-banner/eui-banner.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-banner",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-banner.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiSizeS",
                        "euiSizeM",
                        "euiSizeL",
                        "euiSizeVariant",
                        "euiOutline"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-banner'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3472,
                            "end": 3499,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3473,
                                "end": 3480,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-banner&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nData attribute value for end-to-end testing identification.\nApplied as data-e2e attribute on the host element.\n",
                    "description": "<p>Data attribute value for end-to-end testing identification.\nApplied as data-e2e attribute on the host element.</p>\n",
                    "line": 101,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiInverse",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4218,
                            "end": 4238,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4219,
                                "end": 4226,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nApplies inverse color scheme to the banner.\nWhen true, uses light text on dark background for better contrast with images.\n",
                    "description": "<p>Applies inverse color scheme to the banner.\nWhen true, uses light text on dark background for better contrast with images.</p>\n",
                    "line": 122,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiPositionCenter",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3967,
                            "end": 3987,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3968,
                                "end": 3975,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nPositions the banner content at the center of the banner area.\nWhen true, vertically centers content within the banner.\n",
                    "description": "<p>Positions the banner content at the center of the banner area.\nWhen true, vertically centers content within the banner.</p>\n",
                    "line": 115,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiPositionTop",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3722,
                            "end": 3742,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3723,
                                "end": 3730,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nPositions the banner content at the top of the banner area.\nWhen true, aligns content to the top with appropriate spacing.\n",
                    "description": "<p>Positions the banner content at the top of the banner area.\nWhen true, aligns content to the top with appropriate spacing.</p>\n",
                    "line": 108,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "imageUrl",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nURL path to the banner background image.\nWhen provided, displays the image as the banner background.\nOptional.\n",
                    "description": "<p>URL path to the banner background image.\nWhen provided, displays the image as the banner background.\nOptional.</p>\n",
                    "line": 136,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isVideoBanner",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4479,
                            "end": 4499,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4480,
                                "end": 4487,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables video banner mode for displaying video backgrounds.\nWhen true, configures banner to support video content instead of static images.\n",
                    "description": "<p>Enables video banner mode for displaying video backgrounds.\nWhen true, configures banner to support video content instead of static images.</p>\n",
                    "line": 129,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 138,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 87,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Banner component for displaying prominent content sections with images or videos across the full width of a page.\nProvides flexible positioning options (top, center, bottom) and supports inverse color schemes.\nCan display static images or video backgrounds with content overlay.\nSupports size variants (S, M, L) and outline styling through <code>BaseStatesDirective</code>.</p>\n<h4>Basic banner with image</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-banner imageUrl=&quot;https://example.com/image.jpg&quot;&gt;\n  &lt;eui-banner-title&gt;Welcome&lt;/eui-banner-title&gt;\n  &lt;eui-banner-description&gt;Discover our services&lt;/eui-banner-description&gt;\n&lt;/eui-banner&gt;</code></pre></div><h4>Banner with CTA and positioning</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-banner imageUrl=&quot;image.jpg&quot; [euiPositionCenter]=&quot;true&quot; [euiInverse]=&quot;true&quot;&gt;\n  &lt;eui-banner-title&gt;Get Started&lt;/eui-banner-title&gt;\n  &lt;eui-banner-description&gt;Join us today&lt;/eui-banner-description&gt;\n  &lt;eui-banner-cta&gt;\n    &lt;button euiButton euiCTAButton&gt;Sign Up&lt;/button&gt;\n  &lt;/eui-banner-cta&gt;\n&lt;/eui-banner&gt;</code></pre></div><h4>Video banner</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-banner [isVideoBanner]=&quot;true&quot; euiSizeL&gt;\n  &lt;eui-banner-video&gt;\n    &lt;video autoplay loop muted&gt;\n      &lt;source src=&quot;video.mp4&quot; type=&quot;video/mp4&quot;&gt;\n    &lt;/video&gt;\n  &lt;/eui-banner-video&gt;\n  &lt;eui-banner-title&gt;Innovation&lt;/eui-banner-title&gt;\n&lt;/eui-banner&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>No ARIA landmark role assigned; banner is a visual component</li>\n<li>Ensure banner images have meaningful content or are decorative</li>\n<li>Use euiInverse for better text contrast on dark images</li>\n<li>Video content should include captions when containing important information</li>\n<li>CTA buttons should have descriptive labels</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Size variants: euiSizeS, euiSizeM (default), euiSizeL control banner height</li>\n<li>Position options: euiPositionTop, euiPositionCenter (default is bottom)</li>\n<li>euiInverse applies light text on dark background for better image contrast</li>\n<li>imageUrl displays static background image</li>\n<li>isVideoBanner enables video background mode, use with eui-banner-video</li>\n<li>euiOutline adds border outline styling</li>\n<li>Content is overlaid on background image/video</li>\n<li>Typically contains eui-banner-title, eui-banner-description, and optionally eui-banner-cta</li>\n</ul>\n",
            "rawdescription": "\n\nBanner component for displaying prominent content sections with images or videos across the full width of a page.\nProvides flexible positioning options (top, center, bottom) and supports inverse color schemes.\nCan display static images or video backgrounds with content overlay.\nSupports size variants (S, M, L) and outline styling through `BaseStatesDirective`.\n\n#### Basic banner with image\n```html\n<eui-banner imageUrl=\"https://example.com/image.jpg\">\n  <eui-banner-title>Welcome</eui-banner-title>\n  <eui-banner-description>Discover our services</eui-banner-description>\n</eui-banner>\n```\n\n#### Banner with CTA and positioning\n```html\n<eui-banner imageUrl=\"image.jpg\" [euiPositionCenter]=\"true\" [euiInverse]=\"true\">\n  <eui-banner-title>Get Started</eui-banner-title>\n  <eui-banner-description>Join us today</eui-banner-description>\n  <eui-banner-cta>\n    <button euiButton euiCTAButton>Sign Up</button>\n  </eui-banner-cta>\n</eui-banner>\n```\n\n#### Video banner\n```html\n<eui-banner [isVideoBanner]=\"true\" euiSizeL>\n  <eui-banner-video>\n    <video autoplay loop muted>\n      <source src=\"video.mp4\" type=\"video/mp4\">\n    </video>\n  </eui-banner-video>\n  <eui-banner-title>Innovation</eui-banner-title>\n</eui-banner>\n```\n\n### Accessibility\n- No ARIA landmark role assigned; banner is a visual component\n- Ensure banner images have meaningful content or are decorative\n- Use euiInverse for better text contrast on dark images\n- Video content should include captions when containing important information\n- CTA buttons should have descriptive labels\n\n### Notes\n- Size variants: euiSizeS, euiSizeM (default), euiSizeL control banner height\n- Position options: euiPositionTop, euiPositionCenter (default is bottom)\n- euiInverse applies light text on dark background for better image contrast\n- imageUrl displays static background image\n- isVideoBanner enables video background mode, use with eui-banner-video\n- euiOutline adds border outline styling\n- Content is overlaid on background image/video\n- Typically contains eui-banner-title, eui-banner-description, and optionally eui-banner-cta\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ChangeDetectionStrategy,\n    Input,\n    inject,\n    booleanAttribute,\n} from '@angular/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n/**\n * @description\n * Banner component for displaying prominent content sections with images or videos across the full width of a page.\n * Provides flexible positioning options (top, center, bottom) and supports inverse color schemes.\n * Can display static images or video backgrounds with content overlay.\n * Supports size variants (S, M, L) and outline styling through `BaseStatesDirective`.\n * \n * @usageNotes\n * #### Basic banner with image\n * ```html\n * <eui-banner imageUrl=\"https://example.com/image.jpg\">\n *   <eui-banner-title>Welcome</eui-banner-title>\n *   <eui-banner-description>Discover our services</eui-banner-description>\n * </eui-banner>\n * ```\n *\n * #### Banner with CTA and positioning\n * ```html\n * <eui-banner imageUrl=\"image.jpg\" [euiPositionCenter]=\"true\" [euiInverse]=\"true\">\n *   <eui-banner-title>Get Started</eui-banner-title>\n *   <eui-banner-description>Join us today</eui-banner-description>\n *   <eui-banner-cta>\n *     <button euiButton euiCTAButton>Sign Up</button>\n *   </eui-banner-cta>\n * </eui-banner>\n * ```\n *\n * #### Video banner\n * ```html\n * <eui-banner [isVideoBanner]=\"true\" euiSizeL>\n *   <eui-banner-video>\n *     <video autoplay loop muted>\n *       <source src=\"video.mp4\" type=\"video/mp4\">\n *     </video>\n *   </eui-banner-video>\n *   <eui-banner-title>Innovation</eui-banner-title>\n * </eui-banner>\n * ```\n *\n * ### Accessibility\n * - No ARIA landmark role assigned; banner is a visual component\n * - Ensure banner images have meaningful content or are decorative\n * - Use euiInverse for better text contrast on dark images\n * - Video content should include captions when containing important information\n * - CTA buttons should have descriptive labels\n *\n * ### Notes\n * - Size variants: euiSizeS, euiSizeM (default), euiSizeL control banner height\n * - Position options: euiPositionTop, euiPositionCenter (default is bottom)\n * - euiInverse applies light text on dark background for better image contrast\n * - imageUrl displays static background image\n * - isVideoBanner enables video background mode, use with eui-banner-video\n * - euiOutline adds border outline styling\n * - Content is overlaid on background image/video\n * - Typically contains eui-banner-title, eui-banner-description, and optionally eui-banner-cta\n */\n@Component({\n    selector: 'eui-banner',\n    templateUrl: './eui-banner.component.html',\n    styleUrl: './eui-banner.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSizeS',\n                'euiSizeM',\n                'euiSizeL',\n                'euiSizeVariant',\n                'euiOutline',\n            ],\n        },\n    ],\n})\nexport class EuiBannerComponent {\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-banner'),\n            this.euiPositionTop ? 'eui-banner--top': '',\n            this.euiPositionCenter ? 'eui-banner--center': '',\n            this.euiInverse ? 'eui-banner--inverse': '',\n        ].join(' ').trim();\n    }\n\n    /**\n     * Data attribute value for end-to-end testing identification.\n     * Applied as data-e2e attribute on the host element.\n     * @default 'eui-banner'\n     */\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-banner';\n\n    /**\n     * Positions the banner content at the top of the banner area.\n     * When true, aligns content to the top with appropriate spacing.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiPositionTop = false;    \n\n    /**\n     * Positions the banner content at the center of the banner area.\n     * When true, vertically centers content within the banner.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiPositionCenter = false;    \n\n    /**\n     * Applies inverse color scheme to the banner.\n     * When true, uses light text on dark background for better contrast with images.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiInverse = false;    \n\n    /**\n     * Enables video banner mode for displaying video backgrounds.\n     * When true, configures banner to support video content instead of static images.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isVideoBanner = false;    \n\n    /**\n     * URL path to the banner background image.\n     * When provided, displays the image as the banner background.\n     * Optional.\n     */\n    @Input() imageUrl: string;\n\n    protected baseStatesDirective = inject(BaseStatesDirective);\n}\n",
            "styleUrl": "./eui-banner.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 87
                    }
                }
            },
            "templateData": "@if (imageUrl) {\n    <figure class=\"eui-banner__picture-container\" aria-hidden=\"true\">\n        <picture class=\"eui-banner__picture\">\n            <img class=\"eui-banner__image\" src=\"{{imageUrl}}\" alt=\"\">\n        </picture>\n    </figure>\n} @else {\n    <ng-content select=\"eui-banner-video\"/>\n}\n\n<div class=\"eui-banner__info\">\n    <div class=\"eui-banner__container\">\n        <ng-content select=\"eui-banner-title\"/>\n        <ng-content select=\"eui-banner-description\"/>\n        <ng-content select=\"eui-banner-cta\"/>\n    </div>\n</div>"
        },
        {
            "name": "EuiBannerCtaComponent",
            "id": "component-EuiBannerCtaComponent-d01d0693007b3c6a709e1daf9d6220eff004e6cfadc7a71e8a04d4b723e938cbd957e661ce1e729d1c8051c8778c7c5b6af77a3619ac941b15c1d8d17de24f44",
            "file": "packages/components/eui-banner/eui-banner-cta.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-banner-cta",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-banner-cta'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 44,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1518,
                            "end": 1549,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1519,
                                "end": 1526,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-banner-cta&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-banner-cta'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1518,
                            "end": 1549,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1519,
                                "end": 1526,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-banner-cta&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 44,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Content projection component for displaying call-to-action elements within eui-banner.\nProvides consistent styling and positioning for action buttons or links in banner contexts.\nMust be used as a child of eui-banner component.\nTypically contains buttons, links, or other interactive elements that prompt user action.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-banner imageUrl=&quot;image.jpg&quot;&gt;\n  &lt;eui-banner-title&gt;Join Us&lt;/eui-banner-title&gt;\n  &lt;eui-banner-description&gt;Be part of something great&lt;/eui-banner-description&gt;\n  &lt;eui-banner-cta&gt;\n    &lt;button euiButton euiCTAButton&gt;Get Started&lt;/button&gt;\n  &lt;/eui-banner-cta&gt;\n&lt;/eui-banner&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>CTA buttons should have descriptive, action-oriented labels</li>\n<li>Interactive elements are keyboard accessible</li>\n<li>Ensure sufficient contrast for buttons on banner backgrounds</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be direct child of eui-banner component</li>\n<li>Typically placed after title and description</li>\n<li>Can contain buttons, links, or button groups</li>\n<li>Automatically positioned according to banner layout</li>\n<li>Works with euiInverse for proper button styling on dark backgrounds</li>\n</ul>\n",
            "rawdescription": "\n\nContent projection component for displaying call-to-action elements within eui-banner.\nProvides consistent styling and positioning for action buttons or links in banner contexts.\nMust be used as a child of eui-banner component.\nTypically contains buttons, links, or other interactive elements that prompt user action.\n\n```html\n<eui-banner imageUrl=\"image.jpg\">\n  <eui-banner-title>Join Us</eui-banner-title>\n  <eui-banner-description>Be part of something great</eui-banner-description>\n  <eui-banner-cta>\n    <button euiButton euiCTAButton>Get Started</button>\n  </eui-banner-cta>\n</eui-banner>\n```\n\n### Accessibility\n- CTA buttons should have descriptive, action-oriented labels\n- Interactive elements are keyboard accessible\n- Ensure sufficient contrast for buttons on banner backgrounds\n\n### Notes\n- Must be direct child of eui-banner component\n- Typically placed after title and description\n- Can contain buttons, links, or button groups\n- Automatically positioned according to banner layout\n- Works with euiInverse for proper button styling on dark backgrounds\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * Content projection component for displaying call-to-action elements within eui-banner.\n * Provides consistent styling and positioning for action buttons or links in banner contexts.\n * Must be used as a child of eui-banner component.\n * Typically contains buttons, links, or other interactive elements that prompt user action.\n * \n * @usageNotes\n * ```html\n * <eui-banner imageUrl=\"image.jpg\">\n *   <eui-banner-title>Join Us</eui-banner-title>\n *   <eui-banner-description>Be part of something great</eui-banner-description>\n *   <eui-banner-cta>\n *     <button euiButton euiCTAButton>Get Started</button>\n *   </eui-banner-cta>\n * </eui-banner>\n * ```\n *\n * ### Accessibility\n * - CTA buttons should have descriptive, action-oriented labels\n * - Interactive elements are keyboard accessible\n * - Ensure sufficient contrast for buttons on banner backgrounds\n *\n * ### Notes\n * - Must be direct child of eui-banner component\n * - Typically placed after title and description\n * - Can contain buttons, links, or button groups\n * - Automatically positioned according to banner layout\n * - Works with euiInverse for proper button styling on dark backgrounds\n */\n@Component({\n    selector: 'eui-banner-cta',\n    template: '<ng-content/>',\n    styleUrl: './eui-banner-cta.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiBannerCtaComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-banner-cta'\n     */\n    @HostBinding('class') string = 'eui-banner-cta';\n}\n",
            "styleUrl": "./eui-banner-cta.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiBannerDescriptionComponent",
            "id": "component-EuiBannerDescriptionComponent-77a6cea6134263898526fcf020d4b0c4e5ea34425bedb620ff5b9683414b96cce219334db5e28638fad579ca2e13eb9c7fdfce6600c5b99a064202d4dc9b7d4a",
            "file": "packages/components/eui-banner/eui-banner-description.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-banner-description",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-banner-description'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 43,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1406,
                            "end": 1445,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1407,
                                "end": 1414,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-banner-description&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-banner-description'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1406,
                            "end": 1445,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1407,
                                "end": 1414,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-banner-description&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 43,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Content projection component for displaying descriptive text within eui-banner.\nProvides consistent typography and styling for banner description content.\nMust be used as a child of eui-banner component.\nAccepts text, paragraphs, or inline elements through content projection.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-banner imageUrl=&quot;image.jpg&quot;&gt;\n  &lt;eui-banner-title&gt;Innovation Hub&lt;/eui-banner-title&gt;\n  &lt;eui-banner-description&gt;\n    Explore cutting-edge solutions and collaborate with experts.\n  &lt;/eui-banner-description&gt;\n&lt;/eui-banner&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Description text is readable by screen readers after title</li>\n<li>Provides additional context about banner content</li>\n<li>Ensure sufficient contrast with background images</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be direct child of eui-banner component</li>\n<li>Typically placed after eui-banner-title</li>\n<li>Styled as secondary/body text</li>\n<li>Automatically adapts to banner size variants</li>\n<li>Works with euiInverse for light text on dark backgrounds</li>\n</ul>\n",
            "rawdescription": "\n\nContent projection component for displaying descriptive text within eui-banner.\nProvides consistent typography and styling for banner description content.\nMust be used as a child of eui-banner component.\nAccepts text, paragraphs, or inline elements through content projection.\n\n```html\n<eui-banner imageUrl=\"image.jpg\">\n  <eui-banner-title>Innovation Hub</eui-banner-title>\n  <eui-banner-description>\n    Explore cutting-edge solutions and collaborate with experts.\n  </eui-banner-description>\n</eui-banner>\n```\n\n### Accessibility\n- Description text is readable by screen readers after title\n- Provides additional context about banner content\n- Ensure sufficient contrast with background images\n\n### Notes\n- Must be direct child of eui-banner component\n- Typically placed after eui-banner-title\n- Styled as secondary/body text\n- Automatically adapts to banner size variants\n- Works with euiInverse for light text on dark backgrounds\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * Content projection component for displaying descriptive text within eui-banner.\n * Provides consistent typography and styling for banner description content.\n * Must be used as a child of eui-banner component.\n * Accepts text, paragraphs, or inline elements through content projection.\n * \n * @usageNotes\n * ```html\n * <eui-banner imageUrl=\"image.jpg\">\n *   <eui-banner-title>Innovation Hub</eui-banner-title>\n *   <eui-banner-description>\n *     Explore cutting-edge solutions and collaborate with experts.\n *   </eui-banner-description>\n * </eui-banner>\n * ```\n *\n * ### Accessibility\n * - Description text is readable by screen readers after title\n * - Provides additional context about banner content\n * - Ensure sufficient contrast with background images\n *\n * ### Notes\n * - Must be direct child of eui-banner component\n * - Typically placed after eui-banner-title\n * - Styled as secondary/body text\n * - Automatically adapts to banner size variants\n * - Works with euiInverse for light text on dark backgrounds\n */\n@Component({\n    selector: 'eui-banner-description',\n    template: '<ng-content/>',\n    styleUrl: './eui-banner-description.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiBannerDescriptionComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-banner-description'\n     */\n    @HostBinding('class') string = 'eui-banner-description';\n}\n",
            "styleUrl": "./eui-banner-description.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiBannerTitleComponent",
            "id": "component-EuiBannerTitleComponent-e1e143fc59ad700d48ece5f9c4ee7488884573918bcd8a7dc3c57bccd8b42e556348dd17759e27deee9522b535eda68e71ea4ec4c0286ef01cce48c4a7836949",
            "file": "packages/components/eui-banner/eui-banner-title.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-banner-title",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-banner-title'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 40,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1296,
                            "end": 1329,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1297,
                                "end": 1304,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-banner-title&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-banner-title'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1296,
                            "end": 1329,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1297,
                                "end": 1304,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-banner-title&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 40,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Content projection component for displaying the title within eui-banner.\nProvides consistent typography and styling for banner title text.\nMust be used as a child of eui-banner component.\nAccepts text or inline elements through content projection.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-banner imageUrl=&quot;image.jpg&quot;&gt;\n  &lt;eui-banner-title&gt;Welcome to Our Platform&lt;/eui-banner-title&gt;\n  &lt;eui-banner-description&gt;Start your journey today&lt;/eui-banner-description&gt;\n&lt;/eui-banner&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Title text is readable by screen readers in natural order</li>\n<li>Use concise, descriptive titles that convey banner purpose</li>\n<li>Ensure sufficient contrast with background when using images</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be direct child of eui-banner component</li>\n<li>Styled as prominent heading text</li>\n<li>Automatically adapts to banner size variants</li>\n<li>Works with euiInverse for light text on dark backgrounds</li>\n</ul>\n",
            "rawdescription": "\n\nContent projection component for displaying the title within eui-banner.\nProvides consistent typography and styling for banner title text.\nMust be used as a child of eui-banner component.\nAccepts text or inline elements through content projection.\n\n```html\n<eui-banner imageUrl=\"image.jpg\">\n  <eui-banner-title>Welcome to Our Platform</eui-banner-title>\n  <eui-banner-description>Start your journey today</eui-banner-description>\n</eui-banner>\n```\n\n### Accessibility\n- Title text is readable by screen readers in natural order\n- Use concise, descriptive titles that convey banner purpose\n- Ensure sufficient contrast with background when using images\n\n### Notes\n- Must be direct child of eui-banner component\n- Styled as prominent heading text\n- Automatically adapts to banner size variants\n- Works with euiInverse for light text on dark backgrounds\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * Content projection component for displaying the title within eui-banner.\n * Provides consistent typography and styling for banner title text.\n * Must be used as a child of eui-banner component.\n * Accepts text or inline elements through content projection.\n * \n * @usageNotes\n * ```html\n * <eui-banner imageUrl=\"image.jpg\">\n *   <eui-banner-title>Welcome to Our Platform</eui-banner-title>\n *   <eui-banner-description>Start your journey today</eui-banner-description>\n * </eui-banner>\n * ```\n *\n * ### Accessibility\n * - Title text is readable by screen readers in natural order\n * - Use concise, descriptive titles that convey banner purpose\n * - Ensure sufficient contrast with background when using images\n *\n * ### Notes\n * - Must be direct child of eui-banner component\n * - Styled as prominent heading text\n * - Automatically adapts to banner size variants\n * - Works with euiInverse for light text on dark backgrounds\n */\n@Component({\n    selector: 'eui-banner-title',\n    template: '<ng-content/>',\n    styleUrl: './eui-banner-title.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiBannerTitleComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-banner-title'\n     */\n    @HostBinding('class') string = 'eui-banner-title';\n}\n",
            "styleUrl": "./eui-banner-title.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiBannerVideoComponent",
            "id": "component-EuiBannerVideoComponent-77ac9aac33ef753240086e40bdb0d3dedf7afe9029ffd740abe96a3acf9a4bb28c8124335136c465e3cb5becb1ecc74645eed165eb0e93d2e22693674c5fbcc8",
            "file": "packages/components/eui-banner/eui-banner-video.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-banner-video",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-banner-video'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 50,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1819,
                            "end": 1852,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1820,
                                "end": 1827,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-banner-video&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-banner-video'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1819,
                            "end": 1852,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1820,
                                "end": 1827,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-banner-video&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 50,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Content projection component for embedding video content within eui-banner.\nProvides consistent styling and layout for video elements in banner contexts.\nMust be used as a child of eui-banner component with isVideoBanner enabled.\nAccepts any video-related content through content projection.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-banner [isVideoBanner]=&quot;true&quot; euiSizeL&gt;\n  &lt;eui-banner-video&gt;\n    &lt;video poster=&quot;thumbnail.jpg&quot; autoplay loop muted&gt;\n      &lt;source src=&quot;video.mp4&quot; type=&quot;video/mp4&quot;&gt;\n    &lt;/video&gt;\n  &lt;/eui-banner-video&gt;\n  &lt;eui-banner-title&gt;Innovation in Action&lt;/eui-banner-title&gt;\n  &lt;eui-banner-description&gt;Watch our story unfold&lt;/eui-banner-description&gt;\n&lt;/eui-banner&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Video should include captions for users with hearing impairments</li>\n<li>Provide poster image for video thumbnail</li>\n<li>Use muted attribute for autoplay videos to comply with accessibility guidelines</li>\n<li>Consider providing alternative text description of video content</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be direct child of eui-banner component</li>\n<li>Parent banner should have isVideoBanner set to true</li>\n<li>Video element should include poster attribute for initial display</li>\n<li>Use autoplay, loop, and muted attributes for background videos</li>\n<li>Video is displayed as full-width background</li>\n<li>Content (title, description) overlays the video</li>\n<li>Consider video file size and format for performance</li>\n</ul>\n",
            "rawdescription": "\n\nContent projection component for embedding video content within eui-banner.\nProvides consistent styling and layout for video elements in banner contexts.\nMust be used as a child of eui-banner component with isVideoBanner enabled.\nAccepts any video-related content through content projection.\n\n```html\n<eui-banner [isVideoBanner]=\"true\" euiSizeL>\n  <eui-banner-video>\n    <video poster=\"thumbnail.jpg\" autoplay loop muted>\n      <source src=\"video.mp4\" type=\"video/mp4\">\n    </video>\n  </eui-banner-video>\n  <eui-banner-title>Innovation in Action</eui-banner-title>\n  <eui-banner-description>Watch our story unfold</eui-banner-description>\n</eui-banner>\n```\n\n### Accessibility\n- Video should include captions for users with hearing impairments\n- Provide poster image for video thumbnail\n- Use muted attribute for autoplay videos to comply with accessibility guidelines\n- Consider providing alternative text description of video content\n\n### Notes\n- Must be direct child of eui-banner component\n- Parent banner should have isVideoBanner set to true\n- Video element should include poster attribute for initial display\n- Use autoplay, loop, and muted attributes for background videos\n- Video is displayed as full-width background\n- Content (title, description) overlays the video\n- Consider video file size and format for performance\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * @description\n * Content projection component for embedding video content within eui-banner.\n * Provides consistent styling and layout for video elements in banner contexts.\n * Must be used as a child of eui-banner component with isVideoBanner enabled.\n * Accepts any video-related content through content projection.\n * \n * @usageNotes\n * ```html\n * <eui-banner [isVideoBanner]=\"true\" euiSizeL>\n *   <eui-banner-video>\n *     <video poster=\"thumbnail.jpg\" autoplay loop muted>\n *       <source src=\"video.mp4\" type=\"video/mp4\">\n *     </video>\n *   </eui-banner-video>\n *   <eui-banner-title>Innovation in Action</eui-banner-title>\n *   <eui-banner-description>Watch our story unfold</eui-banner-description>\n * </eui-banner>\n * ```\n *\n * ### Accessibility\n * - Video should include captions for users with hearing impairments\n * - Provide poster image for video thumbnail\n * - Use muted attribute for autoplay videos to comply with accessibility guidelines\n * - Consider providing alternative text description of video content\n *\n * ### Notes\n * - Must be direct child of eui-banner component\n * - Parent banner should have isVideoBanner set to true\n * - Video element should include poster attribute for initial display\n * - Use autoplay, loop, and muted attributes for background videos\n * - Video is displayed as full-width background\n * - Content (title, description) overlays the video\n * - Consider video file size and format for performance\n */\n@Component({\n    selector: 'eui-banner-video',\n    template: '<ng-content/>',\n    styleUrl: './eui-banner-video.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiBannerVideoComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-banner-video'\n     */\n    @HostBinding('class') string = 'eui-banner-video';\n}\n",
            "styleUrl": "./eui-banner-video.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiBlockContentComponent",
            "id": "component-EuiBlockContentComponent-dec107f43ce1f655ad8f29226a5c193b6ebb15331f76b971a6cf0f1681eaf8dd7b6cda90a5a00bf74927a697bae4e92462165e20ca2d69274ecb735c2b6d95d6",
            "file": "packages/components/eui-block-content/eui-block-content.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "host": {},
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-block-content",
            "styleUrls": [
                "./eui-block-content.scss"
            ],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "ariaLabel",
                    "defaultValue": "'block content wrapper'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>ARIA label for the content wrapper</p>\n",
                    "line": 88,
                    "rawdescription": "\n\nARIA label for the content wrapper\n",
                    "jsdoctags": [
                        {
                            "pos": 2436,
                            "end": 2474,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2437,
                                "end": 2444,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;block content wrapper&#39;</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "isBlocked",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether the content is currently blocked\nWhen true, focused elements within will be blurred and state saved</p>\n",
                    "line": 95,
                    "rawdescription": "\n\nWhether the content is currently blocked\nWhen true, focused elements within will be blurred and state saved\n",
                    "jsdoctags": [
                        {
                            "pos": 2671,
                            "end": 2691,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2672,
                                "end": 2679,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "role",
                    "defaultValue": "'region'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>ARIA role for the content wrapper</p>\n",
                    "line": 82,
                    "rawdescription": "\n\nARIA role for the content wrapper\n",
                    "jsdoctags": [
                        {
                            "pos": 2316,
                            "end": 2339,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2317,
                                "end": 2324,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;region&#39;</p>\n"
                        }
                    ],
                    "required": false
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "cssClasses",
                    "defaultValue": "computed(() => [\n        'eui-block-content',\n        this.isBlocked() ? 'eui-block-content--blocked' : '',\n    ].join(' ').trim())",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 97
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Component that wraps content and manages focus state when content is blocked.\nProvides accessibility attributes and handles focus restoration when blocking/unblocking.</p>\n<h4>Basic blocked content</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-block-content [isBlocked]=&quot;isLoading&quot;&gt;\n  &lt;form&gt;\n    &lt;input type=&quot;text&quot; /&gt;\n    &lt;button&gt;Submit&lt;/button&gt;\n  &lt;/form&gt;\n&lt;/eui-block-content&gt;</code></pre></div><h4>With custom ARIA attributes</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-block-content\n  role=&quot;region&quot;\n  ariaLabel=&quot;User profile section&quot;\n  [isBlocked]=&quot;isSaving&quot;&gt;\n  &lt;div&gt;Content that can be blocked&lt;/div&gt;\n&lt;/eui-block-content&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">isLoading = true;\n\nloadData(): void {\n  this.isLoading = true;\n  this.service.getData().subscribe(() =&gt; {\n    this.isLoading = false;\n  });\n}</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Automatically blurs focused elements when content is blocked</li>\n<li>Restores focus to previously focused element when unblocked</li>\n<li>Uses ARIA role and label for screen reader context</li>\n<li>Prevents keyboard interaction with blocked content</li>\n<li>Focus management ensures users don&#39;t interact with disabled content</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use isBlocked to control blocking state (typically tied to loading/saving states)</li>\n<li>Default role is &#39;region&#39;, can be customized via role input</li>\n<li>Default ariaLabel is &#39;block content wrapper&#39;, should be customized for context</li>\n<li>Focus is automatically saved and restored during block/unblock transitions</li>\n<li>Blocked state applies visual styling (typically overlay or disabled appearance)</li>\n<li>Commonly used with loading indicators or during async operations</li>\n<li>Does not prevent programmatic changes, only user interaction</li>\n</ul>\n",
            "rawdescription": "\n\nComponent that wraps content and manages focus state when content is blocked.\nProvides accessibility attributes and handles focus restoration when blocking/unblocking.\n\n#### Basic blocked content\n```html\n<eui-block-content [isBlocked]=\"isLoading\">\n  <form>\n    <input type=\"text\" />\n    <button>Submit</button>\n  </form>\n</eui-block-content>\n```\n\n#### With custom ARIA attributes\n```html\n<eui-block-content\n  role=\"region\"\n  ariaLabel=\"User profile section\"\n  [isBlocked]=\"isSaving\">\n  <div>Content that can be blocked</div>\n</eui-block-content>\n```\n\n```ts\nisLoading = true;\n\nloadData(): void {\n  this.isLoading = true;\n  this.service.getData().subscribe(() => {\n    this.isLoading = false;\n  });\n}\n```\n\n### Accessibility\n- Automatically blurs focused elements when content is blocked\n- Restores focus to previously focused element when unblocked\n- Uses ARIA role and label for screen reader context\n- Prevents keyboard interaction with blocked content\n- Focus management ensures users don't interact with disabled content\n\n### Notes\n- Use isBlocked to control blocking state (typically tied to loading/saving states)\n- Default role is 'region', can be customized via role input\n- Default ariaLabel is 'block content wrapper', should be customized for context\n- Focus is automatically saved and restored during block/unblock transitions\n- Blocked state applies visual styling (typically overlay or disabled appearance)\n- Commonly used with loading indicators or during async operations\n- Does not prevent programmatic changes, only user interaction\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    ElementRef,\n    Renderer2,\n    ChangeDetectionStrategy,\n    booleanAttribute,\n    inject,\n    input,\n    effect,\n    computed,\n} from '@angular/core';\n\n/**\n * @description\n * Component that wraps content and manages focus state when content is blocked.\n * Provides accessibility attributes and handles focus restoration when blocking/unblocking.\n *\n * @usageNotes\n * #### Basic blocked content\n * ```html\n * <eui-block-content [isBlocked]=\"isLoading\">\n *   <form>\n *     <input type=\"text\" />\n *     <button>Submit</button>\n *   </form>\n * </eui-block-content>\n * ```\n *\n * #### With custom ARIA attributes\n * ```html\n * <eui-block-content\n *   role=\"region\"\n *   ariaLabel=\"User profile section\"\n *   [isBlocked]=\"isSaving\">\n *   <div>Content that can be blocked</div>\n * </eui-block-content>\n * ```\n *\n * ```ts\n * isLoading = true;\n *\n * loadData(): void {\n *   this.isLoading = true;\n *   this.service.getData().subscribe(() => {\n *     this.isLoading = false;\n *   });\n * }\n * ```\n *\n * ### Accessibility\n * - Automatically blurs focused elements when content is blocked\n * - Restores focus to previously focused element when unblocked\n * - Uses ARIA role and label for screen reader context\n * - Prevents keyboard interaction with blocked content\n * - Focus management ensures users don't interact with disabled content\n *\n * ### Notes\n * - Use isBlocked to control blocking state (typically tied to loading/saving states)\n * - Default role is 'region', can be customized via role input\n * - Default ariaLabel is 'block content wrapper', should be customized for context\n * - Focus is automatically saved and restored during block/unblock transitions\n * - Blocked state applies visual styling (typically overlay or disabled appearance)\n * - Commonly used with loading indicators or during async operations\n * - Does not prevent programmatic changes, only user interaction\n */\n@Component({\n    selector: 'eui-block-content',\n    template: '<ng-content/>',\n    styleUrls: ['./eui-block-content.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    host: {\n        '[class]': 'cssClasses()',\n        '[attr.role]': 'role()',\n        '[attr.aria-label]': 'ariaLabel()',\n    },\n})\nexport class EuiBlockContentComponent {\n    /**\n     * ARIA role for the content wrapper\n     * @default 'region'\n     */\n    role = input<string>('region');\n\n    /**\n     * ARIA label for the content wrapper\n     * @default 'block content wrapper'\n     */\n    ariaLabel = input<string>('block content wrapper');\n\n    /**\n     * Whether the content is currently blocked\n     * When true, focused elements within will be blurred and state saved\n     * @default false\n     */\n    isBlocked = input(false, { transform: booleanAttribute });\n\n    cssClasses = computed(() => [\n        'eui-block-content',\n        this.isBlocked() ? 'eui-block-content--blocked' : '',\n    ].join(' ').trim());\n\n    private lastActiveElement: HTMLElement | null = null;\n    private elRef = inject(ElementRef);\n    private renderer = inject(Renderer2);\n    private previousBlocked = false;\n\n    constructor() {\n        effect(() => {\n            const blocked = this.isBlocked();\n            const activeElement = this.getActiveElement();\n\n            if (blocked && !this.previousBlocked) {\n                this.deactivateElement(activeElement);\n            } else if (!blocked && this.previousBlocked) {\n                this.reactivateElement(this.lastActiveElement);\n            }\n\n            this.previousBlocked = blocked;\n        });\n    }\n\n    /**\n     * Removes focus from the currently focused element when blocking\n     * Stores the element reference for later restoration\n     *\n     * @param activeElement - The currently focused element\n     */\n    private deactivateElement(activeElement: HTMLElement | null): void {\n        if (activeElement) {\n            this.renderer.selectRootElement(activeElement, true).blur();\n            this.lastActiveElement = activeElement;\n        } else {\n            this.lastActiveElement = null;\n        }\n    }\n\n    /**\n     * Restores focus to the previously focused element when unblocking\n     *\n     * @param element - The element that was previously focused\n     */\n    private reactivateElement(element: HTMLElement | null): void {\n        if (element) {\n            this.renderer.selectRootElement(element, true).focus();\n        }\n    }\n\n    /**\n     * Finds the currently focused element within the block content\n     *\n     * @returns The currently focused HTMLElement or null if none found\n     */\n    private getActiveElement(): HTMLElement | null {\n        return this.elRef.nativeElement.querySelector(':focus');\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": ".eui-21 {\n    :host.eui-block-content {\n        display: block;\n        position: relative;\n    }\n    :host.eui-block-content--blocked {\n        min-height: 114px; // see EUI-9960\n    }\n\n    :host.eui-block-content--blocked::before {\n        border-top: var(--eui-s-3xs) solid currentcolor;\n        border-right: var(--eui-s-3xs) solid currentcolor;\n        border-bottom-style: solid;\n        border-left-style: solid;\n        border-radius: var(--eui-br-max);\n        border-bottom-width: var(--eui-s-3xs);\n        border-left-width: var(--eui-s-3xs);\n        border-bottom-color: var(--eui-c-secondary-border-light);\n        border-left-color: var(--eui-c-secondary-border-light);\n        color: var(--eui-c-primary-base);\n        -webkit-animation: spin 0.65s linear infinite;\n        animation: spin 0.65s linear infinite;\n        display: block;\n        height: 80px;\n        left: 50%;\n        margin: -40px 0 0 -40px;\n        top: 50%;\n        content: \"\";\n        position: absolute;\n        width: 80px;\n        z-index: var(--eui-zi-overlay);\n    }\n\n    :host.eui-block-content--blocked::after {\n        background-color: rgba(255, 255, 255, 0.4);\n        content: '';\n        height: 100%;\n        left: 0;\n        position: absolute;\n        top: 0;\n        width: 100%;\n    }\n}\n\n",
                    "styleUrl": "./eui-block-content.scss"
                }
            ],
            "stylesData": "",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 105
            },
            "extends": []
        },
        {
            "name": "EuiBlockDocumentComponent",
            "id": "component-EuiBlockDocumentComponent-b1bdb8b63ecd9b992c35bde01ccc531dd731a7259019cddcd16a65c6f38dfe7d21dcff1a63b72c0898aecc8160e1c73e6d38d897461d920720c8d3bdf94aab6f",
            "file": "packages/components/eui-block-document/eui-block-document.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-block-document",
            "styleUrls": [
                "./eui-block-document.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-block-document.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "ariaLabel",
                    "defaultValue": "'eUI Block Document'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3036,
                            "end": 3071,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3037,
                                "end": 3044,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eUI Block Document&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nARIA label for the document component.\n\n",
                    "description": "<p>ARIA label for the document component.</p>\n",
                    "line": 95,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isBlocked",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2740,
                            "end": 2760,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2741,
                                "end": 2748,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls whether the document is in blocked state.\nWhen true, displays the loading indicator.\n\n",
                    "description": "<p>Controls whether the document is in blocked state.\nWhen true, displays the loading indicator.</p>\n",
                    "line": 81,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "role",
                    "defaultValue": "'region'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>ARIA role for the document component.</p>\n",
                    "line": 88,
                    "rawdescription": "\n\nARIA role for the document component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 2894,
                            "end": 2917,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2895,
                                "end": 2902,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;region&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'region'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2894,
                            "end": 2917,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2895,
                                "end": 2902,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;region&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nARIA role for the document component.\n\n",
                    "description": "<p>ARIA role for the document component.</p>\n",
                    "line": 88,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2347,
                            "end": 2399,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2348,
                                "end": 2355,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>String of space-separated CSS classes</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nApplies CSS classes to the host element.\nAlways includes 'eui-block-document' and conditionally adds\n'eui-block-document--blocked' when isBlocked is true.\n\n",
                    "description": "<p>Applies CSS classes to the host element.\nAlways includes &#39;eui-block-document&#39; and conditionally adds\n&#39;eui-block-document--blocked&#39; when isBlocked is true.</p>\n",
                    "line": 68,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>EuiBlockDocumentComponent creates a document overlay that can be toggled into\na blocked state. When blocked, a loading indicator is displayed.\nUses OnPush change detection strategy for better performance.</p>\n<h4>Typically placed at app root level</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-block-document [isBlocked]=&quot;isProcessing&quot;&gt;&lt;/eui-block-document&gt;</code></pre></div><h4>Trigger blocking from component</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;button euiButton (click)=&quot;blockDocument()&quot;&gt;Process Data&lt;/button&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">import { EuiAppShellService } from &#39;&#64;eui/core&#39;;\n\nprivate appShellService = inject(EuiAppShellService);\nisProcessing = false;\n\nblockDocument(): void {\n  this.appShellService.isBlockDocumentActive = true;\n\n  // Simulate async operation\n  setTimeout(() =&gt; {\n    this.appShellService.isBlockDocumentActive = false;\n  }, 2000);\n}</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses role=&quot;region&quot; for semantic landmark identification</li>\n<li>aria-label provides context about the blocked state</li>\n<li>Loading indicator is announced to screen readers</li>\n<li>Prevents interaction with underlying content when blocked</li>\n<li>Focus is trapped within the overlay during blocked state</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Typically controlled via EuiAppShellService.isBlockDocumentActive property</li>\n<li>Creates full-page overlay when isBlocked is true</li>\n<li>Displays loading spinner automatically during blocked state</li>\n<li>Should be placed at application root level for full document coverage</li>\n<li>Use for long-running operations that require blocking entire UI</li>\n<li>Different from eui-block-content which blocks specific sections</li>\n<li>Automatically handles z-index to appear above all content</li>\n<li>Consider user experience - use sparingly for truly blocking operations</li>\n</ul>\n",
            "rawdescription": "\n\nEuiBlockDocumentComponent creates a document overlay that can be toggled into\na blocked state. When blocked, a loading indicator is displayed.\nUses OnPush change detection strategy for better performance.\n\n#### Typically placed at app root level\n```html\n<eui-block-document [isBlocked]=\"isProcessing\"></eui-block-document>\n```\n\n#### Trigger blocking from component\n```html\n<button euiButton (click)=\"blockDocument()\">Process Data</button>\n```\n\n```ts\nimport { EuiAppShellService } from '@eui/core';\n\nprivate appShellService = inject(EuiAppShellService);\nisProcessing = false;\n\nblockDocument(): void {\n  this.appShellService.isBlockDocumentActive = true;\n\n  // Simulate async operation\n  setTimeout(() => {\n    this.appShellService.isBlockDocumentActive = false;\n  }, 2000);\n}\n```\n\n### Accessibility\n- Uses role=\"region\" for semantic landmark identification\n- aria-label provides context about the blocked state\n- Loading indicator is announced to screen readers\n- Prevents interaction with underlying content when blocked\n- Focus is trapped within the overlay during blocked state\n\n### Notes\n- Typically controlled via EuiAppShellService.isBlockDocumentActive property\n- Creates full-page overlay when isBlocked is true\n- Displays loading spinner automatically during blocked state\n- Should be placed at application root level for full document coverage\n- Use for long-running operations that require blocking entire UI\n- Different from eui-block-content which blocks specific sections\n- Automatically handles z-index to appear above all content\n- Consider user experience - use sparingly for truly blocking operations\n",
            "type": "component",
            "sourceCode": "import { Component, Input, ChangeDetectionStrategy, HostBinding, booleanAttribute } from '@angular/core';\n\n/**\n * @description\n * EuiBlockDocumentComponent creates a document overlay that can be toggled into\n * a blocked state. When blocked, a loading indicator is displayed.\n * Uses OnPush change detection strategy for better performance.\n * \n * @usageNotes\n * #### Typically placed at app root level\n * ```html\n * <eui-block-document [isBlocked]=\"isProcessing\"></eui-block-document>\n * ```\n *\n * #### Trigger blocking from component\n * ```html\n * <button euiButton (click)=\"blockDocument()\">Process Data</button>\n * ```\n * \n * ```ts\n * import { EuiAppShellService } from '@eui/core';\n * \n * private appShellService = inject(EuiAppShellService);\n * isProcessing = false;\n * \n * blockDocument(): void {\n *   this.appShellService.isBlockDocumentActive = true;\n *   \n *   // Simulate async operation\n *   setTimeout(() => {\n *     this.appShellService.isBlockDocumentActive = false;\n *   }, 2000);\n * }\n * ```\n *\n * ### Accessibility\n * - Uses role=\"region\" for semantic landmark identification\n * - aria-label provides context about the blocked state\n * - Loading indicator is announced to screen readers\n * - Prevents interaction with underlying content when blocked\n * - Focus is trapped within the overlay during blocked state\n *\n * ### Notes\n * - Typically controlled via EuiAppShellService.isBlockDocumentActive property\n * - Creates full-page overlay when isBlocked is true\n * - Displays loading spinner automatically during blocked state\n * - Should be placed at application root level for full document coverage\n * - Use for long-running operations that require blocking entire UI\n * - Different from eui-block-content which blocks specific sections\n * - Automatically handles z-index to appear above all content\n * - Consider user experience - use sparingly for truly blocking operations\n */\n@Component({\n    selector: 'eui-block-document',\n    templateUrl: './eui-block-document.component.html',\n    styleUrls: ['./eui-block-document.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiBlockDocumentComponent {\n    /**\n     * Applies CSS classes to the host element.\n     * Always includes 'eui-block-document' and conditionally adds\n     * 'eui-block-document--blocked' when isBlocked is true.\n     *\n     * @returns String of space-separated CSS classes\n     */\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-block-document',\n            this.isBlocked ? 'eui-block-document--blocked' : '',\n        ].join(' ').trim();\n    }\n\n    /**\n     * Controls whether the document is in blocked state.\n     * When true, displays the loading indicator.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isBlocked = false;\n\n    /**\n     * ARIA role for the document component.\n     *\n     * @default 'region'\n     */\n    @HostBinding('attr.role') role = 'region';\n\n    /**\n     * ARIA label for the document component.\n     *\n     * @default 'eUI Block Document'\n     */\n    @Input() @HostBinding('attr.aria-label') ariaLabel = 'eUI Block Document'\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": ".eui-21 {\n    :host.eui-block-document {\n        .eui-block-document__loader {\n            display: none;\n        }\n    }\n\n    :host.eui-block-document--blocked {\n        .eui-block-document__loader {\n            bottom: 0;\n            display: block;\n            left: 0;\n            margin: auto;\n            overflow: show;\n            position: fixed;\n            right: 0;\n            top: 0;\n            z-index: var(--eui-zi-block-document);    // Must be over the dimmer, must be over the cdk-overlay-container (10010)\n\n            &::before {\n                background-color: rgba(0, 0, 0, 0.1);\n                content: '';\n                display: block;\n                height: 100%;\n                left: 0;\n                position: fixed;\n                top: 0;\n                width: 100%;\n            }\n\n            &:not(:required) {\n                background-color: transparent;\n                border: var(--eui-bw-none);\n                color: transparent;\n                font: 0/0 a;\n                text-shadow: none;\n            }\n\n            &:not(:required)::after {\n                border-top: var(--eui-s-xs) solid currentcolor;\n                border-right: var(--eui-s-xs) solid currentcolor;\n                border-bottom-style: solid;\n                border-left-style: solid;\n                border-radius: var(--eui-br-max);\n                border-bottom-width: var(--eui-s-xs);\n                border-left-width: var(--eui-s-xs);\n                border-bottom-color: rgba(0, 0, 0, 0.2); // var(--eui-c-divider);\n                border-left-color: rgba(0, 0, 0, 0.2); //var(--eui-c-divider);\n                color: var(--eui-c-primary-base);\n                -webkit-animation: spin 0.65s linear infinite;\n                animation: spin 0.65s linear infinite;\n                display: block;\n                left: 50%;\n                margin: -40px 0 0 -40px;\n                top: 50%;\n                content: \"\";\n                position: absolute;\n                height: 120px;\n                width: 120px;\n            }\n        }\n    }\n}\n",
                    "styleUrl": "./eui-block-document.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 68,
                        "rawdescription": "\n\nApplies CSS classes to the host element.\nAlways includes 'eui-block-document' and conditionally adds\n'eui-block-document--blocked' when isBlocked is true.\n\n",
                        "description": "<p>Applies CSS classes to the host element.\nAlways includes &#39;eui-block-document&#39; and conditionally adds\n&#39;eui-block-document--blocked&#39; when isBlocked is true.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 2347,
                                "end": 2399,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2348,
                                    "end": 2355,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>String of space-separated CSS classes</p>\n"
                            }
                        ]
                    }
                }
            },
            "templateData": "<div class=\"eui-block-document__loader\"></div>\n"
        },
        {
            "name": "EuiBreadcrumbComponent",
            "id": "component-EuiBreadcrumbComponent-032b5d00f5603817810e2a4dd082cce619ef5bf7b113f9878ed3ca632c92632adaf6d67f6c2c2010799cbb074c5dd3d46f2c4f816190390fc228695150a62180",
            "file": "packages/components/eui-breadcrumb/breadcrumb.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-breadcrumb",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./breadcrumb.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-breadcrumb'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 72,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 88,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 101,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-breadcrumb'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 72,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p><code>eui-breadcrumb</code> navigation component displaying hierarchical page location with linked path segments.\nAutomatically manages relationships between <code>eui-breadcrumb</code> items for proper navigation flow.\nDetects and coordinates child EuiBreadcrumbItemComponent instances through content projection.\nProvides semantic navigation structure with automatic previous/next item linking.\nTypically used for showing user location within site hierarchy and enabling quick navigation to parent pages.</p>\n<h4>Basic breadcrumb navigation</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-breadcrumb&gt;\n  &lt;eui-breadcrumb-item link=&quot;/&quot; iconSvgName=&quot;home:outline&quot; ariaLabel=&quot;Home&quot;&gt;&lt;/eui-breadcrumb-item&gt;\n  &lt;eui-breadcrumb-item link=&quot;/products&quot; label=&quot;Products&quot;&gt;&lt;/eui-breadcrumb-item&gt;\n  &lt;eui-breadcrumb-item link=&quot;/products/electronics&quot; label=&quot;Electronics&quot;&gt;&lt;/eui-breadcrumb-item&gt;\n  &lt;eui-breadcrumb-item label=&quot;Laptops&quot;&gt;&lt;/eui-breadcrumb-item&gt;\n&lt;/eui-breadcrumb&gt;</code></pre></div><h4>With navigation extras</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-breadcrumb&gt;\n  &lt;eui-breadcrumb-item link=&quot;/&quot; iconSvgName=&quot;home:outline&quot;&gt;&lt;/eui-breadcrumb-item&gt;\n  &lt;eui-breadcrumb-item\n    link=&quot;/services&quot;\n    label=&quot;Services&quot;\n    [navigationExtras]=&quot;{ queryParams: { page: 1 } }&quot;&gt;\n  &lt;/eui-breadcrumb-item&gt;\n&lt;/eui-breadcrumb&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Provides semantic navigation structure for screen readers</li>\n<li>Each item is keyboard accessible and focusable</li>\n<li>ARIA labels on icons provide context for screen reader users</li>\n<li>Current page (last item) is typically not linked</li>\n<li>Separators between items are handled automatically</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must contain eui-breadcrumb-item children for proper functionality</li>\n<li>Automatically establishes previous/next relationships between items</li>\n<li>Items are rendered in the order they appear in the template</li>\n<li>Last item typically represents current page and should not have a link</li>\n<li>Supports responsive behavior with automatic item collapsing</li>\n<li>Uses Angular Router for navigation when links are provided</li>\n<li>External URLs (starting with &#39;http&#39;) open in same window</li>\n</ul>\n",
            "rawdescription": "\n\n`eui-breadcrumb` navigation component displaying hierarchical page location with linked path segments.\nAutomatically manages relationships between `eui-breadcrumb` items for proper navigation flow.\nDetects and coordinates child EuiBreadcrumbItemComponent instances through content projection.\nProvides semantic navigation structure with automatic previous/next item linking.\nTypically used for showing user location within site hierarchy and enabling quick navigation to parent pages.\n\n#### Basic breadcrumb navigation\n```html\n<eui-breadcrumb>\n  <eui-breadcrumb-item link=\"/\" iconSvgName=\"home:outline\" ariaLabel=\"Home\"></eui-breadcrumb-item>\n  <eui-breadcrumb-item link=\"/products\" label=\"Products\"></eui-breadcrumb-item>\n  <eui-breadcrumb-item link=\"/products/electronics\" label=\"Electronics\"></eui-breadcrumb-item>\n  <eui-breadcrumb-item label=\"Laptops\"></eui-breadcrumb-item>\n</eui-breadcrumb>\n```\n\n#### With navigation extras\n```html\n<eui-breadcrumb>\n  <eui-breadcrumb-item link=\"/\" iconSvgName=\"home:outline\"></eui-breadcrumb-item>\n  <eui-breadcrumb-item\n    link=\"/services\"\n    label=\"Services\"\n    [navigationExtras]=\"{ queryParams: { page: 1 } }\">\n  </eui-breadcrumb-item>\n</eui-breadcrumb>\n```\n\n### Accessibility\n- Provides semantic navigation structure for screen readers\n- Each item is keyboard accessible and focusable\n- ARIA labels on icons provide context for screen reader users\n- Current page (last item) is typically not linked\n- Separators between items are handled automatically\n\n### Notes\n- Must contain eui-breadcrumb-item children for proper functionality\n- Automatically establishes previous/next relationships between items\n- Items are rendered in the order they appear in the template\n- Last item typically represents current page and should not have a link\n- Supports responsive behavior with automatic item collapsing\n- Uses Angular Router for navigation when links are provided\n- External URLs (starting with 'http') open in same window\n",
            "type": "component",
            "sourceCode": "import {\n    AfterContentInit,\n    Component,\n    ChangeDetectionStrategy,\n    ContentChildren,\n    forwardRef,\n    HostBinding,\n    QueryList,\n    ViewContainerRef,\n    ViewChild,\n    OnDestroy,\n    inject,\n} from '@angular/core';\nimport { EuiBreadcrumbItemComponent } from './item/breadcrumb-item.component';\nimport { startWith, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\n/**\n * @description\n * `eui-breadcrumb` navigation component displaying hierarchical page location with linked path segments.\n * Automatically manages relationships between `eui-breadcrumb` items for proper navigation flow.\n * Detects and coordinates child EuiBreadcrumbItemComponent instances through content projection.\n * Provides semantic navigation structure with automatic previous/next item linking.\n * Typically used for showing user location within site hierarchy and enabling quick navigation to parent pages.\n * \n * @usageNotes\n * #### Basic breadcrumb navigation\n * ```html\n * <eui-breadcrumb>\n *   <eui-breadcrumb-item link=\"/\" iconSvgName=\"home:outline\" ariaLabel=\"Home\"></eui-breadcrumb-item>\n *   <eui-breadcrumb-item link=\"/products\" label=\"Products\"></eui-breadcrumb-item>\n *   <eui-breadcrumb-item link=\"/products/electronics\" label=\"Electronics\"></eui-breadcrumb-item>\n *   <eui-breadcrumb-item label=\"Laptops\"></eui-breadcrumb-item>\n * </eui-breadcrumb>\n * ```\n *\n * #### With navigation extras\n * ```html\n * <eui-breadcrumb>\n *   <eui-breadcrumb-item link=\"/\" iconSvgName=\"home:outline\"></eui-breadcrumb-item>\n *   <eui-breadcrumb-item \n *     link=\"/services\" \n *     label=\"Services\"\n *     [navigationExtras]=\"{ queryParams: { page: 1 } }\">\n *   </eui-breadcrumb-item>\n * </eui-breadcrumb>\n * ```\n *\n * ### Accessibility\n * - Provides semantic navigation structure for screen readers\n * - Each item is keyboard accessible and focusable\n * - ARIA labels on icons provide context for screen reader users\n * - Current page (last item) is typically not linked\n * - Separators between items are handled automatically\n *\n * ### Notes\n * - Must contain eui-breadcrumb-item children for proper functionality\n * - Automatically establishes previous/next relationships between items\n * - Items are rendered in the order they appear in the template\n * - Last item typically represents current page and should not have a link\n * - Supports responsive behavior with automatic item collapsing\n * - Uses Angular Router for navigation when links are provided\n * - External URLs (starting with 'http') open in same window\n */\n@Component({\n    selector: 'eui-breadcrumb',\n    templateUrl: './breadcrumb.component.html',\n    styleUrl: './breadcrumb.component.scss',\n    changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class EuiBreadcrumbComponent implements AfterContentInit, OnDestroy {\n    @HostBinding('class') string = 'eui-breadcrumb';\n\n    /** Query list of breadcrumb items occurrences on the content */\n    @ContentChildren(forwardRef(() => EuiBreadcrumbItemComponent), { descendants: false })\n    private breadcrumbItems: QueryList<EuiBreadcrumbItemComponent>;\n\n    @ViewChild('vcr', { read: ViewContainerRef })\n    private vcr: ViewContainerRef;\n\n    private destroy$: Subject<void> = new Subject<void>();\n\n    /** Observable emitting when the breadcrumb Items List has changed */\n    private breadcrumbItemsListChanged: Subject<void> = new Subject<void>();\n\n    private viewContainerRef = inject(ViewContainerRef);\n\n    ngAfterContentInit(): void {\n        this.breadcrumbItems.changes.pipe(takeUntil(this.destroy$), startWith(true)).subscribe((changes) => {\n            if (changes instanceof QueryList) {\n                this.breadcrumbItems = changes;\n                this.breadcrumbItemsListChanged.next();\n            }\n            this.breadcrumbItems.forEach((item, index, array) => {\n                item.setPrevious(array[index - 1]);\n                item.setNext(array[index + 1]);\n            });\n        });\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next();\n        this.destroy$.unsubscribe();\n    }\n}\n",
            "styleUrl": "./breadcrumb.component.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterContentInit",
                "OnDestroy"
            ],
            "templateData": "<ng-container #vcr>\n    <ng-content></ng-content>\n</ng-container>\n"
        },
        {
            "name": "EuiBreadcrumbItemComponent",
            "id": "component-EuiBreadcrumbItemComponent-c3db144109899d099be5b92c4594e265689c8bc4e267bb977bff921ab93d3878a192e9ad517c40279fa21d1d9e7a673f13637d5d9223d8510ee5eba6fb805199",
            "file": "packages/components/eui-breadcrumb/item/breadcrumb-item.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-breadcrumb-item",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "breadcrumb-item.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "ariaLabel",
                    "defaultValue": "'Breadcrumb item icon'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3817,
                            "end": 3854,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3818,
                                "end": 3825,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;Breadcrumb item icon&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nARIA label for the breadcrumb item icon for accessibility.\nProvides screen reader description of the icon.\n",
                    "description": "<p>ARIA label for the breadcrumb item icon for accessibility.\nProvides screen reader description of the icon.</p>\n",
                    "line": 113,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "iconSvgName",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSVG icon name displayed alongside the breadcrumb label.\nFollows EUI icon naming convention (e.g., 'home:outline').\nOptional.\n",
                    "description": "<p>SVG icon name displayed alongside the breadcrumb label.\nFollows EUI icon naming convention (e.g., &#39;home:outline&#39;).\nOptional.</p>\n",
                    "line": 106,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUnique identifier for the breadcrumb item.\nAutomatically generated if not provided.\nOptional.\n",
                    "description": "<p>Unique identifier for the breadcrumb item.\nAutomatically generated if not provided.\nOptional.</p>\n",
                    "line": 92,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nText label displayed for the breadcrumb item.\nMay be truncated if too long to fit available space.\nRequired for item display.\n",
                    "description": "<p>Text label displayed for the breadcrumb item.\nMay be truncated if too long to fit available space.\nRequired for item display.</p>\n",
                    "line": 99,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "link",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nNavigation target for the breadcrumb item.\nSupports Angular Router commands (array), URL string, or null to disable link.\nString starting with 'http' opens as external URL.\nOptional - when null/undefined, item is not clickable.\n",
                    "description": "<p>Navigation target for the breadcrumb item.\nSupports Angular Router commands (array), URL string, or null to disable link.\nString starting with &#39;http&#39; opens as external URL.\nOptional - when null/undefined, item is not clickable.</p>\n",
                    "line": 123,
                    "type": "string | any[]",
                    "decorators": []
                },
                {
                    "name": "navigationExtras",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nAdditional navigation options passed to Angular Router.\nSupports query params, fragments, state, and other NavigationExtras properties.\nOptional.\n",
                    "description": "<p>Additional navigation options passed to Angular Router.\nSupports query params, fragments, state, and other NavigationExtras properties.\nOptional.</p>\n",
                    "line": 130,
                    "type": "NavigationExtras",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "collapsed",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>state of breadcrumb item in case of collapsed</p>\n",
                    "line": 137,
                    "rawdescription": "\nstate of breadcrumb item in case of collapsed"
                },
                {
                    "name": "elementRef",
                    "defaultValue": "inject(ElementRef)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 138
                },
                {
                    "name": "hasNext",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 134
                },
                {
                    "name": "hasPrevious",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 133
                },
                {
                    "name": "string",
                    "defaultValue": "'eui-breadcrumb-item'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 85,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "width",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>calculated item width</p>\n",
                    "line": 132,
                    "rawdescription": "\ncalculated item width"
                }
            ],
            "methodsClass": [
                {
                    "name": "destroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 160,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 154,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 147,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onClick",
                    "args": [],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 193,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nA callback to navigate to the given link using ng-router.\n\n",
                    "description": "<p>A callback to navigate to the given link using ng-router.</p>\n",
                    "jsdoctags": []
                },
                {
                    "name": "setNext",
                    "args": [
                        {
                            "name": "breadcrumbItem",
                            "type": "EuiBreadcrumbItemComponent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 180,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the next breadcrumb item in the navigation chain.\nCalled internally by parent eui-breadcrumb component to establish item relationships.\n",
                    "description": "<p>Sets the next breadcrumb item in the navigation chain.\nCalled internally by parent eui-breadcrumb component to establish item relationships.</p>\n",
                    "jsdoctags": [
                        {
                            "name": "breadcrumbItem",
                            "type": "EuiBreadcrumbItemComponent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "setPrevious",
                    "args": [
                        {
                            "name": "breadcrumbItem",
                            "type": "EuiBreadcrumbItemComponent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 168,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the previous breadcrumb item in the navigation chain.\nCalled internally by parent eui-breadcrumb component to establish item relationships.\n",
                    "description": "<p>Sets the previous breadcrumb item in the navigation chain.\nCalled internally by parent eui-breadcrumb component to establish item relationships.</p>\n",
                    "jsdoctags": [
                        {
                            "name": "breadcrumbItem",
                            "type": "EuiBreadcrumbItemComponent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-breadcrumb-item'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 85,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "RouterModule",
                    "type": "module"
                },
                {
                    "name": "PortalModule",
                    "type": "module"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_ICON_BUTTON"
                }
            ],
            "description": "<p>Individual breadcrumb item component representing a single segment in the breadcrumb navigation path.\nProvides clickable navigation links with optional icons and automatic relationship management with adjacent items.\nSupports Angular Router navigation with both internal routes and external URLs.\nAutomatically generates unique IDs when not provided and manages collapsed state for responsive layouts.\nUsed within eui-breadcrumb container for hierarchical navigation display.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-breadcrumb&gt;\n  &lt;!-- Home with icon only --&gt;\n  &lt;eui-breadcrumb-item\n    link=&quot;/&quot;\n    iconSvgName=&quot;home:outline&quot;\n    ariaLabel=&quot;Home&quot;&gt;\n  &lt;/eui-breadcrumb-item&gt;\n\n  &lt;!-- Standard item with label --&gt;\n  &lt;eui-breadcrumb-item\n    link=&quot;/products&quot;\n    label=&quot;Products&quot;&gt;\n  &lt;/eui-breadcrumb-item&gt;\n\n  &lt;!-- Item with navigation extras --&gt;\n  &lt;eui-breadcrumb-item\n    link=&quot;/products/search&quot;\n    label=&quot;Search Results&quot;\n    [navigationExtras]=&quot;{ queryParams: { q: &#39;laptop&#39; } }&quot;&gt;\n  &lt;/eui-breadcrumb-item&gt;\n\n  &lt;!-- Current page (no link) --&gt;\n  &lt;eui-breadcrumb-item label=&quot;Product Details&quot;&gt;&lt;/eui-breadcrumb-item&gt;\n&lt;/eui-breadcrumb&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Each item is keyboard accessible with Enter/Space activation</li>\n<li>ariaLabel provides screen reader context for icon-only items</li>\n<li>Non-linked items (current page) are not focusable</li>\n<li>Label text is announced by screen readers</li>\n<li>Icon and label combination provides visual and semantic meaning</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-breadcrumb parent component</li>\n<li>id is auto-generated if not provided</li>\n<li>link supports string URLs, Angular Router commands (array), or null for non-clickable items</li>\n<li>External URLs (starting with &#39;http&#39;) open in same window</li>\n<li>navigationExtras passes options to Angular Router (queryParams, fragment, etc.)</li>\n<li>iconSvgName follows EUI icon naming convention</li>\n<li>Last item in breadcrumb typically has no link (represents current page)</li>\n<li>Label may be truncated in responsive layouts</li>\n<li>Previous/next relationships are managed automatically by parent component</li>\n</ul>\n",
            "rawdescription": "\n\nIndividual breadcrumb item component representing a single segment in the breadcrumb navigation path.\nProvides clickable navigation links with optional icons and automatic relationship management with adjacent items.\nSupports Angular Router navigation with both internal routes and external URLs.\nAutomatically generates unique IDs when not provided and manages collapsed state for responsive layouts.\nUsed within eui-breadcrumb container for hierarchical navigation display.\n\n```html\n<eui-breadcrumb>\n  <!-- Home with icon only -->\n  <eui-breadcrumb-item\n    link=\"/\"\n    iconSvgName=\"home:outline\"\n    ariaLabel=\"Home\">\n  </eui-breadcrumb-item>\n\n  <!-- Standard item with label -->\n  <eui-breadcrumb-item\n    link=\"/products\"\n    label=\"Products\">\n  </eui-breadcrumb-item>\n\n  <!-- Item with navigation extras -->\n  <eui-breadcrumb-item\n    link=\"/products/search\"\n    label=\"Search Results\"\n    [navigationExtras]=\"{ queryParams: { q: 'laptop' } }\">\n  </eui-breadcrumb-item>\n\n  <!-- Current page (no link) -->\n  <eui-breadcrumb-item label=\"Product Details\"></eui-breadcrumb-item>\n</eui-breadcrumb>\n```\n\n### Accessibility\n- Each item is keyboard accessible with Enter/Space activation\n- ariaLabel provides screen reader context for icon-only items\n- Non-linked items (current page) are not focusable\n- Label text is announced by screen readers\n- Icon and label combination provides visual and semantic meaning\n\n### Notes\n- Must be used within eui-breadcrumb parent component\n- id is auto-generated if not provided\n- link supports string URLs, Angular Router commands (array), or null for non-clickable items\n- External URLs (starting with 'http') open in same window\n- navigationExtras passes options to Angular Router (queryParams, fragment, etc.)\n- iconSvgName follows EUI icon naming convention\n- Last item in breadcrumb typically has no link (represents current page)\n- Label may be truncated in responsive layouts\n- Previous/next relationships are managed automatically by parent component\n",
            "type": "component",
            "sourceCode": "import {\n    ChangeDetectionStrategy,\n    ChangeDetectorRef,\n    Component,\n    ElementRef,\n    HostBinding,\n    Input,\n    OnDestroy,\n    OnInit,\n    inject,\n} from '@angular/core';\nimport { NavigationExtras, Router, RouterModule } from '@angular/router';\nimport { injectOptional, LogService } from '@eui/core';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\n\n/**\n * @description\n * Individual breadcrumb item component representing a single segment in the breadcrumb navigation path.\n * Provides clickable navigation links with optional icons and automatic relationship management with adjacent items.\n * Supports Angular Router navigation with both internal routes and external URLs.\n * Automatically generates unique IDs when not provided and manages collapsed state for responsive layouts.\n * Used within eui-breadcrumb container for hierarchical navigation display.\n * \n * @usageNotes\n * ```html\n * <eui-breadcrumb>\n *   <!-- Home with icon only -->\n *   <eui-breadcrumb-item \n *     link=\"/\" \n *     iconSvgName=\"home:outline\" \n *     ariaLabel=\"Home\">\n *   </eui-breadcrumb-item>\n *   \n *   <!-- Standard item with label -->\n *   <eui-breadcrumb-item \n *     link=\"/products\" \n *     label=\"Products\">\n *   </eui-breadcrumb-item>\n *   \n *   <!-- Item with navigation extras -->\n *   <eui-breadcrumb-item \n *     link=\"/products/search\" \n *     label=\"Search Results\"\n *     [navigationExtras]=\"{ queryParams: { q: 'laptop' } }\">\n *   </eui-breadcrumb-item>\n *   \n *   <!-- Current page (no link) -->\n *   <eui-breadcrumb-item label=\"Product Details\"></eui-breadcrumb-item>\n * </eui-breadcrumb>\n * ```\n *\n * ### Accessibility\n * - Each item is keyboard accessible with Enter/Space activation\n * - ariaLabel provides screen reader context for icon-only items\n * - Non-linked items (current page) are not focusable\n * - Label text is announced by screen readers\n * - Icon and label combination provides visual and semantic meaning\n *\n * ### Notes\n * - Must be used within eui-breadcrumb parent component\n * - id is auto-generated if not provided\n * - link supports string URLs, Angular Router commands (array), or null for non-clickable items\n * - External URLs (starting with 'http') open in same window\n * - navigationExtras passes options to Angular Router (queryParams, fragment, etc.)\n * - iconSvgName follows EUI icon naming convention\n * - Last item in breadcrumb typically has no link (represents current page)\n * - Label may be truncated in responsive layouts\n * - Previous/next relationships are managed automatically by parent component\n */\n@Component({\n    selector: 'eui-breadcrumb-item',\n    templateUrl: 'breadcrumb-item.component.html',\n    styleUrl: './breadcrumb-item.component.scss',\n    changeDetection: ChangeDetectionStrategy.Default,\n    imports: [\n        RouterModule,\n        PortalModule,\n        ...EUI_ICON,\n        ...EUI_ICON_BUTTON,\n    ],\n})\nexport class EuiBreadcrumbItemComponent implements OnDestroy, OnInit {\n    @HostBinding('class') string = 'eui-breadcrumb-item';\n\n    /**\n     * Unique identifier for the breadcrumb item.\n     * Automatically generated if not provided.\n     * Optional.\n     */\n    @Input() id: string;\n\n    /**\n     * Text label displayed for the breadcrumb item.\n     * May be truncated if too long to fit available space.\n     * Required for item display.\n     */\n    @Input() label: string;\n\n    /**\n     * SVG icon name displayed alongside the breadcrumb label.\n     * Follows EUI icon naming convention (e.g., 'home:outline').\n     * Optional.\n     */\n    @Input() iconSvgName: string;\n\n    /**\n     * ARIA label for the breadcrumb item icon for accessibility.\n     * Provides screen reader description of the icon.\n     * @default 'Breadcrumb item icon'\n     */\n    @Input() ariaLabel = 'Breadcrumb item icon';\n\n    /**\n     * Navigation target for the breadcrumb item.\n     * Supports Angular Router commands (array), URL string, or null to disable link.\n     * String starting with 'http' opens as external URL.\n     * Optional - when null/undefined, item is not clickable.\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    @Input() link: string | any[];\n\n    /**\n     * Additional navigation options passed to Angular Router.\n     * Supports query params, fragments, state, and other NavigationExtras properties.\n     * Optional.\n     */\n    @Input() navigationExtras: NavigationExtras;\n    /** calculated item width */\n    width = 0;\n    hasPrevious = false;\n    hasNext = false;\n\n    /** state of breadcrumb item in case of collapsed */\n    collapsed = false;\n    elementRef = inject(ElementRef);\n\n    private previousCrumb: EuiBreadcrumbItemComponent;\n    private nextCrumb: EuiBreadcrumbItemComponent;\n    private host = inject<ElementRef<HTMLElement>>(ElementRef);\n    private router = inject(Router);\n    private cdr = inject(ChangeDetectorRef);\n    private logService = injectOptional(LogService);\n\n    ngOnInit(): void {\n        // generate a random ID if none exists\n        if (!this.id) {\n            this.id = Math.trunc(Math.random() * 1000).toString();\n        }\n    }\n\n    ngOnDestroy(): void {\n        if (this.logService) {\n            this.logService.info(`Crumb with id:${this.id} destroyed`);\n        }\n    }\n\n    destroy(): void {\n        this.host.nativeElement.remove();\n    }\n\n    /**\n     * Sets the previous breadcrumb item in the navigation chain.\n     * Called internally by parent eui-breadcrumb component to establish item relationships.\n     */\n    setPrevious(breadcrumbItem: EuiBreadcrumbItemComponent): void {\n        this.previousCrumb = breadcrumbItem;\n        this.cdr.detach();\n        this.hasPrevious = breadcrumbItem ? true : false;\n        this.cdr.detectChanges();\n        this.cdr.reattach();\n    }\n\n    /**\n     * Sets the next breadcrumb item in the navigation chain.\n     * Called internally by parent eui-breadcrumb component to establish item relationships.\n     */\n    setNext(breadcrumbItem: EuiBreadcrumbItemComponent): void {\n        this.nextCrumb = breadcrumbItem;\n        this.cdr.detach();\n        this.hasNext = breadcrumbItem ? true : false;\n        this.cdr.detectChanges();\n        this.cdr.reattach();\n    }\n\n    /**\n     * A callback to navigate to the given link using ng-router.\n     *\n     * @param event\n     */\n    onClick(): boolean {\n        if (this.link) {\n            if (typeof this.link === 'string') {\n                if (this.link.startsWith('http')) {\n                    window.location.href = this.link;\n                    return true;\n                }\n                const extra = this.navigationExtras || { skipLocationChange: false };\n                this.router.navigateByUrl(this.link, extra);\n            } else {\n                this.router.navigate(this.link, this.navigationExtras);\n            }\n        }\n    }\n}\n",
            "styleUrl": "./breadcrumb-item.component.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnDestroy",
                "OnInit"
            ],
            "templateData": "@if (hasPrevious) {\n    <eui-icon-svg icon=\"eui-chevron-right\" size=\"2xs\" fillColor=\"secondary\" class=\"eui-u-mh-4xs\"/>\n}\n@if (hasNext) {\n    @if (link) {\n        @if (iconSvgName) {\n            <eui-icon-button [icon]=\"iconSvgName\" hasOverflowHover euiPrimary euiRounded size=\"xs\" (buttonClick)=\"onClick()\" ariaLabel=\"Dialog close icon\"/>\n        } @else {\n            <a class=\"eui-u-text-link-standalone\" (click)=\"onClick()\">\n                {{ label }}\n            </a>\n        }\n    } @else {\n        {{ label }}\n    }\n} @else {\n    {{ label }}\n}\n"
        },
        {
            "name": "EuiButtonComponent",
            "id": "component-EuiButtonComponent-f217907d35327f880b194f9ba72aa672367789cca9a6f74b1c34b5c467094a2011f1ff74276c675d920253aa06e166d8e19fdf744ced223ca2ce1fcf209c9a20",
            "file": "packages/components/eui-button/eui-button.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "button[euiButton], a[euiButton]",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-button.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiBranding",
                        "euiSecondary",
                        "euiSuccess",
                        "euiInfo",
                        "euiWarning",
                        "euiDanger",
                        "euiInverse",
                        "euiVariant",
                        "euiSizeXS",
                        "euiSizeS",
                        "euiSizeM",
                        "euiSizeL",
                        "euiSizeVariant",
                        "euiOutline",
                        "euiRounded",
                        "euiResponsive",
                        "euiStart",
                        "euiEnd"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-button'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4939,
                            "end": 4990,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4940,
                                "end": 4951,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Data attribute for e2e testing</p>\n"
                        },
                        {
                            "pos": 4990,
                            "end": 5015,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4991,
                                "end": 4998,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>eui-button</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 155,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiAvatarButton",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5911,
                            "end": 6037,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5912,
                                "end": 5923,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>When true, style the button when used in avatar trigger (for dropdown trigger f.e. see actionable avatar)</p>\n"
                        },
                        {
                            "pos": 6037,
                            "end": 6057,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6038,
                                "end": 6045,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 189,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiBasicButton",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5215,
                            "end": 5287,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5216,
                                "end": 5227,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>When true, applies basic styling without background</p>\n"
                        },
                        {
                            "pos": 5287,
                            "end": 5307,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5288,
                                "end": 5295,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 165,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiBlockButton",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5568,
                            "end": 5627,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5569,
                                "end": 5580,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>When true, makes the button full-width</p>\n"
                        },
                        {
                            "pos": 5627,
                            "end": 5647,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5628,
                                "end": 5635,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 177,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiCTAButton",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5394,
                            "end": 5463,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5395,
                                "end": 5406,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>When true, styles the button as a call-to-action</p>\n"
                        },
                        {
                            "pos": 5463,
                            "end": 5483,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5464,
                                "end": 5471,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 171,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "euiDisabled",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7165,
                            "end": 7303,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7166,
                                "end": 7177,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Controls the disabled state of the button\nWhen true, adds the disabled attribute and prevents interaction</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls the disabled state of the button\nWhen true, adds the disabled attribute and prevents interaction\n",
                    "description": "<p>Controls the disabled state of the button\nWhen true, adds the disabled attribute and prevents interaction</p>\n",
                    "line": 230,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiIconButton",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5734,
                            "end": 5805,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5735,
                                "end": 5746,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>When true, styles the button for icon-only content</p>\n"
                        },
                        {
                            "pos": 5805,
                            "end": 5825,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5806,
                                "end": 5813,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 183,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiLineWrap",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6145,
                            "end": 6204,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6146,
                                "end": 6157,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>When true, allows text content to wrap</p>\n"
                        },
                        {
                            "pos": 6204,
                            "end": 6224,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6205,
                                "end": 6212,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 195,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasNoFocusRing",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6510,
                            "end": 6576,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6511,
                                "end": 6522,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>When true, applies styling without focus ring</p>\n"
                        },
                        {
                            "pos": 6576,
                            "end": 6596,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6577,
                                "end": 6584,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 207,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5094,
                            "end": 5143,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5095,
                                "end": 5106,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>ID attribute for the button element</p>\n"
                        }
                    ],
                    "rawdescription": "",
                    "description": "",
                    "line": 159,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "isChecked",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6687,
                            "end": 6794,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6688,
                                "end": 6699,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Controls the checked state of the button\nWhen true, applies accent styling</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls the checked state of the button\nWhen true, applies accent styling\n",
                    "description": "<p>Controls the checked state of the button\nWhen true, applies accent styling</p>\n",
                    "line": 215,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCompact",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6308,
                            "end": 6401,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6309,
                                "end": 6320,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>When true, applies styling with lower padding / reduced height and width</p>\n"
                        },
                        {
                            "pos": 6401,
                            "end": 6421,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6402,
                                "end": 6409,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 201,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "buttonClick",
                    "defaultValue": "new EventEmitter<EuiButtonComponent>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when the button is clicked\nEmits the button component instance\n",
                    "description": "<p>Event emitted when the button is clicked\nEmits the button component instance</p>\n",
                    "jsdoctags": [
                        {
                            "pos": 7770,
                            "end": 7879,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7771,
                                "end": 7782,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Event emitted when the button is clicked\nEmits the button component instance</p>\n"
                        }
                    ],
                    "line": 247,
                    "type": "EventEmitter<EuiButtonComponent>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "_elementRef",
                    "defaultValue": "inject(ElementRef)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef<HTMLButtonElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 251,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "_renderer",
                    "defaultValue": "inject(Renderer2)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Renderer2",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 250,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BaseStatesDirective",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 249,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 261,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nClick event handler that emits the buttonClick event\n",
                    "description": "<p>Click event handler that emits the buttonClick event</p>\n",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'click'"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ],
                    "jsdoctags": [
                        {
                            "tagName": {
                                "pos": 8366,
                                "end": 8373,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "private"
                            },
                            "comment": ""
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4048,
                            "end": 4161,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4049,
                                "end": 4060,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the button based on its current state</p>\n"
                        },
                        {
                            "pos": 4161,
                            "end": 4226,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4162,
                                "end": 4169,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 4170,
                                "end": 4178,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 4171,
                                    "end": 4177,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the button based on its current state\n\n",
                    "description": "<p>Computes and returns the CSS classes for the button based on its current state</p>\n",
                    "line": 135,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [
                {
                    "name": "click",
                    "args": [],
                    "argsDecorator": [],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nClick event handler that emits the buttonClick event\n",
                    "description": "<p>Click event handler that emits the buttonClick event</p>\n",
                    "jsdoctags": [
                        {
                            "pos": 8285,
                            "end": 8365,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8286,
                                "end": 8297,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Click event handler that emits the buttonClick event</p>\n"
                        },
                        {
                            "pos": 8365,
                            "end": 8379,
                            "kind": 335,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8366,
                                "end": 8373,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "private"
                            },
                            "comment": ""
                        }
                    ],
                    "line": 261
                }
            ],
            "standalone": false,
            "imports": [],
            "description": "<p>A versatile button component that supports various states, sizes, and visual styles.\nIt can be used as a native <code>&lt;button&gt;</code> or <code>&lt;a&gt;</code> element while preserving consistent EUI behavior and styling.</p>\n<h4>Basic buttons with variants</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;button euiButton&gt;Default&lt;/button&gt;\n&lt;button euiButton euiPrimary&gt;Primary&lt;/button&gt;\n&lt;button euiButton euiSecondary&gt;Secondary&lt;/button&gt;\n&lt;button euiButton euiSuccess&gt;Success&lt;/button&gt;</code></pre></div><h4>Icon button</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;button euiButton euiIconButton aria-label=&quot;Notifications&quot;&gt;\n  &lt;eui-icon-svg icon=&quot;bell:outline&quot;&gt;&lt;/eui-icon-svg&gt;\n&lt;/button&gt;</code></pre></div><h4>CTA and block buttons</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;button euiButton euiCTAButton&gt;Call to Action&lt;/button&gt;\n&lt;button euiButton euiBlockButton&gt;Full Width&lt;/button&gt;</code></pre></div><h4>Size variants</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;button euiButton euiSizeS&gt;Small&lt;/button&gt;\n&lt;button euiButton euiSizeM&gt;Medium&lt;/button&gt;\n&lt;button euiButton euiSizeL&gt;Large&lt;/button&gt;</code></pre></div><h4>Disabled and checked states</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;button euiButton [euiDisabled]=&quot;true&quot;&gt;Disabled&lt;/button&gt;\n&lt;button euiButton [isChecked]=&quot;true&quot;&gt;Checked&lt;/button&gt;</code></pre></div><h4>As link</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;a euiButton href=&quot;/page&quot;&gt;Link Button&lt;/a&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">onButtonClick(button: EuiButtonComponent): void {\n  console.log(&#39;Button clicked:&#39;, button);\n}</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Native button/anchor semantics preserved for screen readers</li>\n<li>Keyboard accessible with Enter/Space (button) or Enter (link)</li>\n<li>euiIconButton requires aria-label for icon-only buttons</li>\n<li>Disabled state prevents interaction and is announced to screen readers</li>\n<li>Focus ring visible by default (remove with hasNoFocusRing if alternative focus indicator exists)</li>\n<li>isChecked state is visually indicated and announced</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use on <code>&lt;button&gt;</code> or <code>&lt;a&gt;</code> elements via euiButton attribute</li>\n<li>Color variants: euiPrimary, euiBranding, euiSecondary, euiSuccess, euiInfo, euiWarning, euiDanger, euiInverse</li>\n<li>Size variants: euiSizeXS, euiSizeS, euiSizeM (default), euiSizeL</li>\n<li>euiBasicButton removes background for minimal styling</li>\n<li>euiCTAButton applies prominent call-to-action styling</li>\n<li>euiBlockButton makes button full-width</li>\n<li>euiIconButton optimizes layout for icon-only content</li>\n<li>euiAvatarButton styles for avatar dropdown triggers</li>\n<li>euiLineWrap allows multi-line button text</li>\n<li>isCompact reduces padding and dimensions</li>\n<li>euiOutline applies outline/ghost styling</li>\n<li>euiRounded applies rounded corners</li>\n<li>euiResponsive adjusts sizing based on viewport</li>\n<li>euiStart/euiEnd aligns content within button</li>\n<li>buttonClick event emits component instance on click</li>\n</ul>\n",
            "rawdescription": "\n\nA versatile button component that supports various states, sizes, and visual styles.\nIt can be used as a native `<button>` or `<a>` element while preserving consistent EUI behavior and styling.\n\n#### Basic buttons with variants\n```html\n<button euiButton>Default</button>\n<button euiButton euiPrimary>Primary</button>\n<button euiButton euiSecondary>Secondary</button>\n<button euiButton euiSuccess>Success</button>\n```\n\n#### Icon button\n```html\n<button euiButton euiIconButton aria-label=\"Notifications\">\n  <eui-icon-svg icon=\"bell:outline\"></eui-icon-svg>\n</button>\n```\n\n#### CTA and block buttons\n```html\n<button euiButton euiCTAButton>Call to Action</button>\n<button euiButton euiBlockButton>Full Width</button>\n```\n\n#### Size variants\n```html\n<button euiButton euiSizeS>Small</button>\n<button euiButton euiSizeM>Medium</button>\n<button euiButton euiSizeL>Large</button>\n```\n\n#### Disabled and checked states\n```html\n<button euiButton [euiDisabled]=\"true\">Disabled</button>\n<button euiButton [isChecked]=\"true\">Checked</button>\n```\n\n#### As link\n```html\n<a euiButton href=\"/page\">Link Button</a>\n```\n\n```ts\nonButtonClick(button: EuiButtonComponent): void {\n  console.log('Button clicked:', button);\n}\n```\n\n### Accessibility\n- Native button/anchor semantics preserved for screen readers\n- Keyboard accessible with Enter/Space (button) or Enter (link)\n- euiIconButton requires aria-label for icon-only buttons\n- Disabled state prevents interaction and is announced to screen readers\n- Focus ring visible by default (remove with hasNoFocusRing if alternative focus indicator exists)\n- isChecked state is visually indicated and announced\n\n### Notes\n- Use on `<button>` or `<a>` elements via euiButton attribute\n- Color variants: euiPrimary, euiBranding, euiSecondary, euiSuccess, euiInfo, euiWarning, euiDanger, euiInverse\n- Size variants: euiSizeXS, euiSizeS, euiSizeM (default), euiSizeL\n- euiBasicButton removes background for minimal styling\n- euiCTAButton applies prominent call-to-action styling\n- euiBlockButton makes button full-width\n- euiIconButton optimizes layout for icon-only content\n- euiAvatarButton styles for avatar dropdown triggers\n- euiLineWrap allows multi-line button text\n- isCompact reduces padding and dimensions\n- euiOutline applies outline/ghost styling\n- euiRounded applies rounded corners\n- euiResponsive adjusts sizing based on viewport\n- euiStart/euiEnd aligns content within button\n- buttonClick event emits component instance on click\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    HostListener,\n    Input,\n    Output,\n    EventEmitter,\n    ChangeDetectionStrategy,\n    Renderer2,\n    ElementRef,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\n/**\n * @description\n * A versatile button component that supports various states, sizes, and visual styles.\n * It can be used as a native `<button>` or `<a>` element while preserving consistent EUI behavior and styling.\n * \n * @usageNotes\n * #### Basic buttons with variants\n * ```html\n * <button euiButton>Default</button>\n * <button euiButton euiPrimary>Primary</button>\n * <button euiButton euiSecondary>Secondary</button>\n * <button euiButton euiSuccess>Success</button>\n * ```\n *\n * #### Icon button\n * ```html\n * <button euiButton euiIconButton aria-label=\"Notifications\">\n *   <eui-icon-svg icon=\"bell:outline\"></eui-icon-svg>\n * </button>\n * ```\n *\n * #### CTA and block buttons\n * ```html\n * <button euiButton euiCTAButton>Call to Action</button>\n * <button euiButton euiBlockButton>Full Width</button>\n * ```\n *\n * #### Size variants\n * ```html\n * <button euiButton euiSizeS>Small</button>\n * <button euiButton euiSizeM>Medium</button>\n * <button euiButton euiSizeL>Large</button>\n * ```\n *\n * #### Disabled and checked states\n * ```html\n * <button euiButton [euiDisabled]=\"true\">Disabled</button>\n * <button euiButton [isChecked]=\"true\">Checked</button>\n * ```\n *\n * #### As link\n * ```html\n * <a euiButton href=\"/page\">Link Button</a>\n * ```\n *\n * ```ts\n * onButtonClick(button: EuiButtonComponent): void {\n *   console.log('Button clicked:', button);\n * }\n * ```\n *\n * ### Accessibility\n * - Native button/anchor semantics preserved for screen readers\n * - Keyboard accessible with Enter/Space (button) or Enter (link)\n * - euiIconButton requires aria-label for icon-only buttons\n * - Disabled state prevents interaction and is announced to screen readers\n * - Focus ring visible by default (remove with hasNoFocusRing if alternative focus indicator exists)\n * - isChecked state is visually indicated and announced\n *\n * ### Notes\n * - Use on `<button>` or `<a>` elements via euiButton attribute\n * - Color variants: euiPrimary, euiBranding, euiSecondary, euiSuccess, euiInfo, euiWarning, euiDanger, euiInverse\n * - Size variants: euiSizeXS, euiSizeS, euiSizeM (default), euiSizeL\n * - euiBasicButton removes background for minimal styling\n * - euiCTAButton applies prominent call-to-action styling\n * - euiBlockButton makes button full-width\n * - euiIconButton optimizes layout for icon-only content\n * - euiAvatarButton styles for avatar dropdown triggers\n * - euiLineWrap allows multi-line button text\n * - isCompact reduces padding and dimensions\n * - euiOutline applies outline/ghost styling\n * - euiRounded applies rounded corners\n * - euiResponsive adjusts sizing based on viewport\n * - euiStart/euiEnd aligns content within button\n * - buttonClick event emits component instance on click\n */\n@Component({\n    templateUrl: './eui-button.component.html',\n    // eslint-disable-next-line\n    selector: 'button[euiButton], a[euiButton]',\n    styleUrl: './eui-button.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiPrimary',\n                'euiBranding',\n                'euiSecondary',\n                'euiSuccess',\n                'euiInfo',\n                'euiWarning',\n                'euiDanger',\n                'euiInverse',\n                'euiVariant',\n                'euiSizeXS',\n                'euiSizeS',\n                'euiSizeM',\n                'euiSizeL',\n                'euiSizeVariant',\n                'euiOutline',\n                'euiRounded',\n                'euiResponsive',\n                'euiStart',\n                'euiEnd',\n            ],\n        },\n    ],\n})\nexport class EuiButtonComponent {\n    /**\n     * @description\n     * Computes and returns the CSS classes for the button 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-button'),\n            this.euiBasicButton ? 'eui-button--basic eui--basic' : '',\n            this.euiBlockButton ? 'eui-button--block' : '',\n            this.euiIconButton ? 'eui-button--icon-only' : '',\n            this.euiLineWrap ? 'eui-button--line-wrap' : '',\n            this.hasNoFocusRing ? 'eui-button--no-focus-ring': '',\n            this.isCompact ? 'eui-button--compact': '',\n            this.euiCTAButton ? 'eui-button--cta': '',\n            this.euiAvatarButton ? 'eui-button--avatar': '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * @description Data attribute for e2e testing\n     * @default eui-button\n     */\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-button';\n\n    /** @description ID attribute for the button element */\n    @HostBinding('attr.id')\n    @Input() id: string;\n\n    /**\n     * @description When true, applies basic styling without background\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiBasicButton = false;\n\n    /**\n     * @description When true, styles the button as a call-to-action\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiCTAButton = false;\n\n    /**\n     * @description When true, makes the button full-width\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiBlockButton = false;\n\n    /**\n     * @description When true, styles the button for icon-only content\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiIconButton = false;\n\n    /**\n     * @description When true, style the button when used in avatar trigger (for dropdown trigger f.e. see actionable avatar)\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiAvatarButton = false;\n\n    /**\n     * @description When true, allows text content to wrap\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiLineWrap = false;\n\n    /**\n     * @description When true, applies styling with lower padding / reduced height and width\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCompact = false;   \n    \n    /**\n     * @description When true, applies styling without focus ring\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasNoFocusRing = false;    \n\n    /**\n     * @description\n     * Controls the checked state of the button\n     * When true, applies accent styling\n     */\n    @Input()\n    public get isChecked(): boolean {\n        return this._isChecked;\n    }\n    public set isChecked(value: BooleanInput) {\n        this.baseStatesDirective.euiPrimary = coerceBooleanProperty(value);\n        this.baseStatesDirective.euiOutline = coerceBooleanProperty(!value);\n        this._isChecked = coerceBooleanProperty(value);\n    }\n\n    /**\n     * @description\n     * Controls the disabled state of the button\n     * When true, adds the disabled attribute and prevents interaction\n     */\n    @Input()\n    public get euiDisabled(): boolean {\n        return this._euiDisabled;\n    }\n    public set euiDisabled(value: BooleanInput) {\n        this._euiDisabled = coerceBooleanProperty(value);\n        if (this._euiDisabled) {\n            this._renderer.setAttribute(this._elementRef.nativeElement, 'disabled', 'true');\n        } else {\n            this._renderer.removeAttribute(this._elementRef.nativeElement, 'disabled');\n        }\n    }\n\n    /**\n     * @description\n     * Event emitted when the button is clicked\n     * Emits the button component instance\n     */\n    @Output() buttonClick: EventEmitter<EuiButtonComponent> = new EventEmitter<EuiButtonComponent>();\n\n    public baseStatesDirective: BaseStatesDirective = inject(BaseStatesDirective);\n    protected _renderer: Renderer2 = inject(Renderer2);\n    protected _elementRef: ElementRef<HTMLButtonElement> = inject(ElementRef);\n    private _isChecked = false;\n    private _euiDisabled = false;\n\n    /**\n     * @description\n     * Click event handler that emits the buttonClick event\n     * @private\n     */\n    @HostListener('click')\n    protected onClick(): void {\n        this.buttonClick.emit(this);\n    }\n}\n",
            "styleUrl": "./eui-button.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 135,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the button based on its current state\n\n",
                        "description": "<p>Computes and returns the CSS classes for the button based on its current state</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 4048,
                                "end": 4161,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 4049,
                                    "end": 4060,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the button based on its current state</p>\n"
                            },
                            {
                                "pos": 4161,
                                "end": 4226,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 4162,
                                    "end": 4169,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 4170,
                                    "end": 4178,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 4171,
                                        "end": 4177,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                },
                "isChecked": {
                    "name": "isChecked",
                    "setSignature": {
                        "name": "isChecked",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 218,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "isChecked",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 215,
                        "rawdescription": "\n\nControls the checked state of the button\nWhen true, applies accent styling\n",
                        "description": "<p>Controls the checked state of the button\nWhen true, applies accent styling</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 6687,
                                "end": 6794,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 6688,
                                    "end": 6699,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Controls the checked state of the button\nWhen true, applies accent styling</p>\n"
                            }
                        ]
                    }
                },
                "euiDisabled": {
                    "name": "euiDisabled",
                    "setSignature": {
                        "name": "euiDisabled",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 233,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "euiDisabled",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 230,
                        "rawdescription": "\n\nControls the disabled state of the button\nWhen true, adds the disabled attribute and prevents interaction\n",
                        "description": "<p>Controls the disabled state of the button\nWhen true, adds the disabled attribute and prevents interaction</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 7165,
                                "end": 7303,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 7166,
                                    "end": 7177,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Controls the disabled state of the button\nWhen true, adds the disabled attribute and prevents interaction</p>\n"
                            }
                        ]
                    }
                }
            },
            "templateData": "<span class=\"eui-button__container\">\n    <ng-content></ng-content>\n</span>\n"
        },
        {
            "name": "EuiButtonGroupComponent",
            "id": "component-EuiButtonGroupComponent-04102947368ada4e82d4abf3314b5daca01de2486af77cd1ba98476d34ce11737ca95fe9b54410b09270e6cae4a21a530f6b954b267c361e4ab92a8612dde7d0",
            "file": "packages/components/eui-button-group/eui-button-group.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-button-group",
            "styleUrls": [
                "./eui-button-group.scss"
            ],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "isCheckboxButtons",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3788,
                            "end": 3808,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3789,
                                "end": 3796,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables checkbox behavior allowing multiple buttons to be selected simultaneously.\nWhen true, buttons can be independently toggled on/off.\n",
                    "description": "<p>Enables checkbox behavior allowing multiple buttons to be selected simultaneously.\nWhen true, buttons can be independently toggled on/off.</p>\n",
                    "line": 99,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isRadioButtons",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4068,
                            "end": 4088,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4069,
                                "end": 4076,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables radio button behavior allowing only one button to be selected at a time.\nWhen true, selecting a button automatically deselects others in the group.\n",
                    "description": "<p>Enables radio button behavior allowing only one button to be selected at a time.\nWhen true, selecting a button automatically deselects others in the group.</p>\n",
                    "line": 106,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "buttonClick",
                    "defaultValue": "new EventEmitter<EuiButtonComponent>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when any button in the group is clicked.\nPayload: EuiButtonComponent - the clicked button instance\nTriggered after button state is updated based on group configuration.\n",
                    "description": "<p>Emitted when any button in the group is clicked.\nPayload: EuiButtonComponent - the clicked button instance\nTriggered after button state is updated based on group configuration.</p>\n",
                    "line": 113,
                    "type": "EventEmitter<EuiButtonComponent>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "buttons",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiButtonComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 115,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 117,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nCSS classes applied to the host element",
                    "description": "<p>CSS classes applied to the host element</p>\n",
                    "line": 90,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p><code>eui-button-group</code> component for organizing multiple buttons with optional checkbox or radio button selection behavior.\nProvides visual grouping and automatic state management for single or multiple selection modes.\nSupports three modes: standard (no selection), checkbox (multiple selection), and radio (single selection).\nAutomatically manages checked state across buttons and emits events on button interactions.\nContent is projected via ng-content expecting <code>eui-button</code> children.</p>\n<h4>Standard button group (no selection behavior)</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-button-group&gt;\n  &lt;button euiButton id=&quot;btn1&quot;&gt;Action 1&lt;/button&gt;\n  &lt;button euiButton id=&quot;btn2&quot;&gt;Action 2&lt;/button&gt;\n  &lt;button euiButton id=&quot;btn3&quot;&gt;Action 3&lt;/button&gt;\n&lt;/eui-button-group&gt;</code></pre></div><h4>Radio button group (single selection)</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-button-group [isRadioButtons]=&quot;true&quot; (buttonClick)=&quot;onSelection($event)&quot;&gt;\n  &lt;button euiButton id=&quot;left&quot; [isChecked]=&quot;true&quot;&gt;Left&lt;/button&gt;\n  &lt;button euiButton id=&quot;center&quot;&gt;Center&lt;/button&gt;\n  &lt;button euiButton id=&quot;right&quot;&gt;Right&lt;/button&gt;\n&lt;/eui-button-group&gt;</code></pre></div><h4>Checkbox button group (multiple selection)</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-button-group [isCheckboxButtons]=&quot;true&quot;&gt;\n  &lt;button euiButton id=&quot;bold&quot;&gt;Bold&lt;/button&gt;\n  &lt;button euiButton id=&quot;italic&quot;&gt;Italic&lt;/button&gt;\n  &lt;button euiButton id=&quot;underline&quot;&gt;Underline&lt;/button&gt;\n&lt;/eui-button-group&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">onSelection(button: EuiButtonComponent): void {\n  console.log(&#39;Selected button:&#39;, button.id, &#39;Checked:&#39;, button.isChecked);\n}</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Buttons maintain native keyboard accessibility (Enter/Space)</li>\n<li>Visual grouping indicates related actions to all users</li>\n<li>Checked state is visually indicated and announced to screen readers</li>\n<li>Radio mode ensures only one selection, following standard radio button patterns</li>\n<li>Each button should have unique id for proper state management</li>\n<li>Consider adding aria-label to group for screen reader context</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must contain button[euiButton] children for proper functionality</li>\n<li>Three modes: standard (default), radio (isRadioButtons), checkbox (isCheckboxButtons)</li>\n<li>Standard mode: buttons act as regular action buttons without selection state</li>\n<li>Radio mode: only one button can be checked at a time, selecting one unchecks others</li>\n<li>Checkbox mode: multiple buttons can be checked independently</li>\n<li>Each button must have unique id attribute for state management</li>\n<li>isChecked property on buttons controls initial checked state</li>\n<li>buttonClick event emits after state is updated</li>\n<li>Buttons are visually grouped with connected borders</li>\n<li>Cannot enable both isRadioButtons and isCheckboxButtons simultaneously</li>\n<li>Use radio mode for mutually exclusive options (alignment, view mode)</li>\n<li>Use checkbox mode for independent toggles (text formatting, filters)</li>\n</ul>\n",
            "rawdescription": "\n\n`eui-button-group` component for organizing multiple buttons with optional checkbox or radio button selection behavior.\nProvides visual grouping and automatic state management for single or multiple selection modes.\nSupports three modes: standard (no selection), checkbox (multiple selection), and radio (single selection).\nAutomatically manages checked state across buttons and emits events on button interactions.\nContent is projected via ng-content expecting `eui-button` children.\n\n#### Standard button group (no selection behavior)\n```html\n<eui-button-group>\n  <button euiButton id=\"btn1\">Action 1</button>\n  <button euiButton id=\"btn2\">Action 2</button>\n  <button euiButton id=\"btn3\">Action 3</button>\n</eui-button-group>\n```\n\n#### Radio button group (single selection)\n```html\n<eui-button-group [isRadioButtons]=\"true\" (buttonClick)=\"onSelection($event)\">\n  <button euiButton id=\"left\" [isChecked]=\"true\">Left</button>\n  <button euiButton id=\"center\">Center</button>\n  <button euiButton id=\"right\">Right</button>\n</eui-button-group>\n```\n\n#### Checkbox button group (multiple selection)\n```html\n<eui-button-group [isCheckboxButtons]=\"true\">\n  <button euiButton id=\"bold\">Bold</button>\n  <button euiButton id=\"italic\">Italic</button>\n  <button euiButton id=\"underline\">Underline</button>\n</eui-button-group>\n```\n\n```ts\nonSelection(button: EuiButtonComponent): void {\n  console.log('Selected button:', button.id, 'Checked:', button.isChecked);\n}\n```\n\n### Accessibility\n- Buttons maintain native keyboard accessibility (Enter/Space)\n- Visual grouping indicates related actions to all users\n- Checked state is visually indicated and announced to screen readers\n- Radio mode ensures only one selection, following standard radio button patterns\n- Each button should have unique id for proper state management\n- Consider adding aria-label to group for screen reader context\n\n### Notes\n- Must contain button[euiButton] children for proper functionality\n- Three modes: standard (default), radio (isRadioButtons), checkbox (isCheckboxButtons)\n- Standard mode: buttons act as regular action buttons without selection state\n- Radio mode: only one button can be checked at a time, selecting one unchecks others\n- Checkbox mode: multiple buttons can be checked independently\n- Each button must have unique id attribute for state management\n- isChecked property on buttons controls initial checked state\n- buttonClick event emits after state is updated\n- Buttons are visually grouped with connected borders\n- Cannot enable both isRadioButtons and isCheckboxButtons simultaneously\n- Use radio mode for mutually exclusive options (alignment, view mode)\n- Use checkbox mode for independent toggles (text formatting, filters)\n",
            "type": "component",
            "sourceCode": "import {\n    AfterContentInit,\n    Component,\n    ContentChildren,\n    EventEmitter,\n    forwardRef,\n    Input,\n    Output,\n    QueryList,\n    ChangeDetectionStrategy,\n    HostBinding,\n    booleanAttribute,\n} from '@angular/core';\n\nimport { EuiButtonComponent } from '@eui/components/eui-button';\n\n/**\n * @description\n * `eui-button-group` component for organizing multiple buttons with optional checkbox or radio button selection behavior.\n * Provides visual grouping and automatic state management for single or multiple selection modes.\n * Supports three modes: standard (no selection), checkbox (multiple selection), and radio (single selection).\n * Automatically manages checked state across buttons and emits events on button interactions.\n * Content is projected via ng-content expecting `eui-button` children.\n * \n * @usageNotes\n * #### Standard button group (no selection behavior)\n * ```html\n * <eui-button-group>\n *   <button euiButton id=\"btn1\">Action 1</button>\n *   <button euiButton id=\"btn2\">Action 2</button>\n *   <button euiButton id=\"btn3\">Action 3</button>\n * </eui-button-group>\n * ```\n *\n * #### Radio button group (single selection)\n * ```html\n * <eui-button-group [isRadioButtons]=\"true\" (buttonClick)=\"onSelection($event)\">\n *   <button euiButton id=\"left\" [isChecked]=\"true\">Left</button>\n *   <button euiButton id=\"center\">Center</button>\n *   <button euiButton id=\"right\">Right</button>\n * </eui-button-group>\n * ```\n *\n * #### Checkbox button group (multiple selection)\n * ```html\n * <eui-button-group [isCheckboxButtons]=\"true\">\n *   <button euiButton id=\"bold\">Bold</button>\n *   <button euiButton id=\"italic\">Italic</button>\n *   <button euiButton id=\"underline\">Underline</button>\n * </eui-button-group>\n * ```\n *\n * ```ts\n * onSelection(button: EuiButtonComponent): void {\n *   console.log('Selected button:', button.id, 'Checked:', button.isChecked);\n * }\n * ```\n *\n * ### Accessibility\n * - Buttons maintain native keyboard accessibility (Enter/Space)\n * - Visual grouping indicates related actions to all users\n * - Checked state is visually indicated and announced to screen readers\n * - Radio mode ensures only one selection, following standard radio button patterns\n * - Each button should have unique id for proper state management\n * - Consider adding aria-label to group for screen reader context\n *\n * ### Notes\n * - Must contain button[euiButton] children for proper functionality\n * - Three modes: standard (default), radio (isRadioButtons), checkbox (isCheckboxButtons)\n * - Standard mode: buttons act as regular action buttons without selection state\n * - Radio mode: only one button can be checked at a time, selecting one unchecks others\n * - Checkbox mode: multiple buttons can be checked independently\n * - Each button must have unique id attribute for state management\n * - isChecked property on buttons controls initial checked state\n * - buttonClick event emits after state is updated\n * - Buttons are visually grouped with connected borders\n * - Cannot enable both isRadioButtons and isCheckboxButtons simultaneously\n * - Use radio mode for mutually exclusive options (alignment, view mode)\n * - Use checkbox mode for independent toggles (text formatting, filters)\n */\n@Component({\n    selector: 'eui-button-group',\n    template: '<ng-content/>',\n    styleUrls: ['./eui-button-group.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiButtonGroupComponent implements AfterContentInit {\n    /** CSS classes applied to the host element */\n    @HostBinding('class')\n    get cssClasses(): string {\n        return 'eui-button-group';\n    }\n\n    /**\n     * Enables checkbox behavior allowing multiple buttons to be selected simultaneously.\n     * When true, buttons can be independently toggled on/off.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCheckboxButtons = false;\n\n    /**\n     * Enables radio button behavior allowing only one button to be selected at a time.\n     * When true, selecting a button automatically deselects others in the group.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isRadioButtons = false;\n\n    /**\n     * Emitted when any button in the group is clicked.\n     * Payload: EuiButtonComponent - the clicked button instance\n     * Triggered after button state is updated based on group configuration.\n     */\n    @Output() buttonClick: EventEmitter<EuiButtonComponent> = new EventEmitter<EuiButtonComponent>();\n\n    @ContentChildren(forwardRef(() => EuiButtonComponent)) buttons: QueryList<EuiButtonComponent>;\n\n    ngAfterContentInit(): void {\n        this.buttons.map((b: EuiButtonComponent) => {\n            b.buttonClick.subscribe(() => {\n                this.handleInnerButtonClick(b);\n            });\n            if (!b.isChecked) b.isChecked = false;\n        });\n    }\n\n    /**\n     * Handles button click events based on group configuration\n     * - For checkbox buttons: Toggles the clicked button's checked state\n     * - For radio buttons: Sets the clicked button as checked and unchecks others\n     * - Emits the buttonClick event with the clicked button instance\n     *\n     * @param button - The EuiButtonComponent that was clicked\n     * @internal\n     */\n    private handleInnerButtonClick(button: EuiButtonComponent): void {\n        try {\n            if (button.isChecked && this.isCheckboxButtons) {\n                button.isChecked = false;\n            } else {\n                if (this.isRadioButtons) {\n                    this.buttons.find((b) => b.id === button.id).isChecked = true;\n                    this.buttons.forEach((b) => {\n                        if (b.id !== button.id) {\n                            b.isChecked = false;\n                        }\n                    });\n                } else if (this.isCheckboxButtons) {\n                    this.buttons.find((b) => b.id === button.id).isChecked = true;\n                } else if (!this.isCheckboxButtons && !this.isRadioButtons && !button.isChecked) {\n                    button.isChecked = true;\n                } else {\n                    button.isChecked = false;\n                }\n            }\n\n            this.buttonClick.emit(button);\n        } catch (e) {\n            console.log(e);\n        }\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@use '../base' as base;\n\n.eui-21 {\n    :host.eui-button-group {\n        // vertical alignment of multiple button groups\n        position: relative;\n        display: inline-flex;\n        flex-wrap: wrap;\n        vertical-align: middle;\n        width: 100%;\n\n        ::ng-deep .eui-button {\n            @include base.eui-accessible-focus-visible();\n        }\n\n        // Prevents double borders when buttons are next to each other\n        ::ng-deep > .eui-button:not(:first-child),\n        ::ng-deep > .eui-button-group:not(:first-child) {\n            margin-left: -1px;\n        }\n\n        // Resets rounded right corners\n        ::ng-deep > .eui-button:not(:last-child),\n        ::ng-deep > .eui-button-group:not(:last-child) > .eui-button {\n            @include base.eui-border-right-radius(0);\n        }\n\n        // Resets rounded left corners\n        ::ng-deep > .eui-button:not(:first-child),\n        ::ng-deep > .eui-button-group:not(:first-child) > .eui-button {\n            @include base.eui-border-left-radius(0);\n        }\n    }\n}\n\n",
                    "styleUrl": "./eui-button-group.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterContentInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 90,
                        "rawdescription": "\nCSS classes applied to the host element",
                        "description": "<p>CSS classes applied to the host element</p>\n"
                    }
                }
            }
        },
        {
            "name": "EuiCalendarComponent",
            "id": "component-EuiCalendarComponent-524a2ae836347c24e7d5ad0bf48e3440d50d59f783f4f3c583793b4666604ee90d46f9c32349a5876ca28a124a45e377c459d10524b563354146a858f5d023cc",
            "file": "packages/components/eui-calendar/eui-calendar.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-calendar",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-calendar.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "classes",
                    "defaultValue": "'eui-calendar'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 13,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-calendar'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 13,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "NgTemplateOutlet"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, Component, HostBinding, input } from '@angular/core';\nimport { BooleanInput } from '@angular/cdk/coercion';\n\n@Component({\n    selector: 'eui-calendar',\n    templateUrl: './eui-calendar.component.html',\n    imports: [\n        NgTemplateOutlet,\n    ],\n})\nexport class EuiCalendarComponent {\n    @HostBinding('class') classes = 'eui-calendar';\n\n    // hasWeeklyView= input<boolean, BooleanInput>(true, { transform: booleanAttribute });\n    // hasMonthlyView = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "<!-- might not be needed after all... we should just prevent weekly and monthly to be displayed at the same time\n<ng-content *ngTemplateOutlet=\"header\"/>\n@if (hasMonthlyView()) {\n    <ng-content *ngTemplateOutlet=\"monthly\"/>\n} @else if (hasWeeklyView()) {\n    <ng-content *ngTemplateOutlet=\"weekly\"/>\n} \n-->\n\n<ng-content *ngTemplateOutlet=\"header\"/>\n<ng-content *ngTemplateOutlet=\"monthly\"/>\n<ng-content *ngTemplateOutlet=\"weekly\"/>\n\n<ng-template #header>\n    <ng-content select=\"eui-calendar-header\"/>\n</ng-template>\n<ng-template #weekly>\n    <ng-content select=\"eui-calendar-weekly\"/>\n</ng-template>\n<ng-template #monthly>\n    <ng-content select=\"eui-calendar-monthly\"/>\n</ng-template>\n"
        },
        {
            "name": "EuiCalendarDayComponent",
            "id": "component-EuiCalendarDayComponent-999a69e591c93f620c768a5e497c1f11abb10bcc8abb1851e5bdeaf40c7007583de57f9d87028b53649ee0b6c30371f3e7cf27bb328300377b203b30a933ade5",
            "file": "packages/components/eui-calendar/eui-calendar-day.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-calendar-day",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-calendar-day.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "dayOfTheMonth",
                    "defaultValue": "4, { transform: numberAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number, NumberInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 49,
                    "required": false
                },
                {
                    "name": "euiDisabled",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean, BooleanInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 48,
                    "required": false
                },
                {
                    "name": "events",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Array<EuiCalendarEvent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 51,
                    "required": false
                },
                {
                    "name": "isSelected",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean, BooleanInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 52,
                    "required": false
                },
                {
                    "name": "maxNumberOfEventsToShow",
                    "defaultValue": "2, { transform: numberAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number, NumberInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 50,
                    "required": false
                }
            ],
            "outputsClass": [
                {
                    "name": "addNewItemEvent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 54,
                    "required": false
                }
            ],
            "propertiesClass": [
                {
                    "name": "addNewEvent",
                    "defaultValue": "signal(false)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 53
                },
                {
                    "name": "EventType",
                    "defaultValue": "EuiCalendarEventType",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 58,
                    "modifierKind": [
                        124,
                        148
                    ]
                },
                {
                    "name": "renderNewEvent",
                    "defaultValue": "computed(() => {\n\t\treturn this.addNewEvent() && this.dayOfTheMonth() !== null;\n\t})",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 55,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "addNewItemClicked",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 78,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onMouseOut",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 74,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'mouseleave'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "onMouseOver",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 67,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'mouseenter'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "showMoreEvents",
                    "args": [
                        {
                            "name": "e",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 62,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "e",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 41,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [
                {
                    "name": "mouseenter",
                    "args": [],
                    "argsDecorator": [],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 67
                },
                {
                    "name": "mouseleave",
                    "args": [],
                    "argsDecorator": [],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 74
                }
            ],
            "standalone": false,
            "imports": [
                {
                    "name": "NgClass"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_CHIP"
                },
                {
                    "name": "EUI_LABEL"
                },
                {
                    "name": "EUI_POPOVER"
                },
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "",
            "rawdescription": "\n\n",
            "type": "component",
            "sourceCode": "import {\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tHostBinding,\n\tHostListener,\n\tinput,\n\tnumberAttribute,\n\toutput,\n\tsignal,\n\tviewChild,\n} from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_CHIP } from '@eui/components/eui-chip';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_POPOVER, EuiPopoverComponent } from '@eui/components/eui-popover';\nimport { EuiCalendarEvent, EuiCalendarEventType } from './models';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion';\n\n/**\n * @description\n */\n@Component({\n\ttemplateUrl: './eui-calendar-day.component.html',\n\tselector: 'eui-calendar-day',\n\tstyleUrl: './eui-calendar-day.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [\n\t\tNgClass,\n\t\t...EUI_BUTTON,\n\t\t...EUI_CHIP,\n\t\t...EUI_LABEL,\n\t\t...EUI_POPOVER,\n\t\t...EUI_ICON,\n\t],\n})\nexport class EuiCalendarDayComponent {\n\t@HostBinding('class') get cssClasses(): string {\n        return [\n            'day-container',\n            this.euiDisabled() ? 'day-container--disabled' : '',\n        ].join(' ').trim();\n    }\n\n\teuiDisabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\tdayOfTheMonth = input<number, NumberInput>(4, { transform: numberAttribute });\n\tmaxNumberOfEventsToShow = input<number, NumberInput>(2, { transform: numberAttribute });\n\tevents = input<Array<EuiCalendarEvent>>();\n\tisSelected = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\taddNewEvent = signal(false);\n\taddNewItemEvent = output();\n\tprotected renderNewEvent = computed(() => {\n\t\treturn this.addNewEvent() && this.dayOfTheMonth() !== null;\n\t});\n\tprotected readonly EventType = EuiCalendarEventType;\n\tprivate popover = viewChild<EuiPopoverComponent>('popover');\n\n\t// eslint-disable-next-line\n\tshowMoreEvents(e: any): void {\n\t\tthis.popover().openPopover(e.target);\n\t}\n\n\t@HostListener('mouseenter')\n\tonMouseOver(): void {\n\t\tif (!this.euiDisabled()) {\n\t\t\tthis.addNewEvent.update(() => true);\n\t\t}\n\t}\n\n\t@HostListener('mouseleave')\n\tonMouseOut(): void {\n\t\tthis.addNewEvent.update(() => false);\n\t}\n\n\taddNewItemClicked(): void {\n\t\tthis.addNewItemEvent.emit();\n\t}\n}",
            "styleUrl": "./eui-calendar-day.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 41
                    }
                }
            },
            "templateData": "<!-- <div [ngClass]=\"{ 'day-container--disabled': euiDisabled() }\" class=\"day-container\"> -->\n    @if (dayOfTheMonth()) {\n        <div class=\"eui-u-flex eui-u-flex-row eui-u-flex-justify-content-between\">\n            <button euiButton\n                    [euiRounded]=\"isSelected()\"\n                    [euiPrimary]=\"isSelected()\"\n                    [euiBasicButton]=\"!isSelected()\">\n                {{ dayOfTheMonth() }}\n            </button>\n            @if (renderNewEvent()) {\n                <button euiButton euiSizeS euiInfo (click)=\"addNewItemClicked()\">\n                    <eui-icon-svg icon=\"eui-add\" size=\"s\"/>\n                </button>\n            }\n        </div>\n    }\n\n    <div class=\"eui-u-flex eui-u-flex-column eui-u-flex-align-items-start eui-u-flex-gap-xs day-container__events-region\">\n        @for (event of events(); track event.id; let idx = $index, e = $even, l = $last) {\n            @if (idx < maxNumberOfEventsToShow()) {\n                @if (event.type) {\n                    <eui-chip [euiPrimary]=\"event.type() === EventType.primary\"\n                              [euiSuccess]=\"event.type() === EventType.success\"\n                              [euiWarning]=\"event.type() === EventType.warning\"\n                              [euiDanger]=\"event.type() === EventType.danger\"\n                              [euiInfo]=\"event.type() === EventType.info\"\n                              euiSizeS>\n                        <span [title]=\"event.label()\">{{ event.label() }}</span>\n                    </eui-chip>\n                } @else {\n                    <eui-chip euiSizeS>\n                        <span [title]=\"event.label()\">{{ event.label() }}</span>\n                    </eui-chip>\n                }\n            }\n\n            @if (l) {\n                @if (events().length > maxNumberOfEventsToShow()) {\n                    <span euiLabel euiPrimary (click)=\"showMoreEvents($event)\" class=\"day-container__show-more\">\n                        +{{ events().length - maxNumberOfEventsToShow() }} more\n                    </span>\n                }\n            }\n        }\n    </div>\n<!-- </div> -->\n\n<eui-popover #popover [title]=\"'Events'\">\n    <div class=\"eui-u-flex eui-u-flex-column eui-u-flex-align-items-start eui-u-flex-gap-xs\">\n        @for (event of events(); track event.id; let idx = $index, e = $even, l = $last) {\n            @if (event.type) {\n                <eui-chip [euiPrimary]=\"event.type() === EventType.primary\"\n                          [euiSuccess]=\"event.type() === EventType.success\"\n                          [euiWarning]=\"event.type() === EventType.warning\"\n                          [euiDanger]=\"event.type() === EventType.danger\"\n                          [euiInfo]=\"event.type() === EventType.info\"\n                          euiSizeS>\n                    <span [title]=\"event.label\">{{ event.label }}</span>\n                </eui-chip>\n            } @else {\n                <eui-chip euiSizeS>\n                    <span [title]=\"event.label\">{{ event.label }}</span>\n                </eui-chip>\n            }\n        }\n    </div>\n</eui-popover>"
        },
        {
            "name": "EuiCalendarHeaderComponent",
            "id": "component-EuiCalendarHeaderComponent-2f0cfd33f6af47deaaa219c90433f535c59fdefa7229d60e4d691990a88249fc3611d1c8cba25e3495374c0b649317f3acfadb81073ce297c16bc3c4705aca3f",
            "file": "packages/components/eui-calendar/eui-calendar-header.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-calendar-header",
            "styleUrls": [
                "./eui-calendar-header.component.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-calendar-header.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "containWeekends",
                    "defaultValue": "true, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean, BooleanInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Determines whether weekends are included in the week view.</p>\n",
                    "line": 39,
                    "rawdescription": "\n\nDetermines whether weekends are included in the week view.\n",
                    "required": false
                },
                {
                    "name": "currentDate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Date",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The currently selected date. This is a required input signal.\nIt should be a <code>Date</code> object representing the current month, week, or day, depending on the mode.</p>\n<p>Important: For weekly mode, ensure the date represents the first day of the week.</p>\n",
                    "line": 57,
                    "rawdescription": "\n\nThe currently selected date. This is a required input signal.\nIt should be a `Date` object representing the current month, week, or day, depending on the mode.\n\nImportant: For weekly mode, ensure the date represents the first day of the week.\n",
                    "required": true
                },
                {
                    "name": "customTemplate",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<EuiCalendarHeaderContext> | null",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>A custom template for the header. If provided, it will replace the default header layout.\nThe template context is of type <code>HeaderContext</code>.\nDefaults to <code>null</code>.</p>\n",
                    "line": 87,
                    "rawdescription": "\n\nA custom template for the header. If provided, it will replace the default header layout.\nThe template context is of type `HeaderContext`.\nDefaults to `null`.\n",
                    "required": false
                },
                {
                    "name": "dateFormat",
                    "defaultValue": "'MMMM yyyy'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The format used to display the current month.\nDefaults to <code>&#39;MMMM yyyy&#39;</code> (e.g., &quot;October 2023&quot;).</p>\n",
                    "line": 81,
                    "rawdescription": "\n\nThe format used to display the current month.\nDefaults to `'MMMM yyyy'` (e.g., \"October 2023\").\n",
                    "required": false
                },
                {
                    "name": "dateFormatOptions",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Intl.DateTimeFormatOptions | null",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Format options for displaying the date.\nIf not provided, defaults will be used based on the current mode.\nSee {@link <code>getFormattedOptions</code>} method for details.</p>\n",
                    "line": 45,
                    "rawdescription": "\n\nFormat options for displaying the date.\nIf not provided, defaults will be used based on the current mode.\nSee {@link `getFormattedOptions`} method for details.\n",
                    "required": false
                },
                {
                    "name": "mode",
                    "defaultValue": "EuiCalendarMode.Monthly",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiCalendarMode",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The mode of the calendar header. This can be &#39;monthly&#39;, &#39;weekly&#39;, or &#39;daily&#39;.\nDefaults to &#39;monthly&#39;.</p>\n",
                    "line": 50,
                    "rawdescription": "\n\nThe mode of the calendar header. This can be 'monthly', 'weekly', or 'daily'.\nDefaults to 'monthly'.\n",
                    "required": false
                },
                {
                    "name": "showNavigationButtons",
                    "defaultValue": "true, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean, BooleanInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Determines whether the navigation buttons (previous/next) are displayed.\nDefaults to <code>true</code>.</p>\n",
                    "line": 72,
                    "rawdescription": "\n\nDetermines whether the navigation buttons (previous/next) are displayed.\nDefaults to `true`.\n",
                    "required": false
                },
                {
                    "name": "showTodayButton",
                    "defaultValue": "true, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean, BooleanInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Determines whether the &quot;Today&quot; button is displayed.\nDefaults to <code>true</code>.</p>\n",
                    "line": 67,
                    "rawdescription": "\n\nDetermines whether the \"Today\" button is displayed.\nDefaults to `true`.\n",
                    "required": false
                },
                {
                    "name": "startingDay",
                    "defaultValue": "EuiCalendarDayOfWeek.MONDAY, { transform: this.startingDayTransformer }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number, NumberInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Starting day of the week (0=Monday, 1=Tuesday, ..., 6=Sunday or &#39;monday&#39;, &#39;tue&#39;, &#39;wed&#39;, etc.)</p>\n",
                    "line": 76,
                    "rawdescription": "\n\nStarting day of the week (0=Monday, 1=Tuesday, ..., 6=Sunday or 'monday', 'tue', 'wed', etc.)\n",
                    "required": false
                },
                {
                    "name": "subLabel",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>An optional sub-label to display below the main date label.\nDefaults to an empty string.</p>\n",
                    "line": 62,
                    "rawdescription": "\n\nAn optional sub-label to display below the main date label.\nDefaults to an empty string.\n",
                    "required": false
                }
            ],
            "outputsClass": [
                {
                    "name": "currentDate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Date",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The currently selected date. This is a required input signal.\nIt should be a <code>Date</code> object representing the current month, week, or day, depending on the mode.</p>\n<p>Important: For weekly mode, ensure the date represents the first day of the week.</p>\n",
                    "line": 57,
                    "rawdescription": "\n\nThe currently selected date. This is a required input signal.\nIt should be a `Date` object representing the current month, week, or day, depending on the mode.\n\nImportant: For weekly mode, ensure the date represents the first day of the week.\n",
                    "required": true
                },
                {
                    "name": "navigationClicked",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiCalendarNavigationEvent",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Emits when the navigation buttons are clicked (previous/next).</p>\n",
                    "line": 91,
                    "rawdescription": "\n\nEmits when the navigation buttons are clicked (previous/next).\n",
                    "required": false
                },
                {
                    "name": "todayClicked",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Date",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Emits when the &quot;Today&quot; button is clicked.</p>\n",
                    "line": 95,
                    "rawdescription": "\n\nEmits when the \"Today\" button is clicked.\n",
                    "required": false
                }
            ],
            "propertiesClass": [
                {
                    "name": "formattedDate",
                    "defaultValue": "computed(() => {\n\t\tconst options: Intl.DateTimeFormatOptions = this.formattedOptions();\n\n\t\tif (this.mode() === EuiCalendarMode.Monthly) {\n\t\t\t// For monthly mode, always show month and year\n\t\t\tconst locale = this.locale().id;\n\t\t\treturn this.currentDate().toLocaleDateString(locale, options);\n\t\t} else if (this.mode() === EuiCalendarMode.Weekly) {\n\t\t\t// For weekly mode, show the range of dates for the week\n\t\t\tconst { start, end } = this.getWeekRange(this.currentDate(), this.startingDay());\n\t\t\tconst locale = this.locale().id;\n\n\t\t\tconst startStr = start.toLocaleDateString(locale, options);\n\t\t\tconst endStr = end.toLocaleDateString(locale, options);\n\n\t\t\treturn `${startStr} - ${endStr}`;\n\t\t} else if (this.mode() === EuiCalendarMode.Daily) {\n\t\t\t// For daily mode, show full date\n\t\t\tconst date = this.currentDate();\n\t\t\tconst locale = this.locale().id;\n\t\t\treturn date.toLocaleDateString(locale, options);\n\t\t}\n\t})",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Formatted date string for display in the header (e.g., &quot;September 2023&quot; or &quot;Week 36, 2023&quot;).\nIt is formatted based on the current mode.</p>\n",
                    "line": 129,
                    "rawdescription": "\n\nFormatted date string for display in the header (e.g., \"September 2023\" or \"Week 36, 2023\").\nIt is formatted based on the current mode.\n"
                },
                {
                    "name": "headerContext",
                    "defaultValue": "computed<EuiCalendarHeaderContext>(() => ({\n\t\tcurrentDate: this.currentDate(),\n\t\tmode: this.mode(),\n\t\tprevious: this.navigatePrevious.bind(this),\n\t\tnext: this.navigateNext.bind(this),\n\t\tcbToday: this.goToToday.bind(this),\n\t\tformattedDate: this.formattedDate(),\n\t\tisToday: this.isCurrentDateToday(),\n\t}))",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Context object passed to the custom header template.</p>\n",
                    "line": 155,
                    "rawdescription": "\n\nContext object passed to the custom header template.\n"
                },
                {
                    "name": "isCurrentDateToday",
                    "defaultValue": "computed(() => {\n\t\tconst current = this.currentDate();\n\t\tconst today = new Date();\n\t\t// Reset time parts for accurate date comparison\n\t\ttoday.setHours(0, 0, 0, 0);\n\n\t\tif (this.mode() === EuiCalendarMode.Daily) {\n\t\t\treturn current.getDate() === today.getDate() &&\n\t\t\t\tcurrent.getMonth() === today.getMonth() &&\n\t\t\t\tcurrent.getFullYear() === today.getFullYear();\n\t\t} else if (this.mode() === EuiCalendarMode.Weekly) {\n\t\t\tconst { start, end } = this.getWeekRange(current, this.startingDay());\n\t\t\t// Reset time parts for accurate comparison\n\t\t\tconst compareDate = new Date(today);\n\t\t\tconst startDate = new Date(start);\n\t\t\tconst endDate = new Date(end);\n\t\t\tstartDate.setHours(0, 0, 0, 0);\n\t\t\tendDate.setHours(23, 59, 59, 999);\n\n\t\t\treturn compareDate >= startDate && compareDate <= endDate;\n\t\t} else {\n\t\t\treturn current.getMonth() === today.getMonth() &&\n\t\t\t\tcurrent.getFullYear() === today.getFullYear();\n\t\t}\n\t})",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>True if the current date is today.\nFor weekly mode, checks if today falls within the week that contains the current date.</p>\n",
                    "line": 100,
                    "rawdescription": "\n\nTrue if the current date is today.\nFor weekly mode, checks if today falls within the week that contains the current date.\n"
                },
                {
                    "name": "maxMonthWidth",
                    "defaultValue": "computed(() => {\n\t\tconst currentYear = this.currentDate().getFullYear();\n\t\tconst locale = this.locale().id;\n\t\tconst monthNames: string[] = [];\n\n\t\t// Generate all 12 month names for the current year\n\t\tfor (let i = 0; i < 12; i++) {\n\t\t\tconst date = new Date(currentYear, i, 1);\n\t\t\tmonthNames.push(date.toLocaleDateString(locale, this.formattedOptions()));\n\t\t}\n\n\t\t// Find the longest month name\n\t\tconst longestMonth = monthNames.reduce((a, b) => a.length > b.length ? a : b);\n\n\t\t// Estimate width in ch units (character width)\n\t\t// Using 1ch per character as a reasonable approximation\n\t\treturn this.mode() === EuiCalendarMode.Weekly ? `${longestMonth.length * 2 + 2}ch` : `${longestMonth.length}ch`;\n\t})",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Calculates the maximum width required to display the longest month name\nin the current locale. This helps to prevent layout shifts when navigating\nbetween months with varying name lengths.</p>\n<p>The width is estimated in &#39;ch&#39; units (character width) based on the length\nof the longest month name.</p>\n",
                    "line": 172,
                    "rawdescription": "\n\nCalculates the maximum width required to display the longest month name\nin the current locale. This helps to prevent layout shifts when navigating\nbetween months with varying name lengths.\n\nThe width is estimated in 'ch' units (character width) based on the length\nof the longest month name.\n"
                }
            ],
            "methodsClass": [
                {
                    "name": "goToToday",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 262,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nNavigates to today's date.\nEmits a `todayClicked` event with today's date.\n",
                    "description": "<p>Navigates to today&#39;s date.\nEmits a <code>todayClicked</code> event with today&#39;s date.</p>\n"
                },
                {
                    "name": "navigateNext",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 232,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nNavigates to the next month, week, or day based on the current mode.\nEmits a `navigationClicked` event with details of the navigation action.\n",
                    "description": "<p>Navigates to the next month, week, or day based on the current mode.\nEmits a <code>navigationClicked</code> event with details of the navigation action.</p>\n"
                },
                {
                    "name": "navigatePrevious",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 202,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nNavigates to the previous month, week, or day based on the current mode.\nEmits a `navigationClicked` event with details of the navigation action.\n",
                    "description": "<p>Navigates to the previous month, week, or day based on the current mode.\nEmits a <code>navigationClicked</code> event with details of the navigation action.</p>\n"
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "TranslateModule",
                    "type": "module"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_LABEL"
                },
                {
                    "name": "EUI_BUTTON"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import {\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tinject,\n\tinput,\n\tmodel,\n\toutput,\n\tTemplateRef,\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { LocaleService } from '@eui/core';\nimport { EuiCalendarNavigationEvent, EuiCalendarHeaderContext, EuiCalendarMode, EuiCalendarNavigationDirection } from './models';\nimport { EuiCalendarDayOfWeek } from './models';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion';\n\n@Component({\n\tselector: 'eui-calendar-header',\n\ttemplateUrl: './eui-calendar-header.component.html',\n\tstyleUrls: ['./eui-calendar-header.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [\n\t\tNgTemplateOutlet,\n\t\tTranslateModule,\n\t\t...EUI_ICON,\n\t\t...EUI_LABEL,\n\t\t...EUI_BUTTON,\n\t],\n})\nexport class EuiCalendarHeaderComponent {\n\t/**\n\t * Determines whether weekends are included in the week view.\n\t */\n\tcontainWeekends = input<boolean, BooleanInput>(true, { transform: booleanAttribute });\n\t/**\n\t * Format options for displaying the date.\n\t * If not provided, defaults will be used based on the current mode.\n\t * See {@link `getFormattedOptions`} method for details.\n\t */\n\tdateFormatOptions = input<Intl.DateTimeFormatOptions | null>(null);\n\t/**\n\t * The mode of the calendar header. This can be 'monthly', 'weekly', or 'daily'.\n\t * Defaults to 'monthly'.\n\t */\n\tmode = input<EuiCalendarMode>(EuiCalendarMode.Monthly);\n\t/**\n\t * The currently selected date. This is a required input signal.\n\t * It should be a `Date` object representing the current month, week, or day, depending on the mode.\n\t *\n\t * Important: For weekly mode, ensure the date represents the first day of the week.\n\t */\n\tcurrentDate = model.required<Date>();\n\t/**\n\t * An optional sub-label to display below the main date label.\n\t * Defaults to an empty string.\n\t */\n\tsubLabel = input<string>('');\n\t/**\n\t * Determines whether the \"Today\" button is displayed.\n\t * Defaults to `true`.\n\t */\n\tshowTodayButton = input<boolean, BooleanInput>(true, { transform: booleanAttribute });\n\t/**\n\t * Determines whether the navigation buttons (previous/next) are displayed.\n\t * Defaults to `true`.\n\t */\n\tshowNavigationButtons = input<boolean, BooleanInput>(true, { transform: booleanAttribute });\n\t/**\n\t * Starting day of the week (0=Monday, 1=Tuesday, ..., 6=Sunday or 'monday', 'tue', 'wed', etc.)\n\t */\n\tstartingDay = input<number, NumberInput>(EuiCalendarDayOfWeek.MONDAY, { transform: this.startingDayTransformer });\n\t/**\n\t * The format used to display the current month.\n\t * Defaults to `'MMMM yyyy'` (e.g., \"October 2023\").\n\t */\n\tdateFormat = input<string>('MMMM yyyy');\n\t/**\n\t * A custom template for the header. If provided, it will replace the default header layout.\n\t * The template context is of type `HeaderContext`.\n\t * Defaults to `null`.\n\t */\n\tcustomTemplate = input<TemplateRef<EuiCalendarHeaderContext> | null>(null);\n\t/**\n\t * Emits when the navigation buttons are clicked (previous/next).\n\t */\n\tnavigationClicked = output<EuiCalendarNavigationEvent>();\n\t/**\n\t * Emits when the \"Today\" button is clicked.\n\t */\n\ttodayClicked = output<Date>();\n\t/**\n\t * True if the current date is today.\n\t * For weekly mode, checks if today falls within the week that contains the current date.\n\t */\n\tisCurrentDateToday = computed(() => {\n\t\tconst current = this.currentDate();\n\t\tconst today = new Date();\n\t\t// Reset time parts for accurate date comparison\n\t\ttoday.setHours(0, 0, 0, 0);\n\n\t\tif (this.mode() === EuiCalendarMode.Daily) {\n\t\t\treturn current.getDate() === today.getDate() &&\n\t\t\t\tcurrent.getMonth() === today.getMonth() &&\n\t\t\t\tcurrent.getFullYear() === today.getFullYear();\n\t\t} else if (this.mode() === EuiCalendarMode.Weekly) {\n\t\t\tconst { start, end } = this.getWeekRange(current, this.startingDay());\n\t\t\t// Reset time parts for accurate comparison\n\t\t\tconst compareDate = new Date(today);\n\t\t\tconst startDate = new Date(start);\n\t\t\tconst endDate = new Date(end);\n\t\t\tstartDate.setHours(0, 0, 0, 0);\n\t\t\tendDate.setHours(23, 59, 59, 999);\n\n\t\t\treturn compareDate >= startDate && compareDate <= endDate;\n\t\t} else {\n\t\t\treturn current.getMonth() === today.getMonth() &&\n\t\t\t\tcurrent.getFullYear() === today.getFullYear();\n\t\t}\n\t});\n\t/**\n\t * Formatted date string for display in the header (e.g., \"September 2023\" or \"Week 36, 2023\").\n\t * It is formatted based on the current mode.\n\t */\n\tformattedDate = computed(() => {\n\t\tconst options: Intl.DateTimeFormatOptions = this.formattedOptions();\n\n\t\tif (this.mode() === EuiCalendarMode.Monthly) {\n\t\t\t// For monthly mode, always show month and year\n\t\t\tconst locale = this.locale().id;\n\t\t\treturn this.currentDate().toLocaleDateString(locale, options);\n\t\t} else if (this.mode() === EuiCalendarMode.Weekly) {\n\t\t\t// For weekly mode, show the range of dates for the week\n\t\t\tconst { start, end } = this.getWeekRange(this.currentDate(), this.startingDay());\n\t\t\tconst locale = this.locale().id;\n\n\t\t\tconst startStr = start.toLocaleDateString(locale, options);\n\t\t\tconst endStr = end.toLocaleDateString(locale, options);\n\n\t\t\treturn `${startStr} - ${endStr}`;\n\t\t} else if (this.mode() === EuiCalendarMode.Daily) {\n\t\t\t// For daily mode, show full date\n\t\t\tconst date = this.currentDate();\n\t\t\tconst locale = this.locale().id;\n\t\t\treturn date.toLocaleDateString(locale, options);\n\t\t}\n\t});\n\t/**\n\t * Context object passed to the custom header template.\n\t */\n\theaderContext = computed<EuiCalendarHeaderContext>(() => ({\n\t\tcurrentDate: this.currentDate(),\n\t\tmode: this.mode(),\n\t\tprevious: this.navigatePrevious.bind(this),\n\t\tnext: this.navigateNext.bind(this),\n\t\tcbToday: this.goToToday.bind(this),\n\t\tformattedDate: this.formattedDate(),\n\t\tisToday: this.isCurrentDateToday(),\n\t}));\n\t/**\n\t * Calculates the maximum width required to display the longest month name\n\t * in the current locale. This helps to prevent layout shifts when navigating\n\t * between months with varying name lengths.\n\t *\n\t * The width is estimated in 'ch' units (character width) based on the length\n\t * of the longest month name.\n\t */\n\tmaxMonthWidth = computed(() => {\n\t\tconst currentYear = this.currentDate().getFullYear();\n\t\tconst locale = this.locale().id;\n\t\tconst monthNames: string[] = [];\n\n\t\t// Generate all 12 month names for the current year\n\t\tfor (let i = 0; i < 12; i++) {\n\t\t\tconst date = new Date(currentYear, i, 1);\n\t\t\tmonthNames.push(date.toLocaleDateString(locale, this.formattedOptions()));\n\t\t}\n\n\t\t// Find the longest month name\n\t\tconst longestMonth = monthNames.reduce((a, b) => a.length > b.length ? a : b);\n\n\t\t// Estimate width in ch units (character width)\n\t\t// Using 1ch per character as a reasonable approximation\n\t\treturn this.mode() === EuiCalendarMode.Weekly ? `${longestMonth.length * 2 + 2}ch` : `${longestMonth.length}ch`;\n\t});\n\tprivate formattedOptions = computed(() => {\n\t\tif (this.dateFormatOptions() !== null) {\n\t\t\treturn this.dateFormatOptions();\n\t\t}\n\t\treturn this.getFormattedOptions();\n\t});\n\tprivate locale = inject(LocaleService).getSignal();\n\n\t/**\n\t * Navigates to the previous month, week, or day based on the current mode.\n\t * Emits a `navigationClicked` event with details of the navigation action.\n\t */\n\tnavigatePrevious(): void {\n\t\tconst current = this.currentDate();\n\t\tswitch (this.mode()) {\n\t\t\tcase EuiCalendarMode.Daily:\n\t\t\t\t// In weekly or daily mode, navigating previous should go to the previous day\n\t\t\t\tthis.currentDate.update(m => new Date(m.getFullYear(), m.getMonth(), m.getDate() - 1));\n\t\t\t\tbreak;\n\t\t\tcase EuiCalendarMode.Weekly:\n\t\t\t\t// In weekly mode, navigating previous goes to the previous week (7 days)\n\t\t\t\tthis.currentDate.update(m => new Date(m.getFullYear(), m.getMonth(), m.getDate() - 7));\n\t\t\t\tbreak;\n\t\t\tcase EuiCalendarMode.Monthly:\n\t\t\tdefault:\n\t\t\t\t// In monthly mode, navigating previous goes to the previous month\n\t\t\t\tthis.currentDate.update(m => new Date(m.getFullYear(), m.getMonth() - 1, 1));\n\t\t\t\tbreak;\n\t\t}\n\n\t\tthis.navigationClicked.emit({\n\t\t\tdirection: EuiCalendarNavigationDirection.Previous,\n\t\t\tcurrent: current,\n\t\t\tnew: this.currentDate(),\n\t\t\tmode: this.mode(),\n\t\t});\n\t}\n\n\t/**\n\t * Navigates to the next month, week, or day based on the current mode.\n\t * Emits a `navigationClicked` event with details of the navigation action.\n\t */\n\tnavigateNext(): void {\n\t\tconst current = this.currentDate();\n\t\tswitch (this.mode()) {\n\t\t\tcase EuiCalendarMode.Daily:\n\t\t\t\t// In weekly or daily mode, navigating next should go to the next day\n\t\t\t\tthis.currentDate.update(m => new Date(m.getFullYear(), m.getMonth(), m.getDate() + 1));\n\t\t\t\tbreak;\n\t\t\tcase EuiCalendarMode.Weekly:\n\t\t\t\t// In weekly mode, navigating next goes to the next week (7 days)\n\t\t\t\tthis.currentDate.update(m => new Date(m.getFullYear(), m.getMonth(), m.getDate() + 7));\n\t\t\t\tbreak;\n\t\t\tcase EuiCalendarMode.Monthly:\n\t\t\tdefault:\n\t\t\t\t// In monthly mode, navigating next goes to the next month\n\t\t\t\tthis.currentDate.update(m => new Date(m.getFullYear(), m.getMonth() + 1, 1));\n\t\t\t\tbreak;\n\t\t}\n\n\t\tthis.navigationClicked.emit({\n\t\t\tdirection: EuiCalendarNavigationDirection.Next,\n\t\t\tcurrent: current,\n\t\t\tnew: this.currentDate(),\n\t\t\tmode: this.mode(),\n\t\t});\n\t}\n\n\t/**\n\t * Navigates to today's date.\n\t * Emits a `todayClicked` event with today's date.\n\t */\n\tgoToToday(): void {\n\t\tconst today = new Date();\n\t\tthis.todayClicked.emit(today);\n\t}\n\n\t/**\n\t * Determines the appropriate date formatting options based on the current mode.\n\t * - Monthly: Displays full month name and year (e.g., \"October 2023\").\n\t * - Weekly: Displays short month name, day, and year (e.g., \"Oct 1, 2023\").\n\t * - Daily: Displays full weekday name, month name, day, and year (e.g., \"Monday, October 2, 2023\").\n\t */\n\tprivate getFormattedOptions(): Intl.DateTimeFormatOptions {\n\t\tif (this.mode() === EuiCalendarMode.Monthly) {\n\t\t\treturn { month: 'long', year: 'numeric' };\n\t\t} else if (this.mode() === EuiCalendarMode.Weekly) {\n\t\t\treturn { year: 'numeric', month: 'short', day: 'numeric' };\n\t\t} else {\n\t\t\treturn { year: 'numeric', month: 'long', day: 'numeric', weekday: 'long' };\n\t\t}\n\t}\n\n\t/**\n\t * Calculates the start and end dates of the week that contains the given date.\n\t * The week always includes the current date and starts on the specified startingDay.\n\t * For example:\n\t * - If date is Monday 20/10/2025 and startingDay is Tuesday (1), week is Tue 14/10 - Mon 20/10\n\t * - If date is Monday 20/10/2025 and startingDay is Monday (0), week is Mon 20/10 - Sun 26/10\n\t * - If date is Thursday 23/10/2025 and startingDay is Tuesday (1), week is Tue 21/10 - Mon 27/10\n\t * - If containWeekends is false, the week spans 5 days instead of 7 (e.g., Mon-Fri)\n\t * @param date The reference date (must be included in the returned week range)\n\t * @param startDay The day the week starts on (0=Monday, 1=Tuesday, ..., 6=Sunday)\n\t * @returns An object containing the start and end dates of the week\n\t */\n\tprivate getWeekRange(date: Date, startDay: number): { start: Date; end: Date } {\n\t\t// Get the current day of the week in JavaScript format (0=Sunday, 1=Monday, ..., 6=Saturday)\n\t\tconst jsDay = date.getDay();\n\n\t\t// Convert our DayOfWeek (0=Monday, 1=Tuesday, ..., 6=Sunday) to JavaScript day (0=Sunday, 1=Monday, ..., 6=Saturday)\n\t\t// Monday(0) -> 1, Tuesday(1) -> 2, Wednesday(2) -> 3, Thursday(3) -> 4, Friday(4) -> 5, Saturday(5) -> 6, Sunday(6) -> 0\n\t\tconst targetStartDay = (startDay + 1) % 7;\n\n\t\t// Calculate how many days back we need to go to reach the start of the week\n\t\t// This finds the most recent occurrence of startingDay (including today if it matches)\n\t\tconst daysBack = (jsDay - targetStartDay + 7) % 7;\n\n\t\tconst start = new Date(date);\n\t\tstart.setDate(date.getDate() - daysBack);\n\n\t\tconst end = new Date(start);\n\t\t// If weekends are not included, the week spans 5 days (business days), otherwise 7 days\n\t\tconst daysInWeek = this.containWeekends() ? 6 : 4;\n\t\tend.setDate(start.getDate() + daysInWeek);\n\n\t\treturn { start, end };\n\t}\n\n\t/**\n\t * Normalizes the starting day input to a DayOfWeek enum value\n\t * @param {string|number} startingDay - Day name, abbreviation, or number\n\t * @returns {number} Normalized day index (0-6)\n\t * @throws {Error} If the starting day is invalid\n\t */\n\tprivate startingDayTransformer(startingDay: string | number): number {\n\t\tif (typeof startingDay === 'number' || /^\\d+$/.test(startingDay)) {\n\t\t\tstartingDay = typeof startingDay === 'string' ? parseInt(startingDay, 10) : startingDay;\n\t\t\tif (startingDay >= 0 && startingDay <= 6) {\n\t\t\t\treturn startingDay;\n\t\t\t}\n\t\t\tthrow new Error(`Invalid starting day number: ${startingDay}. Must be 0-6.`);\n\t\t}\n\n\t\tif (typeof startingDay === 'string') {\n\t\t\t/**\n\t\t\t * Map day names to enum values for flexible input\n\t\t\t * @type {Object.<string, number>}\n\t\t\t */\n\t\t\tconst DayNameMap: { [s: string]: number; } = {\n\t\t\t\tmonday: EuiCalendarDayOfWeek.MONDAY,\n\t\t\t\tmon: EuiCalendarDayOfWeek.MONDAY,\n\t\t\t\ttuesday: EuiCalendarDayOfWeek.TUESDAY,\n\t\t\t\ttue: EuiCalendarDayOfWeek.TUESDAY,\n\t\t\t\twednesday: EuiCalendarDayOfWeek.WEDNESDAY,\n\t\t\t\twed: EuiCalendarDayOfWeek.WEDNESDAY,\n\t\t\t\tthursday: EuiCalendarDayOfWeek.THURSDAY,\n\t\t\t\tthu: EuiCalendarDayOfWeek.THURSDAY,\n\t\t\t\tfriday: EuiCalendarDayOfWeek.FRIDAY,\n\t\t\t\tfri: EuiCalendarDayOfWeek.FRIDAY,\n\t\t\t\tsaturday: EuiCalendarDayOfWeek.SATURDAY,\n\t\t\t\tsat: EuiCalendarDayOfWeek.SATURDAY,\n\t\t\t\tsunday: EuiCalendarDayOfWeek.SUNDAY,\n\t\t\t\tsun: EuiCalendarDayOfWeek.SUNDAY,\n\t\t\t};\n\t\t\tconst normalized = startingDay.toLowerCase().trim();\n\t\t\tif (normalized in DayNameMap) {\n\t\t\t\treturn DayNameMap[normalized];\n\t\t\t}\n\t\t\tthrow new Error(`Invalid starting day: \"${startingDay}\". Use day name or abbreviation.`);\n\t\t}\n\n\t\tthrow new Error('Starting day must be a string (day name) or number (0-6).');\n\t}\n}",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": ".eui-calendar-header-label {\n  display: inline-block;\n  text-align: center;\n}",
                    "styleUrl": "./eui-calendar-header.component.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "templateData": "@if (customTemplate(); as template) {\n    <ng-container [ngTemplateOutletContext]=\"headerContext()\" [ngTemplateOutlet]=\"template\" />\n} @else {\n    <div class=\"eui-u-flex eui-u-flex-justify-content-between eui-u-flex-gap-s\">\n        <div class=\"eui-u-display-flex eui-u-flex-gap-s eui-u-flex-align-items-center\">\n            @if (showNavigationButtons()) {\n                <button (click)=\"navigatePrevious()\" aria-label=\"Go to previous month\" euiBasicButton euiButton euiPrimary euiIconButton>\n                    <eui-icon-svg icon=\"eui-caret-left\" />\n                </button>\n            }\n            <div [style.min-width]=\"maxMonthWidth()\"\n                 class=\"eui-u-flex eui-u-flex-column eui-u-flex-align-items-start eui-u-text-wrap\">\n                <span class=\"eui-calendar-header-label\" euiLabel>{{ formattedDate() }}</span>\n                @if (subLabel() !== '') {\n                    <span euiSizeS euiSublabel>{{ subLabel() }}</span>\n                }\n            </div>\n            @if (showNavigationButtons()) {\n                <button (click)=\"navigateNext()\" aria-label=\"Go to next month\" euiBasicButton euiButton euiPrimary euiIconButton>\n                    <eui-icon-svg icon=\"eui-caret-right\" />\n                </button>\n            }\n        </div>\n        @if (showTodayButton()) {\n            <button (click)=\"goToToday()\"\n                    [euiDisabled]=\"isCurrentDateToday()\"\n                    aria-label=\"Go to current day\"\n                    euiButton\n                    euiInfo>\n                    Today <!-- TODO translate in all languages -->\n                <!-- {{ 'eui.calendar.today' | translate }} -->\n            </button>\n        }\n    </div>\n}"
        },
        {
            "name": "EuiCalendarMonthlyComponent",
            "id": "component-EuiCalendarMonthlyComponent-43246d0830ae2d534a178f7cbfae6a57c76011f70477829daf3ea3e51605f10cbdcd268c47d9dee79670cb967102e8c1f05c3b3eb4aa53cd2dbf6e15dad03474",
            "file": "packages/components/eui-calendar/eui-calendar-monthly.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-calendar-monthly",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-calendar-monthly.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "date",
                    "defaultValue": "new Date()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Date",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The reference date for the month. The component will display the month that contains this date.</p>\n",
                    "line": 88,
                    "rawdescription": "\n\nThe reference date for the month. The component will display the month that contains this date.\n",
                    "required": false
                },
                {
                    "name": "dayTemplate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<any>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Template for rendering each day cell</p>\n",
                    "line": 72,
                    "rawdescription": "\n\nTemplate for rendering each day cell\n",
                    "required": false
                },
                {
                    "name": "disabledDaysNotInMonth",
                    "defaultValue": "true, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean, BooleanInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Disable days that are not in the current selected month</p>\n",
                    "line": 112,
                    "rawdescription": "\n\nDisable days that are not in the current selected month\n",
                    "required": false
                },
                {
                    "name": "disableFutureDates",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean, BooleanInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Disable selection of future dates</p>\n",
                    "line": 100,
                    "rawdescription": "\n\nDisable selection of future dates\n",
                    "required": false
                },
                {
                    "name": "disablePastDates",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean, BooleanInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Disable selection of past dates</p>\n",
                    "line": 104,
                    "rawdescription": "\n\nDisable selection of past dates\n",
                    "required": false
                },
                {
                    "name": "disableWeekends",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean, BooleanInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Disable selection of weekend dates</p>\n",
                    "line": 108,
                    "rawdescription": "\n\nDisable selection of weekend dates\n",
                    "required": false
                },
                {
                    "name": "events",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiCalendarEvent[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 66,
                    "required": false
                },
                {
                    "name": "fillNextMonth",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean, BooleanInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Fill with next month days</p>\n",
                    "line": 96,
                    "rawdescription": "\n\nFill with next month days\n",
                    "required": false
                },
                {
                    "name": "fillPreviousMonth",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean, BooleanInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Fill with previous month days</p>\n",
                    "line": 92,
                    "rawdescription": "\n\nFill with previous month days\n",
                    "required": false
                },
                {
                    "name": "hasEmptyValue",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean, BooleanInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 67,
                    "required": false
                },
                {
                    "name": "headerTemplate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<{ date: Date }>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Template for rendering each day cell</p>\n",
                    "line": 76,
                    "rawdescription": "\n\nTemplate for rendering each day cell\n",
                    "required": false
                },
                {
                    "name": "mode",
                    "defaultValue": "'truncated'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "\"compact\" | \"truncated\"",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Display mode of the calendar (&#39;compact&#39; or &#39;truncated&#39;)</p>\n",
                    "line": 80,
                    "rawdescription": "\n\nDisplay mode of the calendar ('compact' or 'truncated')\n",
                    "required": false
                },
                {
                    "name": "startingDay",
                    "defaultValue": "EuiCalendarDayOfWeek.MONDAY, { transform: this.startingDayTransformer }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number, NumberInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Starting day of the week (0=Monday, 1=Tuesday, ..., 6=Sunday or &#39;monday&#39;, &#39;tue&#39;, &#39;wed&#39;, etc.)</p>\n",
                    "line": 84,
                    "rawdescription": "\n\nStarting day of the week (0=Monday, 1=Tuesday, ..., 6=Sunday or 'monday', 'tue', 'wed', etc.)\n",
                    "required": false
                }
            ],
            "outputsClass": [
                {
                    "name": "newEventAddClicked",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiCalendarDayCell",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 113,
                    "required": false
                }
            ],
            "propertiesClass": [
                {
                    "name": "daysHeaderArray",
                    "defaultValue": "computed(() => {\n\t\tconst days = Array.from({ length: 7 }, (_, i) => {\n\t\t\tconst date = new Date(2024, 0, 1 + i);\n\t\t\t// Start from Monday (Jan 1, 2024 was a Monday)\n\t\t\treturn date;\n\t\t});\n\t\t// Rotate array based on startingDay\n\t\treturn days.slice(this.startingDay()).concat(days.slice(0, this.startingDay())).map(day => ({\n\t\t\tshort: day.toLocaleDateString(this.locale(), { weekday: 'short' }),\n\t\t\tdate: day,\n\t\t}));\n\t})",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 165
                },
                {
                    "name": "monthlyCalendar",
                    "defaultValue": "computed(() => {\n\t\tconst currentEvents = this.events(); // Access the signal directly in computed\n\n\t\t// take into account the disableFutureDates, disablePastDates, disableWeekends and isCurrentMonth flags\n\t\t// to set the isDisabled flag on the DayCell objects\n\t\treturn this.generateCalendarGrid(this.date().getMonth() + 1, this.startingDay(), {\n\t\t\tyear: this.date().getFullYear(),\n\t\t\temptyValue: this.hasEmptyValue() ? null : undefined,\n\t\t\tfillPreviousMonth: this.fillPreviousMonth(),\n\t\t\tfillNextMonth: this.fillNextMonth(),\n\t\t})\n\t\t\t.filter(week => week.some(day => (typeof day === 'number') || (typeof day === 'object' && day?.isCurrentMonth)))\n\t\t\t.map(week => week.map(day => {\n\t\t\t\tif (day && typeof day === 'object') {\n\t\t\t\t\t// Determine if the day should be disabled\n\t\t\t\t\tlet isDisabled = false;\n\t\t\t\t\tif (this.disableFutureDates() && day.isFuture) {\n\t\t\t\t\t\tisDisabled = true;\n\t\t\t\t\t}\n\t\t\t\t\tif (this.disablePastDates() && day.isPast) {\n\t\t\t\t\t\tisDisabled = true;\n\t\t\t\t\t}\n\t\t\t\t\tif (this.disableWeekends() && day.isWeekend) {\n\t\t\t\t\t\tisDisabled = true;\n\t\t\t\t\t}\n\t\t\t\t\tif (this.disabledDaysNotInMonth() && !day.isCurrentMonth) {\n\t\t\t\t\t\tisDisabled = true;\n\t\t\t\t\t}\n\t\t\t\t\tday.isDisabled = isDisabled;\n\t\t\t\t\tconst dayEvents: EuiCalendarEvent[] = currentEvents.filter(event => {\n\t\t\t\t\t\t// More complex filtering logic\n\t\t\t\t\t\treturn event.date().getDate() === day.day &&\n\t\t\t\t\t\t\t(event.date().getMonth() + 1) === day.month &&\n\t\t\t\t\t\t\tevent.date().getFullYear() === day.year;\n\t\t\t\t\t}).map(v => ({\n\t\t\t\t\t\tlabel: v.label,\n\t\t\t\t\t\tid: v.id,\n\t\t\t\t\t\ttype: v?.type,\n\t\t\t\t\t\tdate: v.date,\n\t\t\t\t\t\t...v,\n\t\t\t\t\t}));\n\t\t\t\t\tif (dayEvents.length > 0) {\n\t\t\t\t\t\tday.events = dayEvents;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn day;\n\t\t\t}));\n\t})",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Signal<[][]>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 115
                }
            ],
            "methodsClass": [
                {
                    "name": "addNewItemClicked",
                    "args": [
                        {
                            "name": "day",
                            "type": "EuiCalendarDayCell",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 208,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "day",
                            "type": "EuiCalendarDayCell",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "compareDatesAtDayPrecision",
                    "args": [
                        {
                            "name": "date1",
                            "type": "Date",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "date2",
                            "type": "Date",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "\"0\" | \"1\" | unknown",
                    "typeParameters": [],
                    "line": 251,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCompares two dates at day precision\n",
                    "description": "<p>Compares two dates at day precision</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 7954,
                                "end": 7959,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "date1"
                            },
                            "type": "Date",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 7941,
                                "end": 7946,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>First date</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 7947,
                                "end": 7953,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 7948,
                                    "end": 7952,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 7948,
                                        "end": 7952,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "Date"
                                    }
                                }
                            }
                        },
                        {
                            "name": {
                                "pos": 7991,
                                "end": 7996,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "date2"
                            },
                            "type": "Date",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 7978,
                                "end": 7983,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Second date</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 7984,
                                "end": 7990,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 7985,
                                    "end": 7989,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 7985,
                                        "end": 7989,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "Date"
                                    }
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 8016,
                                "end": 8023,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>-1 if date1 &lt; date2, 0 if equal, 1 if date1 &gt; date2</p>\n",
                            "returnType": "number"
                        }
                    ]
                },
                {
                    "name": "createEnhancedDayCell",
                    "args": [
                        {
                            "name": "day",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "month",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "year",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "isCurrentMonth",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "options",
                            "type": "object",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        }
                    ],
                    "optional": false,
                    "returnType": "EuiCalendarDayCell",
                    "typeParameters": [],
                    "line": 269,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCreates an enhanced day cell object with comprehensive metadata\n",
                    "description": "<p>Creates an enhanced day cell object with comprehensive metadata</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 8477,
                                "end": 8480,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "day"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 8462,
                                "end": 8467,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Day of the month</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 8468,
                                "end": 8476,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 8469,
                                    "end": 8475,
                                    "kind": 150,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        },
                        {
                            "name": {
                                "pos": 8520,
                                "end": 8525,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "month"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 8505,
                                "end": 8510,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Month (1-12)</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 8511,
                                "end": 8519,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 8512,
                                    "end": 8518,
                                    "kind": 150,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        },
                        {
                            "name": {
                                "pos": 8561,
                                "end": 8565,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "year"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 8546,
                                "end": 8551,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Year</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 8552,
                                "end": 8560,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 8553,
                                    "end": 8559,
                                    "kind": 150,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        },
                        {
                            "name": {
                                "pos": 8594,
                                "end": 8608,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "isCurrentMonth"
                            },
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 8578,
                                "end": 8583,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Whether this day belongs to the displayed month</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 8584,
                                "end": 8593,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 8585,
                                    "end": 8592,
                                    "kind": 136,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        },
                        {
                            "name": {
                                "pos": 8679,
                                "end": 8686,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "options"
                            },
                            "type": "object",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "pos": 8664,
                                "end": 8669,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Configuration options</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 8670,
                                "end": 8678,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 8671,
                                    "end": 8677,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 8671,
                                        "end": 8677,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "Object"
                                    }
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 8716,
                                "end": 8723,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Enhanced day cell object</p>\n",
                            "returnType": "unknown"
                        }
                    ]
                },
                {
                    "name": "generateCalendarGrid",
                    "args": [
                        {
                            "name": "month",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "startingDay",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "options",
                            "type": "EuiCalendarMonthlyCalendarOptions",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}"
                        }
                    ],
                    "optional": false,
                    "returnType": "[][]",
                    "typeParameters": [],
                    "line": 341,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nGenerates a calendar grid for a given month\n",
                    "description": "<p>Generates a calendar grid for a given month</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 10510,
                                "end": 10515,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "month"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 10495,
                                "end": 10500,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Month (1-12)</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 10501,
                                "end": 10509,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 10502,
                                    "end": 10508,
                                    "kind": 150,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        },
                        {
                            "name": {
                                "pos": 10558,
                                "end": 10569,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "startingDay"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 10536,
                                "end": 10541,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>First day of the week (configurable)</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 10542,
                                "end": 10557,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 10543,
                                    "end": 10556,
                                    "kind": 193,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "types": [
                                        {
                                            "pos": 10543,
                                            "end": 10549,
                                            "kind": 154,
                                            "id": 0,
                                            "flags": 16777216,
                                            "transformFlags": 1
                                        },
                                        {
                                            "pos": 10550,
                                            "end": 10556,
                                            "kind": 150,
                                            "id": 0,
                                            "flags": 16777216,
                                            "transformFlags": 1
                                        }
                                    ]
                                }
                            }
                        },
                        {
                            "name": {
                                "pos": 10629,
                                "end": 10636,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "options"
                            },
                            "type": "EuiCalendarMonthlyCalendarOptions",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{}",
                            "tagName": {
                                "pos": 10614,
                                "end": 10619,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Additional options</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 10662,
                                "end": 10956,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 10662,
                                    "end": 10956,
                                    "kind": 323,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "jsDocPropertyTags": [
                                        {
                                            "pos": 10662,
                                            "end": 10729,
                                            "kind": 342,
                                            "id": 0,
                                            "flags": 16842752,
                                            "modifierFlagsCache": 0,
                                            "transformFlags": 0,
                                            "tagName": {
                                                "pos": 10663,
                                                "end": 10668,
                                                "kind": 80,
                                                "id": 0,
                                                "flags": 16842752,
                                                "transformFlags": 0,
                                                "escapedText": "param"
                                            },
                                            "comment": "- Year (defaults to current year)",
                                            "typeExpression": {
                                                "pos": 10669,
                                                "end": 10677,
                                                "kind": 310,
                                                "id": 0,
                                                "flags": 16842752,
                                                "modifierFlagsCache": 0,
                                                "transformFlags": 0,
                                                "type": {
                                                    "pos": 10670,
                                                    "end": 10676,
                                                    "kind": 150,
                                                    "id": 0,
                                                    "flags": 16777216,
                                                    "transformFlags": 1
                                                }
                                            },
                                            "name": {
                                                "pos": 10678,
                                                "end": 10690,
                                                "kind": 167,
                                                "id": 0,
                                                "flags": 16842752,
                                                "modifierFlagsCache": 0,
                                                "transformFlags": 0,
                                                "left": {
                                                    "pos": 10678,
                                                    "end": 10685,
                                                    "kind": 80,
                                                    "id": 0,
                                                    "flags": 16842752,
                                                    "transformFlags": 0,
                                                    "escapedText": "options"
                                                },
                                                "right": {
                                                    "pos": 10686,
                                                    "end": 10690,
                                                    "kind": 80,
                                                    "id": 0,
                                                    "flags": 16842752,
                                                    "transformFlags": 0,
                                                    "escapedText": "year"
                                                }
                                            },
                                            "isNameFirst": false,
                                            "isBracketed": false
                                        },
                                        {
                                            "pos": 10729,
                                            "end": 10806,
                                            "kind": 342,
                                            "id": 0,
                                            "flags": 16842752,
                                            "modifierFlagsCache": 0,
                                            "transformFlags": 0,
                                            "tagName": {
                                                "pos": 10730,
                                                "end": 10735,
                                                "kind": 80,
                                                "id": 0,
                                                "flags": 16842752,
                                                "transformFlags": 0,
                                                "escapedText": "param"
                                            },
                                            "comment": "- Value for empty cells (defaults to null)",
                                            "typeExpression": {
                                                "pos": 10736,
                                                "end": 10739,
                                                "kind": 310,
                                                "id": 0,
                                                "flags": 16842752,
                                                "modifierFlagsCache": 0,
                                                "transformFlags": 0,
                                                "type": {
                                                    "pos": 10737,
                                                    "end": 10738,
                                                    "kind": 313,
                                                    "id": 0,
                                                    "flags": 16777216,
                                                    "modifierFlagsCache": 0,
                                                    "transformFlags": 0
                                                }
                                            },
                                            "name": {
                                                "pos": 10740,
                                                "end": 10758,
                                                "kind": 167,
                                                "id": 0,
                                                "flags": 16842752,
                                                "modifierFlagsCache": 0,
                                                "transformFlags": 0,
                                                "left": {
                                                    "pos": 10740,
                                                    "end": 10747,
                                                    "kind": 80,
                                                    "id": 0,
                                                    "flags": 16842752,
                                                    "transformFlags": 0,
                                                    "escapedText": "options"
                                                },
                                                "right": {
                                                    "pos": 10748,
                                                    "end": 10758,
                                                    "kind": 80,
                                                    "id": 0,
                                                    "flags": 16842752,
                                                    "transformFlags": 0,
                                                    "escapedText": "emptyValue"
                                                }
                                            },
                                            "isNameFirst": false,
                                            "isBracketed": false
                                        },
                                        {
                                            "pos": 10806,
                                            "end": 10885,
                                            "kind": 342,
                                            "id": 0,
                                            "flags": 16842752,
                                            "modifierFlagsCache": 0,
                                            "transformFlags": 0,
                                            "tagName": {
                                                "pos": 10807,
                                                "end": 10812,
                                                "kind": 80,
                                                "id": 0,
                                                "flags": 16842752,
                                                "transformFlags": 0,
                                                "escapedText": "param"
                                            },
                                            "comment": "- Fill with previous month days",
                                            "typeExpression": {
                                                "pos": 10813,
                                                "end": 10822,
                                                "kind": 310,
                                                "id": 0,
                                                "flags": 16842752,
                                                "modifierFlagsCache": 0,
                                                "transformFlags": 0,
                                                "type": {
                                                    "pos": 10814,
                                                    "end": 10821,
                                                    "kind": 136,
                                                    "id": 0,
                                                    "flags": 16777216,
                                                    "transformFlags": 1
                                                }
                                            },
                                            "name": {
                                                "pos": 10823,
                                                "end": 10848,
                                                "kind": 167,
                                                "id": 0,
                                                "flags": 16842752,
                                                "modifierFlagsCache": 0,
                                                "transformFlags": 0,
                                                "left": {
                                                    "pos": 10823,
                                                    "end": 10830,
                                                    "kind": 80,
                                                    "id": 0,
                                                    "flags": 16842752,
                                                    "transformFlags": 0,
                                                    "escapedText": "options"
                                                },
                                                "right": {
                                                    "pos": 10831,
                                                    "end": 10848,
                                                    "kind": 80,
                                                    "id": 0,
                                                    "flags": 16842752,
                                                    "transformFlags": 0,
                                                    "escapedText": "fillPreviousMonth"
                                                }
                                            },
                                            "isNameFirst": false,
                                            "isBracketed": false
                                        },
                                        {
                                            "pos": 10885,
                                            "end": 10956,
                                            "kind": 342,
                                            "id": 0,
                                            "flags": 16842752,
                                            "modifierFlagsCache": 0,
                                            "transformFlags": 0,
                                            "tagName": {
                                                "pos": 10886,
                                                "end": 10891,
                                                "kind": 80,
                                                "id": 0,
                                                "flags": 16842752,
                                                "transformFlags": 0,
                                                "escapedText": "param"
                                            },
                                            "comment": "- Fill with next month days",
                                            "typeExpression": {
                                                "pos": 10892,
                                                "end": 10901,
                                                "kind": 310,
                                                "id": 0,
                                                "flags": 16842752,
                                                "modifierFlagsCache": 0,
                                                "transformFlags": 0,
                                                "type": {
                                                    "pos": 10893,
                                                    "end": 10900,
                                                    "kind": 136,
                                                    "id": 0,
                                                    "flags": 16777216,
                                                    "transformFlags": 1
                                                }
                                            },
                                            "name": {
                                                "pos": 10902,
                                                "end": 10923,
                                                "kind": 167,
                                                "id": 0,
                                                "flags": 16842752,
                                                "modifierFlagsCache": 0,
                                                "transformFlags": 0,
                                                "left": {
                                                    "pos": 10902,
                                                    "end": 10909,
                                                    "kind": 80,
                                                    "id": 0,
                                                    "flags": 16842752,
                                                    "transformFlags": 0,
                                                    "escapedText": "options"
                                                },
                                                "right": {
                                                    "pos": 10910,
                                                    "end": 10923,
                                                    "kind": 80,
                                                    "id": 0,
                                                    "flags": 16842752,
                                                    "transformFlags": 0,
                                                    "escapedText": "fillNextMonth"
                                                }
                                            },
                                            "isNameFirst": false,
                                            "isBracketed": false
                                        }
                                    ],
                                    "isArrayType": false
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 10957,
                                "end": 10964,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>6x7 grid representing the calendar month</p>\n",
                            "returnType": "unknown"
                        }
                    ]
                },
                {
                    "name": "getDaysInMonth",
                    "args": [
                        {
                            "name": "month",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "year",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "new Date().getFullYear()"
                        }
                    ],
                    "optional": false,
                    "returnType": "number",
                    "typeParameters": [],
                    "line": 218,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCalculates the number of days in a given month\n",
                    "description": "<p>Calculates the number of days in a given month</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 6716,
                                "end": 6721,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "month"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 6701,
                                "end": 6706,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Month (1-12)</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 6707,
                                "end": 6715,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 6708,
                                    "end": 6714,
                                    "kind": 150,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        },
                        {
                            "name": {
                                "pos": 6757,
                                "end": 6761,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "year"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "new Date().getFullYear()",
                            "tagName": {
                                "pos": 6742,
                                "end": 6747,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Year (optional, defaults to current year)</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 6748,
                                "end": 6756,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 6749,
                                    "end": 6755,
                                    "kind": 150,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 6811,
                                "end": 6818,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Number of days in the month</p>\n",
                            "returnType": "number"
                        }
                    ]
                },
                {
                    "name": "getFirstDayOfMonth",
                    "args": [
                        {
                            "name": "month",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "year",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "new Date().getFullYear()"
                        }
                    ],
                    "optional": false,
                    "returnType": "number",
                    "typeParameters": [],
                    "line": 228,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCalculates the day of week for the first day of a month\n",
                    "description": "<p>Calculates the day of week for the first day of a month</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 7077,
                                "end": 7082,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "month"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 7062,
                                "end": 7067,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Month (1-12)</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 7068,
                                "end": 7076,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 7069,
                                    "end": 7075,
                                    "kind": 150,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        },
                        {
                            "name": {
                                "pos": 7118,
                                "end": 7122,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "year"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "new Date().getFullYear()",
                            "tagName": {
                                "pos": 7103,
                                "end": 7108,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Year (optional, defaults to current year)</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 7109,
                                "end": 7117,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 7110,
                                    "end": 7116,
                                    "kind": 150,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 7172,
                                "end": 7179,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Day of week (0=Sunday, 1=Monday, ..., 6=Saturday)</p>\n",
                            "returnType": "number"
                        }
                    ]
                },
                {
                    "name": "getISOWeekNumber",
                    "args": [
                        {
                            "name": "date",
                            "type": "Date",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "number",
                    "typeParameters": [],
                    "line": 237,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCalculates the ISO week number for a given date\n",
                    "description": "<p>Calculates the ISO week number for a given date</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 7457,
                                "end": 7461,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "date"
                            },
                            "type": "Date",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 7444,
                                "end": 7449,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Date object</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 7450,
                                "end": 7456,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 7451,
                                    "end": 7455,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 7451,
                                        "end": 7455,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "Date"
                                    }
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 7481,
                                "end": 7488,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>ISO week number (1-53)</p>\n",
                            "returnType": "number"
                        }
                    ]
                },
                {
                    "name": "onMouseEnterDay",
                    "args": [
                        {
                            "name": "day",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 199,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "day",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onMouseLeaveDay",
                    "args": [
                        {
                            "name": "day",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 204,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "day",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "trackByDay",
                    "args": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "day",
                            "type": "EuiCalendarDayCell",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "string | number",
                    "typeParameters": [],
                    "line": 448,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "day",
                            "type": "EuiCalendarDayCell",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EuiCalendarDayComponent",
                    "type": "component"
                },
                {
                    "name": "NgClass"
                },
                {
                    "name": "NgTemplateOutlet"
                }
            ],
            "description": "",
            "rawdescription": "\n\n",
            "type": "component",
            "sourceCode": "import {\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tinject,\n\tinput,\n\toutput,\n\tSignal,\n\tTemplateRef,\n} from '@angular/core';\nimport { EuiCalendarDayComponent } from './eui-calendar-day.component';\nimport { EuiCalendarEvent } from './models';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { LocaleService } from '@eui/core';\nimport { EuiCalendarDayOfWeek } from './models';\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion';\n\nexport interface EuiCalendarDayCell {\n\tday: number;\n\tmonth: number;\n\tyear: number;\n\tisCurrentMonth: boolean;\n\tisToday?: boolean;\n\tisFuture?: boolean;\n\tisPast?: boolean;\n\tisWeekend?: boolean;\n\tdayOfWeek: number;\n\tdateString: string; // YYYY-MM-DD\n\tweekNumber?: number;\n\tisFirstDayOfMonth?: boolean;\n\tisLastDayOfMonth?: boolean;\n\tisDisabled?: boolean;\n\tevents?: EuiCalendarEvent[];\n}\n\nexport interface EuiCalendarMonthlyCalendarOptions {\n\tyear?: number,\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\temptyValue?: any,\n\tfillPreviousMonth?: boolean,\n\tfillNextMonth?: boolean,\n\tincludeMetadata?: boolean,\n\tincludeToday?: boolean,\n\tincludeTemporalFlags?: boolean,\n\tincludeWeekends?: boolean,\n\tincludeWeekNumbers?: boolean,\n\tweekendDays?: number[]\n}\n\n/**\n * @description\n */\n@Component({\n\ttemplateUrl: './eui-calendar-monthly.component.html',\n\tselector: 'eui-calendar-monthly',\n\tstyleUrl: './eui-calendar-monthly.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [\n\t\tEuiCalendarDayComponent,\n\t\tNgClass,\n\t\tNgTemplateOutlet,\n\t],\n})\nexport class EuiCalendarMonthlyComponent {\n\tevents = input<EuiCalendarEvent[]>([]);\n\thasEmptyValue = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\t/**\n\t * Template for rendering each day cell\n\t */\n\t// eslint-disable-next-line\n\tdayTemplate = input<TemplateRef<any>>();\n\t/**\n\t * Template for rendering each day cell\n\t */\n\theaderTemplate = input<TemplateRef<{ date: Date }>>();\n\t/**\n\t * Display mode of the calendar ('compact' or 'truncated')\n\t */\n\tmode = input<'compact' | 'truncated'>('truncated');\n\t/**\n\t * Starting day of the week (0=Monday, 1=Tuesday, ..., 6=Sunday or 'monday', 'tue', 'wed', etc.)\n\t */\n\tstartingDay = input<number, NumberInput>(EuiCalendarDayOfWeek.MONDAY, { transform: this.startingDayTransformer });\n\t/**\n\t * The reference date for the month. The component will display the month that contains this date.\n\t */\n\tdate = input<Date>(new Date());\n\t/**\n\t * Fill with previous month days\n\t */\n\tfillPreviousMonth = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\t/**\n\t * Fill with next month days\n\t */\n\tfillNextMonth = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\t/**\n\t * Disable selection of future dates\n\t */\n\tdisableFutureDates = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\t/**\n\t * Disable selection of past dates\n\t */\n\tdisablePastDates = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\t/**\n\t * Disable selection of weekend dates\n\t */\n\tdisableWeekends = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\t/**\n\t * Disable days that are not in the current selected month\n\t */\n\tdisabledDaysNotInMonth = input<boolean, BooleanInput>(true, { transform: booleanAttribute });\n\tnewEventAddClicked = output<EuiCalendarDayCell>();\n\n\tmonthlyCalendar: Signal<EuiCalendarDayCell[][]> = computed(() => {\n\t\tconst currentEvents = this.events(); // Access the signal directly in computed\n\n\t\t// take into account the disableFutureDates, disablePastDates, disableWeekends and isCurrentMonth flags\n\t\t// to set the isDisabled flag on the DayCell objects\n\t\treturn this.generateCalendarGrid(this.date().getMonth() + 1, this.startingDay(), {\n\t\t\tyear: this.date().getFullYear(),\n\t\t\temptyValue: this.hasEmptyValue() ? null : undefined,\n\t\t\tfillPreviousMonth: this.fillPreviousMonth(),\n\t\t\tfillNextMonth: this.fillNextMonth(),\n\t\t})\n\t\t\t.filter(week => week.some(day => (typeof day === 'number') || (typeof day === 'object' && day?.isCurrentMonth)))\n\t\t\t.map(week => week.map(day => {\n\t\t\t\tif (day && typeof day === 'object') {\n\t\t\t\t\t// Determine if the day should be disabled\n\t\t\t\t\tlet isDisabled = false;\n\t\t\t\t\tif (this.disableFutureDates() && day.isFuture) {\n\t\t\t\t\t\tisDisabled = true;\n\t\t\t\t\t}\n\t\t\t\t\tif (this.disablePastDates() && day.isPast) {\n\t\t\t\t\t\tisDisabled = true;\n\t\t\t\t\t}\n\t\t\t\t\tif (this.disableWeekends() && day.isWeekend) {\n\t\t\t\t\t\tisDisabled = true;\n\t\t\t\t\t}\n\t\t\t\t\tif (this.disabledDaysNotInMonth() && !day.isCurrentMonth) {\n\t\t\t\t\t\tisDisabled = true;\n\t\t\t\t\t}\n\t\t\t\t\tday.isDisabled = isDisabled;\n\t\t\t\t\tconst dayEvents: EuiCalendarEvent[] = currentEvents.filter(event => {\n\t\t\t\t\t\t// More complex filtering logic\n\t\t\t\t\t\treturn event.date().getDate() === day.day &&\n\t\t\t\t\t\t\t(event.date().getMonth() + 1) === day.month &&\n\t\t\t\t\t\t\tevent.date().getFullYear() === day.year;\n\t\t\t\t\t}).map(v => ({\n\t\t\t\t\t\tlabel: v.label,\n\t\t\t\t\t\tid: v.id,\n\t\t\t\t\t\ttype: v?.type,\n\t\t\t\t\t\tdate: v.date,\n\t\t\t\t\t\t...v,\n\t\t\t\t\t}));\n\t\t\t\t\tif (dayEvents.length > 0) {\n\t\t\t\t\t\tday.events = dayEvents;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn day;\n\t\t\t}));\n\t});\n\tprivate locale = inject(LocaleService).getSignal();\n\t// eslint-disable-next-line @typescript-eslint/member-ordering\n\tdaysHeaderArray = computed(() => {\n\t\tconst days = Array.from({ length: 7 }, (_, i) => {\n\t\t\tconst date = new Date(2024, 0, 1 + i);\n\t\t\t// Start from Monday (Jan 1, 2024 was a Monday)\n\t\t\treturn date;\n\t\t});\n\t\t// Rotate array based on startingDay\n\t\treturn days.slice(this.startingDay()).concat(days.slice(0, this.startingDay())).map(day => ({\n\t\t\tshort: day.toLocaleDateString(this.locale(), { weekday: 'short' }),\n\t\t\tdate: day,\n\t\t}));\n\t});\n\t/**\n\t * Map day names to enum values for flexible input\n\t * @type {Object.<string, number>}\n\t */\n\tprivate DayNameMap: { [s: string]: number; } = {\n\t\tmonday: EuiCalendarDayOfWeek.MONDAY,\n\t\tmon: EuiCalendarDayOfWeek.MONDAY,\n\t\ttuesday: EuiCalendarDayOfWeek.TUESDAY,\n\t\ttue: EuiCalendarDayOfWeek.TUESDAY,\n\t\twednesday: EuiCalendarDayOfWeek.WEDNESDAY,\n\t\twed: EuiCalendarDayOfWeek.WEDNESDAY,\n\t\tthursday: EuiCalendarDayOfWeek.THURSDAY,\n\t\tthu: EuiCalendarDayOfWeek.THURSDAY,\n\t\tfriday: EuiCalendarDayOfWeek.FRIDAY,\n\t\tfri: EuiCalendarDayOfWeek.FRIDAY,\n\t\tsaturday: EuiCalendarDayOfWeek.SATURDAY,\n\t\tsat: EuiCalendarDayOfWeek.SATURDAY,\n\t\tsunday: EuiCalendarDayOfWeek.SUNDAY,\n\t\tsun: EuiCalendarDayOfWeek.SUNDAY,\n\t};\n\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tonMouseEnterDay(day: any): void {\n\t\t/** empty */\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tonMouseLeaveDay(day: any): void {\n\t\t/** empty */\n\t}\n\n\taddNewItemClicked(day: EuiCalendarDayCell): void {\n\t\tthis.newEventAddClicked.emit(day);\n\t}\n\n\t/**\n\t * Calculates the number of days in a given month\n\t * @param {number} month - Month (1-12)\n\t * @param {number} year - Year (optional, defaults to current year)\n\t * @returns {number} Number of days in the month\n\t */\n\tgetDaysInMonth(month: number, year: number = new Date().getFullYear()): number {\n\t\treturn new Date(year, month, 0).getDate();\n\t}\n\n\t/**\n\t * Calculates the day of week for the first day of a month\n\t * @param {number} month - Month (1-12)\n\t * @param {number} year - Year (optional, defaults to current year)\n\t * @returns {number} Day of week (0=Sunday, 1=Monday, ..., 6=Saturday)\n\t */\n\tgetFirstDayOfMonth(month: number, year: number = new Date().getFullYear()): number {\n\t\treturn new Date(year, month - 1, 1).getDay();\n\t}\n\n\t/**\n\t * Calculates the ISO week number for a given date\n\t * @param {Date} date - Date object\n\t * @returns {number} ISO week number (1-53)\n\t */\n\tgetISOWeekNumber(date: Date): number {\n\t\tconst tempDate = new Date(date.getTime());\n\t\ttempDate.setHours(0, 0, 0, 0);\n\t\ttempDate.setDate(tempDate.getDate() + 3 - (tempDate.getDay() + 6) % 7);\n\t\tconst week1 = new Date(tempDate.getFullYear(), 0, 4);\n\t\treturn 1 + Math.round(((tempDate.getTime() - week1.getTime()) / 86400000 - 3 + (week1.getDay() + 6) % 7) / 7);\n\t}\n\n\t/**\n\t * Compares two dates at day precision\n\t * @param {Date} date1 - First date\n\t * @param {Date} date2 - Second date\n\t * @returns {number} -1 if date1 < date2, 0 if equal, 1 if date1 > date2\n\t */\n\tcompareDatesAtDayPrecision(date1: Date, date2: Date): 0 | 1 | -1 {\n\t\tconst d1 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate());\n\t\tconst d2 = new Date(date2.getFullYear(), date2.getMonth(), date2.getDate());\n\n\t\tif (d1 < d2) return -1;\n\t\tif (d1 > d2) return 1;\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Creates an enhanced day cell object with comprehensive metadata\n\t * @param {number} day - Day of the month\n\t * @param {number} month - Month (1-12)\n\t * @param {number} year - Year\n\t * @param {boolean} isCurrentMonth - Whether this day belongs to the displayed month\n\t * @param {Object} options - Configuration options\n\t * @returns {DayCell} Enhanced day cell object\n\t */\n\tcreateEnhancedDayCell(day: number, month: number, year: number, isCurrentMonth: boolean, options: object = {}): EuiCalendarDayCell {\n\t\tconst {\n\t\t\tincludeToday = true,\n\t\t\tincludeTemporalFlags = true,\n\t\t\tincludeWeekends = true,\n\t\t\tincludeWeekNumbers = false,\n\t\t\tweekendDays = [0, 6], // Sunday and Saturday by default\n\t\t} = options as {\n\t\t\tincludeToday?: boolean,\n\t\t\tincludeTemporalFlags?: boolean,\n\t\t\tincludeWeekends?: boolean,\n\t\t\tincludeWeekNumbers?: boolean,\n\t\t\tweekendDays?: number[]\n\t\t};\n\n\t\t// Create base date object for this cell\n\t\tconst cellDate = new Date(year, month - 1, day);\n\t\tconst today = new Date();\n\n\t\t// Initialize cell with required properties\n\t\tconst cell = {\n\t\t\tday,\n\t\t\tmonth,\n\t\t\tyear,\n\t\t\tisCurrentMonth,\n\t\t\tdayOfWeek: cellDate.getDay(),\n\t\t\tdateString: `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')}`,\n\t\t} as EuiCalendarDayCell;\n\n\t\t// Add temporal comparison flags\n\t\tif (includeToday || includeTemporalFlags) {\n\t\t\tconst comparison = this.compareDatesAtDayPrecision(cellDate, today);\n\n\t\t\tif (includeToday) {\n\t\t\t\tcell.isToday = comparison === 0;\n\t\t\t}\n\n\t\t\tif (includeTemporalFlags) {\n\t\t\t\tcell.isPast = comparison === -1;\n\t\t\t\tcell.isFuture = comparison === 1;\n\t\t\t}\n\t\t}\n\n\t\t// Add weekend detection\n\t\tif (includeWeekends) {\n\t\t\tcell.isWeekend = weekendDays.includes(cellDate.getDay());\n\t\t}\n\n\t\t// Add week number calculation\n\t\tif (includeWeekNumbers) {\n\t\t\tcell.weekNumber = this.getISOWeekNumber(cellDate);\n\t\t}\n\n\t\t// Add boundary flags\n\t\tconst daysInMonth = this.getDaysInMonth(month, year);\n\t\tcell.isFirstDayOfMonth = isCurrentMonth && day === 1;\n\t\tcell.isLastDayOfMonth = isCurrentMonth && day === daysInMonth;\n\n\t\treturn cell;\n\t}\n\n\t/**\n\t * Generates a calendar grid for a given month\n\t * @param {number} month - Month (1-12)\n\t * @param {string|number} startingDay - First day of the week (configurable)\n\t * @param {Object} options - Additional options\n\t * @param {number} options.year - Year (defaults to current year)\n\t * @param {*} options.emptyValue - Value for empty cells (defaults to null)\n\t * @param {boolean} options.fillPreviousMonth - Fill with previous month days\n\t * @param {boolean} options.fillNextMonth - Fill with next month days\n\t * @returns {Array<Array>} 6x7 grid representing the calendar month\n\t */\n\tgenerateCalendarGrid(month: number, startingDay: number, options: EuiCalendarMonthlyCalendarOptions = {}): EuiCalendarDayCell[][] {\n\t\t// Input validation\n\t\tif (!Number.isInteger(month) || month < 1 || month > 12) {\n\t\t\tthrow new Error('Month must be an integer between 1 and 12.');\n\t\t}\n\n\t\t// Extract and set default options\n\t\tconst {\n\t\t\tyear = new Date().getFullYear(),\n\t\t\temptyValue = null,\n\t\t\tfillPreviousMonth = false,\n\t\t\tfillNextMonth = false,\n\t\t\tincludeMetadata = true,\n\t\t\tincludeToday = true,\n\t\t\tincludeTemporalFlags = true,\n\t\t\tincludeWeekends = true,\n\t\t\tincludeWeekNumbers = false,\n\t\t\tweekendDays = [5, 6],\n\t\t} = options;\n\n\t\t// Initialize 6x7 grid\n\t\tconst grid = Array(6).fill(null).map(() => Array(7).fill(emptyValue));\n\n\t\t// Calculate month parameters\n\t\tconst daysInMonth = this.getDaysInMonth(month, year);\n\t\tconst firstDayOfMonth = this.getFirstDayOfMonth(month, year);\n\n\t\t// Convert JS day (0=Sunday, 1=Monday, ..., 6=Saturday) to ISO/custom format (0=Monday, ..., 6=Sunday)\n\t\tconst firstDayISO = (firstDayOfMonth + 6) % 7;\n\n\t\t// Calculate starting column offset\n\t\tconst columnOffset = (firstDayISO - startingDay + 7) % 7;\n\n\t\t// Determine if we should return enhanced objects\n\t\tconst shouldReturnObjects = includeMetadata || fillPreviousMonth || fillNextMonth ||\n\t\t\tincludeToday || includeTemporalFlags || includeWeekends;\n\n\t\t// Cell creation options\n\t\tconst cellOptions = {\n\t\t\tincludeToday,\n\t\t\tincludeTemporalFlags,\n\t\t\tincludeWeekends,\n\t\t\tincludeWeekNumbers,\n\t\t\tweekendDays,\n\t\t};\n\n\t\t// Fill previous month days if requested\n\t\tif (fillPreviousMonth && columnOffset > 0) {\n\t\t\tconst prevMonth = month === 1 ? 12 : month - 1;\n\t\t\tconst prevYear = month === 1 ? year - 1 : year;\n\t\t\tconst daysInPrevMonth = this.getDaysInMonth(prevMonth, prevYear);\n\n\t\t\tfor (let i = columnOffset - 1; i >= 0; i--) {\n\t\t\t\tconst day = daysInPrevMonth - (columnOffset - 1 - i);\n\t\t\t\tgrid[0][i] = this.createEnhancedDayCell(day, prevMonth, prevYear, false, cellOptions);\n\t\t\t}\n\t\t}\n\n\t\t// Fill current month days\n\t\tlet currentDay = 1;\n\t\tlet row = 0;\n\t\tlet col = columnOffset;\n\n\t\twhile (currentDay <= daysInMonth) {\n\t\t\tif (shouldReturnObjects) {\n\t\t\t\tgrid[row][col] = this.createEnhancedDayCell(currentDay, month, year, true, cellOptions);\n\t\t\t} else {\n\t\t\t\tgrid[row][col] = currentDay;\n\t\t\t}\n\n\t\t\tcurrentDay++;\n\t\t\tcol++;\n\n\t\t\tif (col === 7) {\n\t\t\t\tcol = 0;\n\t\t\t\trow++;\n\t\t\t}\n\t\t}\n\n\t\t// Fill next month days if requested\n\t\tif (fillNextMonth && (row < 6 || col > 0)) {\n\t\t\tconst nextMonth = month === 12 ? 1 : month + 1;\n\t\t\tconst nextYear = month === 12 ? year + 1 : year;\n\t\t\tlet nextMonthDay = 1;\n\n\t\t\twhile (row < 6) {\n\t\t\t\twhile (col < 7) {\n\t\t\t\t\tif (grid[row][col] === emptyValue) {\n\t\t\t\t\t\tgrid[row][col] = this.createEnhancedDayCell(\n\t\t\t\t\t\t\tnextMonthDay,\n\t\t\t\t\t\t\tnextMonth,\n\t\t\t\t\t\t\tnextYear,\n\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\tcellOptions,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tnextMonthDay++;\n\t\t\t\t\t}\n\t\t\t\t\tcol++;\n\t\t\t\t}\n\t\t\t\tcol = 0;\n\t\t\t\trow++;\n\t\t\t}\n\t\t}\n\n\t\treturn grid as EuiCalendarDayCell[][];\n\t}\n\n\ttrackByDay(index: number, day: EuiCalendarDayCell): string | number {\n\t\tif (!day) return `empty-${index}`;\n\t\treturn new Date(day.year, day.month, day.day).getTime();\n\t}\n\n\t/**\n\t * Transforms and validates the month input\n\t * @param value\n\t * @private\n\t */\n\tprivate monthTransformer(value: number | string): number {\n\t\tlet transformedMonth: number;\n\t\tif (typeof value === 'string') {\n\t\t\ttransformedMonth = parseInt(value, 10);\n\t\t} else {\n\t\t\ttransformedMonth = value;\n\t\t}\n\t\tif (transformedMonth < 0 || transformedMonth > 11) {\n\t\t\tthrow new Error(`Invalid month: ${value}. Must be an integer between 0 (January) and 11 (December).`);\n\t\t}\n\t\treturn transformedMonth;\n\t}\n\n\t/**\n\t * Transforms and validates the year input\n\t * @param value\n\t * @throws {Error} If the starting day is invalid\n\t */\n\tprivate yearTransformer(value: number | string): number {\n\t\tlet transformedYear: number;\n\t\tif (typeof value === 'string') {\n\t\t\ttransformedYear = parseInt(value, 10);\n\t\t} else {\n\t\t\ttransformedYear = value;\n\t\t}\n\t\tif (transformedYear < 1970 || transformedYear > 2100) {\n\t\t\tthrow new Error(`Invalid year: ${value}. Must be an integer between 1970 and 2100.`);\n\t\t}\n\t\treturn transformedYear;\n\t}\n\n\t/**\n\t * Normalizes the starting day input to a DayOfWeek enum value\n\t * @param {string|number} startingDay - Day name, abbreviation, or number\n\t * @returns {number} Normalized day index (0-6)\n\t * @throws {Error} If the starting day is invalid\n\t */\n\tprivate startingDayTransformer(startingDay: string | number): number {\n\t\tif (typeof startingDay === 'number' || /^\\d+$/.test(startingDay)) {\n\t\t\tstartingDay = typeof startingDay === 'string' ? parseInt(startingDay, 10) : startingDay;\n\t\t\tif (startingDay >= 0 && startingDay <= 6) {\n\t\t\t\treturn startingDay;\n\t\t\t}\n\t\t\tthrow new Error(`Invalid starting day number: ${startingDay}. Must be 0-6.`);\n\t\t}\n\n\t\tif (typeof startingDay === 'string') {\n\t\t\tconst normalized = startingDay.toLowerCase().trim();\n\t\t\tif (normalized in this.DayNameMap) {\n\t\t\t\treturn this.DayNameMap[normalized];\n\t\t\t}\n\t\t\tthrow new Error(`Invalid starting day: \"${startingDay}\". Use day name or abbreviation.`);\n\t\t}\n\n\t\tthrow new Error('Starting day must be a string (day name) or number (0-6).');\n\t}\n\n}",
            "styleUrl": "./eui-calendar-monthly.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "<table [ngClass]=\"{ 'regular-table': this.mode() === 'compact', 'truncated-table': this.mode() === 'truncated' }\">\n    <thead>\n    <tr>\n        @for (day of daysHeaderArray(); track $index) {\n            @if (headerTemplate()) {\n                <th class=\"eui-calendar-monthly--day-header\">\n                    <ng-container\n                        [ngTemplateOutlet]=\"headerTemplate()\"\n                        [ngTemplateOutletContext]=\"{ date: day.date }\">\n                    </ng-container>\n                </th>\n            } @else {\n                <th class=\"eui-calendar-monthly--day-header\">{{ day.short }}</th>\n            }\n        }\n    </tr>\n    </thead>\n    <tbody>\n        @for (week of monthlyCalendar(); track $index; let weekIdx = $index) {\n            <tr>\n                @for (day of week; track trackByDay(dayIdx, day); let dayIdx = $index) {\n                    <td class=\"eui-calendar-monthly--day\"\n                        [ngClass]=\"{ 'weekend': day?.isWeekend }\"\n                        (mouseover)=\"onMouseEnterDay(day)\"\n                        (mouseout)=\"onMouseLeaveDay(day)\">\n                        @if (dayTemplate()) {\n                            <ng-container\n                                [ngTemplateOutlet]=\"dayTemplate()\"\n                                [ngTemplateOutletContext]=\"{ $implicit: day }\">\n                            </ng-container>\n                        } @else {\n                            <eui-calendar-day [dayOfTheMonth]=\"day?.day\"\n                                     [isSelected]=\"day?.isToday\"\n                                     [euiDisabled]=\"day?.isDisabled\"\n                                     [maxNumberOfEventsToShow]=\"2\"\n                                     [events]=\"day?.events\"\n                                     (addNewItemEvent)=\"addNewItemClicked(day)\"\n                                     class=\"eui-calendar-monthly--day\">\n                            </eui-calendar-day>\n                        }\n                    </td>\n                }\n            </tr>\n        }\n    </tbody>\n</table>\n"
        },
        {
            "name": "EuiCalendarWeeklyComponent",
            "id": "component-EuiCalendarWeeklyComponent-a7c0256835094bd00c2fd0ac1c704e16a12b37e438f3965e235d67a9e0f6e985952381aa757ed27f5c25e7c4ce34873d32218b98b9474c97afc953eea3f00ca5",
            "file": "packages/components/eui-calendar/eui-calendar-weekly.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-calendar-weekly",
            "styleUrls": [
                "./eui-calendar-weekly.component.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-calendar-weekly.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "date",
                    "defaultValue": "new Date()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Date",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The reference date for the week. The component will display the week that contains this date.\nFor example, if date is Friday 07/01 and startingDay is Monday, it will show the week from 03/01 to 09/01.</p>\n",
                    "line": 41,
                    "rawdescription": "\n\nThe reference date for the week. The component will display the week that contains this date.\nFor example, if date is Friday 07/01 and startingDay is Monday, it will show the week from 03/01 to 09/01.\n",
                    "required": false
                },
                {
                    "name": "dayHeaderTemplate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<EuiCalendarDay>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Optional custom template for day headers\nThe template will receive the day object as $implicit in the context</p>\n",
                    "line": 64,
                    "rawdescription": "\n\nOptional custom template for day headers\nThe template will receive the day object as $implicit in the context\n",
                    "required": false
                },
                {
                    "name": "dragAndDrop",
                    "defaultValue": "true, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean, BooleanInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether drag-and-drop is enabled for events (defaults to true)</p>\n",
                    "line": 36,
                    "rawdescription": "\n\nWhether drag-and-drop is enabled for events (defaults to true)\n",
                    "required": false
                },
                {
                    "name": "eventContentTemplate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<any>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Optional custom template for event content\nThe template will receive the event object as $implicit in the context</p>\n",
                    "line": 70,
                    "rawdescription": "\n\nOptional custom template for event content\nThe template will receive the event object as $implicit in the context\n",
                    "required": false
                },
                {
                    "name": "events",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiCalendarEvent[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Events for the week. Each event should have a date property.\nThe date property should be a Date object.\nOther properties can be added as needed.</p>\n",
                    "line": 47,
                    "rawdescription": "\n\nEvents for the week. Each event should have a date property.\nThe date property should be a Date object.\nOther properties can be added as needed.\n",
                    "required": false
                },
                {
                    "name": "showWeekends",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean, BooleanInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether to show weekends in the calendar (defaults to true)</p>\n",
                    "line": 51,
                    "rawdescription": "\n\nWhether to show weekends in the calendar (defaults to true)\n",
                    "required": false
                },
                {
                    "name": "startingDay",
                    "defaultValue": "EuiCalendarDayOfWeek.MONDAY, { transform: this.startingDayTransformer }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number, NumberInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Starting day of the week (0=Monday, 1=Tuesday, ..., 6=Sunday or &#39;monday&#39;, &#39;tue&#39;, &#39;wed&#39;, etc.)</p>\n",
                    "line": 55,
                    "rawdescription": "\n\nStarting day of the week (0=Monday, 1=Tuesday, ..., 6=Sunday or 'monday', 'tue', 'wed', etc.)\n",
                    "required": false
                }
            ],
            "outputsClass": [
                {
                    "name": "date",
                    "defaultValue": "new Date()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Date",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The reference date for the week. The component will display the week that contains this date.\nFor example, if date is Friday 07/01 and startingDay is Monday, it will show the week from 03/01 to 09/01.</p>\n",
                    "line": 41,
                    "rawdescription": "\n\nThe reference date for the week. The component will display the week that contains this date.\nFor example, if date is Friday 07/01 and startingDay is Monday, it will show the week from 03/01 to 09/01.\n",
                    "required": false
                },
                {
                    "name": "dayAction",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "{ $event: MouseEvent | KeyboardEvent, day: EuiCalendarDay }",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Emits when a day header action is triggered</p>\n",
                    "line": 106,
                    "rawdescription": "\n\nEmits when a day header action is triggered\n",
                    "required": false
                },
                {
                    "name": "eventMoved",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "{ event: EuiCalendarEvent; newDate: Date }",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Emits when an event is moved to a different day</p>\n",
                    "line": 59,
                    "rawdescription": "\n\nEmits when an event is moved to a different day\n",
                    "required": false
                },
                {
                    "name": "events",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiCalendarEvent[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Events for the week. Each event should have a date property.\nThe date property should be a Date object.\nOther properties can be added as needed.</p>\n",
                    "line": 47,
                    "rawdescription": "\n\nEvents for the week. Each event should have a date property.\nThe date property should be a Date object.\nOther properties can be added as needed.\n",
                    "required": false
                }
            ],
            "propertiesClass": [
                {
                    "name": "daysInWeek",
                    "defaultValue": "computed((): EuiCalendarDay[] => {\n\t\tconst referenceDate = this.date();\n\t\tconst startingDay = this.startingDay();\n\n\t\t// Calculate the first day of the week containing the reference date\n\t\tconst firstDayOfWeek = this.getWeekStartDate(referenceDate, startingDay);\n\n\t\tconst days: EuiCalendarDay[] = [];\n\t\tfor (let i = 0; i < 7; i++) {\n\t\t\tconst date = new Date(firstDayOfWeek);\n\t\t\tdate.setDate(firstDayOfWeek.getDate() + i);\n\t\t\t// Skip weekends if showWeekends is false\n\t\t\tif (!this.showWeekends() && (date.getDay() === 0 || date.getDay() === 6)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tdays.push({\n\t\t\t\tid: i,\n\t\t\t\tisToday: date.toDateString() === new Date().toDateString(),\n\t\t\t\tisWeekend: date.getDay() === 0 || date.getDay() === 6,\n\t\t\t\tdate,\n\t\t\t\tmetadata: computed(() => {\n\t\t\t\t\treturn this.events().filter(event => {\n\t\t\t\t\t\tconst eventDate = event.date();\n\t\t\t\t\t\treturn eventDate.getFullYear() === date.getFullYear() &&\n\t\t\t\t\t\t\teventDate.getMonth() === date.getMonth() &&\n\t\t\t\t\t\t\teventDate.getDate() === date.getDate();\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t\t});\n\t\t}\n\t\treturn days;\n\t})",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 71
                },
                {
                    "name": "dropListIds",
                    "defaultValue": "computed(() => {\n\t\treturn this.daysInWeek().map((_, index) => `${this.id}_${_.date.getTime()}`);\n\t})",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Computed signal that generates IDs for all drop lists to enable drag-and-drop between days</p>\n",
                    "line": 114,
                    "rawdescription": "\n\nComputed signal that generates IDs for all drop lists to enable drag-and-drop between days\n"
                },
                {
                    "name": "id",
                    "defaultValue": "crypto.randomUUID()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Unique component ID for drag-and-drop context</p>\n",
                    "line": 110,
                    "rawdescription": "\n\nUnique component ID for drag-and-drop context\n",
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "drop",
                    "args": [
                        {
                            "name": "dropEvent",
                            "type": "CdkDragDrop<EuiCalendarDay>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 157,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles drop event when an event is moved between days\n",
                    "description": "<p>Handles drop event when an event is moved between days</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 5459,
                                "end": 5468,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "dropEvent"
                            },
                            "type": "CdkDragDrop<EuiCalendarDay>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 5453,
                                "end": 5458,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The CDK drag-drop event</p>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "CdkDropList"
                },
                {
                    "name": "CdkDrag"
                },
                {
                    "name": "EuiCalendarWeeklyDayHeaderComponent",
                    "type": "component"
                },
                {
                    "name": "EuiCalendarWeeklyDayContentComponent",
                    "type": "component"
                },
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "NgClass"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import {\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tinput,\n\tmodel,\n\toutput,\n\tTemplateRef,\n} from '@angular/core';\nimport { CdkDrag, CdkDragDrop, CdkDropList } from '@angular/cdk/drag-drop';\nimport { EuiCalendarWeeklyDayHeaderComponent } from './eui-calendar-weekly-day-header.component';\nimport { EuiCalendarWeeklyDayContentComponent } from './eui-calendar-weekly-day-content.component';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { EuiCalendarDayOfWeek, EuiCalendarDay, EuiCalendarEvent } from './models';\n\n@Component({\n\tselector: 'eui-calendar-weekly',\n\ttemplateUrl: './eui-calendar-weekly.component.html',\n\tstyleUrls: ['./eui-calendar-weekly.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [\n\t\tCdkDropList,\n\t\tCdkDrag,\n\t\tEuiCalendarWeeklyDayHeaderComponent,\n\t\tEuiCalendarWeeklyDayContentComponent,\n\t\tNgTemplateOutlet,\n\t\tNgClass,\n\t],\n})\nexport class EuiCalendarWeeklyComponent {\n\t/**\n\t * Whether drag-and-drop is enabled for events (defaults to true)\n\t */\n\tdragAndDrop = input<boolean, BooleanInput>(true, { transform: booleanAttribute });\n\t/**\n\t * The reference date for the week. The component will display the week that contains this date.\n\t * For example, if date is Friday 07/01 and startingDay is Monday, it will show the week from 03/01 to 09/01.\n\t */\n\tdate = model<Date>(new Date());\n\t/**\n\t * Events for the week. Each event should have a date property.\n\t * The date property should be a Date object.\n\t * Other properties can be added as needed.\n\t */\n\tevents = model<EuiCalendarEvent[]>([]);\n\t/**\n\t * Whether to show weekends in the calendar (defaults to true)\n\t */\n\tshowWeekends = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\t/**\n\t * Starting day of the week (0=Monday, 1=Tuesday, ..., 6=Sunday or 'monday', 'tue', 'wed', etc.)\n\t */\n\tstartingDay = input<number, NumberInput>(EuiCalendarDayOfWeek.MONDAY, { transform: this.startingDayTransformer });\n\t/**\n\t * Emits when an event is moved to a different day\n\t */\n\teventMoved = output<{ event: EuiCalendarEvent; newDate: Date }>();\n\t/**\n\t * Optional custom template for day headers\n\t * The template will receive the day object as $implicit in the context\n\t */\n\tdayHeaderTemplate = input<TemplateRef<EuiCalendarDay>>();\n\t/**\n\t * Optional custom template for event content\n\t * The template will receive the event object as $implicit in the context\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\teventContentTemplate = input<TemplateRef<any>>();\n\tdaysInWeek = computed((): EuiCalendarDay[] => {\n\t\tconst referenceDate = this.date();\n\t\tconst startingDay = this.startingDay();\n\n\t\t// Calculate the first day of the week containing the reference date\n\t\tconst firstDayOfWeek = this.getWeekStartDate(referenceDate, startingDay);\n\n\t\tconst days: EuiCalendarDay[] = [];\n\t\tfor (let i = 0; i < 7; i++) {\n\t\t\tconst date = new Date(firstDayOfWeek);\n\t\t\tdate.setDate(firstDayOfWeek.getDate() + i);\n\t\t\t// Skip weekends if showWeekends is false\n\t\t\tif (!this.showWeekends() && (date.getDay() === 0 || date.getDay() === 6)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tdays.push({\n\t\t\t\tid: i,\n\t\t\t\tisToday: date.toDateString() === new Date().toDateString(),\n\t\t\t\tisWeekend: date.getDay() === 0 || date.getDay() === 6,\n\t\t\t\tdate,\n\t\t\t\tmetadata: computed(() => {\n\t\t\t\t\treturn this.events().filter(event => {\n\t\t\t\t\t\tconst eventDate = event.date();\n\t\t\t\t\t\treturn eventDate.getFullYear() === date.getFullYear() &&\n\t\t\t\t\t\t\teventDate.getMonth() === date.getMonth() &&\n\t\t\t\t\t\t\teventDate.getDate() === date.getDate();\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t\t});\n\t\t}\n\t\treturn days;\n\t});\n\t/**\n\t * Emits when a day header action is triggered\n\t */\n\tdayAction = output<{ $event: MouseEvent | KeyboardEvent, day: EuiCalendarDay }>();\n\t/**\n\t * Unique component ID for drag-and-drop context\n\t */\n\tprotected id = crypto.randomUUID();\n\t/**\n\t * Computed signal that generates IDs for all drop lists to enable drag-and-drop between days\n\t */\n\tdropListIds = computed(() => {\n\t\treturn this.daysInWeek().map((_, index) => `${this.id}_${_.date.getTime()}`);\n\t});\n\t/**\n\t * Map day names to enum values for flexible input\n\t * @type {Object.<string, number>}\n\t */\n\tprivate DayNameMap: { [s: string]: number; } = {\n\t\tmonday: EuiCalendarDayOfWeek.MONDAY,\n\t\tmon: EuiCalendarDayOfWeek.MONDAY,\n\t\ttuesday: EuiCalendarDayOfWeek.TUESDAY,\n\t\ttue: EuiCalendarDayOfWeek.TUESDAY,\n\t\twednesday: EuiCalendarDayOfWeek.WEDNESDAY,\n\t\twed: EuiCalendarDayOfWeek.WEDNESDAY,\n\t\tthursday: EuiCalendarDayOfWeek.THURSDAY,\n\t\tthu: EuiCalendarDayOfWeek.THURSDAY,\n\t\tfriday: EuiCalendarDayOfWeek.FRIDAY,\n\t\tfri: EuiCalendarDayOfWeek.FRIDAY,\n\t\tsaturday: EuiCalendarDayOfWeek.SATURDAY,\n\t\tsat: EuiCalendarDayOfWeek.SATURDAY,\n\t\tsunday: EuiCalendarDayOfWeek.SUNDAY,\n\t\tsun: EuiCalendarDayOfWeek.SUNDAY,\n\t};\n\t// TODO: explore if grid works better with than flexbox for this layout\n\t// private renderer = inject(Renderer2);\n\t// private elementRef = inject(ElementRef);\n\n\t// constructor() {\n\t// \t// Adjust grid columns based on showWeekends\n\t// \teffect(() => {\n\t// \t\tconst weekends = this.showWeekends();\n\t// \t\tif (weekends) {\n\t// \t\t\tthis.renderer.setStyle(this.elementRef.nativeElement, 'grid-template-columns', 'repeat(7, 1fr)');\n\t// \t\t} else {\n\t// \t\t\tthis.renderer.setStyle(this.elementRef.nativeElement, 'grid-template-columns', 'repeat(5, 1fr)');\n\t// \t\t}\n\t// \t});\n\t// }\n\n\t/**\n\t * Handles drop event when an event is moved between days\n\t * @param dropEvent The CDK drag-drop event\n\t */\n\tdrop(dropEvent: CdkDragDrop<EuiCalendarDay>): void {\n\t\t// If dropped in the same container, no need to update\n\t\tif (dropEvent.previousContainer.id === dropEvent.container.id) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst movedEvent: EuiCalendarEvent = dropEvent.item.data;\n\t\tconst targetDay: EuiCalendarDay = dropEvent.container.data;\n\n\t\tthis.events.update(currentEvents => {\n\t\t\t// Update the date of the moved event\n\t\t\tmovedEvent.date.set(targetDay.date);\n\n\t\t\t// Return the updated events array\n\t\t\treturn currentEvents.map(event =>\n\t\t\t\tevent === movedEvent ? movedEvent : event,\n\t\t\t);\n\t\t});\n\n\t\t// Emit the event with the new date for the parent component to handle\n\t\tthis.eventMoved.emit({\n\t\t\tevent: movedEvent,\n\t\t\tnewDate: targetDay.date,\n\t\t});\n\t}\n\n\t/**\n\t * Calculates the start date of the week that contains the given reference date.\n\t * The week always includes the reference date and starts on the specified startingDay.\n\t * For example:\n\t * - If date is Monday 20/10/2025 and startingDay is Tuesday (1), returns Tuesday 14/10/2025\n\t * - If date is Thursday 23/10/2025 and startingDay is Tuesday (1), returns Tuesday 21/10/2025\n\t * @param referenceDate The date within the week (must be included in the week)\n\t * @param startingDay The day the week starts on (0=Monday, 1=Tuesday, ..., 6=Sunday)\n\t * @returns The date of the first day of the week\n\t * @private\n\t */\n\tprivate getWeekStartDate(referenceDate: Date, startingDay: number): Date {\n\t\t// Get the current day of the week in JavaScript format (0=Sunday, 1=Monday, ..., 6=Saturday)\n\t\tconst jsDay = referenceDate.getDay();\n\n\t\t// Convert our DayOfWeek (0=Monday, 1=Tuesday, ..., 6=Sunday) to JavaScript day (0=Sunday, 1=Monday, ..., 6=Saturday)\n\t\t// Monday(0) -> 1, Tuesday(1) -> 2, Wednesday(2) -> 3, Thursday(3) -> 4, Friday(4) -> 5, Saturday(5) -> 6, Sunday(6) -> 0\n\t\tconst targetStartDay = (startingDay + 1) % 7;\n\n\t\t// Calculate how many days back we need to go to reach the start of the week\n\t\t// This finds the most recent occurrence of startingDay (including today if it matches)\n\t\tconst daysBack = (jsDay - targetStartDay + 7) % 7;\n\n\t\tconst result = new Date(referenceDate);\n\t\tresult.setDate(referenceDate.getDate() - daysBack);\n\t\treturn result;\n\t}\n\n\t/**\n\t * Normalizes the starting day input to a DayOfWeek enum value\n\t * @param {string|number} startingDay - Day name, abbreviation, or number\n\t * @returns {number} Normalized day index (0-6)\n\t * @throws {Error} If the starting day is invalid\n\t */\n\tprivate startingDayTransformer(startingDay: string | number): number {\n\t\tif (typeof startingDay === 'number' || /^\\d+$/.test(startingDay)) {\n\t\t\tstartingDay = typeof startingDay === 'string' ? parseInt(startingDay, 10) : startingDay;\n\t\t\tif (startingDay >= 0 && startingDay <= 6) {\n\t\t\t\treturn startingDay;\n\t\t\t}\n\t\t\tthrow new Error(`Invalid starting day number: ${startingDay}. Must be 0-6.`);\n\t\t}\n\n\t\tif (typeof startingDay === 'string') {\n\t\t\tconst normalized = startingDay.toLowerCase().trim();\n\t\t\tif (normalized in this.DayNameMap) {\n\t\t\t\treturn this.DayNameMap[normalized];\n\t\t\t}\n\t\t\tthrow new Error(`Invalid starting day: \"${startingDay}\". Use day name or abbreviation.`);\n\t\t}\n\n\t\tthrow new Error('Starting day must be a string (day name) or number (0-6).');\n\t}\n\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": ":host {\n  display: flex;\n  // [Alternative to grid for better horizontal scrolling on small screens]\n  // display: grid;\n  // grid-template-columns: repeat(5, 1fr);\n  gap: var(--eui-s-3xs);\n  overflow-x: auto;\n}\n\n.day-column {\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  // [Alternative to grid for better horizontal scrolling on small screens]\n  // display: grid;\n  // grid-template-rows: auto 1fr;\n  // align-items: start;\n  background-color: #F0F7FD;\n  margin: var(--eui-s-3xs);\n  border-radius: var(--eui-s-xs);\n\n  &--weekend {\n    background-color: var(--eui-c-secondary-surface-light);\n  }\n\n  &--today {\n    background: var(--eui-c-info-surface-light);\n  }\n}\n\n.day-column:focus {\n  background-color: var(--eui-c-info-surface-light);\n}\n\n.day-header {\n  margin-top: var(--eui-s-xs);\n  flex-shrink: 0;\n  align-content: center;\n  overflow: hidden;\n  padding: {\n    top: var(--eui-s-xs);\n    right: var(--eui-s-s);\n    bottom: var(--eui-s-xs);\n    left: var(--eui-s-s);\n  }\n}\n\n.day-content {\n  display: flex;\n  flex-direction: column;\n  gap: var(--eui-s-xs);\n  flex: 1;\n  overflow-y: auto;\n  padding: var(--eui-s-xs);\n\n  // Hide scrollbar for Chrome, Safari and Opera\n  &::-webkit-scrollbar {\n    display: none;\n  }\n\n  // Hide scrollbar for IE, Edge and Firefox\n  -ms-overflow-style: none; // IE and Edge\n  scrollbar-width: none; // Firefox\n}\n\n.event-card {\n  border-radius: var(--eui-border-radius-base);\n}",
                    "styleUrl": "./eui-calendar-weekly.component.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "templateData": "<!-- Each weekday renders a column with a header and a content area for events. -->\n@for (day of daysInWeek(); track day?.date?.getTime() || i; let i = $index) {\n    <!-- Apply special classes for weekends and today -->\n    <div [ngClass]=\"{ 'day-column--weekend': day.isWeekend, 'day-column--today': day.isToday }\"\n         [tabindex]=\"0\"\n         class=\"day-column\">\n        <!-- Day Header -->\n        <div class=\"day-header\">\n            @if (dayHeaderTemplate()) {\n                <ng-container *ngTemplateOutlet=\"dayHeaderTemplate(); context: day\" />\n            } @else {\n                <eui-calendar-weekly-day-header [date]=\"day.date\" />\n            }\n        </div>\n        <!-- Day Content Area with Drag-and-Drop Support -->\n        <div (cdkDropListDropped)=\"drop($event)\"\n             [cdkDropListConnectedTo]=\"dropListIds()\"\n             [cdkDropListData]=\"day\"\n             [cdkDropListDisabled]=\"!dragAndDrop()\"\n             [id]=\"id + '_' + day.date.getTime()\"\n             cdkDropList\n             class=\"day-content\">\n            <!-- Render Events for the Day -->\n            @for (event of day.metadata(); track event.id) {\n                <div [cdkDragData]=\"event\"\n                     cdkDrag\n                     cdkDragBoundary=\".week-view\"\n                     class=\"event-card\">\n                    @if (eventContentTemplate()) {\n                        <ng-container *ngTemplateOutlet=\"eventContentTemplate(); context: event\" />\n                    } @else {\n                        <eui-calendar-weekly-day-content [euiDanger]=\"event.type ? event.type() === 'danger': false\"\n                                                [euiInfo]=\"event.type ? event.type() === 'info' : false\"\n                                                [euiPrimary]=\"event.type ? event.type() === 'primary' : false\"\n                                                [euiSuccess]=\"event.type ? event.type() === 'success' : false\"\n                                                [euiWarning]=\"event.type ? event.type() === 'warning' : false\"\n                                                [label]=\"event.label()\"\n                                                [subLabel]=\"event.subLabel()\"\n                                                class=\"event-card\">\n                        </eui-calendar-weekly-day-content>\n                    }\n                </div>\n            }\n        </div>\n    </div>\n}"
        },
        {
            "name": "EuiCalendarWeeklyDayContentComponent",
            "id": "component-EuiCalendarWeeklyDayContentComponent-5f2527abf9cc8de7a229b289e556134566d6129e2d37ac83df514259d65ce2021ec4f07e03cba35ec3ee59cb4bc5259aa032f7d8652aa08777d17589bc76496a",
            "file": "packages/components/eui-calendar/eui-calendar-weekly-day-content.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-calendar-weekly-day-content",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-calendar-weekly-day-content.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiSecondary",
                        "euiSuccess",
                        "euiInfo",
                        "euiWarning",
                        "euiDanger"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Label for the content</p>\n",
                    "line": 30,
                    "rawdescription": "\n\nLabel for the content\n",
                    "required": true
                },
                {
                    "name": "subLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Sublabel for the content</p>\n",
                    "line": 34,
                    "rawdescription": "\n\nSublabel for the content\n",
                    "required": false
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 35,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 906,
                            "end": 1099,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 907,
                                "end": 918,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the label component based on its current state.\nCombines base states, required status, readonly status, and sublabel type.</p>\n"
                        },
                        {
                            "pos": 1099,
                            "end": 1161,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1100,
                                "end": 1107,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 1108,
                                "end": 1116,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 1109,
                                    "end": 1115,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the label component based on its current state.\nCombines base states, required status, readonly status, and sublabel type.\n\n",
                    "description": "<p>Computes and returns the CSS classes for the label component based on its current state.\nCombines base states, required status, readonly status, and sublabel type.</p>\n",
                    "line": 45,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_DASHBOARD_CARD"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding, inject, input } from '@angular/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_DASHBOARD_CARD } from '@eui/components/eui-dashboard-card';\n\n@Component({\n\tselector: 'eui-calendar-weekly-day-content',\n\ttemplateUrl: './eui-calendar-weekly-day-content.component.html',\n\timports: [\n\t\t...EUI_DASHBOARD_CARD,\n\t],\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: BaseStatesDirective,\n\t\t\tinputs: [\n\t\t\t\t'euiPrimary',\n\t\t\t\t'euiSecondary',\n\t\t\t\t'euiSuccess',\n\t\t\t\t'euiInfo',\n\t\t\t\t'euiWarning',\n\t\t\t\t'euiDanger',\n\t\t\t],\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiCalendarWeeklyDayContentComponent {\n\t/**\n\t * Label for the content\n\t */\n\tlabel = input.required<string>();\n\t/**\n\t * Sublabel for the content\n\t */\n\tsubLabel = input<string>();\n\tprotected baseStatesDirective = inject(BaseStatesDirective);\n\n\t/**\n\t * @description\n\t * Computes and returns the CSS classes for the label component based on its current state.\n\t * Combines base states, required status, readonly status, and sublabel type.\n\t *\n\t * @returns {string} Space-separated string of CSS class names\n\t */\n\t@HostBinding('class')\n\tpublic get cssClasses(): string {\n\t\treturn [\n\t\t\tthis.baseStatesDirective.getCssClasses('content'),\n\t\t]\n\t\t\t.join(' ')\n\t\t\t.trim();\n\t}\n}",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 45,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the label component based on its current state.\nCombines base states, required status, readonly status, and sublabel type.\n\n",
                        "description": "<p>Computes and returns the CSS classes for the label component based on its current state.\nCombines base states, required status, readonly status, and sublabel type.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 906,
                                "end": 1099,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 907,
                                    "end": 918,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the label component based on its current state.\nCombines base states, required status, readonly status, and sublabel type.</p>\n"
                            },
                            {
                                "pos": 1099,
                                "end": 1161,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 1100,
                                    "end": 1107,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 1108,
                                    "end": 1116,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 1109,
                                        "end": 1115,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            },
            "templateData": "<eui-dashboard-card [euiDanger]=\"baseStatesDirective.euiDanger\"\n                    [euiInfo]=\"baseStatesDirective.euiInfo\"\n                    [euiPrimary]=\"baseStatesDirective.euiPrimary\"\n                    [euiSecondary]=\"baseStatesDirective.euiSecondary\"\n                    [euiSuccess]=\"baseStatesDirective.euiSuccess\"\n                    [euiWarning]=\"baseStatesDirective.euiWarning\"\n                    euiOutline\n                    isClickeable\n                    isFlat\n                    tabindex=\"0\">\n    <eui-dashboard-card-content>\n        <div class=\"eui-u-flex\">\n            <div class=\"eui-u-display-flex eui-u-flex-column eui-u-flex-align-items-start eui-u-ml-m\">\n                <strong>{{ label() }}</strong>\n                @if (subLabel() !== undefined && subLabel() !== '') {\n                    <div class=\"eui-u-mt-2xs eui-u-line-clamp-2\">\n                        {{ subLabel() }}\n                    </div>\n                }\n            </div>\n        </div>\n    </eui-dashboard-card-content>\n</eui-dashboard-card>"
        },
        {
            "name": "EuiCalendarWeeklyDayHeaderActionComponent",
            "id": "component-EuiCalendarWeeklyDayHeaderActionComponent-89098eb2541f70630f4a3e7c4415142812d8ac55e6fca45695d03edf5acc672106de053bbbf137991796e95e907de9804304849495eb479f1e67ebdea9631fbc",
            "file": "packages/components/eui-calendar/eui-calendar-weekly-day-header-actions.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-calendar-weekly-day-header-action",
            "styleUrls": [],
            "styles": [
                "\n        :host {\n            display: flex;\n            flex-direction: row;\n            justify-content: space-between;\n            width: 100%;\n\n            .left-content {\n                align-content: center;\n            }\n\n            .right-content {\n                align-content: center;\n            }\n\n        }\n\t"
            ],
            "templateUrl": [
                "./eui-calendar-weekly-day-header-actions.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "date",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Date",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Date to display in the header.</p>\n",
                    "line": 47,
                    "rawdescription": "\n\nDate to display in the header.\n",
                    "jsdoctags": [
                        {
                            "pos": 1249,
                            "end": 1299,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1250,
                                "end": 1261,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Date to display in the header.</p>\n"
                        }
                    ],
                    "required": true
                },
                {
                    "name": "options",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Array<EuiCalendarDayHeaderActionOption>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Options for the action button dropdown.</p>\n",
                    "line": 42,
                    "rawdescription": "\n\nOptions for the action button dropdown.\n",
                    "jsdoctags": [
                        {
                            "pos": 1115,
                            "end": 1174,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1116,
                                "end": 1127,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Options for the action button dropdown.</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "sublabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Sublabel to display under the date.</p>\n",
                    "line": 58,
                    "rawdescription": "\n\nSublabel to display under the date.\n",
                    "jsdoctags": [
                        {
                            "pos": 1530,
                            "end": 1585,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1531,
                                "end": 1542,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Sublabel to display under the date.</p>\n"
                        }
                    ],
                    "required": false
                }
            ],
            "outputsClass": [
                {
                    "name": "action",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "MouseEvent | KeyboardEvent",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Event emitted when the action button is clicked.\nCan be used to trigger a dropdown or any other action.</p>\n",
                    "line": 53,
                    "rawdescription": "\n\nEvent emitted when the action button is clicked.\nCan be used to trigger a dropdown or any other action.\n",
                    "jsdoctags": [
                        {
                            "pos": 1343,
                            "end": 1470,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1344,
                                "end": 1355,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Event emitted when the action button is clicked.\nCan be used to trigger a dropdown or any other action.</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "date",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Date",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Date to display in the header.</p>\n",
                    "line": 47,
                    "rawdescription": "\n\nDate to display in the header.\n",
                    "jsdoctags": [
                        {
                            "pos": 1249,
                            "end": 1299,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1250,
                                "end": 1261,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Date to display in the header.</p>\n"
                        }
                    ],
                    "required": true
                }
            ],
            "propertiesClass": [
                {
                    "name": "dayOfTheMonth",
                    "defaultValue": "computed(() => {\n\t\tconst options: Intl.DateTimeFormatOptions = { day: 'numeric', month: 'long' };\n\t\treturn this.date() ? this.date().toLocaleDateString(this.locale().id || 'en-US', options) : '';\n\t})",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>extract the day of the month from the date in number and the month in string e.g. 22 July</p>\n",
                    "line": 72,
                    "rawdescription": "\n\nextract the day of the month from the date in number and the month in string e.g. 22 July\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "pos": 2041,
                            "end": 2150,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2042,
                                "end": 2053,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>extract the day of the month from the date in number and the month in string e.g. 22 July</p>\n"
                        }
                    ]
                },
                {
                    "name": "dayOfTheWeek",
                    "defaultValue": "computed(() => {\n\t\tconst options: Intl.DateTimeFormatOptions = { weekday: 'short' };\n\t\treturn this.date() ? this.date().toLocaleDateString(this.locale().id || 'en-US', options).toUpperCase() : '';\n\t})",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>extract the day of the week from the date in short string e.g. MON, TUE, WED etc.</p>\n",
                    "line": 64,
                    "rawdescription": "\n\nextract the day of the week from the date in short string e.g. MON, TUE, WED etc.\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1700,
                            "end": 1801,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1701,
                                "end": 1712,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>extract the day of the week from the date in short string e.g. MON, TUE, WED etc.</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_LABEL"
                },
                {
                    "name": "EUI_DROPDOWN"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_BUTTON"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, computed, inject, input, model, output } from '@angular/core';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { LocaleService } from '@eui/core';\nimport { EUI_DROPDOWN } from '@eui/components/eui-dropdown';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EuiCalendarDayHeaderActionOption } from './models';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\n\n@Component({\n\tselector: 'eui-calendar-weekly-day-header-action',\n\ttemplateUrl: './eui-calendar-weekly-day-header-actions.component.html',\n\timports: [\n\t\t...EUI_LABEL,\n\t\t...EUI_DROPDOWN,\n\t\t...EUI_ICON,\n\t\t...EUI_BUTTON,\n\t],\n\tstyles: `\n        :host {\n            display: flex;\n            flex-direction: row;\n            justify-content: space-between;\n            width: 100%;\n\n            .left-content {\n                align-content: center;\n            }\n\n            .right-content {\n                align-content: center;\n            }\n\n        }\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiCalendarWeeklyDayHeaderActionComponent {\n\t/**\n\t * @description\n\t * Options for the action button dropdown.\n\t */\n\toptions = input<Array<EuiCalendarDayHeaderActionOption>>([]);\n\t/**\n\t * @description\n\t * Date to display in the header.\n\t */\n\tdate = model.required<Date>();\n\t/**\n\t * @description\n\t * Event emitted when the action button is clicked.\n\t * Can be used to trigger a dropdown or any other action.\n\t */\n\taction = output<MouseEvent | KeyboardEvent>();\n\t/**\n\t * @description\n\t * Sublabel to display under the date.\n\t */\n\tsublabel = input<string>();\n\tprivate locale = inject(LocaleService, { optional: true })?.getSignal();\n\t/**\n\t * @description\n\t * extract the day of the week from the date in short string e.g. MON, TUE, WED etc.\n\t */\n\tprotected dayOfTheWeek = computed(() => {\n\t\tconst options: Intl.DateTimeFormatOptions = { weekday: 'short' };\n\t\treturn this.date() ? this.date().toLocaleDateString(this.locale().id || 'en-US', options).toUpperCase() : '';\n\t});\n\t/**\n\t * @description\n\t * extract the day of the month from the date in number and the month in string e.g. 22 July\n\t */\n\tprotected dayOfTheMonth = computed(() => {\n\t\tconst options: Intl.DateTimeFormatOptions = { day: 'numeric', month: 'long' };\n\t\treturn this.date() ? this.date().toLocaleDateString(this.locale().id || 'en-US', options) : '';\n\t});\n}",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "\n        :host {\n            display: flex;\n            flex-direction: row;\n            justify-content: space-between;\n            width: 100%;\n\n            .left-content {\n                align-content: center;\n            }\n\n            .right-content {\n                align-content: center;\n            }\n\n        }\n\t\n",
            "extends": [],
            "templateData": "<span class=\"left-content\">\n    <span euiLabel class=\"day-date\"><b>{{ dayOfTheWeek() }}</b> {{ dayOfTheMonth() }}</span>\n        <div class=\"day-info\" euiSublabel>{{ sublabel() }}</div>\n    </span>\n<div class=\"right-content\">\n    <eui-dropdown>\n        <button euiButton euiRounded euiIconButton euiBasicButton euiPrimary [attr.aria-label]=\"'More options'\">\n            <eui-icon-svg icon=\"eui-ellipsis-vertical\" size=\"s\" />\n        </button>\n        <eui-dropdown-content>\n            @for(option of options(); track option.id) {\n                <button euiDropdownItem (click)=\"option.callback($event)\" [attr.aria-label]=\"option.label\">{{ option.label }}</button>\n            }\n        </eui-dropdown-content>\n    </eui-dropdown>\n</div>"
        },
        {
            "name": "EuiCalendarWeeklyDayHeaderComponent",
            "id": "component-EuiCalendarWeeklyDayHeaderComponent-f987673b7726fb6141c56084c5d4682382ff9bfd2abe275704f1648f5e94c641841c862eddcc03782a30bafaec14332dd138ba2addc12f20270ed3c9c8bd093a",
            "file": "packages/components/eui-calendar/eui-calendar-weekly-day-header.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-calendar-weekly-day-header",
            "styleUrls": [],
            "styles": [
                "\n        :host {\n            display: flex;\n            flex-direction: row;\n            justify-content: space-between;\n            width: 100%;\n        }\n\t"
            ],
            "template": "<span euiLabel class=\"day-date\"><b>{{ dayOfTheWeek() }}</b> {{ dayOfTheMonth() }}</span>\n<div class=\"day-info\" euiSublabel>{{ sublabel() }}</div>\n\t",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "date",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Date",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Date to display in the header.</p>\n",
                    "line": 29,
                    "rawdescription": "\n\nDate to display in the header.\n",
                    "jsdoctags": [
                        {
                            "pos": 751,
                            "end": 801,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 752,
                                "end": 763,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Date to display in the header.</p>\n"
                        }
                    ],
                    "required": true
                },
                {
                    "name": "sublabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Sublabel to display under the date.</p>\n",
                    "line": 34,
                    "rawdescription": "\n\nSublabel to display under the date.\n",
                    "jsdoctags": [
                        {
                            "pos": 845,
                            "end": 900,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 846,
                                "end": 857,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Sublabel to display under the date.</p>\n"
                        }
                    ],
                    "required": false
                }
            ],
            "outputsClass": [
                {
                    "name": "date",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Date",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Date to display in the header.</p>\n",
                    "line": 29,
                    "rawdescription": "\n\nDate to display in the header.\n",
                    "jsdoctags": [
                        {
                            "pos": 751,
                            "end": 801,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 752,
                                "end": 763,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Date to display in the header.</p>\n"
                        }
                    ],
                    "required": true
                }
            ],
            "propertiesClass": [
                {
                    "name": "dayOfTheMonth",
                    "defaultValue": "computed(() => {\n\t\tconst options: Intl.DateTimeFormatOptions = { day: 'numeric', month: 'long' };\n\t\treturn this.date() ? this.date().toLocaleDateString(this.locale().id || 'en-US', options) : '';\n\t})",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>extract the day of the month from the date in number and the month in string e.g. 22 July</p>\n",
                    "line": 48,
                    "rawdescription": "\n\nextract the day of the month from the date in number and the month in string e.g. 22 July\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1356,
                            "end": 1465,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1357,
                                "end": 1368,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>extract the day of the month from the date in number and the month in string e.g. 22 July</p>\n"
                        }
                    ]
                },
                {
                    "name": "dayOfTheWeek",
                    "defaultValue": "computed(() => {\n\t\tconst options: Intl.DateTimeFormatOptions = { weekday: 'short' };\n\t\treturn this.date() ? this.date().toLocaleDateString(this.locale().id || 'en-US', options).toUpperCase() : '';\n\t})",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>extract the day of the week from the date in short string e.g. MON, TUE, WED etc.</p>\n",
                    "line": 40,
                    "rawdescription": "\n\nextract the day of the week from the date in short string e.g. MON, TUE, WED etc.\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1015,
                            "end": 1116,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1016,
                                "end": 1027,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>extract the day of the week from the date in short string e.g. MON, TUE, WED etc.</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_LABEL"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, computed, inject, input, model } from '@angular/core';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { LocaleService } from '@eui/core';\n\n@Component({\n\tselector: 'eui-calendar-weekly-day-header',\n\ttemplate: `\n        <span euiLabel class=\"day-date\"><b>{{ dayOfTheWeek() }}</b> {{ dayOfTheMonth() }}</span>\n        <div class=\"day-info\" euiSublabel>{{ sublabel() }}</div>\n\t`,\n\timports: [\n\t\t...EUI_LABEL,\n\t],\n\tstyles: `\n        :host {\n            display: flex;\n            flex-direction: row;\n            justify-content: space-between;\n            width: 100%;\n        }\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiCalendarWeeklyDayHeaderComponent {\n\t/**\n\t * @description\n\t * Date to display in the header.\n\t */\n\tdate = model.required<Date>();\n\t/**\n\t * @description\n\t * Sublabel to display under the date.\n\t */\n\tsublabel = input<string>();\n\tprivate locale = inject(LocaleService, { optional: true })?.getSignal();\n\t/**\n\t * @description\n\t * extract the day of the week from the date in short string e.g. MON, TUE, WED etc.\n\t */\n\tprotected dayOfTheWeek = computed(() => {\n\t\tconst options: Intl.DateTimeFormatOptions = { weekday: 'short' };\n\t\treturn this.date() ? this.date().toLocaleDateString(this.locale().id || 'en-US', options).toUpperCase() : '';\n\t});\n\t/**\n\t * @description\n\t * extract the day of the month from the date in number and the month in string e.g. 22 July\n\t */\n\tprotected dayOfTheMonth = computed(() => {\n\t\tconst options: Intl.DateTimeFormatOptions = { day: 'numeric', month: 'long' };\n\t\treturn this.date() ? this.date().toLocaleDateString(this.locale().id || 'en-US', options) : '';\n\t});\n}",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "\n        :host {\n            display: flex;\n            flex-direction: row;\n            justify-content: space-between;\n            width: 100%;\n        }\n\t\n",
            "extends": []
        },
        {
            "name": "EuiCardComponent",
            "id": "component-EuiCardComponent-2d07cda85fef601ec7986b3c1f97e0649b976290adc0d5730b5ac967ec1961ba75e93251783ff2e4f16af1ae41026f19b378babc4c813028b4c79ff5762dd0d2",
            "file": "packages/components/eui-card/eui-card.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [
                {
                    "name": "UiStateService",
                    "type": "injectable"
                }
            ],
            "selector": "eui-card",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-card.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiSecondary",
                        "euiInfo",
                        "euiSuccess",
                        "euiWarning",
                        "euiDanger",
                        "euiHighlighted",
                        "euiDisabled",
                        "euiLoading",
                        "euiSizeXS",
                        "euiSizeS",
                        "euiSizeM",
                        "euiSizeL",
                        "euiSizeXL",
                        "euiSize2XL",
                        "euiSizeVariant"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-card'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6300,
                            "end": 6325,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6301,
                                "end": 6308,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `data-e2e` attribute at the host element.\n\n",
                    "description": "<p>Sets the <code>data-e2e</code> attribute at the host element.</p>\n",
                    "line": 182,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiCollapsed",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6892,
                            "end": 6912,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6893,
                                "end": 6900,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `euiCollapsed` attribute which collapses the card content.\n\n",
                    "description": "<p>Sets the <code>euiCollapsed</code> attribute which collapses the card content.</p>\n",
                    "line": 200,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiCollapsible",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6704,
                            "end": 6724,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6705,
                                "end": 6712,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `euiCollapsible` attribute which shows the collapsible toggle in the header.\n\n",
                    "description": "<p>Sets the <code>euiCollapsible</code> attribute which shows the collapsible toggle in the header.</p>\n",
                    "line": 194,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiHoverable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7696,
                            "end": 7716,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7697,
                                "end": 7704,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `euiHoverable` attribute in order to show the hover effect on the card.\n\n",
                    "description": "<p>Sets the <code>euiHoverable</code> attribute in order to show the hover effect on the card.</p>\n",
                    "line": 224,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiNoContentPadding",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7490,
                            "end": 7510,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7491,
                                "end": 7498,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `euiNoContentPadding` attribute in order to remove the padding from the card content.\n\n",
                    "description": "<p>Sets the <code>euiNoContentPadding</code> attribute in order to remove the padding from the card content.</p>\n",
                    "line": 218,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiNoShadow",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7278,
                            "end": 7298,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7279,
                                "end": 7286,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `euiNoShadow` attribute in order to remove the shadow from the card.\n\n",
                    "description": "<p>Sets the <code>euiNoShadow</code> attribute in order to remove the shadow from the card.</p>\n",
                    "line": 212,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiSelected",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6501,
                            "end": 6521,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6502,
                                "end": 6509,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `euiSelected` attribute in order to show the card header as selected.\n\n",
                    "description": "<p>Sets the <code>euiSelected</code> attribute in order to show the card header as selected.</p>\n",
                    "line": 188,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiUrgent",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7085,
                            "end": 7105,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7086,
                                "end": 7093,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `euiUrgent` attribute in order to show the card header as urgent.\n\n",
                    "description": "<p>Sets the <code>euiUrgent</code> attribute in order to show the card header as urgent.</p>\n",
                    "line": 206,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasLeftExpander",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7907,
                            "end": 7927,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7908,
                                "end": 7915,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `hasLeftExpander` attribute to display the expander button on the left of the card.\n\n",
                    "description": "<p>Sets the <code>hasLeftExpander</code> attribute to display the expander button on the left of the card.</p>\n",
                    "line": 230,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCompact",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 8098,
                            "end": 8118,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8099,
                                "end": 8106,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nInput property to display the card header and content in compact view\n\n",
                    "description": "<p>Input property to display the card header and content in compact view</p>\n",
                    "line": 236,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "collapse",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when the card collapses.\n",
                    "description": "<p>Event emitted when the card collapses.</p>\n",
                    "line": 240,
                    "type": "EventEmitter<boolean>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "uiStateService",
                    "defaultValue": "inject(UiStateService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "UiStateService",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 242,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 265,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 246,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 288,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 261,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5350,
                            "end": 5467,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5351,
                                "end": 5362,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                        },
                        {
                            "pos": 5467,
                            "end": 5532,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5468,
                                "end": 5475,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 5476,
                                "end": 5484,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 5477,
                                    "end": 5483,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                    "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                    "line": 162,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "NgTemplateOutlet"
                }
            ],
            "description": "<p><code>eui-card</code> is a container component based on Material Design principles.\nIt provides a structured surface to group related content such as text, media, and actions around a single subject.</p>\n<p>The component supports multiple visual states (selection, urgency, loading, disabled), sizes, collapsible behavior, and deterministic state synchronization through an internal UI state service.</p>\n<p>It is designed to be <strong>structural</strong>, <strong>deterministic</strong>, and <strong>state-driven</strong>, without requiring custom CSS or inferred behavior.</p>\n<h4>Basic card</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-card&gt;\n  &lt;eui-card-header&gt;\n    &lt;eui-card-header-title&gt;Card Title&lt;/eui-card-header-title&gt;\n    &lt;eui-card-header-subtitle&gt;Subtitle&lt;/eui-card-header-subtitle&gt;\n  &lt;/eui-card-header&gt;\n  &lt;eui-card-content&gt;\n    Card content goes here\n  &lt;/eui-card-content&gt;\n  &lt;eui-card-footer&gt;\n    &lt;button euiButton&gt;Action&lt;/button&gt;\n  &lt;/eui-card-footer&gt;\n&lt;/eui-card&gt;</code></pre></div><h4>Collapsible card</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-card\n  [euiCollapsible]=&quot;true&quot;\n  [euiCollapsed]=&quot;isCollapsed&quot;\n  (collapse)=&quot;onCollapse($event)&quot;&gt;\n  &lt;eui-card-header&gt;\n    &lt;eui-card-header-title&gt;Collapsible Card&lt;/eui-card-header-title&gt;\n  &lt;/eui-card-header&gt;\n  &lt;eui-card-content&gt;Content that can be collapsed&lt;/eui-card-content&gt;\n&lt;/eui-card&gt;</code></pre></div><h4>Selected and urgent states</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-card [euiSelected]=&quot;true&quot; [euiUrgent]=&quot;true&quot;&gt;\n  &lt;eui-card-header&gt;\n    &lt;eui-card-header-title&gt;Important Card&lt;/eui-card-header-title&gt;\n  &lt;/eui-card-header&gt;\n  &lt;eui-card-content&gt;Urgent content&lt;/eui-card-content&gt;\n&lt;/eui-card&gt;</code></pre></div><h4>Clickable card with hover effect</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-card\n  [isClickeable]=&quot;true&quot;\n  [euiHoverable]=&quot;true&quot;\n  (cardClick)=&quot;onCardClick($event)&quot;&gt;\n  &lt;eui-card-content&gt;Click me&lt;/eui-card-content&gt;\n&lt;/eui-card&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">onCollapse(isCollapsed: boolean): void {\n  console.log(&#39;Card collapsed:&#39;, isCollapsed);\n}\n\nonCardClick(card: EuiCardComponent): void {\n  console.log(&#39;Card clicked&#39;);\n}</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Card structure provides semantic grouping of related content</li>\n<li>Collapsible cards use appropriate ARIA attributes for expand/collapse state</li>\n<li>Selected and urgent states are visually distinct and announced to screen readers</li>\n<li>Clickable cards are keyboard accessible when isClickeable is true</li>\n<li>Loading and disabled states prevent interaction and are announced</li>\n<li>Ensure interactive elements within cards have proper focus management</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Typically contains eui-card-header, eui-card-content, and eui-card-footer children</li>\n<li>Size variants: euiSizeXS, euiSizeS, euiSizeM (default), euiSizeL, euiSizeXL, euiSize2XL</li>\n<li>Color variants: euiPrimary, euiSecondary, euiInfo, euiSuccess, euiWarning, euiDanger</li>\n<li>euiCollapsible enables collapse/expand functionality with toggle button</li>\n<li>euiCollapsed controls collapsed state (use with euiCollapsible)</li>\n<li>euiSelected applies selected state styling (typically for card selection)</li>\n<li>euiUrgent applies urgent state styling (for high-priority content)</li>\n<li>euiHighlighted applies highlighted state styling</li>\n<li>euiDisabled disables all interactions within the card</li>\n<li>euiLoading shows loading state with spinner</li>\n<li>euiNoShadow removes default card shadow</li>\n<li>euiNoContentPadding removes padding from card content area</li>\n<li>euiHoverable adds hover effect styling</li>\n<li>hasLeftExpander positions collapse toggle on left side</li>\n<li>isCompact reduces spacing for compact layouts</li>\n<li>isClickeable makes entire card clickable, emits cardClick event</li>\n<li>collapse event emits when card is collapsed/expanded</li>\n<li>State is managed internally via UiStateService for deterministic behavior</li>\n</ul>\n",
            "rawdescription": "\n\n`eui-card` is a container component based on Material Design principles.\nIt provides a structured surface to group related content such as text, media, and actions around a single subject.\n\nThe component supports multiple visual states (selection, urgency, loading, disabled), sizes, collapsible behavior, and deterministic state synchronization through an internal UI state service.\n\nIt is designed to be **structural**, **deterministic**, and **state-driven**, without requiring custom CSS or inferred behavior.\n\n#### Basic card\n```html\n<eui-card>\n  <eui-card-header>\n    <eui-card-header-title>Card Title</eui-card-header-title>\n    <eui-card-header-subtitle>Subtitle</eui-card-header-subtitle>\n  </eui-card-header>\n  <eui-card-content>\n    Card content goes here\n  </eui-card-content>\n  <eui-card-footer>\n    <button euiButton>Action</button>\n  </eui-card-footer>\n</eui-card>\n```\n\n#### Collapsible card\n```html\n<eui-card\n  [euiCollapsible]=\"true\"\n  [euiCollapsed]=\"isCollapsed\"\n  (collapse)=\"onCollapse($event)\">\n  <eui-card-header>\n    <eui-card-header-title>Collapsible Card</eui-card-header-title>\n  </eui-card-header>\n  <eui-card-content>Content that can be collapsed</eui-card-content>\n</eui-card>\n```\n\n#### Selected and urgent states\n```html\n<eui-card [euiSelected]=\"true\" [euiUrgent]=\"true\">\n  <eui-card-header>\n    <eui-card-header-title>Important Card</eui-card-header-title>\n  </eui-card-header>\n  <eui-card-content>Urgent content</eui-card-content>\n</eui-card>\n```\n\n#### Clickable card with hover effect\n```html\n<eui-card\n  [isClickeable]=\"true\"\n  [euiHoverable]=\"true\"\n  (cardClick)=\"onCardClick($event)\">\n  <eui-card-content>Click me</eui-card-content>\n</eui-card>\n```\n\n```ts\nonCollapse(isCollapsed: boolean): void {\n  console.log('Card collapsed:', isCollapsed);\n}\n\nonCardClick(card: EuiCardComponent): void {\n  console.log('Card clicked');\n}\n```\n\n### Accessibility\n- Card structure provides semantic grouping of related content\n- Collapsible cards use appropriate ARIA attributes for expand/collapse state\n- Selected and urgent states are visually distinct and announced to screen readers\n- Clickable cards are keyboard accessible when isClickeable is true\n- Loading and disabled states prevent interaction and are announced\n- Ensure interactive elements within cards have proper focus management\n\n### Notes\n- Typically contains eui-card-header, eui-card-content, and eui-card-footer children\n- Size variants: euiSizeXS, euiSizeS, euiSizeM (default), euiSizeL, euiSizeXL, euiSize2XL\n- Color variants: euiPrimary, euiSecondary, euiInfo, euiSuccess, euiWarning, euiDanger\n- euiCollapsible enables collapse/expand functionality with toggle button\n- euiCollapsed controls collapsed state (use with euiCollapsible)\n- euiSelected applies selected state styling (typically for card selection)\n- euiUrgent applies urgent state styling (for high-priority content)\n- euiHighlighted applies highlighted state styling\n- euiDisabled disables all interactions within the card\n- euiLoading shows loading state with spinner\n- euiNoShadow removes default card shadow\n- euiNoContentPadding removes padding from card content area\n- euiHoverable adds hover effect styling\n- hasLeftExpander positions collapse toggle on left side\n- isCompact reduces spacing for compact layouts\n- isClickeable makes entire card clickable, emits cardClick event\n- collapse event emits when card is collapsed/expanded\n- State is managed internally via UiStateService for deterministic behavior\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    Input,\n    ChangeDetectionStrategy,\n    OnDestroy,\n    Output,\n    EventEmitter,\n    OnInit,\n    OnChanges,\n    SimpleChanges,\n    AfterContentInit,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { map, skip, takeUntil } from 'rxjs/operators';\n\nimport { Subject } from 'rxjs';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { UIState, UiStateService } from './services/ui-state.service';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * @description\n * `eui-card` is a container component based on Material Design principles. \n * It provides a structured surface to group related content such as text, media, and actions around a single subject.\n * \n * The component supports multiple visual states (selection, urgency, loading, disabled), sizes, collapsible behavior, and deterministic state synchronization through an internal UI state service.\n * \n * It is designed to be **structural**, **deterministic**, and **state-driven**, without requiring custom CSS or inferred behavior.\n * \n * @usageNotes\n * #### Basic card\n * ```html\n * <eui-card>\n *   <eui-card-header>\n *     <eui-card-header-title>Card Title</eui-card-header-title>\n *     <eui-card-header-subtitle>Subtitle</eui-card-header-subtitle>\n *   </eui-card-header>\n *   <eui-card-content>\n *     Card content goes here\n *   </eui-card-content>\n *   <eui-card-footer>\n *     <button euiButton>Action</button>\n *   </eui-card-footer>\n * </eui-card>\n * ```\n *\n * #### Collapsible card\n * ```html\n * <eui-card \n *   [euiCollapsible]=\"true\" \n *   [euiCollapsed]=\"isCollapsed\"\n *   (collapse)=\"onCollapse($event)\">\n *   <eui-card-header>\n *     <eui-card-header-title>Collapsible Card</eui-card-header-title>\n *   </eui-card-header>\n *   <eui-card-content>Content that can be collapsed</eui-card-content>\n * </eui-card>\n * ```\n *\n * #### Selected and urgent states\n * ```html\n * <eui-card [euiSelected]=\"true\" [euiUrgent]=\"true\">\n *   <eui-card-header>\n *     <eui-card-header-title>Important Card</eui-card-header-title>\n *   </eui-card-header>\n *   <eui-card-content>Urgent content</eui-card-content>\n * </eui-card>\n * ```\n *\n * #### Clickable card with hover effect\n * ```html\n * <eui-card \n *   [isClickeable]=\"true\" \n *   [euiHoverable]=\"true\"\n *   (cardClick)=\"onCardClick($event)\">\n *   <eui-card-content>Click me</eui-card-content>\n * </eui-card>\n * ```\n *\n * ```ts\n * onCollapse(isCollapsed: boolean): void {\n *   console.log('Card collapsed:', isCollapsed);\n * }\n *\n * onCardClick(card: EuiCardComponent): void {\n *   console.log('Card clicked');\n * }\n * ```\n *\n * ### Accessibility\n * - Card structure provides semantic grouping of related content\n * - Collapsible cards use appropriate ARIA attributes for expand/collapse state\n * - Selected and urgent states are visually distinct and announced to screen readers\n * - Clickable cards are keyboard accessible when isClickeable is true\n * - Loading and disabled states prevent interaction and are announced\n * - Ensure interactive elements within cards have proper focus management\n *\n * ### Notes\n * - Typically contains eui-card-header, eui-card-content, and eui-card-footer children\n * - Size variants: euiSizeXS, euiSizeS, euiSizeM (default), euiSizeL, euiSizeXL, euiSize2XL\n * - Color variants: euiPrimary, euiSecondary, euiInfo, euiSuccess, euiWarning, euiDanger\n * - euiCollapsible enables collapse/expand functionality with toggle button\n * - euiCollapsed controls collapsed state (use with euiCollapsible)\n * - euiSelected applies selected state styling (typically for card selection)\n * - euiUrgent applies urgent state styling (for high-priority content)\n * - euiHighlighted applies highlighted state styling\n * - euiDisabled disables all interactions within the card\n * - euiLoading shows loading state with spinner\n * - euiNoShadow removes default card shadow\n * - euiNoContentPadding removes padding from card content area\n * - euiHoverable adds hover effect styling\n * - hasLeftExpander positions collapse toggle on left side\n * - isCompact reduces spacing for compact layouts\n * - isClickeable makes entire card clickable, emits cardClick event\n * - collapse event emits when card is collapsed/expanded\n * - State is managed internally via UiStateService for deterministic behavior\n */\n@Component({\n    templateUrl: './eui-card.component.html',\n    selector: 'eui-card',\n    styleUrl: './eui-card.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [UiStateService],\n    imports: [\n        NgTemplateOutlet,\n    ],  \n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiPrimary',\n                'euiSecondary',\n                'euiInfo',\n                'euiSuccess',\n                'euiWarning',\n                'euiDanger',\n                'euiHighlighted',\n                'euiDisabled',\n                'euiLoading',\n                'euiSizeXS',\n                'euiSizeS',\n                'euiSizeM',\n                'euiSizeL',\n                'euiSizeXL',\n                'euiSize2XL',\n                'euiSizeVariant',\n            ],\n        },\n    ],\n})\nexport class EuiCardComponent implements AfterContentInit, OnDestroy, OnInit, OnChanges {\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-card'),\n            this.euiCollapsible ? 'eui-card--collapsible' : '',\n            this.euiCollapsed ? 'eui-card--collapsed' : '',\n            this.euiSelected ? 'eui-card--selected' : '',\n            this.euiUrgent ? 'eui-card--urgent' : '',\n            this.euiNoShadow ? 'eui-card--no-shadow' : '',\n            this.euiNoContentPadding ? 'eui-card--no-content-padding' : '',\n            this.euiHoverable ? 'eui-card--hoverable' : '',\n            this.isCompact ? 'eui-card--compact' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n    /**\n     * Sets the `data-e2e` attribute at the host element.\n     * \n     * @default 'eui-card'\n     */\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-card';\n    /**\n     * Sets the `euiSelected` attribute in order to show the card header as selected.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiSelected = false;\n    /**\n     * Sets the `euiCollapsible` attribute which shows the collapsible toggle in the header.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiCollapsible = false;\n    /**\n     * Sets the `euiCollapsed` attribute which collapses the card content.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiCollapsed = false;\n    /**\n     * Sets the `euiUrgent` attribute in order to show the card header as urgent.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiUrgent = false;\n    /**\n     * Sets the `euiNoShadow` attribute in order to remove the shadow from the card.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiNoShadow = false;\n    /**\n     * Sets the `euiNoContentPadding` attribute in order to remove the padding from the card content.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiNoContentPadding = false;\n    /**\n     * Sets the `euiHoverable` attribute in order to show the hover effect on the card.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiHoverable = false;\n    /**\n     * Sets the `hasLeftExpander` attribute to display the expander button on the left of the card.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasLeftExpander = false;\n    /**\n     * Input property to display the card header and content in compact view\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCompact = false;    \n    /**\n     * Event emitted when the card collapses.\n     */\n    @Output() collapse: EventEmitter<boolean> = new EventEmitter();\n\n    public uiStateService: UiStateService = inject(UiStateService);\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private baseStatesDirective: BaseStatesDirective = inject(BaseStatesDirective);\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes?.euiCollapsible && !changes?.euiCollapsible.firstChange) {\n            this._setCardState();\n        }\n        if (changes?.euiCollapsed && !changes?.euiCollapsed.firstChange) {\n            this._setCardState();\n        }\n        if (changes?.euiUrgent && !changes?.euiUrgent.firstChange) {\n            this._setCardState();\n        }\n        if (changes?.hasLeftExpander && !changes?.hasLeftExpander.firstChange) {\n            this._setCardState();\n        }        \n    }\n\n    ngOnInit(): void {\n        this._setCardState();\n    }\n\n    ngAfterContentInit(): void {\n        this.uiStateService.state$\n            .pipe(\n                map((state: UIState) => state.isCollapsed),\n                skip(1),\n                takeUntil(this.destroy$),\n            )\n            .subscribe((isCollapsed: boolean) => {\n                this.euiCollapsed = isCollapsed;\n                this.collapse.emit(isCollapsed);\n            });\n\n        this.uiStateService.state$\n            .pipe(\n                map((state: UIState) => state.isCollapsible),\n                skip(1),\n                takeUntil(this.destroy$),\n            )\n            .subscribe((isCollapsible: boolean) => {\n                this.euiCollapsible = isCollapsible;\n            });\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    /**\n     * Sets the card state in the UIStateService.\n     * This method is called when the component is initialized and when the input properties change.\n     */\n    private _setCardState(): void {\n        const nextState = {\n            ...this.uiStateService.state,\n            isCollapsible: coerceBooleanProperty(this.euiCollapsible),\n            isCollapsed: coerceBooleanProperty(this.euiCollapsed),\n            isUrgent: coerceBooleanProperty(this.euiUrgent),\n            hasLeftExpander: coerceBooleanProperty(this.hasLeftExpander),\n        };\n        this.uiStateService.setState(nextState);\n    }\n}\n",
            "styleUrl": "./eui-card.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterContentInit",
                "OnDestroy",
                "OnInit",
                "OnChanges"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 162,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                        "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 5350,
                                "end": 5467,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 5351,
                                    "end": 5362,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                            },
                            {
                                "pos": 5467,
                                "end": 5532,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 5468,
                                    "end": 5475,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 5476,
                                    "end": 5484,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 5477,
                                        "end": 5483,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            },
            "templateData": "<ng-content select=\"eui-card-header\" />\n<ng-content select=\"eui-card-media\" />\n<ng-content select=\"eui-card-content\" />\n<ng-content select=\"eui-card-footer\" />\n"
        },
        {
            "name": "EuiCardContentComponent",
            "id": "component-EuiCardContentComponent-17f008bc9dd839e2f5f84c7d3867f0a105b1a5f8aa82d0688e481cb111ae7d82d858690890dc36995a7ad6c080768632befe45c22fc696b837d582c80446d5b5",
            "file": "packages/components/eui-card/components/eui-card-content/eui-card-content.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-card-content",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-card-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 39,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 980,
                            "end": 1013,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 981,
                                "end": 988,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card-content&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-card-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 980,
                            "end": 1013,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 981,
                                "end": 988,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card-content&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 39,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>The eui-card-content component projects the content for eui-card.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-card&gt;\n    &lt;eui-card-header&gt;\n        &lt;eui-card-header-title&gt;\n            Card title\n        &lt;/eui-card-header-title&gt;\n        &lt;eui-card-header-subtitle&gt;\n            Card sub-title\n        &lt;/eui-card-header-subtitle&gt;\n    &lt;/eui-card-header&gt;\n    &lt;eui-card-content&gt;\n        Card content\n    &lt;/eui-card-content&gt;\n    &lt;eui-card-footer&gt;\n        Card footer\n    &lt;/eui-card-footer&gt;\n&lt;/eui-card&gt;</code></pre></div>",
            "rawdescription": "\n\nThe eui-card-content component projects the content for eui-card.\n\n```html\n<eui-card>\n    <eui-card-header>\n        <eui-card-header-title>\n            Card title\n        </eui-card-header-title>\n        <eui-card-header-subtitle>\n            Card sub-title\n        </eui-card-header-subtitle>\n    </eui-card-header>\n    <eui-card-content>\n        Card content\n    </eui-card-content>\n    <eui-card-footer>\n        Card footer\n    </eui-card-footer>\n</eui-card>\n```\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy, inject, ElementRef, signal, computed, AfterViewChecked } from '@angular/core';\n\n/**\n * @description\n * The eui-card-content component projects the content for eui-card.\n * \n * @usageNotes\n * ```html\n * <eui-card>\n *     <eui-card-header>\n *         <eui-card-header-title>\n *             Card title\n *         </eui-card-header-title>\n *         <eui-card-header-subtitle>\n *             Card sub-title\n *         </eui-card-header-subtitle>\n *     </eui-card-header>\n *     <eui-card-content>\n *         Card content\n *     </eui-card-content>\n *     <eui-card-footer>\n *         Card footer\n *     </eui-card-footer>\n * </eui-card>\n * ```\n */\n@Component({\n    selector: 'eui-card-content',\n    template: '<ng-content/>',\n    styleUrl: './eui-card-content.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiCardContentComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-card-content'\n     */\n    @HostBinding('class') string = 'eui-card-content';\n}   ",
            "styleUrl": "./eui-card-content.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiCardFooterActionButtonsComponent",
            "id": "component-EuiCardFooterActionButtonsComponent-edc95f05decc744532255efab220232ca0670534304ef8fc61be8f39c638997ed162961fd28284957114dcc376c3064fd0353d4256a20eef983b3bc7d78dcf68",
            "file": "packages/components/eui-card/components/eui-card-footer/eui-card-footer-action-buttons.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-card-footer-action-buttons",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-card-footer-actions__buttons'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 37,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1051,
                            "end": 1100,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1052,
                                "end": 1059,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card-footer-actions__buttons&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-card-footer-actions__buttons'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1051,
                            "end": 1100,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1052,
                                "end": 1059,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card-footer-actions__buttons&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 37,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>The eui-card-footer-action-buttons component projects the action buttons content for eui-card.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-card&gt;\n    &lt;eui-card-content&gt;\n        Card content\n    &lt;/eui-card-content&gt;\n    &lt;eui-card-footer&gt;\n        &lt;eui-card-footer-action-buttons&gt;\n            Action buttons\n        &lt;/eui-card-footer-action-buttons&gt;\n        &lt;eui-card-footer-action-icons&gt;\n            Action icons\n        &lt;/eui-card-footer-action-icons&gt;\n        &lt;eui-card-footer-menu-content&gt;\n            Footer Menu\n        &lt;/eui-card-footer-menu-content&gt;\n    &lt;/eui-card-footer&gt;\n&lt;/eui-card&gt;</code></pre></div>",
            "rawdescription": "\n\nThe eui-card-footer-action-buttons component projects the action buttons content for eui-card.\n\n```html\n<eui-card>\n    <eui-card-content>\n        Card content\n    </eui-card-content>\n    <eui-card-footer>\n        <eui-card-footer-action-buttons>\n            Action buttons\n        </eui-card-footer-action-buttons>\n        <eui-card-footer-action-icons>\n            Action icons\n        </eui-card-footer-action-icons>\n        <eui-card-footer-menu-content>\n            Footer Menu\n        </eui-card-footer-menu-content>\n    </eui-card-footer>\n</eui-card>\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n/**\n * @description\n * The eui-card-footer-action-buttons component projects the action buttons content for eui-card.\n * \n * @usageNotes\n * ```html\n * <eui-card>\n *     <eui-card-content>\n *         Card content\n *     </eui-card-content>\n *     <eui-card-footer>\n *         <eui-card-footer-action-buttons>\n *             Action buttons\n *         </eui-card-footer-action-buttons>\n *         <eui-card-footer-action-icons>\n *             Action icons\n *         </eui-card-footer-action-icons>\n *         <eui-card-footer-menu-content>\n *             Footer Menu\n *         </eui-card-footer-menu-content>\n *     </eui-card-footer>\n * </eui-card>\n */\n@Component({\n    selector: 'eui-card-footer-action-buttons',\n    template: '<ng-content/>',\n    styleUrl: './eui-card-footer-action-buttons.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiCardFooterActionButtonsComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-card-footer-actions__buttons'\n     */\n    @HostBinding('class') string = 'eui-card-footer-actions__buttons';\n}\n",
            "styleUrl": "./eui-card-footer-action-buttons.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiCardFooterActionIconsComponent",
            "id": "component-EuiCardFooterActionIconsComponent-2ddf5426c9b369a9a74c994ded0e67cfef272a95065f7d560a19a54a901bf9cee54e9d98e64915e372fb5cfb7b4837c72646995df94834d33df8bc5057d4913b",
            "file": "packages/components/eui-card/components/eui-card-footer/eui-card-footer-action-icons.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-card-footer-action-icons",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-card-footer-actions__icons'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 37,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1042,
                            "end": 1089,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1043,
                                "end": 1050,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card-footer-actions__icons&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-card-footer-actions__icons'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1042,
                            "end": 1089,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1043,
                                "end": 1050,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card-footer-actions__icons&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 37,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>The eui-card-footer-action-icons component projects the action icons content for eui-card.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-card&gt;\n    &lt;eui-card-content&gt;\n        Card content\n    &lt;/eui-card-content&gt;\n    &lt;eui-card-footer&gt;\n        &lt;eui-card-footer-action-buttons&gt;\n            Action buttons\n        &lt;/eui-card-footer-action-buttons&gt;\n        &lt;eui-card-footer-action-icons&gt;\n            Action icons\n        &lt;/eui-card-footer-action-icons&gt;\n        &lt;eui-card-footer-menu-content&gt;\n            Footer Menu\n        &lt;/eui-card-footer-menu-content&gt;\n    &lt;/eui-card-footer&gt;\n&lt;/eui-card&gt;</code></pre></div>",
            "rawdescription": "\n\nThe eui-card-footer-action-icons component projects the action icons content for eui-card.\n\n```html\n<eui-card>\n    <eui-card-content>\n        Card content\n    </eui-card-content>\n    <eui-card-footer>\n        <eui-card-footer-action-buttons>\n            Action buttons\n        </eui-card-footer-action-buttons>\n        <eui-card-footer-action-icons>\n            Action icons\n        </eui-card-footer-action-icons>\n        <eui-card-footer-menu-content>\n            Footer Menu\n        </eui-card-footer-menu-content>\n    </eui-card-footer>\n</eui-card>\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n/**\n * @description\n * The eui-card-footer-action-icons component projects the action icons content for eui-card.\n * \n * @usageNotes\n * ```html\n * <eui-card>\n *     <eui-card-content>\n *         Card content\n *     </eui-card-content>\n *     <eui-card-footer>\n *         <eui-card-footer-action-buttons>\n *             Action buttons\n *         </eui-card-footer-action-buttons>\n *         <eui-card-footer-action-icons>\n *             Action icons\n *         </eui-card-footer-action-icons>\n *         <eui-card-footer-menu-content>\n *             Footer Menu\n *         </eui-card-footer-menu-content>\n *     </eui-card-footer>\n * </eui-card>\n */\n@Component({\n    selector: 'eui-card-footer-action-icons',\n    template: '<ng-content />',\n    styleUrl: './eui-card-footer-action-icons.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiCardFooterActionIconsComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-card-footer-actions__icons'\n     */\n    @HostBinding('class') string = 'eui-card-footer-actions__icons';\n}\n",
            "styleUrl": "./eui-card-footer-action-icons.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiCardFooterComponent",
            "id": "component-EuiCardFooterComponent-d13022a907105f15e06781a8d39de1b6d30c427e690b8da9193eb7ee15b612af9df7548099c73c36c36ca5cfef18013d55949e917d1cecbc02f37470b73da3f6",
            "file": "packages/components/eui-card/components/eui-card-footer/eui-card-footer.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-card-footer",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-card-footer.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "actionButtons",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiCardFooterActionButtonsComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 45,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined, {static: false}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "actionIcons",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiCardFooterActionIconsComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 47,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined, {static: false}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "actionMenu",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiCardFooterMenuContentComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 49,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined, {static: false}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "actionMenuWrapper",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiCardFooterMenuComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 51,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined, {static: false}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "string",
                    "defaultValue": "'eui-card-footer'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 43,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1406,
                            "end": 1438,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1407,
                                "end": 1414,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card-footer&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-card-footer'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1406,
                            "end": 1438,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1407,
                                "end": 1414,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card-footer&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 43,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>The eui-card-footer component projects the footer of the eui-card.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-card&gt;\n    &lt;eui-card-content&gt;\n        Card content\n    &lt;/eui-card-content&gt;\n    &lt;eui-card-footer&gt;\n        &lt;eui-card-footer-action-buttons&gt;\n            Action buttons\n        &lt;/eui-card-footer-action-buttons&gt;\n        &lt;eui-card-footer-action-icons&gt;\n            Action icons\n        &lt;/eui-card-footer-action-icons&gt;\n        &lt;eui-card-footer-menu-content&gt;\n            Footer Menu\n        &lt;/eui-card-footer-menu-content&gt;\n    &lt;/eui-card-footer&gt;\n&lt;/eui-card&gt;</code></pre></div>",
            "rawdescription": "\n\nThe eui-card-footer component projects the footer of the eui-card.\n\n```html\n<eui-card>\n    <eui-card-content>\n        Card content\n    </eui-card-content>\n    <eui-card-footer>\n        <eui-card-footer-action-buttons>\n            Action buttons\n        </eui-card-footer-action-buttons>\n        <eui-card-footer-action-icons>\n            Action icons\n        </eui-card-footer-action-icons>\n        <eui-card-footer-menu-content>\n            Footer Menu\n        </eui-card-footer-menu-content>\n    </eui-card-footer>\n</eui-card>\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy, ContentChild, forwardRef, QueryList } from '@angular/core';\n\nimport { EuiCardFooterActionButtonsComponent } from './eui-card-footer-action-buttons.component';\n\nimport { EuiCardFooterActionIconsComponent } from './eui-card-footer-action-icons.component';\nimport { EuiCardFooterMenuContentComponent } from './eui-card-footer-menu-content.component';\nimport { EuiCardFooterMenuComponent } from './eui-card-footer-menu.component';\n/**\n * @description\n * The eui-card-footer component projects the footer of the eui-card.\n * \n * @usageNotes\n * ```html\n * <eui-card>\n *     <eui-card-content>\n *         Card content\n *     </eui-card-content>\n *     <eui-card-footer>\n *         <eui-card-footer-action-buttons>\n *             Action buttons\n *         </eui-card-footer-action-buttons>\n *         <eui-card-footer-action-icons>\n *             Action icons\n *         </eui-card-footer-action-icons>\n *         <eui-card-footer-menu-content>\n *             Footer Menu\n *         </eui-card-footer-menu-content>\n *     </eui-card-footer>\n * </eui-card>\n */\n@Component({\n    selector: 'eui-card-footer',\n    templateUrl: './eui-card-footer.component.html',\n    styleUrl: './eui-card-footer.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiCardFooterComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-card-footer'\n     */\n    @HostBinding('class') string = 'eui-card-footer';\n    @ContentChild(forwardRef(() => EuiCardFooterActionButtonsComponent), { static: false })\n    actionButtons: QueryList<EuiCardFooterActionButtonsComponent>;\n    @ContentChild(forwardRef(() => EuiCardFooterActionIconsComponent), { static: false })\n    actionIcons: QueryList<EuiCardFooterActionIconsComponent>;\n    @ContentChild(forwardRef(() => EuiCardFooterMenuContentComponent), { static: false })\n    actionMenu: QueryList<EuiCardFooterMenuContentComponent>;\n    @ContentChild(forwardRef(() => EuiCardFooterMenuComponent), { static: false })\n    actionMenuWrapper: QueryList<EuiCardFooterMenuComponent>;\n}\n",
            "styleUrl": "./eui-card-footer.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "<div class=\"eui-card-footer-container\">\n    @if (actionButtons || actionIcons || actionMenu || actionMenuWrapper) {\n        <div class=\"eui-card-footer-actions\">\n            @if (actionButtons) {\n                <ng-content select=\"eui-card-footer-action-buttons\"></ng-content>\n            }\n            @if (actionIcons || actionMenu) {\n                <div class=\"eui-card-footer-actions__icons-container\">\n                    @if (actionIcons) {\n                        <ng-content select=\"eui-card-footer-action-icons\"></ng-content>\n                    }\n                    @if (actionMenu) {\n                        <ng-content select=\"eui-card-footer-menu-content\"></ng-content>\n                    }\n                    @if (actionMenuWrapper) {\n                        <ng-content select=\"eui-card-footer-menu\"></ng-content>\n                    }\n                </div>\n            }\n        </div>\n    }\n</div>\n"
        },
        {
            "name": "EuiCardFooterMenuComponent",
            "id": "component-EuiCardFooterMenuComponent-6cbebfb18b17f21ac2f4ff39f2e967d13b313692f82696e9939517b5b3a6f8143b0e5299622a007a572ab258961b769215dd6b432c856bf8eb8d4249597196fa",
            "file": "packages/components/eui-card/components/eui-card-footer/eui-card-footer-menu.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-card-footer-menu",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-card-footer-menu'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 36,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 997,
                            "end": 1034,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 998,
                                "end": 1005,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card-footer-menu&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-card-footer-menu'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 997,
                            "end": 1034,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 998,
                                "end": 1005,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card-footer-menu&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 36,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>The eui-card-footer-menu component provides menu options for the footer of the eui-card.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-card&gt;\n    &lt;eui-card-content&gt;\n        Card content\n    &lt;/eui-card-content&gt;\n    &lt;eui-card-footer&gt;\n        &lt;eui-card-footer-action-buttons&gt;\n            Action buttons\n        &lt;/eui-card-footer-action-buttons&gt;\n        &lt;eui-card-footer-action-icons&gt;\n            Action icons\n        &lt;/eui-card-footer-action-icons&gt;\n        &lt;eui-card-footer-menu-content&gt;\n            Footer Menu\n        &lt;/eui-card-footer-menu-content&gt;\n    &lt;/eui-card-footer&gt;\n&lt;/eui-card&gt;</code></pre></div>",
            "rawdescription": "\n\nThe eui-card-footer-menu component provides menu options for the footer of the eui-card.\n\n```html\n<eui-card>\n    <eui-card-content>\n        Card content\n    </eui-card-content>\n    <eui-card-footer>\n        <eui-card-footer-action-buttons>\n            Action buttons\n        </eui-card-footer-action-buttons>\n        <eui-card-footer-action-icons>\n            Action icons\n        </eui-card-footer-action-icons>\n        <eui-card-footer-menu-content>\n            Footer Menu\n        </eui-card-footer-menu-content>\n    </eui-card-footer>\n</eui-card>\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, Input, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\n/**\n * @description\n * The eui-card-footer-menu component provides menu options for the footer of the eui-card.\n * \n * @usageNotes\n * ```html\n * <eui-card>\n *     <eui-card-content>\n *         Card content\n *     </eui-card-content>\n *     <eui-card-footer>\n *         <eui-card-footer-action-buttons>\n *             Action buttons\n *         </eui-card-footer-action-buttons>\n *         <eui-card-footer-action-icons>\n *             Action icons\n *         </eui-card-footer-action-icons>\n *         <eui-card-footer-menu-content>\n *             Footer Menu\n *         </eui-card-footer-menu-content>\n *     </eui-card-footer>\n * </eui-card>\n */\n@Component({\n    selector: 'eui-card-footer-menu',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiCardFooterMenuComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-card-footer-menu'\n     */\n    @HostBinding('class') string = 'eui-card-footer-menu';\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiCardFooterMenuContentComponent",
            "id": "component-EuiCardFooterMenuContentComponent-43df4e3b2baeab800902360a5aa0adad414053e6ceb18b85ba3cbd7c2ab650845af03f60c5682230af019fd50b69c75752098277c8ad09f2c6e7d67b2fde0d28",
            "file": "packages/components/eui-card/components/eui-card-footer/eui-card-footer-menu-content.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-card-footer-menu-content",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-card-footer-menu-content.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "tooltipText",
                    "defaultValue": "'More options'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1420,
                            "end": 1449,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1421,
                                "end": 1428,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;More options&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the tooltipText Input property.\n\n",
                    "description": "<p>Sets the tooltipText Input property.</p>\n",
                    "line": 47,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-card-footer-menu-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 53,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1558,
                            "end": 1603,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1559,
                                "end": 1566,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card-footer-menu-content&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-card-footer-menu-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1558,
                            "end": 1603,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1559,
                                "end": 1566,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card-footer-menu-content&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 53,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_DROPDOWN"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EuiTooltipDirective",
                    "type": "directive"
                }
            ],
            "description": "<p>The eui-card-footer-menu-content component projects the content of the actions menu of the eui-card.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-card&gt;\n    &lt;eui-card-content&gt;\n        Card content\n    &lt;/eui-card-content&gt;\n    &lt;eui-card-footer&gt;\n        &lt;eui-card-footer-action-buttons&gt;\n            Action buttons\n        &lt;/eui-card-footer-action-buttons&gt;\n        &lt;eui-card-footer-action-icons&gt;\n            Action icons\n        &lt;/eui-card-footer-action-icons&gt;\n        &lt;eui-card-footer-menu-content&gt;\n            Footer Menu\n        &lt;/eui-card-footer-menu-content&gt;\n    &lt;/eui-card-footer&gt;\n&lt;/eui-card&gt;</code></pre></div>",
            "rawdescription": "\n\nThe eui-card-footer-menu-content component projects the content of the actions menu of the eui-card.\n\n```html\n<eui-card>\n    <eui-card-content>\n        Card content\n    </eui-card-content>\n    <eui-card-footer>\n        <eui-card-footer-action-buttons>\n            Action buttons\n        </eui-card-footer-action-buttons>\n        <eui-card-footer-action-icons>\n            Action icons\n        </eui-card-footer-action-icons>\n        <eui-card-footer-menu-content>\n            Footer Menu\n        </eui-card-footer-menu-content>\n    </eui-card-footer>\n</eui-card>\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, Input, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\nimport { EuiTooltipDirective } from '@eui/components/directives';\nimport { EUI_DROPDOWN } from '@eui/components/eui-dropdown';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\n/**\n * @description\n * The eui-card-footer-menu-content component projects the content of the actions menu of the eui-card.\n * \n * @usageNotes\n * ```html\n * <eui-card>\n *     <eui-card-content>\n *         Card content\n *     </eui-card-content>\n *     <eui-card-footer>\n *         <eui-card-footer-action-buttons>\n *             Action buttons\n *         </eui-card-footer-action-buttons>\n *         <eui-card-footer-action-icons>\n *             Action icons\n *         </eui-card-footer-action-icons>\n *         <eui-card-footer-menu-content>\n *             Footer Menu\n *         </eui-card-footer-menu-content>\n *     </eui-card-footer>\n * </eui-card>\n */\n@Component({\n    selector: 'eui-card-footer-menu-content',\n    templateUrl: './eui-card-footer-menu-content.component.html',\n    imports: [\n        ...EUI_DROPDOWN,\n        ...EUI_BUTTON,\n        ...EUI_ICON,\n        EuiTooltipDirective,\n    ],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiCardFooterMenuContentComponent {\n    /**\n     * Sets the tooltipText Input property.\n     *\n     * @default 'More options'\n     */\n    @Input() tooltipText = 'More options';\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-card-footer-menu-content'\n     */\n    @HostBinding('class') string = 'eui-card-footer-menu-content';\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "<eui-dropdown>\n    <button\n        euiButton\n        euiRounded\n        euiIconButton\n        euiBasicButton\n        euiSecondary\n        type=\"button\"\n        euiTooltip=\"{{ tooltipText }}\"\n        [attr.aria-label]=\"tooltipText\">\n        <eui-icon-svg icon=\"eui-ellipsis-vertical\"></eui-icon-svg>\n    </button>\n    <eui-dropdown-content>\n        <ng-content />\n    </eui-dropdown-content>\n</eui-dropdown>\n"
        },
        {
            "name": "EuiCardHeaderBodyComponent",
            "id": "component-EuiCardHeaderBodyComponent-928a3af389e0189a1b306e6789e0686f0fe460c93432db34dcbcc48e4838ca100c338d962991f295aa36a39f4cf4e144284904445bc3a31ffa0cca8176f059b4",
            "file": "packages/components/eui-card/components/eui-card-header-body/eui-card-header-body.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-card-header-body",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-card-header-body'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 35,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 895,
                            "end": 932,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 896,
                                "end": 903,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card-header-body&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-card-header-body'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 895,
                            "end": 932,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 896,
                                "end": 903,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card-header-body&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 35,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>The eui-card-header-body component projects the body for eui-card-header.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-card&gt;\n    &lt;eui-card-header&gt;\n        &lt;eui-card-header-title&gt;\n             Card title\n        &lt;/eui-card-header-title&gt;\n        &lt;eui-card-header-subtitle&gt;\n             Car sub-title\n        &lt;/eui-card-header-subtitle&gt;\n        &lt;eui-card-header-body&gt;\n             Card header body\n         &lt;/eui-card-header-body&gt;\n    &lt;/eui-card-header&gt;\n&lt;/eui-card&gt;</code></pre></div>",
            "rawdescription": "\n\nThe eui-card-header-body component projects the body for eui-card-header.\n\n```html\n<eui-card>\n    <eui-card-header>\n        <eui-card-header-title>\n             Card title\n        </eui-card-header-title>\n        <eui-card-header-subtitle>\n             Car sub-title\n        </eui-card-header-subtitle>\n        <eui-card-header-body>\n             Card header body\n         </eui-card-header-body>\n    </eui-card-header>\n</eui-card>\n```\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n/**\n * @description\n * The eui-card-header-body component projects the body for eui-card-header.\n * \n * @usageNotes\n * ```html\n * <eui-card>\n *     <eui-card-header>\n *         <eui-card-header-title>\n *              Card title\n *         </eui-card-header-title>\n *         <eui-card-header-subtitle>\n *              Car sub-title\n *         </eui-card-header-subtitle>\n *         <eui-card-header-body>\n *              Card header body\n *          </eui-card-header-body>\n *     </eui-card-header>\n * </eui-card>\n * ```\n */\n@Component({\n    selector: 'eui-card-header-body',\n    template: '<ng-content/>',\n    styleUrl: './eui-card-header-body.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiCardHeaderBodyComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-card-header-body'\n     */\n    @HostBinding('class') string = 'eui-card-header-body';\n}\n",
            "styleUrl": "./eui-card-header-body.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiCardHeaderComponent",
            "id": "component-EuiCardHeaderComponent-3c449f04f586899d39ad0636cbd022ba3deacc20a25b4f3e62f2565db489d53c24139c5763768cf90c69defb1e11012154c9522de88160cb7bf6a961a6cca545",
            "file": "packages/components/eui-card/components/eui-card-header/eui-card-header.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-card-header",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-card-header.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "collapseLabel",
                    "defaultValue": "'collapse'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1980,
                            "end": 2005,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1981,
                                "end": 1988,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;collapse&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the collapseLabel Input property.\n\n",
                    "description": "<p>Sets the collapseLabel Input property.</p>\n",
                    "line": 70,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "expandLabel",
                    "defaultValue": "'expand'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1849,
                            "end": 1872,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1850,
                                "end": 1857,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;expand&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the expandLabel Input property.\n\n",
                    "description": "<p>Sets the expandLabel Input property.</p>\n",
                    "line": 64,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasBottomExpander",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2139,
                            "end": 2159,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2140,
                                "end": 2147,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nInput property to expand the bottom part of the card header.\n\n",
                    "description": "<p>Input property to expand the bottom part of the card header.</p>\n",
                    "line": 76,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasFullTitle",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2338,
                            "end": 2358,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2339,
                                "end": 2346,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nInput property to display the title within the full card container's width.\n\n",
                    "description": "<p>Input property to display the title within the full card container&#39;s width.</p>\n",
                    "line": 82,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isClickeable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2697,
                            "end": 2717,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2698,
                                "end": 2705,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nInput property to make the card clickeable\n\n",
                    "description": "<p>Input property to make the card clickeable</p>\n",
                    "line": 94,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isHeaderMultilines",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2530,
                            "end": 2550,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2531,
                                "end": 2538,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nInput property to display the title & subtitle content in multiple lines.\n\n",
                    "description": "<p>Input property to display the title &amp; subtitle content in multiple lines.</p>\n",
                    "line": 88,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "collapse",
                    "defaultValue": "new EventEmitter<boolean>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when the card header collapses.\n",
                    "description": "<p>Event emitted when the card header collapses.</p>\n",
                    "line": 98,
                    "type": "EventEmitter"
                },
                {
                    "name": "headerClick",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when the card collapses.\n",
                    "description": "<p>Event emitted when the card collapses.</p>\n",
                    "line": 102,
                    "type": "EventEmitter<EuiCardHeaderComponent>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "uiStateService",
                    "defaultValue": "inject(UiStateService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 48
                }
            ],
            "methodsClass": [
                {
                    "name": "onClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 115,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "onToggle",
                    "args": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 108,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nFires when the icon button expander is clicked/pressed to expand/collapse the bottom expander.\n\n",
                    "description": "<p>Fires when the icon button expander is clicked/pressed to expand/collapse the bottom expander.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 3194,
                                "end": 3199,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3188,
                                "end": 3193,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The event that fires the toggle.</p>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nBinds the class to the component.\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 54,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_ICON_BUTTON_EXPANDER"
                }
            ],
            "description": "<p>The eui-card-header component provides the header options of the eui-card.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-card&gt;\n    &lt;eui-card-header&gt;\n        &lt;eui-card-header-title&gt;\n            Card header title\n        &lt;/eui-card-header-title&gt;\n        &lt;eui-card-header-subtitle&gt;\n            Card header sub-title\n        &lt;/eui-card-header-subtitle&gt;\n        &lt;eui-card-header-left-content&gt;\n            Card header left content\n        &lt;/eui-card-header-left-content&gt;\n        &lt;eui-card-header-right-content&gt;\n            Card header right content\n        &lt;/eui-card-header-right-content&gt;\n    &lt;/eui-card-header&gt;\n    &lt;eui-card-content&gt;\n        Card content\n    &lt;/eui-card-content&gt;\n&lt;/eui-card&gt;</code></pre></div>",
            "rawdescription": "\n\nThe eui-card-header component provides the header options of the eui-card.\n\n```html\n<eui-card>\n    <eui-card-header>\n        <eui-card-header-title>\n            Card header title\n        </eui-card-header-title>\n        <eui-card-header-subtitle>\n            Card header sub-title\n        </eui-card-header-subtitle>\n        <eui-card-header-left-content>\n            Card header left content\n        </eui-card-header-left-content>\n        <eui-card-header-right-content>\n            Card header right content\n        </eui-card-header-right-content>\n    </eui-card-header>\n    <eui-card-content>\n        Card content\n    </eui-card-content>\n</eui-card>\n```\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy, Input, Output, EventEmitter, booleanAttribute, inject } from '@angular/core';\n\nimport { UiStateService } from '../../services/ui-state.service';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_ICON_BUTTON_EXPANDER } from '@eui/components/eui-icon-button-expander';\n\n/**\n * @description\n * The eui-card-header component provides the header options of the eui-card.\n * \n * @usageNotes\n * ```html\n * <eui-card>\n *     <eui-card-header>\n *         <eui-card-header-title>\n *             Card header title\n *         </eui-card-header-title>\n *         <eui-card-header-subtitle>\n *             Card header sub-title\n *         </eui-card-header-subtitle>\n *         <eui-card-header-left-content>\n *             Card header left content\n *         </eui-card-header-left-content>\n *         <eui-card-header-right-content>\n *             Card header right content\n *         </eui-card-header-right-content>\n *     </eui-card-header>\n *     <eui-card-content>\n *         Card content\n *     </eui-card-content>\n * </eui-card>\n * ```\n */\n@Component({\n    selector: 'eui-card-header',\n    templateUrl: './eui-card-header.component.html',\n    styleUrl: './eui-card-header.scss',\n    imports: [\n        NgTemplateOutlet,\n        AsyncPipe,\n        ...EUI_ICON,\n        ...EUI_ICON_BUTTON_EXPANDER,\n    ],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiCardHeaderComponent {\n    uiStateService = inject(UiStateService);\n\n    /**\n     * Binds the class to the component.\n     */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [\n            'eui-card-header',\n        ].join(' ').trim();\n    }    \n    /**\n     * Sets the expandLabel Input property.\n     *\n     * @default 'expand'\n     */\n    @Input() expandLabel = 'expand';\n    /**\n     * Sets the collapseLabel Input property.\n     *\n     * @default 'collapse'\n     */\n    @Input() collapseLabel = 'collapse';\n    /**\n     * Input property to expand the bottom part of the card header.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasBottomExpander = false;\n    /**\n     * Input property to display the title within the full card container's width.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasFullTitle = false;\n    /**\n     * Input property to display the title & subtitle content in multiple lines.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHeaderMultilines = false;\n    /**\n     * Input property to make the card clickeable\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isClickeable = false;  \n    /**\n     * Event emitted when the card header collapses.\n     */\n    @Output() collapse = new EventEmitter<boolean>();\n    /**\n     * Event emitted when the card collapses.\n     */\n    @Output() headerClick: EventEmitter<EuiCardHeaderComponent> = new EventEmitter();    \n    /**\n     * Fires when the icon button expander is clicked/pressed to expand/collapse the bottom expander.\n     *\n     * @param event The event that fires the toggle.\n     */\n    public onToggle(event: Event): void {\n        this.uiStateService.toggleCollapsed();\n        this.collapse.emit(this.uiStateService.state.isCollapsed);\n\n        event.stopPropagation();\n    }\n\n    public onClick(): void {\n        this.headerClick.emit(this);\n    }    \n}\n",
            "styleUrl": "./eui-card-header.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 54,
                        "rawdescription": "\n\nBinds the class to the component.\n",
                        "description": "<p>Binds the class to the component.</p>\n"
                    }
                }
            },
            "templateData": "@if (isClickeable) {\n    <button class=\"eui-card-header__container\" (click)=\"onClick()\">\n        <ng-content *ngTemplateOutlet=\"content\"></ng-content>\n    </button>\n    @if ((uiStateService.state$ | async).isCollapsible && !(uiStateService.state$ | async).hasLeftExpander && isClickeable) {\n        <div\n            class=\"eui-card-header__expander eui-card-header__expander--bottom\">\n            <eui-icon-button-expander class=\"eui-card-header__expander-icon\"\n                [isExpanded]=\"!(uiStateService.state$ | async).isCollapsed\" (buttonClick)=\"onToggle($event)\" fillColor=\"secondary\">\n            </eui-icon-button-expander>\n        </div>\n    }     \n} @else {\n    <div class=\"eui-card-header__container\">\n        <ng-content *ngTemplateOutlet=\"content\"></ng-content>\n    </div>\n}\n\n@if ((uiStateService.state$ | async).isUrgent) {\n    <div class=\"eui-card-header__urgent-indicator\">\n        <eui-icon-svg icon=\"eui-alert\" fillColor=\"white\"></eui-icon-svg>\n    </div>\n}\n<ng-content select=\"eui-card-header-body\" />\n\n<ng-template #content>\n    @if ((uiStateService.state$ | async).isCollapsible && (uiStateService.state$ | async).hasLeftExpander && !isClickeable) {\n        <div\n            class=\"eui-card-header__expander eui-card-header__expander--left\">\n            <eui-icon-button-expander class=\"eui-card-header__expander-icon\"\n                [isExpanded]=\"!(uiStateService.state$ | async).isCollapsed\" (buttonClick)=\"onToggle($event)\" fillColor=\"secondary\">\n            </eui-icon-button-expander>\n        </div>\n    }\n\n    <ng-content select=\"eui-card-header-left-content\"></ng-content>\n\n    @if (!hasFullTitle) {\n        <div class=\"eui-card-header__title-container\" [class.eui-card-header__title-container--multilines]=\"isHeaderMultilines\">\n            <ng-content *ngTemplateOutlet=\"title\"></ng-content>\n            <ng-content *ngTemplateOutlet=\"subtitle\"></ng-content>\n        </div>\n        <ng-content *ngTemplateOutlet=\"rightContent\"></ng-content>\n    }\n\n    @if (hasFullTitle) {\n        <div class=\"eui-card-header__middle-container\">\n            <div class=\"eui-card-header__title-container\" [class.eui-card-header__title-container--multilines]=\"isHeaderMultilines\">\n                <ng-content *ngTemplateOutlet=\"title\"></ng-content>\n            </div>\n            <div class=\"eui-card-header__middle-content\">\n                <ng-content *ngTemplateOutlet=\"subtitle\"></ng-content>\n                <ng-content *ngTemplateOutlet=\"rightContent\"></ng-content>\n            </div>\n        </div>\n    }\n\n    @if ((uiStateService.state$ | async).isCollapsible && !(uiStateService.state$ | async).hasLeftExpander && !isClickeable) {\n        <div\n            class=\"eui-card-header__expander\"\n            [class.eui-card-header__expander--bottom]=\"hasBottomExpander\"\n            [class.eui-card-header__expander--top]=\"isHeaderMultilines\">\n            <eui-icon-button-expander class=\"eui-card-header__expander-icon\"\n                [isExpanded]=\"!(uiStateService.state$ | async).isCollapsed\" (buttonClick)=\"onToggle($event)\" fillColor=\"secondary\">\n            </eui-icon-button-expander>\n        </div>\n    }  \n</ng-template>\n\n\n<ng-template #title>\n    <ng-content select=\"eui-card-header-title\" />\n</ng-template>\n\n<ng-template #subtitle>\n    <ng-content select=\"eui-card-header-subtitle\" />\n</ng-template>\n\n<ng-template #rightContent>\n    <ng-content select=\"eui-card-header-right-content\" />\n</ng-template>\n\n"
        },
        {
            "name": "EuiCardHeaderLeftContentComponent",
            "id": "component-EuiCardHeaderLeftContentComponent-2ba1497c98ef8dc1fd70c317a7c5d168dbb6a4ff5a2512a0807d72ab537bd64d26cd4e40ee134d0d9e34e740c696f9e587ead82242617b7880f5ac90d7196dde",
            "file": "packages/components/eui-card/components/eui-card-header/eui-card-header-left-content.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-card-header-left-content",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "isTopAligned",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1738,
                            "end": 1758,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1739,
                                "end": 1746,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nInput property to display the content top aligned (default: center)\n\n",
                    "description": "<p>Input property to display the content top aligned (default: center)</p>\n",
                    "line": 58,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1242,
                            "end": 1290,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1243,
                                "end": 1250,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card-header__left-content&#39;</p>\n"
                        },
                        {
                            "pos": 1290,
                            "end": 1310,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1291,
                                "end": 1302,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": ""
                        },
                        {
                            "pos": 1310,
                            "end": 1375,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1311,
                                "end": 1318,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 1319,
                                "end": 1327,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 1320,
                                    "end": 1326,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n",
                    "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                    "line": 44,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>The eui-card-header-left-content component projects the left content for eui-card-header.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-card&gt;\n    &lt;eui-card-header&gt;\n        &lt;eui-card-header-title&gt;\n            Card header title\n        &lt;/eui-card-header-title&gt;\n        &lt;eui-card-header-subtitle&gt;\n            Card header sub-title\n        &lt;/eui-card-header-subtitle&gt;\n        &lt;eui-card-header-left-content&gt;\n            Card header left content\n        &lt;/eui-card-header-left-content&gt;\n        &lt;eui-card-header-right-content&gt;\n            Card header right content\n        &lt;/eui-card-header-right-content&gt;\n    &lt;/eui-card-header&gt;\n    &lt;eui-card-content&gt;\n        Card content\n    &lt;/eui-card-content&gt;\n&lt;/eui-card&gt;</code></pre></div>",
            "rawdescription": "\n\nThe eui-card-header-left-content component projects the left content for eui-card-header.\n\n```html\n<eui-card>\n    <eui-card-header>\n        <eui-card-header-title>\n            Card header title\n        </eui-card-header-title>\n        <eui-card-header-subtitle>\n            Card header sub-title\n        </eui-card-header-subtitle>\n        <eui-card-header-left-content>\n            Card header left content\n        </eui-card-header-left-content>\n        <eui-card-header-right-content>\n            Card header right content\n        </eui-card-header-right-content>\n    </eui-card-header>\n    <eui-card-content>\n        Card content\n    </eui-card-content>\n</eui-card>\n```\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy, Input, booleanAttribute } from '@angular/core';\n\n/**\n * @description\n * The eui-card-header-left-content component projects the left content for eui-card-header.\n * \n * @usageNotes\n * ```html\n * <eui-card>\n *     <eui-card-header>\n *         <eui-card-header-title>\n *             Card header title\n *         </eui-card-header-title>\n *         <eui-card-header-subtitle>\n *             Card header sub-title\n *         </eui-card-header-subtitle>\n *         <eui-card-header-left-content>\n *             Card header left content\n *         </eui-card-header-left-content>\n *         <eui-card-header-right-content>\n *             Card header right content\n *         </eui-card-header-right-content>\n *     </eui-card-header>\n *     <eui-card-content>\n *         Card content\n *     </eui-card-content>\n * </eui-card>\n * ```\n */\n@Component({\n    selector: 'eui-card-header-left-content',\n    template: '<ng-content/>',\n    styleUrl: './eui-card-header-left-content.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiCardHeaderLeftContentComponent {\n    /**\n     * Computes and returns the CSS classes for the component based on its current state.\n     * @default 'eui-card-header__left-content'\n     * @description\n     * @returns {string} Space-separated string of CSS class names\n     */\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-card-header__left-content',\n            this.isTopAligned ? 'eui-card-header__left-content--top-aligned' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * Input property to display the content top aligned (default: center)\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isTopAligned = false;\n}\n",
            "styleUrl": "./eui-card-header-left-content.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 44,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n",
                        "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 1242,
                                "end": 1290,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 1243,
                                    "end": 1250,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "default"
                                },
                                "comment": "<p>&#39;eui-card-header__left-content&#39;</p>\n"
                            },
                            {
                                "pos": 1290,
                                "end": 1310,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 1291,
                                    "end": 1302,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": ""
                            },
                            {
                                "pos": 1310,
                                "end": 1375,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 1311,
                                    "end": 1318,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 1319,
                                    "end": 1327,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 1320,
                                        "end": 1326,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            }
        },
        {
            "name": "EuiCardHeaderRightContentComponent",
            "id": "component-EuiCardHeaderRightContentComponent-740ee69ec7af05b07611aa325b3b809efcedff46123d4497616d4a7da49a615ae0531e5d9489fa0052a4c933f5fc454a8d4ff6719a8cea453ee98a4c95681da7",
            "file": "packages/components/eui-card/components/eui-card-header/eui-card-header-right-content.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-card-header-right-content",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-card-header__right-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 41,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1179,
                            "end": 1226,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1180,
                                "end": 1187,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card-header__right-content&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-card-header__right-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1179,
                            "end": 1226,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1180,
                                "end": 1187,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card-header__right-content&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 41,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>The eui-card-header-right-content component projects the right content for eui-card-header.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-card&gt;\n    &lt;eui-card-header&gt;\n        &lt;eui-card-header-title&gt;\n            Card header title\n        &lt;/eui-card-header-title&gt;\n        &lt;eui-card-header-subtitle&gt;\n            Card header sub-title\n        &lt;/eui-card-header-subtitle&gt;\n        &lt;eui-card-header-left-content&gt;\n            Card header left content\n        &lt;/eui-card-header-left-content&gt;\n        &lt;eui-card-header-right-content&gt;\n            Card header right content\n        &lt;/eui-card-header-right-content&gt;\n    &lt;/eui-card-header&gt;\n    &lt;eui-card-content&gt;\n        Card content\n    &lt;/eui-card-content&gt;\n&lt;/eui-card&gt;</code></pre></div>",
            "rawdescription": "\n\nThe eui-card-header-right-content component projects the right content for eui-card-header.\n\n```html\n<eui-card>\n    <eui-card-header>\n        <eui-card-header-title>\n            Card header title\n        </eui-card-header-title>\n        <eui-card-header-subtitle>\n            Card header sub-title\n        </eui-card-header-subtitle>\n        <eui-card-header-left-content>\n            Card header left content\n        </eui-card-header-left-content>\n        <eui-card-header-right-content>\n            Card header right content\n        </eui-card-header-right-content>\n    </eui-card-header>\n    <eui-card-content>\n        Card content\n    </eui-card-content>\n</eui-card>\n```\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n/**\n * @description\n * The eui-card-header-right-content component projects the right content for eui-card-header.\n * \n * @usageNotes\n * ```html\n * <eui-card>\n *     <eui-card-header>\n *         <eui-card-header-title>\n *             Card header title\n *         </eui-card-header-title>\n *         <eui-card-header-subtitle>\n *             Card header sub-title\n *         </eui-card-header-subtitle>\n *         <eui-card-header-left-content>\n *             Card header left content\n *         </eui-card-header-left-content>\n *         <eui-card-header-right-content>\n *             Card header right content\n *         </eui-card-header-right-content>\n *     </eui-card-header>\n *     <eui-card-content>\n *         Card content\n *     </eui-card-content>\n * </eui-card>\n * ```\n */\n@Component({\n    selector: 'eui-card-header-right-content',\n    template: '<ng-content/>',\n    styleUrl: './eui-card-header-right-content.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiCardHeaderRightContentComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-card-header__right-content'\n     */\n    @HostBinding('class') string = 'eui-card-header__right-content';\n}\n",
            "styleUrl": "./eui-card-header-right-content.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiCardHeaderSubtitleComponent",
            "id": "component-EuiCardHeaderSubtitleComponent-3bf12e2cff450bef58944dd4c889d48b3253688b494268f9a4be72b3b93df51236de6a73cf9fbd983c620d8a038f9d27721f5698bb4df180d9f27a21c319cde2",
            "file": "packages/components/eui-card/components/eui-card-header/eui-card-header-subtitle.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-card-header-subtitle",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-card-header__title-container-subtitle'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 41,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1155,
                            "end": 1213,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1156,
                                "end": 1163,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card-header__title-container-subtitle&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-card-header__title-container-subtitle'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1155,
                            "end": 1213,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1156,
                                "end": 1163,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card-header__title-container-subtitle&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 41,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>The eui-card-header-subtitle component projects the subtitle for eui-card-header.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-card&gt;\n    &lt;eui-card-header&gt;\n        &lt;eui-card-header-title&gt;\n            Card header title\n        &lt;/eui-card-header-title&gt;\n        &lt;eui-card-header-subtitle&gt;\n            Card header sub-title\n        &lt;/eui-card-header-subtitle&gt;\n        &lt;eui-card-header-left-content&gt;\n            Card header left content\n        &lt;/eui-card-header-left-content&gt;\n        &lt;eui-card-header-right-content&gt;\n            Card header right content\n        &lt;/eui-card-header-right-content&gt;\n    &lt;/eui-card-header&gt;\n    &lt;eui-card-content&gt;\n        Card content\n    &lt;/eui-card-content&gt;\n&lt;/eui-card&gt;</code></pre></div>",
            "rawdescription": "\n\nThe eui-card-header-subtitle component projects the subtitle for eui-card-header.\n\n```html\n<eui-card>\n    <eui-card-header>\n        <eui-card-header-title>\n            Card header title\n        </eui-card-header-title>\n        <eui-card-header-subtitle>\n            Card header sub-title\n        </eui-card-header-subtitle>\n        <eui-card-header-left-content>\n            Card header left content\n        </eui-card-header-left-content>\n        <eui-card-header-right-content>\n            Card header right content\n        </eui-card-header-right-content>\n    </eui-card-header>\n    <eui-card-content>\n        Card content\n    </eui-card-content>\n</eui-card>\n```\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n/**\n * @description\n * The eui-card-header-subtitle component projects the subtitle for eui-card-header.\n * \n * @usageNotes\n * ```html\n * <eui-card>\n *     <eui-card-header>\n *         <eui-card-header-title>\n *             Card header title\n *         </eui-card-header-title>\n *         <eui-card-header-subtitle>\n *             Card header sub-title\n *         </eui-card-header-subtitle>\n *         <eui-card-header-left-content>\n *             Card header left content\n *         </eui-card-header-left-content>\n *         <eui-card-header-right-content>\n *             Card header right content\n *         </eui-card-header-right-content>\n *     </eui-card-header>\n *     <eui-card-content>\n *         Card content\n *     </eui-card-content>\n * </eui-card>\n * ```\n */\n@Component({\n    selector: 'eui-card-header-subtitle',\n    template: '<ng-content/>',\n    styleUrl: './eui-card-header-subtitle.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiCardHeaderSubtitleComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-card-header__title-container-subtitle'\n     */\n    @HostBinding('class') string = 'eui-card-header__title-container-subtitle';\n}\n",
            "styleUrl": "./eui-card-header-subtitle.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiCardHeaderTitleComponent",
            "id": "component-EuiCardHeaderTitleComponent-050d06ff63ae3e587e2818e349bdc97137db2a493841657d33b7ac457747fe2aa92c6fd8ccf8248bdaf0c420d9169e43e04406b91f7e45ec6fe53c59aabc7c13",
            "file": "packages/components/eui-card/components/eui-card-header/eui-card-header-title.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-card-header-title",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-card-header__title-container-title'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 42,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1165,
                            "end": 1220,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1166,
                                "end": 1173,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card-header__title-container-title&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-card-header__title-container-title'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1165,
                            "end": 1220,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1166,
                                "end": 1173,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card-header__title-container-title&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 42,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>The eui-card-header-title component projects the title for eui-card-header.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-card&gt;\n    &lt;eui-card-header&gt;\n        &lt;eui-card-header-title&gt;\n            Card header title\n        &lt;/eui-card-header-title&gt;\n        &lt;eui-card-header-subtitle&gt;\n            Card header sub-title\n        &lt;/eui-card-header-subtitle&gt;\n        &lt;eui-card-header-left-content&gt;\n            Card header left content\n        &lt;/eui-card-header-left-content&gt;\n        &lt;eui-card-header-right-content&gt;\n            Card header right content\n        &lt;/eui-card-header-right-content&gt;\n    &lt;/eui-card-header&gt;\n    &lt;eui-card-content&gt;\n        Card content\n    &lt;/eui-card-content&gt;\n&lt;/eui-card&gt;d-content&gt;\n&lt;/eui-card&gt;</code></pre></div>",
            "rawdescription": "\n\nThe eui-card-header-title component projects the title for eui-card-header.\n\n```html\n<eui-card>\n    <eui-card-header>\n        <eui-card-header-title>\n            Card header title\n        </eui-card-header-title>\n        <eui-card-header-subtitle>\n            Card header sub-title\n        </eui-card-header-subtitle>\n        <eui-card-header-left-content>\n            Card header left content\n        </eui-card-header-left-content>\n        <eui-card-header-right-content>\n            Card header right content\n        </eui-card-header-right-content>\n    </eui-card-header>\n    <eui-card-content>\n        Card content\n    </eui-card-content>\n</eui-card>d-content>\n</eui-card>\n```\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n/**\n * @description\n * The eui-card-header-title component projects the title for eui-card-header.\n * \n * @usageNotes\n * ```html\n * <eui-card>\n *     <eui-card-header>\n *         <eui-card-header-title>\n *             Card header title\n *         </eui-card-header-title>\n *         <eui-card-header-subtitle>\n *             Card header sub-title\n *         </eui-card-header-subtitle>\n *         <eui-card-header-left-content>\n *             Card header left content\n *         </eui-card-header-left-content>\n *         <eui-card-header-right-content>\n *             Card header right content\n *         </eui-card-header-right-content>\n *     </eui-card-header>\n *     <eui-card-content>\n *         Card content\n *     </eui-card-content>\n * </eui-card>d-content>\n * </eui-card>\n * ```\n */\n@Component({\n    selector: 'eui-card-header-title',\n    template: '<ng-content/>',\n    styleUrl: './eui-card-header-title.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiCardHeaderTitleComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-card-header__title-container-title'\n     */\n    @HostBinding('class') string = 'eui-card-header__title-container-title';\n}\n",
            "styleUrl": "./eui-card-header-title.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiCardMediaComponent",
            "id": "component-EuiCardMediaComponent-1925cfdea63401d2f37f5e4143c27625bcbee366e0d2cd88f4a471cb26630cf392681d03259e00d16aeaf061a09ed15cde12a6346286a6b3c23d3e4598e9cd86",
            "file": "packages/components/eui-card/components/eui-card-media/eui-card-media.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-card-media",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-card-media.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "imageClickUrl",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nOption to set an internal link Url (routerLink).\n",
                    "description": "<p>Option to set an internal link Url (routerLink).</p>\n",
                    "line": 41,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "imageClickUrlExternal",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nOption to set an external link Url (href).\n",
                    "description": "<p>Option to set an external link Url (href).</p>\n",
                    "line": 45,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "imageDescription",
                    "defaultValue": "'eUI Card Image'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1294,
                            "end": 1325,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1295,
                                "end": 1302,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eUI Card Image&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nOption to specify an image description.\n",
                    "description": "<p>Option to specify an image description.</p>\n",
                    "line": 50,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "imageHeight",
                    "defaultValue": "'auto'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1436,
                            "end": 1457,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1437,
                                "end": 1444,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;auto&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nOption to specify the image height.\n",
                    "description": "<p>Option to specify the image height.</p>\n",
                    "line": 55,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "imageLegend",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThe image legend to display in the card.\n",
                    "description": "<p>The image legend to display in the card.</p>\n",
                    "line": 37,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "imageUrl",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThe image URL to display in the card.\n",
                    "description": "<p>The image URL to display in the card.</p>\n",
                    "line": 33,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-card-media'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 61,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1558,
                            "end": 1589,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1559,
                                "end": 1566,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card-media&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-card-media'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1558,
                            "end": 1589,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1559,
                                "end": 1566,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card-media&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 61,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "RouterLink"
                }
            ],
            "description": "<p>The eui-card-header-body component projects the body for eui-card-header.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-card&gt;\n    &lt;eui-card-media imageUrl=&quot;./assets/images/cards/home-card-law.jpg&quot; /&gt;\n    &lt;eui-card-content&gt;\n        Card Content\n    &lt;/eui-card-content&gt;\n&lt;/eui-card&gt;</code></pre></div>",
            "rawdescription": "\n\nThe eui-card-header-body component projects the body for eui-card-header.\n\n```html\n<eui-card>\n    <eui-card-media imageUrl=\"./assets/images/cards/home-card-law.jpg\" />\n    <eui-card-content>\n        Card Content\n    </eui-card-content>\n</eui-card>\n```\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy, Input, ViewEncapsulation } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { RouterLink } from '@angular/router';\n\n/**\n * @description\n * The eui-card-header-body component projects the body for eui-card-header.\n * \n * @usageNotes\n * ```html\n * <eui-card>\n *     <eui-card-media imageUrl=\"./assets/images/cards/home-card-law.jpg\" />\n *     <eui-card-content>\n *         Card Content\n *     </eui-card-content>\n * </eui-card>\n * ```\n */\n@Component({\n    selector: 'eui-card-media',\n    templateUrl: './eui-card-media.component.html',\n    styleUrl: './eui-card-media.scss',\n    imports: [\n        NgTemplateOutlet,\n        RouterLink,\n    ],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiCardMediaComponent {\n    /**\n     * The image URL to display in the card.\n     */\n    @Input() imageUrl: string;\n    /**\n     * The image legend to display in the card.\n     */\n    @Input() imageLegend: string;\n    /**\n     * Option to set an internal link Url (routerLink).\n     */\n    @Input() imageClickUrl: string;\n    /**\n     * Option to set an external link Url (href).\n     */\n    @Input() imageClickUrlExternal: string;\n    /**\n     * Option to specify an image description.\n     * @default 'eUI Card Image'\n     */\n    @Input() imageDescription = 'eUI Card Image';\n    /**\n     * Option to specify the image height.\n     * @default 'auto'\n     */\n    @Input() imageHeight = 'auto';\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-card-media'\n     */\n    @HostBinding('class') string = 'eui-card-media';\n}\n",
            "styleUrl": "./eui-card-media.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "<div class=\"eui-card-media__container\">\n    @if (imageClickUrl) {\n        <a routerLink=\"{{ imageClickUrl }}\" class=\"eui-card-media__container-content\">\n            <ng-content *ngTemplateOutlet=\"mediacontent\"></ng-content>\n        </a>\n    }\n    @if (imageClickUrlExternal) {\n        <a href=\"{{ imageClickUrlExternal }}\" target=\"_blank\" class=\"eui-card-media__container-content\">\n            <ng-content *ngTemplateOutlet=\"mediacontent\"></ng-content>\n        </a>\n    }\n    @if (!imageClickUrl && !imageClickUrlExternal) {\n        <ng-content *ngTemplateOutlet=\"mediacontent\"></ng-content>\n    }\n</div>\n<ng-template #mediacontent>\n    <img class=\"eui-card-media__image\" [src]=\"imageUrl\" [height]=\"imageHeight\" alt=\"{{ !imageLegend ? imageDescription : '' }}\" />\n    @if (imageLegend) {\n        <div class=\"eui-card-media__legend\">{{ imageLegend }}</div>\n    }\n</ng-template>\n"
        },
        {
            "name": "EuiChipButtonComponent",
            "id": "component-EuiChipButtonComponent-f5cd8dc8fbb799fbe0f201a382c4ad0d6a5956ddb42a9c91a04c63cddfea4c403f11def57ddea99f98f8db5b74da7ac031931324422ff2ebcc64087717700f22",
            "file": "packages/components/eui-chip-button/eui-chip-button.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-chip-button, span[euiChipButton], li[euiChipButton]",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-chip-button.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiSecondary",
                        "euiSuccess",
                        "euiInfo",
                        "euiWarning",
                        "euiDanger",
                        "euiVariant",
                        "euiSizeS",
                        "euiSizeVariant",
                        "euiOutline",
                        "euiDisabled"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-chip'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4428,
                            "end": 4460,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4429,
                                "end": 4436,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-chip-button&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `data-e2e` attribute for the host element.\n\n",
                    "description": "<p>Sets the <code>data-e2e</code> attribute for the host element.</p>\n",
                    "line": 150,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "euiInternalId",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4602,
                            "end": 4621,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4603,
                                "end": 4610,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>null</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the euiInternalId of the chip.\n\n",
                    "description": "<p>Sets the euiInternalId of the chip.</p>\n",
                    "line": 157,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the id of the chip.\n",
                    "description": "<p>Sets the id of the chip.</p>\n",
                    "line": 165,
                    "type": "string | number",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isFilled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5048,
                            "end": 5068,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5049,
                                "end": 5056,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWether the chip is filled with color.\n\n",
                    "description": "<p>Wether the chip is filled with color.</p>\n",
                    "line": 175,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "tooltipMessage",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the label of the tooltip to diaply on hover.\n",
                    "description": "<p>Sets the label of the tooltip to diaply on hover.</p>\n",
                    "line": 161,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "buttonClick",
                    "defaultValue": "new EventEmitter<any>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 168,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 177
                }
            ],
            "methodsClass": [
                {
                    "name": "onClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 179,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3923,
                            "end": 4040,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3924,
                                "end": 3935,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                        },
                        {
                            "pos": 4040,
                            "end": 4105,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4041,
                                "end": 4048,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 4049,
                                "end": 4057,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 4050,
                                    "end": 4056,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                    "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                    "line": 136,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_ICON_BUTTON"
                }
            ],
            "description": "<p>Chip button component that provides clickable chip-styled buttons for triggering actions.\nSimilar to eui-chip but designed specifically for button interactions rather than display or removal.\nSupports color variants, sizes, and filled/outline styles for various use cases.\nEmits buttonClick event when clicked, making it ideal for filters, toggles, and action triggers.</p>\n<h4>Basic chip button</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-chip-button (buttonClick)=&quot;onChipClick($event)&quot;&gt;\n  Click me\n&lt;/eui-chip-button&gt;</code></pre></div><h4>Chip buttons with variants</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-chip-button euiPrimary [isFilled]=&quot;true&quot;&gt;\n  Primary\n&lt;/eui-chip-button&gt;\n&lt;eui-chip-button euiSuccess&gt;\n  Success\n&lt;/eui-chip-button&gt;</code></pre></div><h4>Filter chips</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-chip-button\n  id=&quot;filter-active&quot;\n  [isFilled]=&quot;isActive&quot;\n  (buttonClick)=&quot;toggleFilter($event)&quot;&gt;\n  Active\n&lt;/eui-chip-button&gt;</code></pre></div><h4>With tooltip</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-chip-button\n  euiTooltip=&quot;Click to apply filter&quot;\n  tooltipMessage=&quot;Filter by category&quot;&gt;\n  Category\n&lt;/eui-chip-button&gt;</code></pre></div><h4>Size variants</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-chip-button euiSizeS&gt;Small&lt;/eui-chip-button&gt;\n&lt;eui-chip-button&gt;Default&lt;/eui-chip-button&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">onChipClick(id: string | number): void {\n  console.log(&#39;Chip button clicked:&#39;, id);\n}\n\ntoggleFilter(id: string | number): void {\n  this.isActive = !this.isActive;\n}</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Native button semantics for keyboard accessibility (Enter/Space)</li>\n<li>Focus visible by default for keyboard navigation</li>\n<li>Disabled state prevents interaction and is announced to screen readers</li>\n<li>Color variants provide visual meaning supplemented by text labels</li>\n<li>tooltipMessage provides additional context on hover</li>\n<li>Ensure descriptive labels for screen reader users</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Can be used as element (eui-chip-button) or attribute (span[euiChipButton], li[euiChipButton])</li>\n<li>Color variants: euiPrimary, euiSecondary, euiSuccess, euiInfo, euiWarning, euiDanger</li>\n<li>Size variants: euiSizeS, default (medium)</li>\n<li>isFilled applies solid background color instead of outline</li>\n<li>euiOutline applies outline/ghost styling</li>\n<li>euiDisabled disables button interaction</li>\n<li>buttonClick event emits the chip&#39;s id when clicked</li>\n<li>id property used for identification in click events</li>\n<li>euiInternalId for internal tracking purposes</li>\n<li>tooltipMessage displays tooltip on hover</li>\n<li>Different from eui-chip: designed for actions, not display/removal</li>\n<li>Commonly used for filters, category selection, and toggleable options</li>\n<li>Does not support removal functionality (use eui-chip with isChipRemovable instead)</li>\n</ul>\n",
            "rawdescription": "\n\nChip button component that provides clickable chip-styled buttons for triggering actions.\nSimilar to eui-chip but designed specifically for button interactions rather than display or removal.\nSupports color variants, sizes, and filled/outline styles for various use cases.\nEmits buttonClick event when clicked, making it ideal for filters, toggles, and action triggers.\n\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\nonChipClick(id: string | number): void {\n  console.log('Chip button clicked:', id);\n}\n\ntoggleFilter(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",
            "type": "component",
            "sourceCode": "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",
            "styleUrl": "./eui-chip-button.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 136,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                        "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 3923,
                                "end": 4040,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 3924,
                                    "end": 3935,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                            },
                            {
                                "pos": 4040,
                                "end": 4105,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 4041,
                                    "end": 4048,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 4049,
                                    "end": 4057,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 4050,
                                        "end": 4056,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            },
            "templateData": "<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"
        },
        {
            "name": "EuiChipComponent",
            "id": "component-EuiChipComponent-3a0c0029843d424ded707b0ad994a3e3d41a211374dbf3ab6395e8c919556a1a8d402e786144cf86043b3754362d55f76bcf6b081ab9946cfa5363a55079e451",
            "file": "packages/components/eui-chip/eui-chip.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-chip, span[euiChip], li[euiChip]",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-chip.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiSecondary",
                        "euiSuccess",
                        "euiInfo",
                        "euiWarning",
                        "euiDanger",
                        "euiVariant",
                        "euiSizeS",
                        "euiSizeVariant",
                        "euiOutline",
                        "euiDisabled"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "ariaLabel",
                    "defaultValue": "'Chip content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4664,
                            "end": 4693,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4665,
                                "end": 4672,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;Chip content&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `aria-label` attribute for the host element.\n\n",
                    "description": "<p>Sets the <code>aria-label</code> attribute for the host element.</p>\n",
                    "line": 157,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "colorPalette",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nExtra color palette to be used on the chip.\n",
                    "description": "<p>Extra color palette to be used on the chip.</p>\n",
                    "line": 212,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "data",
                    "defaultValue": "{\n        id: crypto.randomUUID(),\n        tooltip: {\n            color: 'euiTooltipPrimary',\n            contentAlignment: null,\n            position: 'above',\n        },\n    }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the data of the chip like tooltip configuration.\n",
                    "description": "<p>Sets the data of the chip like tooltip configuration.</p>\n",
                    "line": 188,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-chip'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4851,
                            "end": 4876,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4852,
                                "end": 4859,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-chip&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `data-e2e` attribute for the host element.\n\n",
                    "description": "<p>Sets the <code>data-e2e</code> attribute for the host element.</p>\n",
                    "line": 166,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "euiInternalId",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5018,
                            "end": 5037,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5019,
                                "end": 5026,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>null</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the euiInternalId of the chip.\n\n",
                    "description": "<p>Sets the euiInternalId of the chip.</p>\n",
                    "line": 173,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the id of the chip.\n",
                    "description": "<p>Sets the id of the chip.</p>\n",
                    "line": 181,
                    "type": "string | number",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isChipRemovable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5842,
                            "end": 5862,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5843,
                                "end": 5850,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWether the chip can be removed.\n\n",
                    "description": "<p>Wether the chip can be removed.</p>\n",
                    "line": 202,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isFilled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6001,
                            "end": 6021,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6002,
                                "end": 6009,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWether the chip is filled with color.\n\n",
                    "description": "<p>Wether the chip is filled with color.</p>\n",
                    "line": 208,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "tooltipMessage",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the label of the tooltip to diaply on hover.\n",
                    "description": "<p>Sets the label of the tooltip to diaply on hover.</p>\n",
                    "line": 177,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "remove",
                    "defaultValue": "new EventEmitter<any>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when the chip is removed.\n",
                    "description": "<p>Event emitted when the chip is removed.</p>\n",
                    "line": 218,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 225
                },
                {
                    "name": "chipLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef<HTMLInputElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 224,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'chipLabel'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "euiIcons",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiIconSvgComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Icon declares by user in the chip</p>\n",
                    "line": 223,
                    "rawdescription": "\n\nIcon declares by user in the chip\n",
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "role",
                    "defaultValue": "'status'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Sets the <code>role</code> attribute for the host element.</p>\n",
                    "line": 151,
                    "rawdescription": "\n\nSets the `role` attribute for the host element.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 4508,
                            "end": 4531,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4509,
                                "end": 4516,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;status&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 228,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onRemove",
                    "args": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 243,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRemove chip handler\n\n",
                    "description": "<p>Remove chip handler</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 7318,
                                "end": 7323,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "type": "Event",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 7312,
                                "end": 7317,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Click event</p>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'status'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4508,
                            "end": 4531,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4509,
                                "end": 4516,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;status&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `role` attribute for the host element.\n\n",
                    "description": "<p>Sets the <code>role</code> attribute for the host element.</p>\n",
                    "line": 151,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3887,
                            "end": 4004,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3888,
                                "end": 3899,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                        },
                        {
                            "pos": 4004,
                            "end": 4069,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4005,
                                "end": 4012,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 4013,
                                "end": 4021,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 4014,
                                    "end": 4020,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                    "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                    "line": 137,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_ICON_BUTTON"
                }
            ],
            "description": "<p>Chips are compact elements that allow users to enter information, select a choice, filter content or trigger an action.\nThe eui-chip component can also be displayed dynamically as a group of multiple interactive elements, see eui-chip-list.</p>\n<h4>Basic chip</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-chip&gt;Chip label&lt;/eui-chip&gt;</code></pre></div><h4>Chip with color variant</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-chip euiPrimary&gt;Primary&lt;/eui-chip&gt;\n&lt;eui-chip euiSuccess&gt;Success&lt;/eui-chip&gt;</code></pre></div><h4>Removable chip</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-chip [isChipRemovable]=&quot;true&quot; (remove)=&quot;onRemove($event)&quot;&gt;\n  Removable\n&lt;/eui-chip&gt;</code></pre></div><h4>Chip with icon</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-chip&gt;\n  &lt;eui-icon-svg icon=&quot;user:outline&quot;&gt;&lt;/eui-icon-svg&gt;\n  User\n&lt;/eui-chip&gt;</code></pre></div><h4>Filled chip with tooltip</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-chip\n  [isFilled]=&quot;true&quot;\n  euiTooltip=&quot;Additional information&quot;\n  tooltipMessage=&quot;Chip details&quot;&gt;\n  Info\n&lt;/eui-chip&gt;</code></pre></div><h4>Size variants</h4>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-chip euiSizeS&gt;Small&lt;/eui-chip&gt;\n&lt;eui-chip&gt;Default&lt;/eui-chip&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">onRemove(data: any): void {\n  console.log(&#39;Chip removed:&#39;, data);\n}</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses role=&quot;status&quot; for screen reader announcements (changes to &quot;listitem&quot; within eui-chip-list)</li>\n<li>aria-label provides context about chip content (default: &quot;Chip content&quot;)</li>\n<li>Removable chips have keyboard accessible remove button (Enter/Space)</li>\n<li>Backspace key can also remove chips when focused</li>\n<li>Icon-only chips should have descriptive aria-label</li>\n<li>Color variants provide visual meaning supplemented by text</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Can be used as element (eui-chip) or attribute (span[euiChip], li[euiChip])</li>\n<li>Color variants: euiPrimary, euiSecondary, euiSuccess, euiInfo, euiWarning, euiDanger</li>\n<li>Size variants: euiSizeS, default (medium)</li>\n<li>isChipRemovable adds close button and enables removal</li>\n<li>isFilled applies solid background color instead of outline</li>\n<li>euiOutline applies outline/ghost styling</li>\n<li>euiDisabled disables interaction</li>\n<li>colorPalette accepts custom color palette names for extended theming</li>\n<li>tooltipMessage displays tooltip on hover</li>\n<li>id and euiInternalId for identification (euiInternalId used internally for tracking)</li>\n<li>data property holds chip metadata including tooltip configuration</li>\n<li>remove event emits chip data when removed</li>\n<li>Supports icon content via eui-icon-svg child component</li>\n<li>Automatically sets role=&quot;listitem&quot; when used within eui-chip-list</li>\n<li>Commonly used in eui-chip-list for managing multiple chips</li>\n</ul>\n",
            "rawdescription": "\n\nChips are compact elements that allow users to enter information, select a choice, filter content or trigger an action.\nThe eui-chip component can also be displayed dynamically as a group of multiple interactive elements, see eui-chip-list.\n\n#### Basic chip\n```html\n<eui-chip>Chip label</eui-chip>\n```\n\n#### Chip with color variant\n```html\n<eui-chip euiPrimary>Primary</eui-chip>\n<eui-chip euiSuccess>Success</eui-chip>\n```\n\n#### Removable chip\n```html\n<eui-chip [isChipRemovable]=\"true\" (remove)=\"onRemove($event)\">\n  Removable\n</eui-chip>\n```\n\n#### Chip with icon\n```html\n<eui-chip>\n  <eui-icon-svg icon=\"user:outline\"></eui-icon-svg>\n  User\n</eui-chip>\n```\n\n#### Filled chip with tooltip\n```html\n<eui-chip\n  [isFilled]=\"true\"\n  euiTooltip=\"Additional information\"\n  tooltipMessage=\"Chip details\">\n  Info\n</eui-chip>\n```\n\n#### Size variants\n```html\n<eui-chip euiSizeS>Small</eui-chip>\n<eui-chip>Default</eui-chip>\n```\n\n```ts\nonRemove(data: any): void {\n  console.log('Chip removed:', data);\n}\n```\n\n### Accessibility\n- Uses role=\"status\" for screen reader announcements (changes to \"listitem\" within eui-chip-list)\n- aria-label provides context about chip content (default: \"Chip content\")\n- Removable chips have keyboard accessible remove button (Enter/Space)\n- Backspace key can also remove chips when focused\n- Icon-only chips should have descriptive aria-label\n- Color variants provide visual meaning supplemented by text\n\n### Notes\n- Can be used as element (eui-chip) or attribute (span[euiChip], li[euiChip])\n- Color variants: euiPrimary, euiSecondary, euiSuccess, euiInfo, euiWarning, euiDanger\n- Size variants: euiSizeS, default (medium)\n- isChipRemovable adds close button and enables removal\n- isFilled applies solid background color instead of outline\n- euiOutline applies outline/ghost styling\n- euiDisabled disables interaction\n- colorPalette accepts custom color palette names for extended theming\n- tooltipMessage displays tooltip on hover\n- id and euiInternalId for identification (euiInternalId used internally for tracking)\n- data property holds chip metadata including tooltip configuration\n- remove event emits chip data when removed\n- Supports icon content via eui-icon-svg child component\n- Automatically sets role=\"listitem\" when used within eui-chip-list\n- Commonly used in eui-chip-list for managing multiple chips\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    Input,\n    ChangeDetectionStrategy,\n    forwardRef,\n    ContentChildren,\n    QueryList,\n    AfterContentInit,\n    Output,\n    EventEmitter,\n    ViewChild,\n    ElementRef,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_ICON, EuiIconSvgComponent } from '@eui/components/eui-icon'\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\n\n/**\n * @description\n * Chips are compact elements that allow users to enter information, select a choice, filter content or trigger an action.\n * The eui-chip component can also be displayed dynamically as a group of multiple interactive elements, see eui-chip-list.\n * \n * @usageNotes\n * #### Basic chip\n * ```html\n * <eui-chip>Chip label</eui-chip>\n * ```\n *\n * #### Chip with color variant\n * ```html\n * <eui-chip euiPrimary>Primary</eui-chip>\n * <eui-chip euiSuccess>Success</eui-chip>\n * ```\n *\n * #### Removable chip\n * ```html\n * <eui-chip [isChipRemovable]=\"true\" (remove)=\"onRemove($event)\">\n *   Removable\n * </eui-chip>\n * ```\n *\n * #### Chip with icon\n * ```html\n * <eui-chip>\n *   <eui-icon-svg icon=\"user:outline\"></eui-icon-svg>\n *   User\n * </eui-chip>\n * ```\n *\n * #### Filled chip with tooltip\n * ```html\n * <eui-chip \n *   [isFilled]=\"true\" \n *   euiTooltip=\"Additional information\"\n *   tooltipMessage=\"Chip details\">\n *   Info\n * </eui-chip>\n * ```\n *\n * #### Size variants\n * ```html\n * <eui-chip euiSizeS>Small</eui-chip>\n * <eui-chip>Default</eui-chip>\n * ```\n *\n * ```ts\n * onRemove(data: any): void {\n *   console.log('Chip removed:', data);\n * }\n * ```\n *\n * ### Accessibility\n * - Uses role=\"status\" for screen reader announcements (changes to \"listitem\" within eui-chip-list)\n * - aria-label provides context about chip content (default: \"Chip content\")\n * - Removable chips have keyboard accessible remove button (Enter/Space)\n * - Backspace key can also remove chips when focused\n * - Icon-only chips should have descriptive aria-label\n * - Color variants provide visual meaning supplemented by text\n *\n * ### Notes\n * - Can be used as element (eui-chip) or attribute (span[euiChip], li[euiChip])\n * - Color variants: euiPrimary, euiSecondary, euiSuccess, euiInfo, euiWarning, euiDanger\n * - Size variants: euiSizeS, default (medium)\n * - isChipRemovable adds close button and enables removal\n * - isFilled applies solid background color instead of outline\n * - euiOutline applies outline/ghost styling\n * - euiDisabled disables interaction\n * - colorPalette accepts custom color palette names for extended theming\n * - tooltipMessage displays tooltip on hover\n * - id and euiInternalId for identification (euiInternalId used internally for tracking)\n * - data property holds chip metadata including tooltip configuration\n * - remove event emits chip data when removed\n * - Supports icon content via eui-icon-svg child component\n * - Automatically sets role=\"listitem\" when used within eui-chip-list\n * - Commonly used in eui-chip-list for managing multiple chips\n */\n@Component({\n    templateUrl: './eui-chip.component.html',\n    selector: 'eui-chip, span[euiChip], li[euiChip]',\n    styleUrl: './eui-chip.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 EuiChipComponent implements AfterContentInit {\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'),\n            this.isChipRemovable ? 'eui-chip--removable' : '',\n            this.isFilled ? 'eui-chip--filled': '',\n            this.colorPalette ? `eui-chip--${this.colorPalette}` : '',\n        ].join(' ').trim();\n    }\n\n    /**\n     * Sets the `role` attribute for the host element.\n     *\n     * @default 'status'\n     */\n    @HostBinding('attr.role') role = 'status';\n    /**\n     * Sets the `aria-label` attribute for the host element.\n     *\n     * @default 'Chip content'\n     */\n    @Input() @HostBinding('attr.aria-label') ariaLabel = 'Chip content';\n\n    /**\n     * Sets the `data-e2e` attribute for the host element.\n     *\n     * @default 'eui-chip'\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     * Sets the data of the chip like tooltip configuration.\n     */\n    // TODO: type should be specific\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    @Input() data: any = {\n        id: crypto.randomUUID(),\n        tooltip: {\n            color: 'euiTooltipPrimary',\n            contentAlignment: null,\n            position: 'above',\n        },\n    };\n\n    /**\n     * Wether the chip can be removed.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isChipRemovable = false;\n    /**\n     * Wether the chip is filled with color.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isFilled = false;\n    /**\n     * Extra color palette to be used on the chip.\n     */\n    @Input() colorPalette: string;\n\n    /**\n     * Event emitted when the chip is removed.\n     */\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    @Output() remove = new EventEmitter<any>();\n\n    /**\n     * Icon declares by user in the chip\n     */\n    @ContentChildren(forwardRef(() => EuiIconSvgComponent)) euiIcons: QueryList<EuiIconSvgComponent>;\n    @ViewChild('chipLabel') chipLabel: ElementRef<HTMLInputElement>;\n    baseStatesDirective = inject(BaseStatesDirective);\n    private _elementRef = inject(ElementRef);\n\n    ngAfterContentInit(): void {\n        if (!this.data.id && this.id) {\n            this.data = Object.assign(this.data, { id: this.id });\n        }\n        // checks if the parent element is an eui-chip-list to set role listitem or if a parent above in case cdkdroplist interferes\n        if (this._elementRef.nativeElement.parentElement?.classList.contains('eui-chip-list__chip-container') || this._elementRef.nativeElement.parentElement?.parentElement?.classList.contains('eui-chip-list__chip-container')) {\n            this.role = 'listitem'\n        }\n    }\n\n    /**\n     * Remove chip handler\n     *\n     * @param event Click event\n     */\n    public onRemove(event?: Event): void {\n        if (event instanceof KeyboardEvent && (event as KeyboardEvent).code === 'Backspace') {\n            this.remove.emit({ chip: this.data, event });\n        } else {\n            this.remove.emit(this.data);\n        }\n    }\n}\n",
            "styleUrl": "./eui-chip.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterContentInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 137,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                        "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 3887,
                                "end": 4004,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 3888,
                                    "end": 3899,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                            },
                            {
                                "pos": 4004,
                                "end": 4069,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 4005,
                                    "end": 4012,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 4013,
                                    "end": 4021,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 4014,
                                        "end": 4020,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            },
            "templateData": "<div class=\"eui-chip__content-container\" #chipLabel>\n    <ng-content></ng-content>\n</div>\n@if (isChipRemovable) {\n    <eui-icon-button\n        class=\"eui-chip__close\"\n        ariaLabel=\"Remove {{ chipLabel.textContent }} chip\"\n        icon=\"eui-close\"\n        size=\"s\"\n        euiRounded\n        hasNoPadding\n        [euiVariant]=\"baseStatesDirective.euiVariant\"\n        (keydown.enter)=\"onRemove($event)\"\n        (keydown.backspace)=\"onRemove($event)\"\n        (buttonClick)=\"onRemove($event)\">\n    </eui-icon-button>\n}\n"
        },
        {
            "name": "EuiChipGroupComponent",
            "id": "component-EuiChipGroupComponent-ee133a87f4306c4c37f375f99f34024b8ddb60728c86d079e27ad5f5a6f4793138d523281b45f84740c7f4e4aca857b232e769c345fec29fd5710687e9a7e9d1",
            "file": "packages/components/eui-chip-group/eui-chip-group.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-chip-group",
            "styleUrls": [
                "./eui-chip-group.scss"
            ],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1028,
                            "end": 1070,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1029,
                                "end": 1036,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>The CSS class name</p>\n",
                            "typeExpression": {
                                "pos": 1037,
                                "end": 1045,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 1038,
                                    "end": 1044,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nReturns the CSS classes for the component.\nThis binds the 'eui-chip-group' class to the host element.\n\n",
                    "description": "<p>Returns the CSS classes for the component.\nThis binds the &#39;eui-chip-group&#39; class to the host element.</p>\n",
                    "line": 33,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Container component for organizing multiple chip elements with consistent spacing and layout.\nProvides visual grouping for related chips such as tags, filters, or selected items.\nContent is projected via ng-content expecting eui-chip children.\nAutomatically applies appropriate spacing and wrapping behavior for chip collections.\nTypically used for displaying sets of tags, categories, or multi-select values.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-chip-group&gt;\n    &lt;eui-chip&gt;Label&lt;/eui-chip&gt;\n    &lt;eui-chip&gt;SubLabel&lt;/eui-chip&gt;\n&lt;/eui-chip-group&gt;</code></pre></div>",
            "rawdescription": "\n\nContainer component for organizing multiple chip elements with consistent spacing and layout.\nProvides visual grouping for related chips such as tags, filters, or selected items.\nContent is projected via ng-content expecting eui-chip children.\nAutomatically applies appropriate spacing and wrapping behavior for chip collections.\nTypically used for displaying sets of tags, categories, or multi-select values.\n\n```html\n<eui-chip-group>\n    <eui-chip>Label</eui-chip>\n    <eui-chip>SubLabel</eui-chip>\n</eui-chip-group>\n```\n",
            "type": "component",
            "sourceCode": "import { Component, ChangeDetectionStrategy, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Container component for organizing multiple chip elements with consistent spacing and layout.\n * Provides visual grouping for related chips such as tags, filters, or selected items.\n * Content is projected via ng-content expecting eui-chip children.\n * Automatically applies appropriate spacing and wrapping behavior for chip collections.\n * Typically used for displaying sets of tags, categories, or multi-select values.\n * \n * @usageNotes\n * ```html\n * <eui-chip-group>\n *     <eui-chip>Label</eui-chip>\n *     <eui-chip>SubLabel</eui-chip>\n * </eui-chip-group>\n * ```\n */\n@Component({\n    selector: 'eui-chip-group',\n    template:'<ng-content/>',\n    styleUrls: ['./eui-chip-group.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiChipGroupComponent {\n    /**\n     * Returns the CSS classes for the component.\n     * This binds the 'eui-chip-group' class to the host element.\n     *\n     * @returns {string} The CSS class name\n     */\n    @HostBinding('class')\n    get cssClasses(): string {\n        return 'eui-chip-group';\n    }\n}\n\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": ".eui-21 {\n    :host.eui-chip-group {\n        align-items: center;\n        display: inline-flex;\n        flex-wrap: nowrap;\n        position: relative;\n\n        ::ng-deep .eui-chip:first-child {\n            border-bottom-right-radius: 0;\n            border-top-right-radius: 0;\n            margin-right: 0;\n        }\n\n        ::ng-deep .eui-chip:last-child {\n            border-bottom-left-radius: 0;\n            border-top-left-radius: 0;\n            margin-left: 0;\n        }\n    }\n}\n",
                    "styleUrl": "./eui-chip-group.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 33,
                        "rawdescription": "\n\nReturns the CSS classes for the component.\nThis binds the 'eui-chip-group' class to the host element.\n\n",
                        "description": "<p>Returns the CSS classes for the component.\nThis binds the &#39;eui-chip-group&#39; class to the host element.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 1028,
                                "end": 1070,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 1029,
                                    "end": 1036,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>The CSS class name</p>\n",
                                "typeExpression": {
                                    "pos": 1037,
                                    "end": 1045,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 1038,
                                        "end": 1044,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            }
        },
        {
            "name": "EuiChipListComponent",
            "id": "component-EuiChipListComponent-51a3343030ab060c4e47e050556747c75cfc73d096026de37b5f28b4e0e3899c0a84e430f0e07ebf34e4c1094133ad04c15d12e2c87a07dcd8c8546446e41d76",
            "file": "packages/components/eui-chip-list/eui-chip-list.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-chip-list",
            "styleUrls": [
                "./chip-list.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-chip-list.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "ariaLabel",
                    "defaultValue": "'eUI Chip list'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3635,
                            "end": 3665,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3636,
                                "end": 3643,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eUI Chip list&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nARIA label for the chip list container for screen reader accessibility.\nProvides semantic description of the chip list purpose.\n",
                    "description": "<p>ARIA label for the chip list container for screen reader accessibility.\nProvides semantic description of the chip list purpose.</p>\n",
                    "line": 112,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 103,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Container component for displaying multiple interactive chip elements as a cohesive group.\nProvides semantic list structure with ARIA attributes for accessibility.\nAutomatically manages layout and spacing for chip collections.\nSupports additional content via directives for flexible composition.\nTypically used for displaying tags, filters, selected items, or multi-value selections.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-chip-list&gt;\n    &lt;eui-chip&gt;&lt;span euiLabel&gt;Label&lt;/span&gt;&lt;/eui-chip&gt;\n&lt;/eui-chip-list&gt;</code></pre></div><p>With icon</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-chip-list&gt;\n    &lt;eui-chip&gt;&lt;span [class]=&quot;eui-user&quot;&gt;&lt;/span&gt;&lt;span euiLabel&gt;Label&lt;/span&gt;&lt;/eui-chip&gt;\n&lt;/eui-chip-list&gt;</code></pre></div><p>Max visible chips</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-chip-list&gt;\n    \\&#64;for (chip of chips; let i = $index; track chip.id) {\n        \\&#64;if (isMaxVisibleChipsOpened || i &lt;= maxVisibleChipsCount) {\n            &lt;eui-chip [data]=&quot;{ id: chip.id }&quot; [euiVariant]=&quot;chip.variant&quot;&gt;&lt;span euiLabel&gt;{{ chip.label }}&lt;/span&gt;&lt;/eui-chip&gt;\n        }\n    }\n    &lt;eui-chip-list-additional-content&gt;\n        \\&#64;if (maxVisibleChipsCount &amp;&amp; chips &amp;&amp; chips.length &gt; maxVisibleChipsCount) {\n            &lt;button\n                euiButton\n                euiBasicButton\n                euiSecondary\n                euiSizeS\n                type=&quot;button&quot;\n                class=&quot;eui-chip-list__expand-button&quot;\n                [aria-label]=&quot;isMaxVisibleChipsOpened ? &#39;Collapse tags&#39; : &#39;Expand tags&#39;&quot;\n                (click)=&quot;toggleTags()&quot;&gt;\n                \\&#64;if (isMaxVisibleChipsOpened) {\n                    &lt;eui-icon-svg icon=&quot;eui-chevron-left&quot;/&gt;\n                } \\&#64;else {\n                    &lt;eui-icon-svg icon=&quot;eui-chevron-right&quot;/&gt;\n                }\n           &lt;/button&gt;\n        }\n    &lt;/eui-chip-list-additional-content&gt;\n&lt;/eui-chip-list&gt;</code></pre></div><p>Typescript logic</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">public chips = [\n    { id: 1, label: &#39;Chip label&#39;, variant: &#39;primary&#39; },\n];\n\npublic maxVisibleChipsCount = 2;\npublic isMaxVisibleChipsOpened = false;\n\npublic toggleTags(): void {\n    this.isMaxVisibleChipsOpened = !this.isMaxVisibleChipsOpened;\n}</code></pre></div>",
            "rawdescription": "\n\nContainer component for displaying multiple interactive chip elements as a cohesive group.\nProvides semantic list structure with ARIA attributes for accessibility.\nAutomatically manages layout and spacing for chip collections.\nSupports additional content via directives for flexible composition.\nTypically used for displaying tags, filters, selected items, or multi-value selections.\n\n```html\n<eui-chip-list>\n    <eui-chip><span euiLabel>Label</span></eui-chip>\n</eui-chip-list>\n```\n\nWith icon\n```html\n<eui-chip-list>\n    <eui-chip><span [class]=\"eui-user\"></span><span euiLabel>Label</span></eui-chip>\n</eui-chip-list>\n```\n\nMax visible chips\n```html\n<eui-chip-list>\n    \\@for (chip of chips; let i = $index; track chip.id) {\n        \\@if (isMaxVisibleChipsOpened || i <= maxVisibleChipsCount) {\n            <eui-chip [data]=\"{ id: chip.id }\" [euiVariant]=\"chip.variant\"><span euiLabel>{{ chip.label }}</span></eui-chip>\n        }\n    }\n    <eui-chip-list-additional-content>\n        \\@if (maxVisibleChipsCount && chips && chips.length > maxVisibleChipsCount) {\n            <button\n                euiButton\n                euiBasicButton\n                euiSecondary\n                euiSizeS\n                type=\"button\"\n                class=\"eui-chip-list__expand-button\"\n                [aria-label]=\"isMaxVisibleChipsOpened ? 'Collapse tags' : 'Expand tags'\"\n                (click)=\"toggleTags()\">\n                \\@if (isMaxVisibleChipsOpened) {\n                    <eui-icon-svg icon=\"eui-chevron-left\"/>\n                } \\@else {\n                    <eui-icon-svg icon=\"eui-chevron-right\"/>\n                }\n           </button>\n        }\n    </eui-chip-list-additional-content>\n</eui-chip-list>\n```\n\nTypescript logic\n```ts\npublic chips = [\n    { id: 1, label: 'Chip label', variant: 'primary' },\n];\n\npublic maxVisibleChipsCount = 2;\npublic isMaxVisibleChipsOpened = false;\n\npublic toggleTags(): void {\n    this.isMaxVisibleChipsOpened = !this.isMaxVisibleChipsOpened;\n}\n```\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy, Directive, Input } from '@angular/core';\n\n/**\n * @description\n * Directive for appending content to chip list, used internally by eui-autocomplete component.\n * Enables positioning of chips above, below, or inside the text input field.\n * Used exclusively within eui-autocomplete for flexible chip placement.\n */\n/* eslint-disable */\n@Directive({ \n    selector: 'eui-chip-list-append-content'\n})\nexport class EuiChipListAppendContentDirective {}\n\n/**\n * @description\n * Directive for wrapping non-chip content within eui-chip-list.\n * Excludes wrapped content from the list ARIA structure for proper accessibility.\n * Used to include additional elements alongside chips without affecting semantic list structure.\n */\n@Directive({ \n    selector: 'eui-chip-list-additional-content'\n})\nexport class EuiChipListAdditionalContentDirective {}\n/* eslint-enable */\n\n/**\n * @description\n * Container component for displaying multiple interactive chip elements as a cohesive group.\n * Provides semantic list structure with ARIA attributes for accessibility.\n * Automatically manages layout and spacing for chip collections.\n * Supports additional content via directives for flexible composition.\n * Typically used for displaying tags, filters, selected items, or multi-value selections.\n * \n * @usageNotes\n * ```html\n * <eui-chip-list>\n *     <eui-chip><span euiLabel>Label</span></eui-chip>\n * </eui-chip-list>\n * ```\n * \n * @usageNotes\n * With icon\n * ```html\n * <eui-chip-list>\n *     <eui-chip><span [class]=\"eui-user\"></span><span euiLabel>Label</span></eui-chip>\n * </eui-chip-list>\n * ```\n * \n * @usageNotes\n * Max visible chips\n * ```html\n * <eui-chip-list>\n *     \\@for (chip of chips; let i = $index; track chip.id) {\n *         \\@if (isMaxVisibleChipsOpened || i <= maxVisibleChipsCount) {\n *             <eui-chip [data]=\"{ id: chip.id }\" [euiVariant]=\"chip.variant\"><span euiLabel>{{ chip.label }}</span></eui-chip>\n *         }\n *     }\n *     <eui-chip-list-additional-content>\n *         \\@if (maxVisibleChipsCount && chips && chips.length > maxVisibleChipsCount) {\n *             <button\n *                 euiButton\n *                 euiBasicButton\n *                 euiSecondary\n *                 euiSizeS\n *                 type=\"button\"\n *                 class=\"eui-chip-list__expand-button\"\n *                 [aria-label]=\"isMaxVisibleChipsOpened ? 'Collapse tags' : 'Expand tags'\"\n *                 (click)=\"toggleTags()\">\n *                 \\@if (isMaxVisibleChipsOpened) {\n *                     <eui-icon-svg icon=\"eui-chevron-left\"/>\n *                 } \\@else {\n *                     <eui-icon-svg icon=\"eui-chevron-right\"/>\n *                 }\n *            </button>\n *         }\n *     </eui-chip-list-additional-content>\n * </eui-chip-list>\n * ```\n * \n * Typescript logic\n * ```ts\n * public chips = [\n *     { id: 1, label: 'Chip label', variant: 'primary' },\n * ];\n * \n * public maxVisibleChipsCount = 2;\n * public isMaxVisibleChipsOpened = false;\n * \n * public toggleTags(): void {\n *     this.isMaxVisibleChipsOpened = !this.isMaxVisibleChipsOpened;\n * }\n * ```\n */\n@Component({\n    templateUrl: './eui-chip-list.component.html',\n    selector: 'eui-chip-list',\n    styleUrls: ['./chip-list.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiChipListComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return 'eui-chip-list';\n    }\n\n    /**\n     * ARIA label for the chip list container for screen reader accessibility.\n     * Provides semantic description of the chip list purpose.\n     * @default 'eUI Chip list'\n     */\n    @Input() ariaLabel = 'eUI Chip list';\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@use '../base' as base;\n\n.eui-21 {\n    :host.eui-chip-list {\n        display: flex;\n        gap: var(--eui-s-xs);\n\n        &.eui-chip-list--empty {\n            gap: 0;\n        }\n\n        .eui-chip-list__chip-container {\n            align-items: center;\n            display: flex;\n            flex-wrap: wrap;\n            gap: var(--eui-s-xs);\n\n            &:empty {\n                display: none;\n            }\n\n            ::ng-deep.eui-chip-list-label {\n                display: flex;\n            }\n        }\n\n        eui-chip-list-additional-content:empty,\n        eui-chip-list-append-content:empty {\n            display: none;\n        }\n    }\n}\n",
                    "styleUrl": "./chip-list.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 103
                    }
                }
            },
            "templateData": "<div [attr.role]=\"'list'\" [attr.aria-label]=\"ariaLabel\" class=\"eui-chip-list__chip-container\">\n    <ng-content></ng-content>\n</div>\n\n<ng-content select=\"eui-chip-list-additional-content\"></ng-content>\n\n<ng-content select=\"eui-chip-list-append-content\"></ng-content>\n\n"
        },
        {
            "name": "EuiCommentItemComponent",
            "id": "component-EuiCommentItemComponent-9f66494bcd655068f0eafab2255d85fe207a690f71562e53a17c32527113d9141014a6a42a148b9430e90eb43f33bb6667f21a2cbd905e3174a748f52c95847e",
            "file": "packages/components/eui-comment-thread/comment-item/eui-comment-item.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-comment-item",
            "styleUrls": [
                "../styles/_index.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-comment-item.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "authorAvatarUrl",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nURL path to the comment author's avatar image.\nDisplayed alongside the comment to identify the author.\nOptional.\n",
                    "description": "<p>URL path to the comment author&#39;s avatar image.\nDisplayed alongside the comment to identify the author.\nOptional.</p>\n",
                    "line": 76,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "authorName",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nName of the comment author.\nDisplayed as the comment header to identify who wrote the comment.\nOptional.\n",
                    "description": "<p>Name of the comment author.\nDisplayed as the comment header to identify who wrote the comment.\nOptional.</p>\n",
                    "line": 83,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "commentCharLimit",
                    "defaultValue": "500",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4286,
                            "end": 4304,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4287,
                                "end": 4294,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>500</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nMaximum character length before comment text is truncated.\nComments exceeding this limit show \"Read more\" link to expand full text.\n",
                    "description": "<p>Maximum character length before comment text is truncated.\nComments exceeding this limit show &quot;Read more&quot; link to expand full text.</p>\n",
                    "line": 118,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "createdAt",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nTimestamp or date string indicating when the comment was created.\nDisplayed in the comment header for temporal context.\nOptional.\n",
                    "description": "<p>Timestamp or date string indicating when the comment was created.\nDisplayed in the comment header for temporal context.\nOptional.</p>\n",
                    "line": 90,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "currentAuthorAvatarUrl",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nURL path to the current user's avatar image.\nUsed for the reply textarea to identify the replying user.\nOptional.\n",
                    "description": "<p>URL path to the current user&#39;s avatar image.\nUsed for the reply textarea to identify the replying user.\nOptional.</p>\n",
                    "line": 97,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasChildren",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3791,
                            "end": 3811,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3792,
                                "end": 3799,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIndicates whether this comment has nested child comments.\nWhen true, displays collapse/expand controls for child comments.\n",
                    "description": "<p>Indicates whether this comment has nested child comments.\nWhen true, displays collapse/expand controls for child comments.</p>\n",
                    "line": 104,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isOpen",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4041,
                            "end": 4061,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4042,
                                "end": 4049,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls the expanded/collapsed state of nested child comments.\nWhen true, child comments are visible; when false, they are hidden.\n",
                    "description": "<p>Controls the expanded/collapsed state of nested child comments.\nWhen true, child comments are visible; when false, they are hidden.</p>\n",
                    "line": 111,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "commentCancel",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the user cancels reply input.\nPayload: void\nTriggered when user clicks cancel button in the reply textarea.\n",
                    "description": "<p>Emitted when the user cancels reply input.\nPayload: void\nTriggered when user clicks cancel button in the reply textarea.</p>\n",
                    "line": 125,
                    "type": "EventEmitter"
                },
                {
                    "name": "commentSend",
                    "defaultValue": "new EventEmitter<string>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the user submits a reply comment.\nPayload: string - the reply comment text entered by the user\nTriggered when user clicks send button in the reply textarea.\n",
                    "description": "<p>Emitted when the user submits a reply comment.\nPayload: string - the reply comment text entered by the user\nTriggered when user clicks send button in the reply textarea.</p>\n",
                    "line": 132,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "comment",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef<HTMLElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 135,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'comment', {static: true}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "fullText",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 138,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "isExpanded",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 141,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "isTruncated",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 140,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "isVisibleReplyInput",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 137,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "role",
                    "defaultValue": "'listitem'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 69,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "subCommentItems",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiCommentItemComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 134,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "EuiCommentItemComponent"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "truncatedText",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 139,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 147,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onCommentCancel",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 175,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "onCommentSend",
                    "args": [
                        {
                            "name": "comment",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 179,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "comment",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onToggleOpen",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 171,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "onToggleReplyInput",
                    "args": [
                        {
                            "name": "e",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 165,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "e",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "toggleExpanded",
                    "args": [
                        {
                            "name": "e",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 159,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "e",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'listitem'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 69,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "TranslateModule",
                    "type": "module"
                },
                {
                    "name": "EUI_AVATAR"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EuiCommentTextareaComponent",
                    "type": "component"
                }
            ],
            "description": "<p>Individual comment item component displaying a single comment with author information, timestamp, and nested replies.\nProvides automatic text truncation with expand/collapse functionality for long comments.\nSupports nested comment threads with collapsible child comments and integrated reply textarea.\nDisplays author avatar, name, creation timestamp, and optional action buttons.\nAutomatically counts and manages child comment items through content projection.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-comment-item\n  [authorName]=&quot;&#39;Jane Smith&#39;&quot;\n  [authorAvatarUrl]=&quot;&#39;path/to/avatar.jpg&#39;&quot;\n  [createdAt]=&quot;&#39;1 day ago&#39;&quot;\n  [currentAuthorAvatarUrl]=&quot;currentUser.avatar&quot;\n  [commentCharLimit]=&quot;300&quot;\n  (commentSend)=&quot;onReply($event)&quot;&gt;\n  This is the comment text that will be automatically truncated if it exceeds the character limit.\n  &lt;eui-comment-item-right-actions&gt;\n    &lt;button euiIconButton euiBasicButton icon=&quot;eui-edit&quot;&gt;&lt;/button&gt;\n  &lt;/eui-comment-item-right-actions&gt;\n&lt;/eui-comment-item&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>&quot;Read more&quot; and &quot;Read less&quot; links are keyboard accessible with proper focus management</li>\n<li>Reply link is accessible via keyboard navigation</li>\n<li>Nested comment structure uses semantic <code>&lt;ul&gt;</code> and <code>&lt;li&gt;</code> elements</li>\n<li>Avatar component includes proper alt text support</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Comment text is automatically truncated based on <code>commentCharLimit</code> (default: 500 characters)</li>\n<li>Nested <code>eui-comment-item</code> elements are automatically counted and displayed</li>\n<li>Reply textarea appears inline when user clicks &quot;Answer&quot; link</li>\n<li>Use <code>eui-comment-item-right-actions</code> for action buttons like edit or delete</li>\n</ul>\n",
            "rawdescription": "\n\nIndividual comment item component displaying a single comment with author information, timestamp, and nested replies.\nProvides automatic text truncation with expand/collapse functionality for long comments.\nSupports nested comment threads with collapsible child comments and integrated reply textarea.\nDisplays author avatar, name, creation timestamp, and optional action buttons.\nAutomatically counts and manages child comment items through content projection.\n\n```html\n<eui-comment-item\n  [authorName]=\"'Jane Smith'\"\n  [authorAvatarUrl]=\"'path/to/avatar.jpg'\"\n  [createdAt]=\"'1 day ago'\"\n  [currentAuthorAvatarUrl]=\"currentUser.avatar\"\n  [commentCharLimit]=\"300\"\n  (commentSend)=\"onReply($event)\">\n  This is the comment text that will be automatically truncated if it exceeds the character limit.\n  <eui-comment-item-right-actions>\n    <button euiIconButton euiBasicButton icon=\"eui-edit\"></button>\n  </eui-comment-item-right-actions>\n</eui-comment-item>\n```\n\n### Accessibility\n- \"Read more\" and \"Read less\" links are keyboard accessible with proper focus management\n- Reply link is accessible via keyboard navigation\n- Nested comment structure uses semantic `<ul>` and `<li>` elements\n- Avatar component includes proper alt text support\n\n### Notes\n- Comment text is automatically truncated based on `commentCharLimit` (default: 500 characters)\n- Nested `eui-comment-item` elements are automatically counted and displayed\n- Reply textarea appears inline when user clicks \"Answer\" link\n- Use `eui-comment-item-right-actions` for action buttons like edit or delete\n",
            "type": "component",
            "sourceCode": "import {\n    booleanAttribute, ChangeDetectionStrategy, Component, ContentChildren, ElementRef, HostBinding, Input, numberAttribute, QueryList,\n    ViewChild, AfterContentInit, Output, EventEmitter,\n} from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { EUI_AVATAR } from '@eui/components/eui-avatar';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\nimport { EuiCommentTextareaComponent } from '../comment-textarea/eui-comment-textarea.component';\n\n/**\n * @description\n * Individual comment item component displaying a single comment with author information, timestamp, and nested replies.\n * Provides automatic text truncation with expand/collapse functionality for long comments.\n * Supports nested comment threads with collapsible child comments and integrated reply textarea.\n * Displays author avatar, name, creation timestamp, and optional action buttons.\n * Automatically counts and manages child comment items through content projection.\n *\n * @usageNotes\n * ```html\n * <eui-comment-item\n *   [authorName]=\"'Jane Smith'\"\n *   [authorAvatarUrl]=\"'path/to/avatar.jpg'\"\n *   [createdAt]=\"'1 day ago'\"\n *   [currentAuthorAvatarUrl]=\"currentUser.avatar\"\n *   [commentCharLimit]=\"300\"\n *   (commentSend)=\"onReply($event)\">\n *   This is the comment text that will be automatically truncated if it exceeds the character limit.\n *   <eui-comment-item-right-actions>\n *     <button euiIconButton euiBasicButton icon=\"eui-edit\"></button>\n *   </eui-comment-item-right-actions>\n * </eui-comment-item>\n * ```\n *\n * ### Accessibility\n * - \"Read more\" and \"Read less\" links are keyboard accessible with proper focus management\n * - Reply link is accessible via keyboard navigation\n * - Nested comment structure uses semantic `<ul>` and `<li>` elements\n * - Avatar component includes proper alt text support\n *\n * ### Notes\n * - Comment text is automatically truncated based on `commentCharLimit` (default: 500 characters)\n * - Nested `eui-comment-item` elements are automatically counted and displayed\n * - Reply textarea appears inline when user clicks \"Answer\" link\n * - Use `eui-comment-item-right-actions` for action buttons like edit or delete\n */\n@Component({\n    selector: 'eui-comment-item',\n    templateUrl: './eui-comment-item.component.html',\n    styleUrls: ['../styles/_index.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        TranslateModule,\n        ...EUI_AVATAR,\n        ...EUI_BUTTON,\n        ...EUI_ICON,\n        EuiCommentTextareaComponent,\n    ],\n})\nexport class EuiCommentItemComponent implements AfterContentInit {\n    /** @internal */\n    @HostBinding('class')\n    get cssClasses(): string {\n        return ['eui-comment-item'].join(' ').trim();\n    }\n\n    @HostBinding('attr.role') role = 'listitem';\n\n    /**\n     * URL path to the comment author's avatar image.\n     * Displayed alongside the comment to identify the author.\n     * Optional.\n     */\n    @Input() authorAvatarUrl: string = null;\n\n    /**\n     * Name of the comment author.\n     * Displayed as the comment header to identify who wrote the comment.\n     * Optional.\n     */\n    @Input() authorName: string = null;\n\n    /**\n     * Timestamp or date string indicating when the comment was created.\n     * Displayed in the comment header for temporal context.\n     * Optional.\n     */\n    @Input() createdAt: string = null;\n\n    /**\n     * URL path to the current user's avatar image.\n     * Used for the reply textarea to identify the replying user.\n     * Optional.\n     */\n    @Input() currentAuthorAvatarUrl: string = null;\n\n    /**\n     * Indicates whether this comment has nested child comments.\n     * When true, displays collapse/expand controls for child comments.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasChildren = false;\n\n    /**\n     * Controls the expanded/collapsed state of nested child comments.\n     * When true, child comments are visible; when false, they are hidden.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isOpen = false;\n\n    /**\n     * Maximum character length before comment text is truncated.\n     * Comments exceeding this limit show \"Read more\" link to expand full text.\n     * @default 500\n     */\n    @Input({ transform: numberAttribute }) commentCharLimit = 500;\n\n    /**\n     * Emitted when the user cancels reply input.\n     * Payload: void\n     * Triggered when user clicks cancel button in the reply textarea.\n     */\n    @Output() commentCancel = new EventEmitter();\n\n    /**\n     * Emitted when the user submits a reply comment.\n     * Payload: string - the reply comment text entered by the user\n     * Triggered when user clicks send button in the reply textarea.\n     */\n    @Output() commentSend = new EventEmitter<string>();\n\n    @ContentChildren(EuiCommentItemComponent) subCommentItems: QueryList<EuiCommentItemComponent>;\n    @ViewChild('comment', { static: true }) comment: ElementRef<HTMLElement>;\n\n    public isVisibleReplyInput = false;\n    public fullText = '';\n    public truncatedText = '';\n    public isTruncated = false;\n    public isExpanded = false;\n\n    get nbSubCommentItems(): number {\n        return this.subCommentItems.length;\n    }\n\n    ngAfterContentInit(): void {\n        const source = this.comment.nativeElement.textContent?.trim() ?? '';\n        this.fullText = source;\n\n        if (source.length > this.commentCharLimit) {\n            this.truncatedText = source.slice(0, this.commentCharLimit);\n            this.isTruncated = true;\n        } else {\n            this.truncatedText = source;\n        }\n    }\n\n    toggleExpanded(e: MouseEvent): void {\n        this.isExpanded = !this.isExpanded;\n\n        e.preventDefault();\n    }\n\n    public onToggleReplyInput(e: MouseEvent): void {\n        this.isVisibleReplyInput = !this.isVisibleReplyInput;\n\n        e.preventDefault();\n    }\n\n    public onToggleOpen(): void {\n        this.isOpen = !this.isOpen;\n    }\n\n    public onCommentCancel(): void {\n        this.commentCancel.emit();\n    }\n\n    public onCommentSend(comment: string): void {\n        this.commentSend.emit(comment);\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@forward 'comment-thread';\n",
                    "styleUrl": "../styles/_index.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterContentInit"
            ],
            "accessors": {
                "nbSubCommentItems": {
                    "name": "nbSubCommentItems",
                    "getSignature": {
                        "name": "nbSubCommentItems",
                        "type": "number",
                        "returnType": "number",
                        "line": 143
                    }
                }
            },
            "templateData": "<div class=\"comment-item__row\">\n        <div class=\"comment-item__content-container\">\n            <div class=\"avatar eui-u-flex eui-u-flex-justify-content-between\">\n                <eui-avatar euiSizeXS>\n                    <eui-avatar-image [imageUrl]=\"authorAvatarUrl\"></eui-avatar-image>\n                    <eui-avatar-content>\n                        <eui-avatar-content-label>\n                            {{ authorName }} <span class=\"eui-u-c-neutral-110 eui-u-f-m eui-u-text-smaller\">{{ createdAt }}</span>\n                        </eui-avatar-content-label>\n                    </eui-avatar-content>\n                </eui-avatar>\n\n                <ng-content select=\"eui-comment-item-right-actions\" />\n            </div>\n\n            <div class=\"comment\">\n                <div class=\"comment-source\" #comment>\n                    <ng-content></ng-content>\n                </div>\n\n                <div class=\"ellipsis-wrapper\">\n                    {{ isExpanded ? fullText : truncatedText }} @if (!isExpanded && isTruncated) { <span>…</span> } \n                    @if (isTruncated) {\n                        <a href=\"#\" (click)=\"toggleExpanded($event)\" class=\"eui-u-text-link\">{{ isExpanded ? ('eui.READ-LESS' | translate) : ('eui.READ-MORE' | translate) }}</a>\n                    }\n                </div>\n\n                <ul class=\"comment-actions eui-u-flex\">\n                    <li><a href=\"#\" class=\"eui-u-text-link\" (click)=\"onToggleReplyInput($event)\">{{ 'eui.ANSWER' | translate }}</a></li>\n                </ul>\n            </div>\n\n            <div class=\"comment-item__footer-container\">\n                @if (isVisibleReplyInput) {\n                    <div class=\"eui-u-pt-s\">\n                        <eui-comment-textarea\n                            [currentAuthorAvatarUrl]=\"currentAuthorAvatarUrl\"\n                            [placeholder]=\"'eui.TO-ANSWER'\"\n                            (commentCancel)=\"onCommentCancel()\"\n                            (commentSend)=\"onCommentSend($event)\" />\n                    </div>\n                }\n            </div>\n        </div>\n    </div>\n\n    @if (nbSubCommentItems > 0) {\n        <div class=\"expander-container\">\n            @if (isOpen) {\n                <button euiButton euiBasicButton euiPrimary euiSizeS (buttonClick)=\"onToggleOpen()\">\n                    <eui-icon-svg icon=\"eui-chevron-up\" />\n                    {{ nbSubCommentItems }} {{ (nbSubCommentItems > 1 ? 'eui.ANSWERS' : 'eui.ANSWER') | translate }}\n                </button>\n                <ul class=\"comment-item__sub-comment-list\">\n                    <ng-content select=\"eui-comment-item\"></ng-content>\n                </ul>\n            } @else {\n                <button euiButton euiBasicButton euiPrimary euiSizeS (buttonClick)=\"onToggleOpen()\">\n                    <eui-icon-svg icon=\"eui-chevron-down\" />\n                    >{{ nbSubCommentItems }} {{ (nbSubCommentItems > 1 ? 'eui.ANSWERS' : 'eui.ANSWER') | translate }}\n                </button>\n            }\n        </div>\n    }\n"
        },
        {
            "name": "EuiCommentItemRightActionsComponent",
            "id": "component-EuiCommentItemRightActionsComponent-2b2638c392be6dccf5c9f1c8b3c1d6b6064108b907069b6c6360bc71805a418b3bfb7e884120bc7e079c834c7483e5a6bea512e5c54234ed8a2b4741838d2a08",
            "file": "packages/components/eui-comment-thread/comment-item-right-actions/eui-comment-item-right-actions.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-comment-item-right-actions",
            "styleUrls": [
                "../styles/_index.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-comment-item-right-actions.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 41,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Container component for right-aligned action buttons within a comment item.\nProvides a designated area for actions like edit, delete, reply, or other comment-specific operations.\nContent is projected via ng-content allowing flexible composition of action buttons.\nAutomatically applies appropriate positioning and spacing for right-aligned actions.\nUsed within eui-comment-item to organize action controls.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-comment-item [authorName]=&quot;&#39;John Doe&#39;&quot;&gt;\n  Comment text here\n  &lt;eui-comment-item-right-actions&gt;\n    &lt;button euiIconButton euiBasicButton icon=&quot;eui-edit&quot;&gt;&lt;/button&gt;\n    &lt;button euiIconButton euiBasicButton icon=&quot;eui-delete&quot;&gt;&lt;/button&gt;\n  &lt;/eui-comment-item-right-actions&gt;\n&lt;/eui-comment-item&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Ensure projected buttons have proper ARIA labels or accessible text</li>\n<li>Icon buttons should include <code>aria-label</code> attributes for screen readers</li>\n<li>Maintain logical tab order for keyboard navigation</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used as a child of <code>eui-comment-item</code> component</li>\n<li>Accepts any content via content projection (buttons, dropdowns, etc.)</li>\n<li>Automatically positioned in the top-right corner of the comment header</li>\n<li>Commonly used for edit, delete, flag, or more actions menu</li>\n</ul>\n",
            "rawdescription": "\n\nContainer component for right-aligned action buttons within a comment item.\nProvides a designated area for actions like edit, delete, reply, or other comment-specific operations.\nContent is projected via ng-content allowing flexible composition of action buttons.\nAutomatically applies appropriate positioning and spacing for right-aligned actions.\nUsed within eui-comment-item to organize action controls.\n\n```html\n<eui-comment-item [authorName]=\"'John Doe'\">\n  Comment text here\n  <eui-comment-item-right-actions>\n    <button euiIconButton euiBasicButton icon=\"eui-edit\"></button>\n    <button euiIconButton euiBasicButton icon=\"eui-delete\"></button>\n  </eui-comment-item-right-actions>\n</eui-comment-item>\n```\n\n### Accessibility\n- Ensure projected buttons have proper ARIA labels or accessible text\n- Icon buttons should include `aria-label` attributes for screen readers\n- Maintain logical tab order for keyboard navigation\n\n### Notes\n- Must be used as a child of `eui-comment-item` component\n- Accepts any content via content projection (buttons, dropdowns, etc.)\n- Automatically positioned in the top-right corner of the comment header\n- Commonly used for edit, delete, flag, or more actions menu\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Container component for right-aligned action buttons within a comment item.\n * Provides a designated area for actions like edit, delete, reply, or other comment-specific operations.\n * Content is projected via ng-content allowing flexible composition of action buttons.\n * Automatically applies appropriate positioning and spacing for right-aligned actions.\n * Used within eui-comment-item to organize action controls.\n *\n * @usageNotes\n * ```html\n * <eui-comment-item [authorName]=\"'John Doe'\">\n *   Comment text here\n *   <eui-comment-item-right-actions>\n *     <button euiIconButton euiBasicButton icon=\"eui-edit\"></button>\n *     <button euiIconButton euiBasicButton icon=\"eui-delete\"></button>\n *   </eui-comment-item-right-actions>\n * </eui-comment-item>\n * ```\n *\n * ### Accessibility\n * - Ensure projected buttons have proper ARIA labels or accessible text\n * - Icon buttons should include `aria-label` attributes for screen readers\n * - Maintain logical tab order for keyboard navigation\n *\n * ### Notes\n * - Must be used as a child of `eui-comment-item` component\n * - Accepts any content via content projection (buttons, dropdowns, etc.)\n * - Automatically positioned in the top-right corner of the comment header\n * - Commonly used for edit, delete, flag, or more actions menu\n */\n@Component({\n    selector: 'eui-comment-item-right-actions',\n    templateUrl: './eui-comment-item-right-actions.component.html',\n    styleUrls: ['../styles/_index.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiCommentItemRightActionsComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return ['eui-comment-item-right-actions'].join(' ').trim();\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@forward 'comment-thread';\n",
                    "styleUrl": "../styles/_index.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 41
                    }
                }
            },
            "templateData": "<ng-content />\n"
        },
        {
            "name": "EuiCommentTextareaComponent",
            "id": "component-EuiCommentTextareaComponent-d3d0dc1889b4d4eb1a28c56ef5cbf5427047b7e7754c9ec99d9137661624ea33e98a894f26aa650f1de79328b1152802ec01d6a67cc93d169bf7cbf3fb839626",
            "file": "packages/components/eui-comment-thread/comment-textarea/eui-comment-textarea.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-comment-textarea",
            "styleUrls": [
                "../styles/_index.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-comment-textarea.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "currentAuthorAvatarUrl",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nURL path to the current user's avatar image.\nDisplayed alongside the textarea to identify the commenter.\nOptional.\n",
                    "description": "<p>URL path to the current user&#39;s avatar image.\nDisplayed alongside the textarea to identify the commenter.\nOptional.</p>\n",
                    "line": 67,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "placeholder",
                    "defaultValue": "'eui.ANSWER'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2693,
                            "end": 2720,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2694,
                                "end": 2701,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui.ANSWER&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nPlaceholder text displayed in the textarea when empty.\nSupports translation keys for internationalization.\n",
                    "description": "<p>Placeholder text displayed in the textarea when empty.\nSupports translation keys for internationalization.</p>\n",
                    "line": 74,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "commentCancel",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the user cancels comment input.\nPayload: void\nTriggered when user clicks cancel button. Automatically resets the form.\n",
                    "description": "<p>Emitted when the user cancels comment input.\nPayload: void\nTriggered when user clicks cancel button. Automatically resets the form.</p>\n",
                    "line": 81,
                    "type": "EventEmitter"
                },
                {
                    "name": "commentSend",
                    "defaultValue": "new EventEmitter<string>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the user submits a comment.\nPayload: string - the comment text entered by the user\nTriggered when user clicks send button. Automatically resets the form after emission.\n",
                    "description": "<p>Emitted when the user submits a comment.\nPayload: string - the comment text entered by the user\nTriggered when user clicks send button. Automatically resets the form after emission.</p>\n",
                    "line": 88,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "form",
                    "defaultValue": "new FormGroup({\n        comment: new FormControl<string>(null),\n    })",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "FormGroup",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 90,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onCommentCancel",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 94,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "onCommentSend",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 99,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 56,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "TranslateModule",
                    "type": "module"
                },
                {
                    "name": "ReactiveFormsModule",
                    "type": "module"
                },
                {
                    "name": "A11yModule",
                    "type": "module"
                },
                {
                    "name": "EUI_TEXTAREA"
                },
                {
                    "name": "EUI_AVATAR"
                },
                {
                    "name": "EUI_BUTTON"
                }
            ],
            "description": "<p><code>eui-comment-textarea</code> component providing an input area for composing and submitting comments.\nDisplays user avatar alongside textarea with send and cancel action buttons.\nImplements reactive forms for comment input with automatic reset after submission or cancellation.\nIncludes accessibility features through Angular CDK A11y module with focus trapping.\nUsed within eui-comment-thread for adding new comments or replies.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-comment-textarea\n  [currentAuthorAvatarUrl]=&quot;currentUser.avatar&quot;\n  [placeholder]=&quot;&#39;Add your comment...&#39;&quot;\n  (commentSend)=&quot;onSubmit($event)&quot;\n  (commentCancel)=&quot;onCancel()&quot;&gt;\n&lt;/eui-comment-textarea&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Focus is automatically trapped within the textarea using <code>cdkTrapFocus</code></li>\n<li>Focus is captured on component initialization with <code>cdkTrapFocusAutoCapture</code></li>\n<li>Send and Cancel buttons are keyboard accessible</li>\n<li>Placeholder text supports translation for internationalization</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Form automatically resets after sending or canceling a comment</li>\n<li>Textarea auto-resizes based on content using <code>autoResize</code> directive</li>\n<li>Uses reactive forms for robust form state management</li>\n<li>Avatar is optional and can be omitted by not providing <code>currentAuthorAvatarUrl</code></li>\n</ul>\n",
            "rawdescription": "\n\n`eui-comment-textarea` component providing an input area for composing and submitting comments.\nDisplays user avatar alongside textarea with send and cancel action buttons.\nImplements reactive forms for comment input with automatic reset after submission or cancellation.\nIncludes accessibility features through Angular CDK A11y module with focus trapping.\nUsed within eui-comment-thread for adding new comments or replies.\n\n```html\n<eui-comment-textarea\n  [currentAuthorAvatarUrl]=\"currentUser.avatar\"\n  [placeholder]=\"'Add your comment...'\"\n  (commentSend)=\"onSubmit($event)\"\n  (commentCancel)=\"onCancel()\">\n</eui-comment-textarea>\n```\n\n### Accessibility\n- Focus is automatically trapped within the textarea using `cdkTrapFocus`\n- Focus is captured on component initialization with `cdkTrapFocusAutoCapture`\n- Send and Cancel buttons are keyboard accessible\n- Placeholder text supports translation for internationalization\n\n### Notes\n- Form automatically resets after sending or canceling a comment\n- Textarea auto-resizes based on content using `autoResize` directive\n- Uses reactive forms for robust form state management\n- Avatar is optional and can be omitted by not providing `currentAuthorAvatarUrl`\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding, Input, Output, EventEmitter } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { A11yModule } from '@angular/cdk/a11y';\n\nimport { EUI_AVATAR } from '@eui/components/eui-avatar';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_TEXTAREA } from '@eui/components/eui-textarea';\n\n/**\n * @description\n * `eui-comment-textarea` component providing an input area for composing and submitting comments.\n * Displays user avatar alongside textarea with send and cancel action buttons.\n * Implements reactive forms for comment input with automatic reset after submission or cancellation.\n * Includes accessibility features through Angular CDK A11y module with focus trapping.\n * Used within eui-comment-thread for adding new comments or replies.\n *\n * @usageNotes\n * ```html\n * <eui-comment-textarea\n *   [currentAuthorAvatarUrl]=\"currentUser.avatar\"\n *   [placeholder]=\"'Add your comment...'\"\n *   (commentSend)=\"onSubmit($event)\"\n *   (commentCancel)=\"onCancel()\">\n * </eui-comment-textarea>\n * ```\n *\n * ### Accessibility\n * - Focus is automatically trapped within the textarea using `cdkTrapFocus`\n * - Focus is captured on component initialization with `cdkTrapFocusAutoCapture`\n * - Send and Cancel buttons are keyboard accessible\n * - Placeholder text supports translation for internationalization\n *\n * ### Notes\n * - Form automatically resets after sending or canceling a comment\n * - Textarea auto-resizes based on content using `autoResize` directive\n * - Uses reactive forms for robust form state management\n * - Avatar is optional and can be omitted by not providing `currentAuthorAvatarUrl`\n */\n@Component({\n    selector: 'eui-comment-textarea',\n    templateUrl: './eui-comment-textarea.component.html',\n    styleUrls: ['../styles/_index.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        TranslateModule,\n        ReactiveFormsModule,\n        A11yModule,\n        ...EUI_TEXTAREA,\n        ...EUI_AVATAR,\n        ...EUI_BUTTON,\n    ],\n})\nexport class EuiCommentTextareaComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-comment-textarea',\n        ].join(' ').trim();\n    }\n\n    /**\n     * URL path to the current user's avatar image.\n     * Displayed alongside the textarea to identify the commenter.\n     * Optional.\n     */\n    @Input() currentAuthorAvatarUrl: string = null;\n\n    /**\n     * Placeholder text displayed in the textarea when empty.\n     * Supports translation keys for internationalization.\n     * @default 'eui.ANSWER'\n     */\n    @Input() placeholder = 'eui.ANSWER';\n\n    /**\n     * Emitted when the user cancels comment input.\n     * Payload: void\n     * Triggered when user clicks cancel button. Automatically resets the form.\n     */\n    @Output() commentCancel = new EventEmitter();\n\n    /**\n     * Emitted when the user submits a comment.\n     * Payload: string - the comment text entered by the user\n     * Triggered when user clicks send button. Automatically resets the form after emission.\n     */\n    @Output() commentSend = new EventEmitter<string>();\n\n    public form: FormGroup = new FormGroup({\n        comment: new FormControl<string>(null),\n    });\n\n    public onCommentCancel(): void {\n        this.form.reset();\n        this.commentCancel.emit();\n    }\n\n    public onCommentSend(): void {\n        this.commentSend.emit(this.form.get('comment').value);\n        this.form.reset();\n    }\n    \n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@forward 'comment-thread';\n",
                    "styleUrl": "../styles/_index.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 56
                    }
                }
            },
            "templateData": "<div class=\"eui-u-flex\">\n    <eui-avatar euiSizeXS>\n        <eui-avatar-image [imageUrl]=\"currentAuthorAvatarUrl\"></eui-avatar-image>\n    </eui-avatar>\n    <form class=\"comment-form\" [formGroup]=\"form\">\n        <textarea class=\"eui-u-ml-xs\" euiTextArea formControlName=\"comment\" [placeholder]=\"placeholder | translate\" autoResize></textarea>\n    </form>\n</div>\n<div class=\"eui-u-flex eui-u-flex-justify-content-end eui-u-pt-2xs\">\n    <button class=\"eui-u-mr-2xs\" euiButton euiBasicButton euiSizeS (buttonClick)=\"onCommentCancel()\">\n        {{ 'eui.CANCEL' | translate }}\n    </button>\n    <button euiButton euiPrimary euiSizeS (buttonClick)=\"onCommentSend()\">\n        {{ 'eui.SEND' | translate }}\n    </button>\n</div>\n"
        },
        {
            "name": "EuiCommentThreadComponent",
            "id": "component-EuiCommentThreadComponent-6873f306097ac458f6c97f7cb28207ed3fac68023bd27972b3071d18806d6aeb4f2cb317a2a165c4921059caf90ac86287b352e28410a57c888223f52a961843",
            "file": "packages/components/eui-comment-thread/eui-comment-thread.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-comment-thread",
            "styleUrls": [
                "./styles/_index.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-comment-thread.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "currentAuthorAvatarUrl",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nURL path to the current user's avatar image.\nDisplayed alongside the comment textarea to identify the commenter.\nOptional.\n",
                    "description": "<p>URL path to the current user&#39;s avatar image.\nDisplayed alongside the comment textarea to identify the commenter.\nOptional.</p>\n",
                    "line": 93,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasTextarea",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3154,
                            "end": 3173,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3155,
                                "end": 3162,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls visibility of the comment textarea.\nWhen false, hides the textarea preventing new comment input.\n",
                    "description": "<p>Controls visibility of the comment textarea.\nWhen false, hides the textarea preventing new comment input.</p>\n",
                    "line": 86,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCollapsable",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3875,
                            "end": 3894,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3876,
                                "end": 3883,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables collapse/expand functionality for the comment thread.\nWhen true, displays toggle control; when false, thread remains static.\n",
                    "description": "<p>Enables collapse/expand functionality for the comment thread.\nWhen true, displays toggle control; when false, thread remains static.</p>\n",
                    "line": 107,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isOpen",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3629,
                            "end": 3649,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3630,
                                "end": 3637,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls the expanded/collapsed state of the comment thread.\nWhen true, thread is expanded showing all comments; when false, thread is collapsed.\n",
                    "description": "<p>Controls the expanded/collapsed state of the comment thread.\nWhen true, thread is expanded showing all comments; when false, thread is collapsed.</p>\n",
                    "line": 100,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "placeholder",
                    "defaultValue": "'eui.ADD-A-COMMENT'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2681,
                            "end": 2715,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2682,
                                "end": 2689,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui.ADD-A-COMMENT&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nPlaceholder text displayed in the comment textarea when empty.\nSupports translation keys for internationalization.\n",
                    "description": "<p>Placeholder text displayed in the comment textarea when empty.\nSupports translation keys for internationalization.</p>\n",
                    "line": 72,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "textareaPosition",
                    "defaultValue": "'top'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2936,
                            "end": 2956,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2937,
                                "end": 2944,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;top&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nPosition of the comment textarea relative to the comment items.\nWhen 'top', textarea appears above comments; when 'bottom', below comments.\n",
                    "description": "<p>Position of the comment textarea relative to the comment items.\nWhen &#39;top&#39;, textarea appears above comments; when &#39;bottom&#39;, below comments.</p>\n",
                    "line": 79,
                    "type": "unknown",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "commentCancel",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the user cancels comment input.\nPayload: void\nTriggered when user clicks cancel button in the comment textarea.\n",
                    "description": "<p>Emitted when the user cancels comment input.\nPayload: void\nTriggered when user clicks cancel button in the comment textarea.</p>\n",
                    "line": 114,
                    "type": "EventEmitter"
                },
                {
                    "name": "commentSend",
                    "defaultValue": "new EventEmitter<string>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the user submits a new comment.\nPayload: string - the comment text entered by the user\nTriggered when user clicks send button in the comment textarea.\n",
                    "description": "<p>Emitted when the user submits a new comment.\nPayload: string - the comment text entered by the user\nTriggered when user clicks send button in the comment textarea.</p>\n",
                    "line": 121,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "subCommentItems",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiCommentItemComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 123,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "EuiCommentItemComponent"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onCommentCancel",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 129,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "onCommentSend",
                    "args": [
                        {
                            "name": "comment",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 133,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "comment",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onToggleOpen",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 137,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 59,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "TranslateModule",
                    "type": "module"
                },
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EuiCommentTextareaComponent",
                    "type": "component"
                }
            ],
            "description": "<p><code>eui-comment-thread</code> component for displaying nested conversations with reply functionality.\nProvides a collapsible container for comment items with integrated textarea for adding new comments.\nSupports flexible textarea positioning (top or bottom) and optional collapse/expand behavior.\nAutomatically counts and manages child comment items through content projection.\nTypically used for discussion threads, feedback sections, or collaborative commenting features.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-comment-thread\n  [currentAuthorAvatarUrl]=&quot;currentUser.avatar&quot;\n  [isOpen]=&quot;true&quot;\n  (commentSend)=&quot;onAddComment($event)&quot;&gt;\n  &lt;eui-comment-item\n    [authorName]=&quot;&#39;John Doe&#39;&quot;\n    [authorAvatarUrl]=&quot;&#39;path/to/avatar.jpg&#39;&quot;\n    [createdAt]=&quot;&#39;2 hours ago&#39;&quot;&gt;\n    This is a comment text.\n  &lt;/eui-comment-item&gt;\n&lt;/eui-comment-thread&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Collapse/expand buttons include proper ARIA labels through translation keys</li>\n<li>Comment count is announced to screen readers (singular/plural forms)</li>\n<li>Nested comment structure maintains semantic HTML with proper list elements</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use <code>textareaPosition</code> to control whether new comments appear above or below existing ones</li>\n<li>Set <code>isCollapsable</code> to false for always-visible comment threads</li>\n<li>The component automatically counts child <code>eui-comment-item</code> elements</li>\n</ul>\n",
            "rawdescription": "\n\n`eui-comment-thread` component for displaying nested conversations with reply functionality.\nProvides a collapsible container for comment items with integrated textarea for adding new comments.\nSupports flexible textarea positioning (top or bottom) and optional collapse/expand behavior.\nAutomatically counts and manages child comment items through content projection.\nTypically used for discussion threads, feedback sections, or collaborative commenting features.\n\n```html\n<eui-comment-thread\n  [currentAuthorAvatarUrl]=\"currentUser.avatar\"\n  [isOpen]=\"true\"\n  (commentSend)=\"onAddComment($event)\">\n  <eui-comment-item\n    [authorName]=\"'John Doe'\"\n    [authorAvatarUrl]=\"'path/to/avatar.jpg'\"\n    [createdAt]=\"'2 hours ago'\">\n    This is a comment text.\n  </eui-comment-item>\n</eui-comment-thread>\n```\n\n### Accessibility\n- Collapse/expand buttons include proper ARIA labels through translation keys\n- Comment count is announced to screen readers (singular/plural forms)\n- Nested comment structure maintains semantic HTML with proper list elements\n\n### Notes\n- Use `textareaPosition` to control whether new comments appear above or below existing ones\n- Set `isCollapsable` to false for always-visible comment threads\n- The component automatically counts child `eui-comment-item` elements\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding, Input, Output, EventEmitter, booleanAttribute, ContentChildren, QueryList } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\nimport { EuiCommentTextareaComponent } from './comment-textarea/eui-comment-textarea.component';\nimport { EuiCommentItemComponent } from './comment-item/eui-comment-item.component';\n\n/**\n * @description\n * `eui-comment-thread` component for displaying nested conversations with reply functionality.\n * Provides a collapsible container for comment items with integrated textarea for adding new comments.\n * Supports flexible textarea positioning (top or bottom) and optional collapse/expand behavior.\n * Automatically counts and manages child comment items through content projection.\n * Typically used for discussion threads, feedback sections, or collaborative commenting features.\n *\n * @usageNotes\n * ```html\n * <eui-comment-thread\n *   [currentAuthorAvatarUrl]=\"currentUser.avatar\"\n *   [isOpen]=\"true\"\n *   (commentSend)=\"onAddComment($event)\">\n *   <eui-comment-item\n *     [authorName]=\"'John Doe'\"\n *     [authorAvatarUrl]=\"'path/to/avatar.jpg'\"\n *     [createdAt]=\"'2 hours ago'\">\n *     This is a comment text.\n *   </eui-comment-item>\n * </eui-comment-thread>\n * ```\n *\n * ### Accessibility\n * - Collapse/expand buttons include proper ARIA labels through translation keys\n * - Comment count is announced to screen readers (singular/plural forms)\n * - Nested comment structure maintains semantic HTML with proper list elements\n *\n * ### Notes\n * - Use `textareaPosition` to control whether new comments appear above or below existing ones\n * - Set `isCollapsable` to false for always-visible comment threads\n * - The component automatically counts child `eui-comment-item` elements\n */\n@Component({\n    selector: 'eui-comment-thread',\n    templateUrl: './eui-comment-thread.component.html',\n    styleUrls: ['./styles/_index.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        TranslateModule,\n        NgTemplateOutlet,\n        ...EUI_BUTTON,\n        ...EUI_ICON,\n        EuiCommentTextareaComponent,\n    ],\n})\nexport class EuiCommentThreadComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-comment-thread',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * Placeholder text displayed in the comment textarea when empty.\n     * Supports translation keys for internationalization.\n     * @default 'eui.ADD-A-COMMENT'\n     */\n    @Input() placeholder = 'eui.ADD-A-COMMENT';\n\n    /**\n     * Position of the comment textarea relative to the comment items.\n     * When 'top', textarea appears above comments; when 'bottom', below comments.\n     * @default 'top'\n     */\n    @Input() textareaPosition: ('top' | 'bottom') = 'top';\n\n    /**\n     * Controls visibility of the comment textarea.\n     * When false, hides the textarea preventing new comment input.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasTextarea = true;\n\n    /**\n     * URL path to the current user's avatar image.\n     * Displayed alongside the comment textarea to identify the commenter.\n     * Optional.\n     */\n    @Input() currentAuthorAvatarUrl: string = null;\n\n    /**\n     * Controls the expanded/collapsed state of the comment thread.\n     * When true, thread is expanded showing all comments; when false, thread is collapsed.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isOpen = false;\n\n    /**\n     * Enables collapse/expand functionality for the comment thread.\n     * When true, displays toggle control; when false, thread remains static.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isCollapsable = true;\n\n    /**\n     * Emitted when the user cancels comment input.\n     * Payload: void\n     * Triggered when user clicks cancel button in the comment textarea.\n     */\n    @Output() commentCancel = new EventEmitter();\n\n    /**\n     * Emitted when the user submits a new comment.\n     * Payload: string - the comment text entered by the user\n     * Triggered when user clicks send button in the comment textarea.\n     */\n    @Output() commentSend = new EventEmitter<string>();\n\n    @ContentChildren(EuiCommentItemComponent) subCommentItems: QueryList<EuiCommentItemComponent>;\n\n    get nbSubCommentItems(): number {\n        return this.subCommentItems.length;\n    }\n\n    public onCommentCancel(): void {\n        this.commentCancel.emit();\n    }\n\n    public onCommentSend(comment: string): void {\n        this.commentSend.emit(comment);\n    }\n\n    public onToggleOpen(): void {\n        this.isOpen = !this.isOpen;\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@forward 'comment-thread';\n",
                    "styleUrl": "./styles/_index.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 59
                    }
                },
                "nbSubCommentItems": {
                    "name": "nbSubCommentItems",
                    "getSignature": {
                        "name": "nbSubCommentItems",
                        "type": "number",
                        "returnType": "number",
                        "line": 125
                    }
                }
            },
            "templateData": "@if (textareaPosition === 'top' && hasTextarea) {\n    <ng-container *ngTemplateOutlet=\"control\"></ng-container>\n}\n\n@if (nbSubCommentItems > 0) {\n    <div class=\"expander-container\">\n        @if (isOpen) {\n            @if (isCollapsable) {\n                <button euiButton euiBasicButton euiPrimary euiSizeS (buttonClick)=\"onToggleOpen()\">\n                    <eui-icon-svg icon=\"eui-chevron-up\" />\n                    {{ nbSubCommentItems }} {{ (nbSubCommentItems > 1 ? 'eui.ANSWERS' : 'eui.ANSWER') | translate }}\n                </button>\n            }\n            <ul>\n                <ng-content></ng-content>\n            </ul>\n        } @else {\n            <button euiButton euiBasicButton euiPrimary euiSizeS (buttonClick)=\"onToggleOpen()\">\n                <eui-icon-svg icon=\"eui-chevron-down\" />\n                {{ nbSubCommentItems }} {{ (nbSubCommentItems > 1 ? 'eui.ANSWERS' : 'eui.ANSWER') | translate }}\n            </button>\n        }\n    </div>\n}\n\n@if (textareaPosition === 'bottom' && hasTextarea) {\n    <ng-container *ngTemplateOutlet=\"control\"></ng-container>\n}\n\n<ng-template #control>\n    <eui-comment-textarea\n        [currentAuthorAvatarUrl]=\"currentAuthorAvatarUrl\"\n        [placeholder]=\"placeholder | translate\"\n        (commentCancel)=\"onCommentCancel()\"\n        (commentSend)=\"onCommentSend($event)\" />\n</ng-template>\n"
        },
        {
            "name": "EuiContentCardBodyComponent",
            "id": "component-EuiContentCardBodyComponent-bcef2c4a72d749d0cc8f3aa7e6400b33e799d3b2d56b5175e8c9f13943bcfacad43b47071b3a60c4a8e9ea4ff814e3f389d331e897a991379222a58e59cbbc1a",
            "file": "packages/components/eui-content-card/eui-content-card-body/eui-content-card-body.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-content-card-body",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-content-card-body.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-content-card-body'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 52,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1540,
                            "end": 1578,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1541,
                                "end": 1548,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-content-card-body&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-content-card-body'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1540,
                            "end": 1578,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1541,
                                "end": 1548,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-content-card-body&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 52,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Container for the main content area of the card. Supports optional top section for highlighted content.\nContent is hidden when the card is collapsed.</p>\n<h3>Basic Body</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-body&gt;\n    &lt;p&gt;Main card content goes here&lt;/p&gt;\n&lt;/eui-content-card-body&gt;</code></pre></div><h3>With Top Section</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-body&gt;\n    &lt;eui-content-card-body-top&gt;\n        &lt;div class=&quot;eui-u-bg-info-light eui-u-p-s&quot;&gt;\n            Important notice or highlighted content\n        &lt;/div&gt;\n    &lt;/eui-content-card-body-top&gt;\n    &lt;p&gt;Regular card content follows&lt;/p&gt;\n&lt;/eui-content-card-body&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use semantic HTML elements for content structure</li>\n<li>Ensure proper heading hierarchy within body content</li>\n<li>Maintain sufficient color contrast for all text</li>\n<li>Make interactive elements keyboard accessible</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Primary content container for the card</li>\n<li>Automatically hidden when parent card is collapsed</li>\n<li>Can contain any HTML content or components</li>\n<li>Use body-top for content that needs visual separation</li>\n</ul>\n",
            "rawdescription": "\n\nContainer for the main content area of the card. Supports optional top section for highlighted content.\nContent is hidden when the card is collapsed.\n\n### Basic Body\n```html\n<eui-content-card-body>\n    <p>Main card content goes here</p>\n</eui-content-card-body>\n```\n\n### With Top Section\n```html\n<eui-content-card-body>\n    <eui-content-card-body-top>\n        <div class=\"eui-u-bg-info-light eui-u-p-s\">\n            Important notice or highlighted content\n        </div>\n    </eui-content-card-body-top>\n    <p>Regular card content follows</p>\n</eui-content-card-body>\n```\n\n### Accessibility\n- Use semantic HTML elements for content structure\n- Ensure proper heading hierarchy within body content\n- Maintain sufficient color contrast for all text\n- Make interactive elements keyboard accessible\n\n### Notes\n- Primary content container for the card\n- Automatically hidden when parent card is collapsed\n- Can contain any HTML content or components\n- Use body-top for content that needs visual separation\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * @description\n * Container for the main content area of the card. Supports optional top section for highlighted content.\n * Content is hidden when the card is collapsed.\n * \n * @usageNotes\n * ### Basic Body\n * ```html\n * <eui-content-card-body>\n *     <p>Main card content goes here</p>\n * </eui-content-card-body>\n * ```\n * \n * ### With Top Section\n * ```html\n * <eui-content-card-body>\n *     <eui-content-card-body-top>\n *         <div class=\"eui-u-bg-info-light eui-u-p-s\">\n *             Important notice or highlighted content\n *         </div>\n *     </eui-content-card-body-top>\n *     <p>Regular card content follows</p>\n * </eui-content-card-body>\n * ```\n * \n * ### Accessibility\n * - Use semantic HTML elements for content structure\n * - Ensure proper heading hierarchy within body content\n * - Maintain sufficient color contrast for all text\n * - Make interactive elements keyboard accessible\n * \n * ### Notes\n * - Primary content container for the card\n * - Automatically hidden when parent card is collapsed\n * - Can contain any HTML content or components\n * - Use body-top for content that needs visual separation\n */\n@Component({\n    selector: 'eui-content-card-body',\n    templateUrl: './eui-content-card-body.component.html',\n    styleUrl: './eui-content-card-body.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiContentCardBodyComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-content-card-body'\n     */\n    @HostBinding('class') string = 'eui-content-card-body';\n}\n",
            "styleUrl": "./eui-content-card-body.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "<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>"
        },
        {
            "name": "EuiContentCardBodyTopComponent",
            "id": "component-EuiContentCardBodyTopComponent-9935e12c4d213e19389edcaf369602bf0056ab0ed7e87978eb56a55280a1d68460f3d6c0a9d1134a46f9090f7a677f591278f7ac93133b401ff39dc8f554b7e7",
            "file": "packages/components/eui-content-card/eui-content-card-body/eui-content-card-body-top.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-content-card-body-top",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-content-card-body-top'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 49,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1527,
                            "end": 1569,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1528,
                                "end": 1535,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-content-card-body-top&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-content-card-body-top'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1527,
                            "end": 1569,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1528,
                                "end": 1535,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-content-card-body-top&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 49,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Container for content at the top of the card body. Used for highlighted information, alerts, or content that needs visual separation from the main body.</p>\n<h3>Alert Message</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-body-top&gt;\n    &lt;div class=&quot;eui-u-bg-warning-light eui-u-p-s&quot;&gt;\n        &lt;strong&gt;Notice:&lt;/strong&gt; This item requires attention\n    &lt;/div&gt;\n&lt;/eui-content-card-body-top&gt;</code></pre></div><h3>Summary Information</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-body-top&gt;\n    &lt;dl class=&quot;eui-u-flex eui-u-flex-gap-m&quot;&gt;\n        &lt;div&gt;&lt;dt&gt;Status:&lt;/dt&gt;&lt;dd&gt;Active&lt;/dd&gt;&lt;/div&gt;\n        &lt;div&gt;&lt;dt&gt;Progress:&lt;/dt&gt;&lt;dd&gt;75%&lt;/dd&gt;&lt;/div&gt;\n    &lt;/dl&gt;\n&lt;/eui-content-card-body-top&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use appropriate semantic elements for content type</li>\n<li>Ensure alerts have proper ARIA roles when needed</li>\n<li>Maintain color contrast for all content</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Positioned at the top of the body with visual separation</li>\n<li>Optional component - only use when content needs emphasis</li>\n<li>Commonly used for alerts, summaries, or key metrics</li>\n<li>Automatically styled with appropriate spacing</li>\n</ul>\n",
            "rawdescription": "\n\nContainer for content at the top of the card body. Used for highlighted information, alerts, or content that needs visual separation from the main body.\n\n### Alert Message\n```html\n<eui-content-card-body-top>\n    <div class=\"eui-u-bg-warning-light eui-u-p-s\">\n        <strong>Notice:</strong> This item requires attention\n    </div>\n</eui-content-card-body-top>\n```\n\n### Summary Information\n```html\n<eui-content-card-body-top>\n    <dl class=\"eui-u-flex eui-u-flex-gap-m\">\n        <div><dt>Status:</dt><dd>Active</dd></div>\n        <div><dt>Progress:</dt><dd>75%</dd></div>\n    </dl>\n</eui-content-card-body-top>\n```\n\n### Accessibility\n- Use appropriate semantic elements for content type\n- Ensure alerts have proper ARIA roles when needed\n- Maintain color contrast for all content\n\n### Notes\n- Positioned at the top of the body with visual separation\n- Optional component - only use when content needs emphasis\n- Commonly used for alerts, summaries, or key metrics\n- Automatically styled with appropriate spacing\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n/**\n * @description\n * Container for content at the top of the card body. Used for highlighted information, alerts, or content that needs visual separation from the main body.\n * \n * @usageNotes\n * ### Alert Message\n * ```html\n * <eui-content-card-body-top>\n *     <div class=\"eui-u-bg-warning-light eui-u-p-s\">\n *         <strong>Notice:</strong> This item requires attention\n *     </div>\n * </eui-content-card-body-top>\n * ```\n * \n * ### Summary Information\n * ```html\n * <eui-content-card-body-top>\n *     <dl class=\"eui-u-flex eui-u-flex-gap-m\">\n *         <div><dt>Status:</dt><dd>Active</dd></div>\n *         <div><dt>Progress:</dt><dd>75%</dd></div>\n *     </dl>\n * </eui-content-card-body-top>\n * ```\n * \n * ### Accessibility\n * - Use appropriate semantic elements for content type\n * - Ensure alerts have proper ARIA roles when needed\n * - Maintain color contrast for all content\n * \n * ### Notes\n * - Positioned at the top of the body with visual separation\n * - Optional component - only use when content needs emphasis\n * - Commonly used for alerts, summaries, or key metrics\n * - Automatically styled with appropriate spacing\n */\n@Component({\n    selector: 'eui-content-card-body-top',\n    template: '<ng-content/>',\n    styleUrl: './eui-content-card-body-top.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiContentCardBodyTopComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-content-card-body-top'\n     */\n    @HostBinding('class') string = 'eui-content-card-body-top';\n}\n",
            "styleUrl": "./eui-content-card-body-top.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiContentCardComponent",
            "id": "component-EuiContentCardComponent-1a0b5b93ee25c9c3531527c630ca578ac0b956e25d99e529a19d43b4f532d5cd01b5ac8fc13d4e85370ab2f5341633c181d0be5c1920434dcc1cb930fcf424bc",
            "file": "packages/components/eui-content-card/eui-content-card.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-content-card",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-content-card.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-content-card'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3278,
                            "end": 3303,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3279,
                                "end": 3286,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-card&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `data-e2e` attribute at the host element.\n\n",
                    "description": "<p>Sets the <code>data-e2e</code> attribute at the host element.</p>\n",
                    "line": 98,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isBookmarkable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4298,
                            "end": 4318,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4299,
                                "end": 4306,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `isBookmarkable` attribute which is adding a bookmark toggle to the card header end-block.\n\n",
                    "description": "<p>Sets the <code>isBookmarkable</code> attribute which is adding a bookmark toggle to the card header end-block.</p>\n",
                    "line": 128,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isBookmarked",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4518,
                            "end": 4538,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4519,
                                "end": 4526,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `isBookmarkable` attribute which is adding a bookmark toggle to the card header end-block.\n\n",
                    "description": "<p>Sets the <code>isBookmarkable</code> attribute which is adding a bookmark toggle to the card header end-block.</p>\n",
                    "line": 134,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCollapsed",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4081,
                            "end": 4101,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4082,
                                "end": 4089,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `isCollapsed` attribute which collapses the card content.\n\n",
                    "description": "<p>Sets the <code>isCollapsed</code> attribute which collapses the card content.</p>\n",
                    "line": 122,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCollapsible",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3895,
                            "end": 3915,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3896,
                                "end": 3903,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `isCollapsible` attribute which shows the collapsible toggle in the header.\n\n",
                    "description": "<p>Sets the <code>isCollapsible</code> attribute which shows the collapsible toggle in the header.</p>\n",
                    "line": 116,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isSelectable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3692,
                            "end": 3712,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3693,
                                "end": 3700,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `isSelectable` attribute in order to show the card header checkbox for selection\n\n",
                    "description": "<p>Sets the <code>isSelectable</code> attribute in order to show the card header checkbox for selection</p>\n",
                    "line": 110,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isSelected",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3486,
                            "end": 3506,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3487,
                                "end": 3494,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `isSelected` attribute in order to show the card header as selected.\n\n",
                    "description": "<p>Sets the <code>isSelected</code> attribute in order to show the card header as selected.</p>\n",
                    "line": 104,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "cardBookmark",
                    "defaultValue": "new EventEmitter<boolean>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when the card is bookmarked.\n",
                    "description": "<p>Event emitted when the card is bookmarked.</p>\n",
                    "line": 143,
                    "type": "EventEmitter"
                },
                {
                    "name": "cardCollapse",
                    "defaultValue": "new EventEmitter<boolean>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when the card is bookmarked.\n",
                    "description": "<p>Event emitted when the card is bookmarked.</p>\n",
                    "line": 147,
                    "type": "EventEmitter"
                },
                {
                    "name": "cardSelect",
                    "defaultValue": "new EventEmitter<boolean>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when the card is selected.\n",
                    "description": "<p>Event emitted when the card is selected.</p>\n",
                    "line": 139,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "onSelect",
                    "args": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 160,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "toggleBookmark",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 155,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "toggleCollapse",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 151,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2535,
                            "end": 2652,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2536,
                                "end": 2547,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                        },
                        {
                            "pos": 2652,
                            "end": 2717,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2653,
                                "end": 2660,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 2661,
                                "end": 2669,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 2662,
                                    "end": 2668,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                    "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                    "line": 82,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "FormsModule",
                    "type": "module"
                },
                {
                    "name": "EUI_INPUT_CHECKBOX"
                }
            ],
            "description": "<p>The eui-content-card component is based on Material Design and provides a content container for text, photos and actions in the context of a single subject.\nSupports selection, collapsing, and bookmarking functionality.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card&gt;\n    &lt;eui-content-card-header&gt;\n        &lt;eui-content-card-header-title&gt;Card Title&lt;/eui-content-card-header-title&gt;\n    &lt;/eui-content-card-header&gt;\n    &lt;eui-content-card-body&gt;Card content goes here&lt;/eui-content-card-body&gt;\n&lt;/eui-content-card&gt;</code></pre></div><h3>With Selection and Collapse</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card\n    [isSelectable]=&quot;true&quot;\n    [isCollapsible]=&quot;true&quot;\n    (cardSelect)=&quot;onCardSelect($event)&quot;\n    (cardCollapse)=&quot;onCardCollapse($event)&quot;&gt;\n    &lt;eui-content-card-header&gt;\n        &lt;eui-content-card-header-title&gt;Collapsible Card&lt;/eui-content-card-header-title&gt;\n    &lt;/eui-content-card-header&gt;\n    &lt;eui-content-card-body&gt;This content can be collapsed&lt;/eui-content-card-body&gt;\n&lt;/eui-content-card&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use semantic heading levels within card titles for proper document structure</li>\n<li>Ensure interactive elements (checkboxes, buttons) have appropriate labels</li>\n<li>When using selection, the checkbox is automatically managed with proper ARIA attributes</li>\n<li>Collapsible cards use icon buttons with appropriate accessibility labels</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Cards can be made selectable with <code>isSelectable</code> input</li>\n<li>Cards can be made collapsible with <code>isCollapsible</code> input</li>\n<li>Bookmarking functionality is available via <code>isBookmarkable</code> input</li>\n<li>All interactive features emit events for state changes</li>\n<li>Use with child components for structured content layout</li>\n</ul>\n",
            "rawdescription": "\n\nThe eui-content-card component is based on Material Design and provides a content container for text, photos and actions in the context of a single subject.\nSupports selection, collapsing, and bookmarking functionality.\n\n### Basic Usage\n```html\n<eui-content-card>\n    <eui-content-card-header>\n        <eui-content-card-header-title>Card Title</eui-content-card-header-title>\n    </eui-content-card-header>\n    <eui-content-card-body>Card content goes here</eui-content-card-body>\n</eui-content-card>\n```\n\n### With Selection and Collapse\n```html\n<eui-content-card\n    [isSelectable]=\"true\"\n    [isCollapsible]=\"true\"\n    (cardSelect)=\"onCardSelect($event)\"\n    (cardCollapse)=\"onCardCollapse($event)\">\n    <eui-content-card-header>\n        <eui-content-card-header-title>Collapsible Card</eui-content-card-header-title>\n    </eui-content-card-header>\n    <eui-content-card-body>This content can be collapsed</eui-content-card-body>\n</eui-content-card>\n```\n\n### Accessibility\n- Use semantic heading levels within card titles for proper document structure\n- Ensure interactive elements (checkboxes, buttons) have appropriate labels\n- When using selection, the checkbox is automatically managed with proper ARIA attributes\n- Collapsible cards use icon buttons with appropriate accessibility labels\n\n### Notes\n- Cards can be made selectable with `isSelectable` input\n- Cards can be made collapsible with `isCollapsible` input\n- Bookmarking functionality is available via `isBookmarkable` input\n- All interactive features emit events for state changes\n- Use with child components for structured content layout\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    Input,\n    ChangeDetectionStrategy,\n    booleanAttribute,\n    inject,\n    Output,\n    EventEmitter,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { EUI_INPUT_CHECKBOX } from '@eui/components/eui-input-checkbox';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n/**\n * @description\n * The eui-content-card component is based on Material Design and provides a content container for text, photos and actions in the context of a single subject.\n * Supports selection, collapsing, and bookmarking functionality.\n * \n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-content-card>\n *     <eui-content-card-header>\n *         <eui-content-card-header-title>Card Title</eui-content-card-header-title>\n *     </eui-content-card-header>\n *     <eui-content-card-body>Card content goes here</eui-content-card-body>\n * </eui-content-card>\n * ```\n * \n * ### With Selection and Collapse\n * ```html\n * <eui-content-card \n *     [isSelectable]=\"true\" \n *     [isCollapsible]=\"true\"\n *     (cardSelect)=\"onCardSelect($event)\"\n *     (cardCollapse)=\"onCardCollapse($event)\">\n *     <eui-content-card-header>\n *         <eui-content-card-header-title>Collapsible Card</eui-content-card-header-title>\n *     </eui-content-card-header>\n *     <eui-content-card-body>This content can be collapsed</eui-content-card-body>\n * </eui-content-card>\n * ```\n * \n * ### Accessibility\n * - Use semantic heading levels within card titles for proper document structure\n * - Ensure interactive elements (checkboxes, buttons) have appropriate labels\n * - When using selection, the checkbox is automatically managed with proper ARIA attributes\n * - Collapsible cards use icon buttons with appropriate accessibility labels\n * \n * ### Notes\n * - Cards can be made selectable with `isSelectable` input\n * - Cards can be made collapsible with `isCollapsible` input\n * - Bookmarking functionality is available via `isBookmarkable` input\n * - All interactive features emit events for state changes\n * - Use with child components for structured content layout\n */\n@Component({\n    templateUrl: './eui-content-card.component.html',\n    selector: 'eui-content-card',\n    styleUrl: './eui-content-card.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n        },\n    ],\n    imports: [\n        FormsModule,\n        ...EUI_INPUT_CHECKBOX,\n    ],\n})\nexport class EuiContentCardComponent {\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-content-card'),\n            this.isCollapsible ? 'eui-content-card--collapsible' : '',\n            this.isCollapsed ? 'eui-content-card--collapsed' : '',\n            this.isSelectable ? 'eui-content-card--selectable': '',\n            this.isSelected ? 'eui-content-card--selected' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n    /**\n     * Sets the `data-e2e` attribute at the host element.\n     * \n     * @default 'eui-card'\n     */\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-content-card';\n    /**\n     * Sets the `isSelected` attribute in order to show the card header as selected.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isSelected = false;\n    /**\n     * Sets the `isSelectable` attribute in order to show the card header checkbox for selection\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isSelectable = false;\n    /**\n     * Sets the `isCollapsible` attribute which shows the collapsible toggle in the header.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsible = false;\n    /**\n     * Sets the `isCollapsed` attribute which collapses the card content.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsed = false;\n    /**\n     * Sets the `isBookmarkable` attribute which is adding a bookmark toggle to the card header end-block.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isBookmarkable = false;\n    /**\n     * Sets the `isBookmarkable` attribute which is adding a bookmark toggle to the card header end-block.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isBookmarked = false;\n\n    /**\n     * Event emitted when the card is selected.\n     */\n    @Output() cardSelect = new EventEmitter<boolean>();\n    /**\n     * Event emitted when the card is bookmarked.\n     */\n    @Output() cardBookmark = new EventEmitter<boolean>();\n    /**\n     * Event emitted when the card is bookmarked.\n     */\n    @Output() cardCollapse = new EventEmitter<boolean>();\n\n    private baseStatesDirective: BaseStatesDirective = inject(BaseStatesDirective);\n\n    toggleCollapse(): void {\n        this.isCollapsed = !this.isCollapsed;\n        this.cardCollapse.emit(this.isCollapsed);\n    }\n    toggleBookmark(): void {\n        this.isBookmarked = !this.isBookmarked;\n        this.cardBookmark.emit(this.isBookmarked);\n    }   \n    \n    protected onSelect(event: Event): void {\n        this.cardSelect.emit(this.isSelected);\n    }\n}\n",
            "styleUrl": "./eui-content-card.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 82,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                        "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 2535,
                                "end": 2652,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2536,
                                    "end": 2547,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                            },
                            {
                                "pos": 2652,
                                "end": 2717,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2653,
                                    "end": 2660,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 2661,
                                    "end": 2669,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 2662,
                                        "end": 2668,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            },
            "templateData": "<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"
        },
        {
            "name": "EuiContentCardFooterComponent",
            "id": "component-EuiContentCardFooterComponent-38976e9dcc32f7e348b91dd5d7cf4edee5d0e7d6ae716c54e9d498623505495fdeab5e3918401cdddb811d3c9d9d1c63946fc2ee24d667b79d5e723630826726",
            "file": "packages/components/eui-content-card/eui-content-card-footer/eui-content-card-footer.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-content-card-footer",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-content-card-footer'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 57,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1683,
                            "end": 1723,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1684,
                                "end": 1691,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-content-card-footer&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-content-card-footer'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1683,
                            "end": 1723,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1684,
                                "end": 1691,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-content-card-footer&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 57,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Container for footer content at the bottom of the card. Typically used for actions, links, or supplementary information.</p>\n<h3>Action Buttons</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-footer&gt;\n    &lt;eui-button&gt;View Details&lt;/eui-button&gt;\n    &lt;eui-button euiSecondary&gt;Cancel&lt;/eui-button&gt;\n&lt;/eui-content-card-footer&gt;</code></pre></div><h3>Links</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-footer&gt;\n    &lt;a href=&quot;/details&quot; class=&quot;eui-u-text-link&quot;&gt;Read more&lt;/a&gt;\n&lt;/eui-content-card-footer&gt;</code></pre></div><h3>Mixed Content</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-footer&gt;\n    &lt;div class=&quot;eui-u-flex eui-u-flex-justify-between&quot;&gt;\n        &lt;span class=&quot;eui-u-text-muted&quot;&gt;Last updated: 2 hours ago&lt;/span&gt;\n        &lt;eui-button euiSizeS&gt;Edit&lt;/eui-button&gt;\n    &lt;/div&gt;\n&lt;/eui-content-card-footer&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Ensure all interactive elements are keyboard accessible</li>\n<li>Provide clear labels for all actions</li>\n<li>Use appropriate button types (button vs link)</li>\n<li>Maintain logical tab order</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Positioned at the bottom of the card with visual separation</li>\n<li>Optional component - only include when actions or additional info needed</li>\n<li>Commonly used for primary/secondary actions</li>\n<li>Automatically styled with appropriate spacing and borders</li>\n</ul>\n",
            "rawdescription": "\n\nContainer for footer content at the bottom of the card. Typically used for actions, links, or supplementary information.\n\n### Action Buttons\n```html\n<eui-content-card-footer>\n    <eui-button>View Details</eui-button>\n    <eui-button euiSecondary>Cancel</eui-button>\n</eui-content-card-footer>\n```\n\n### Links\n```html\n<eui-content-card-footer>\n    <a href=\"/details\" class=\"eui-u-text-link\">Read more</a>\n</eui-content-card-footer>\n```\n\n### Mixed Content\n```html\n<eui-content-card-footer>\n    <div class=\"eui-u-flex eui-u-flex-justify-between\">\n        <span class=\"eui-u-text-muted\">Last updated: 2 hours ago</span>\n        <eui-button euiSizeS>Edit</eui-button>\n    </div>\n</eui-content-card-footer>\n```\n\n### Accessibility\n- Ensure all interactive elements are keyboard accessible\n- Provide clear labels for all actions\n- Use appropriate button types (button vs link)\n- Maintain logical tab order\n\n### Notes\n- Positioned at the bottom of the card with visual separation\n- Optional component - only include when actions or additional info needed\n- Commonly used for primary/secondary actions\n- Automatically styled with appropriate spacing and borders\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * @description\n * Container for footer content at the bottom of the card. Typically used for actions, links, or supplementary information.\n * \n * @usageNotes\n * ### Action Buttons\n * ```html\n * <eui-content-card-footer>\n *     <eui-button>View Details</eui-button>\n *     <eui-button euiSecondary>Cancel</eui-button>\n * </eui-content-card-footer>\n * ```\n * \n * ### Links\n * ```html\n * <eui-content-card-footer>\n *     <a href=\"/details\" class=\"eui-u-text-link\">Read more</a>\n * </eui-content-card-footer>\n * ```\n * \n * ### Mixed Content\n * ```html\n * <eui-content-card-footer>\n *     <div class=\"eui-u-flex eui-u-flex-justify-between\">\n *         <span class=\"eui-u-text-muted\">Last updated: 2 hours ago</span>\n *         <eui-button euiSizeS>Edit</eui-button>\n *     </div>\n * </eui-content-card-footer>\n * ```\n * \n * ### Accessibility\n * - Ensure all interactive elements are keyboard accessible\n * - Provide clear labels for all actions\n * - Use appropriate button types (button vs link)\n * - Maintain logical tab order\n * \n * ### Notes\n * - Positioned at the bottom of the card with visual separation\n * - Optional component - only include when actions or additional info needed\n * - Commonly used for primary/secondary actions\n * - Automatically styled with appropriate spacing and borders\n */\n@Component({\n    selector: 'eui-content-card-footer',\n    template: '<ng-content/>',\n    styleUrl: './eui-content-card-footer.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiContentCardFooterComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-content-card-footer'\n     */\n    @HostBinding('class') string = 'eui-content-card-footer';\n}\n",
            "styleUrl": "./eui-content-card-footer.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiContentCardHeaderComponent",
            "id": "component-EuiContentCardHeaderComponent-d85d347a50e5199be58679660e7163c7f5a2973ec984896c5569b4fd5892e2ce27b08690380515da4f95fffce2accbd4a9cb6b06e8d1c5c982e63d4dddfa9ab3",
            "file": "packages/components/eui-content-card/eui-content-card-header/eui-content-card-header.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-content-card-header",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-content-card-header.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "euiCardContentParent",
                    "defaultValue": "inject(forwardRef(() => EuiContentCardComponent), { optional: true, host: true })",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiContentCardComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 68,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "headerStartComponent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiContentCardHeaderStartComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 70,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined, {static: false}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "string",
                    "defaultValue": "'eui-content-card-header'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 66,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 2652,
                            "end": 2692,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2653,
                                "end": 2660,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-content-card-header&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onToggle",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 72,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-content-card-header'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2652,
                            "end": 2692,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2653,
                                "end": 2660,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-content-card-header&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 66,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "EUI_ICON_BUTTON_EXPANDER"
                }
            ],
            "description": "<p>Container component for the card header section. Supports title, subtitle, metadata, and action areas.\nAutomatically integrates with parent card&#39;s collapsible functionality.</p>\n<h3>Basic Header</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-header&gt;\n    &lt;eui-content-card-header-title&gt;Card Title&lt;/eui-content-card-header-title&gt;\n    &lt;eui-content-card-header-subtitle&gt;Subtitle text&lt;/eui-content-card-header-subtitle&gt;\n&lt;/eui-content-card-header&gt;</code></pre></div><h3>Complete Header with All Sections</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-header&gt;\n    &lt;eui-content-card-header-start&gt;\n        &lt;eui-chip euiSizeS&gt;Status&lt;/eui-chip&gt;\n    &lt;/eui-content-card-header-start&gt;\n    &lt;eui-content-card-header-title&gt;\n        &lt;a href=&quot;#&quot; class=&quot;eui-u-text-link&quot;&gt;Linked Title&lt;/a&gt;\n    &lt;/eui-content-card-header-title&gt;\n    &lt;eui-content-card-header-subtitle&gt;Secondary information&lt;/eui-content-card-header-subtitle&gt;\n    &lt;eui-content-card-header-metadata&gt;Created: 2024-01-26&lt;/eui-content-card-header-metadata&gt;\n    &lt;eui-content-card-header-end&gt;\n        &lt;eui-icon-button icon=&quot;eui-ellipsis-vertical&quot; size=&quot;s&quot;/&gt;\n    &lt;/eui-content-card-header-end&gt;\n&lt;/eui-content-card-header&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use semantic heading elements within title component for proper document outline</li>\n<li>Ensure links in titles have descriptive text</li>\n<li>Action buttons should have accessible labels</li>\n<li>Metadata should be marked up appropriately (e.g., <code>&lt;time&gt;</code> for dates)</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Header layout is flexible and adapts to included child components</li>\n<li>Start and end sections are optional for additional content placement</li>\n<li>Automatically handles collapse toggle when parent card is collapsible</li>\n<li>Supports multiple metadata lines for complex information display</li>\n</ul>\n",
            "rawdescription": "\n\nContainer component for the card header section. Supports title, subtitle, metadata, and action areas.\nAutomatically integrates with parent card's collapsible functionality.\n\n### Basic Header\n```html\n<eui-content-card-header>\n    <eui-content-card-header-title>Card Title</eui-content-card-header-title>\n    <eui-content-card-header-subtitle>Subtitle text</eui-content-card-header-subtitle>\n</eui-content-card-header>\n```\n\n### Complete Header with All Sections\n```html\n<eui-content-card-header>\n    <eui-content-card-header-start>\n        <eui-chip euiSizeS>Status</eui-chip>\n    </eui-content-card-header-start>\n    <eui-content-card-header-title>\n        <a href=\"#\" class=\"eui-u-text-link\">Linked Title</a>\n    </eui-content-card-header-title>\n    <eui-content-card-header-subtitle>Secondary information</eui-content-card-header-subtitle>\n    <eui-content-card-header-metadata>Created: 2024-01-26</eui-content-card-header-metadata>\n    <eui-content-card-header-end>\n        <eui-icon-button icon=\"eui-ellipsis-vertical\" size=\"s\"/>\n    </eui-content-card-header-end>\n</eui-content-card-header>\n```\n\n### Accessibility\n- Use semantic heading elements within title component for proper document outline\n- Ensure links in titles have descriptive text\n- Action buttons should have accessible labels\n- Metadata should be marked up appropriately (e.g., `<time>` for dates)\n\n### Notes\n- Header layout is flexible and adapts to included child components\n- Start and end sections are optional for additional content placement\n- Automatically handles collapse toggle when parent card is collapsible\n- Supports multiple metadata lines for complex information display\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy, inject, forwardRef, ContentChild, QueryList } from '@angular/core';\nimport { EuiContentCardComponent } from '../eui-content-card.component';\nimport { EUI_ICON_BUTTON_EXPANDER } from '@eui/components/eui-icon-button-expander';\nimport { EuiContentCardHeaderStartComponent } from './eui-content-card-header-start';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * @description\n * Container component for the card header section. Supports title, subtitle, metadata, and action areas.\n * Automatically integrates with parent card's collapsible functionality.\n * \n * @usageNotes\n * ### Basic Header\n * ```html\n * <eui-content-card-header>\n *     <eui-content-card-header-title>Card Title</eui-content-card-header-title>\n *     <eui-content-card-header-subtitle>Subtitle text</eui-content-card-header-subtitle>\n * </eui-content-card-header>\n * ```\n * \n * ### Complete Header with All Sections\n * ```html\n * <eui-content-card-header>\n *     <eui-content-card-header-start>\n *         <eui-chip euiSizeS>Status</eui-chip>\n *     </eui-content-card-header-start>\n *     <eui-content-card-header-title>\n *         <a href=\"#\" class=\"eui-u-text-link\">Linked Title</a>\n *     </eui-content-card-header-title>\n *     <eui-content-card-header-subtitle>Secondary information</eui-content-card-header-subtitle>\n *     <eui-content-card-header-metadata>Created: 2024-01-26</eui-content-card-header-metadata>\n *     <eui-content-card-header-end>\n *         <eui-icon-button icon=\"eui-ellipsis-vertical\" size=\"s\"/>\n *     </eui-content-card-header-end>\n * </eui-content-card-header>\n * ```\n * \n * ### Accessibility\n * - Use semantic heading elements within title component for proper document outline\n * - Ensure links in titles have descriptive text\n * - Action buttons should have accessible labels\n * - Metadata should be marked up appropriately (e.g., `<time>` for dates)\n * \n * ### Notes\n * - Header layout is flexible and adapts to included child components\n * - Start and end sections are optional for additional content placement\n * - Automatically handles collapse toggle when parent card is collapsible\n * - Supports multiple metadata lines for complex information display\n */\n@Component({\n    selector: 'eui-content-card-header',\n    templateUrl: './eui-content-card-header.component.html',\n    styleUrl: './eui-content-card-header.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        NgTemplateOutlet,\n        ...EUI_ICON_BUTTON_EXPANDER,\n    ],    \n})\nexport class EuiContentCardHeaderComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-content-card-header'\n     */\n    @HostBinding('class') string = 'eui-content-card-header';\n\n    protected euiCardContentParent: EuiContentCardComponent = inject(forwardRef(() => EuiContentCardComponent), { optional: true, host: true });\n\n    @ContentChild(forwardRef(() => EuiContentCardHeaderStartComponent), { static: false }) headerStartComponent: QueryList<EuiContentCardHeaderStartComponent>;\n\n    protected onToggle(): void {\n        this.euiCardContentParent.toggleCollapse();\n    }    \n}\n",
            "styleUrl": "./eui-content-card-header.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "@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=\"secondary\"/>\n    </div>\n</ng-template>"
        },
        {
            "name": "EuiContentCardHeaderEndComponent",
            "id": "component-EuiContentCardHeaderEndComponent-133c8154b65c36db23d08e26a85f0bc772bcc84a8f3c438471d15e239c3c1b4e28760bc245ef031085b17c2f1e682df30acaaf643212556b2d32d4d2fbee853b",
            "file": "packages/components/eui-content-card/eui-content-card-header/eui-content-card-header-end.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-content-card-header-end",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-content-card-header-end.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "bookmarkAccessKey",
                    "defaultValue": "'b'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1972,
                            "end": 1990,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1973,
                                "end": 1980,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;b&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nKeyboard shortcut key for the bookmark toggle.\n",
                    "description": "<p>Keyboard shortcut key for the bookmark toggle.</p>\n",
                    "line": 60,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "euiContentCardParent",
                    "defaultValue": "inject(forwardRef(() => EuiContentCardComponent), { optional: true, host: true })",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiContentCardComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 62,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "string",
                    "defaultValue": "'eui-content-card-header-end'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 54,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1789,
                            "end": 1833,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1790,
                                "end": 1797,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-content-card-header-end&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onToggle",
                    "args": [
                        {
                            "name": "event",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 64,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-content-card-header-end'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1789,
                            "end": 1833,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1790,
                                "end": 1797,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-content-card-header-end&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 54,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_ICON_TOGGLE"
                },
                {
                    "name": "EUI_BUTTON"
                }
            ],
            "description": "<p>Container for content placed at the end (right side) of the card header. Typically used for action buttons or menus.\nAutomatically integrates bookmark toggle when parent card has <code>isBookmarkable</code> enabled.</p>\n<h3>With Action Button</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-header-end&gt;\n    &lt;eui-icon-button icon=&quot;eui-ellipsis-vertical&quot; size=&quot;s&quot;/&gt;\n&lt;/eui-content-card-header-end&gt;</code></pre></div><h3>With Multiple Actions</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-header-end&gt;\n    &lt;eui-icon-button icon=&quot;edit&quot; size=&quot;s&quot;/&gt;\n    &lt;eui-icon-button icon=&quot;delete&quot; size=&quot;s&quot;/&gt;\n&lt;/eui-content-card-header-end&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>All action buttons must have accessible labels</li>\n<li>Use <code>aria-label</code> or visible text for icon buttons</li>\n<li>Group related actions logically</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Positioned at the end of the header after all other content</li>\n<li>Automatically includes bookmark toggle when parent card is bookmarkable</li>\n<li>Actions are automatically aligned and spaced</li>\n<li>Commonly used for contextual menus or quick actions</li>\n</ul>\n",
            "rawdescription": "\n\nContainer for content placed at the end (right side) of the card header. Typically used for action buttons or menus.\nAutomatically integrates bookmark toggle when parent card has `isBookmarkable` enabled.\n\n### With Action Button\n```html\n<eui-content-card-header-end>\n    <eui-icon-button icon=\"eui-ellipsis-vertical\" size=\"s\"/>\n</eui-content-card-header-end>\n```\n\n### With Multiple Actions\n```html\n<eui-content-card-header-end>\n    <eui-icon-button icon=\"edit\" size=\"s\"/>\n    <eui-icon-button icon=\"delete\" size=\"s\"/>\n</eui-content-card-header-end>\n```\n\n### Accessibility\n- All action buttons must have accessible labels\n- Use `aria-label` or visible text for icon buttons\n- Group related actions logically\n\n### Notes\n- Positioned at the end of the header after all other content\n- Automatically includes bookmark toggle when parent card is bookmarkable\n- Actions are automatically aligned and spaced\n- Commonly used for contextual menus or quick actions\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy, inject, forwardRef, Input } from '@angular/core';\nimport { EuiContentCardComponent } from '../eui-content-card.component';\nimport { EUI_ICON_TOGGLE } from '@eui/components/eui-icon-toggle';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\n\n/**\n * @description\n * Container for content placed at the end (right side) of the card header. Typically used for action buttons or menus.\n * Automatically integrates bookmark toggle when parent card has `isBookmarkable` enabled.\n * \n * @usageNotes\n * ### With Action Button\n * ```html\n * <eui-content-card-header-end>\n *     <eui-icon-button icon=\"eui-ellipsis-vertical\" size=\"s\"/>\n * </eui-content-card-header-end>\n * ```\n * \n * ### With Multiple Actions\n * ```html\n * <eui-content-card-header-end>\n *     <eui-icon-button icon=\"edit\" size=\"s\"/>\n *     <eui-icon-button icon=\"delete\" size=\"s\"/>\n * </eui-content-card-header-end>\n * ```\n * \n * ### Accessibility\n * - All action buttons must have accessible labels\n * - Use `aria-label` or visible text for icon buttons\n * - Group related actions logically\n * \n * ### Notes\n * - Positioned at the end of the header after all other content\n * - Automatically includes bookmark toggle when parent card is bookmarkable\n * - Actions are automatically aligned and spaced\n * - Commonly used for contextual menus or quick actions\n */\n@Component({\n    selector: 'eui-content-card-header-end',\n    templateUrl: './eui-content-card-header-end.html',\n    styleUrl: './eui-content-card-header-end.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        ...EUI_ICON_TOGGLE,\n        ...EUI_BUTTON,\n    ],\n})\nexport class EuiContentCardHeaderEndComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-content-card-header-end'\n     */\n    @HostBinding('class') string = 'eui-content-card-header-end';\n\n    /**\n     * Keyboard shortcut key for the bookmark toggle.\n     * @default 'b'\n     */\n    @Input() bookmarkAccessKey = 'b';\n\n    protected euiContentCardParent: EuiContentCardComponent = inject(forwardRef(() => EuiContentCardComponent), { optional: true, host: true });\n\n    onToggle(event: boolean): void {\n        this.euiContentCardParent.toggleBookmark();\n    }\n}\n",
            "styleUrl": "./eui-content-card-header-end.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "<ng-content/>\n\n@if (euiContentCardParent.isBookmarkable) {\n    <div class=\"eui-content-card-header-end-bookmarkable-wrapper\">\n        <eui-icon-toggle\n            [keyboardAccessKey]=\"bookmarkAccessKey\"\n            iconSvgFillColorOff=\"primary\" \n            iconSvgFillColorOn=\"primary\" \n            iconSvgNameOn=\"bookmark-simple:fill\" \n            iconSvgNameOff=\"bookmark-simple:regular\"\n            [isChecked]=\"euiContentCardParent.isBookmarked\" \n            (toggle)=\"onToggle($event)\"/>\n    </div>\n}"
        },
        {
            "name": "EuiContentCardHeaderMetadataComponent",
            "id": "component-EuiContentCardHeaderMetadataComponent-c736d236d36066c7804f8149c52b8d7c607a62b99a6cb054e333bc3938f6f0724e2ad6caa5046a493485a40afebd4170b6f8d942fe7e3fb5fd7978609823a8ed",
            "file": "packages/components/eui-content-card/eui-content-card-header/eui-content-card-header-metadata.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-content-card-header-metadata",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-content-card-header-metadata'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 53,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1566,
                            "end": 1615,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1567,
                                "end": 1574,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-content-card-header-metadata&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-content-card-header-metadata'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1566,
                            "end": 1615,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1567,
                                "end": 1574,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-content-card-header-metadata&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 53,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Container for primary metadata information displayed below the subtitle. Used for key details like dates, authors, or categories.</p>\n<h3>Simple Metadata</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-header-metadata&gt;\n    Created: January 26, 2024\n&lt;/eui-content-card-header-metadata&gt;</code></pre></div><h3>Multiple Metadata Items</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-header-metadata&gt;\n    Author: John Doe | Category: Research | Status: Published\n&lt;/eui-content-card-header-metadata&gt;</code></pre></div><h3>With Semantic Markup</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-header-metadata&gt;\n    &lt;time datetime=&quot;2024-01-26&quot;&gt;January 26, 2024&lt;/time&gt; |\n    &lt;span&gt;5 min read&lt;/span&gt;\n&lt;/eui-content-card-header-metadata&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use semantic HTML elements like <code>&lt;time&gt;</code> for dates</li>\n<li>Ensure metadata is meaningful and not purely decorative</li>\n<li>Maintain sufficient color contrast</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Displayed below subtitle with reduced visual weight</li>\n<li>Use for factual information about the card content</li>\n<li>Separate multiple items with visual dividers (e.g., pipes)</li>\n<li>Keep concise to maintain scannability</li>\n</ul>\n",
            "rawdescription": "\n\nContainer for primary metadata information displayed below the subtitle. Used for key details like dates, authors, or categories.\n\n### Simple Metadata\n```html\n<eui-content-card-header-metadata>\n    Created: January 26, 2024\n</eui-content-card-header-metadata>\n```\n\n### Multiple Metadata Items\n```html\n<eui-content-card-header-metadata>\n    Author: John Doe | Category: Research | Status: Published\n</eui-content-card-header-metadata>\n```\n\n### With Semantic Markup\n```html\n<eui-content-card-header-metadata>\n    <time datetime=\"2024-01-26\">January 26, 2024</time> |\n    <span>5 min read</span>\n</eui-content-card-header-metadata>\n```\n\n### Accessibility\n- Use semantic HTML elements like `<time>` for dates\n- Ensure metadata is meaningful and not purely decorative\n- Maintain sufficient color contrast\n\n### Notes\n- Displayed below subtitle with reduced visual weight\n- Use for factual information about the card content\n- Separate multiple items with visual dividers (e.g., pipes)\n- Keep concise to maintain scannability\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * @description\n * Container for primary metadata information displayed below the subtitle. Used for key details like dates, authors, or categories.\n * \n * @usageNotes\n * ### Simple Metadata\n * ```html\n * <eui-content-card-header-metadata>\n *     Created: January 26, 2024\n * </eui-content-card-header-metadata>\n * ```\n * \n * ### Multiple Metadata Items\n * ```html\n * <eui-content-card-header-metadata>\n *     Author: John Doe | Category: Research | Status: Published\n * </eui-content-card-header-metadata>\n * ```\n * \n * ### With Semantic Markup\n * ```html\n * <eui-content-card-header-metadata>\n *     <time datetime=\"2024-01-26\">January 26, 2024</time> | \n *     <span>5 min read</span>\n * </eui-content-card-header-metadata>\n * ```\n * \n * ### Accessibility\n * - Use semantic HTML elements like `<time>` for dates\n * - Ensure metadata is meaningful and not purely decorative\n * - Maintain sufficient color contrast\n * \n * ### Notes\n * - Displayed below subtitle with reduced visual weight\n * - Use for factual information about the card content\n * - Separate multiple items with visual dividers (e.g., pipes)\n * - Keep concise to maintain scannability\n */\n@Component({\n    selector: 'eui-content-card-header-metadata',\n    template: '<ng-content/>',\n    styleUrl: './eui-content-card-header-metadata.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiContentCardHeaderMetadataComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-content-card-header-metadata'\n     */\n    @HostBinding('class') string = 'eui-content-card-header-metadata';\n}\n",
            "styleUrl": "./eui-content-card-header-metadata.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiContentCardHeaderStartComponent",
            "id": "component-EuiContentCardHeaderStartComponent-347baafccc6a480ebd406287948f4c7988a137cc0cce8afed56bdd68d8ee32202ddc13c22f08daed9f545c0d18be80cc533e5ebde2f0f7790c44d4c61b7394cc",
            "file": "packages/components/eui-content-card/eui-content-card-header/eui-content-card-header-start.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-content-card-header-start",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-content-card-header-start'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 43,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1250,
                            "end": 1296,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1251,
                                "end": 1258,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-content-card-header-start&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-content-card-header-start'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1250,
                            "end": 1296,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1251,
                                "end": 1258,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-content-card-header-start&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 43,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Container for content placed at the start (left side) of the card header. Typically used for status indicators, badges, or icons.</p>\n<h3>With Status Chip</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-header-start&gt;\n    &lt;eui-chip euiSizeS&gt;Active&lt;/eui-chip&gt;\n&lt;/eui-content-card-header-start&gt;</code></pre></div><h3>With Icon</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-header-start&gt;\n    &lt;eui-icon-svg icon=&quot;document&quot; size=&quot;m&quot;/&gt;\n&lt;/eui-content-card-header-start&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Ensure status indicators have appropriate text or ARIA labels</li>\n<li>Icons should have descriptive labels when conveying important information</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Positioned at the start of the header before the title</li>\n<li>Commonly used for visual status indicators or categorization</li>\n<li>Content is automatically aligned and spaced</li>\n</ul>\n",
            "rawdescription": "\n\nContainer for content placed at the start (left side) of the card header. Typically used for status indicators, badges, or icons.\n\n### With Status Chip\n```html\n<eui-content-card-header-start>\n    <eui-chip euiSizeS>Active</eui-chip>\n</eui-content-card-header-start>\n```\n\n### With Icon\n```html\n<eui-content-card-header-start>\n    <eui-icon-svg icon=\"document\" size=\"m\"/>\n</eui-content-card-header-start>\n```\n\n### Accessibility\n- Ensure status indicators have appropriate text or ARIA labels\n- Icons should have descriptive labels when conveying important information\n\n### Notes\n- Positioned at the start of the header before the title\n- Commonly used for visual status indicators or categorization\n- Content is automatically aligned and spaced\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * @description\n * Container for content placed at the start (left side) of the card header. Typically used for status indicators, badges, or icons.\n * \n * @usageNotes\n * ### With Status Chip\n * ```html\n * <eui-content-card-header-start>\n *     <eui-chip euiSizeS>Active</eui-chip>\n * </eui-content-card-header-start>\n * ```\n * \n * ### With Icon\n * ```html\n * <eui-content-card-header-start>\n *     <eui-icon-svg icon=\"document\" size=\"m\"/>\n * </eui-content-card-header-start>\n * ```\n * \n * ### Accessibility\n * - Ensure status indicators have appropriate text or ARIA labels\n * - Icons should have descriptive labels when conveying important information\n * \n * ### Notes\n * - Positioned at the start of the header before the title\n * - Commonly used for visual status indicators or categorization\n * - Content is automatically aligned and spaced\n */\n@Component({\n    selector: 'eui-content-card-header-start',\n    template: '<ng-content/>',\n    styleUrl: './eui-content-card-header-start.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiContentCardHeaderStartComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-content-card-header-start'\n     */\n    @HostBinding('class') string = 'eui-content-card-header-start';\n}\n",
            "styleUrl": "./eui-content-card-header-start.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiContentCardHeaderSubmetadataComponent",
            "id": "component-EuiContentCardHeaderSubmetadataComponent-894825e05da59144ad54a0c4b46f783e9f17c9fa5204b4b0934a0588688604aa98587b926b3dd0de5f4a637be0e97bef0e98d4e02e4a6ae48663f7bfa4f99909",
            "file": "packages/components/eui-content-card/eui-content-card-header/eui-content-card-header-submetadata.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-content-card-header-submetadata",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-card-header-content-submetadata'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 48,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1526,
                            "end": 1578,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1527,
                                "end": 1534,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-content-card-header-submetadata&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-card-header-content-submetadata'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1526,
                            "end": 1578,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1527,
                                "end": 1534,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-content-card-header-submetadata&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 48,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Container for secondary metadata information displayed below the primary metadata. Used for supplementary details like ratings, statistics, or additional context.</p>\n<h3>Rating Display</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-header-submetadata&gt;\n    &lt;span class=&quot;eui-u-flex eui-u-flex-gap-2xs&quot;&gt;\n        &lt;eui-icon-svg icon=&quot;star:fill&quot; fillColor=&quot;primary&quot; size=&quot;s&quot;/&gt;\n        &lt;strong&gt;4.8&lt;/strong&gt; (156 reviews)\n    &lt;/span&gt;\n&lt;/eui-content-card-header-submetadata&gt;</code></pre></div><h3>Statistics</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-header-submetadata&gt;\n    1.2K views • 45 comments\n&lt;/eui-content-card-header-submetadata&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Provide text alternatives for icon-only information</li>\n<li>Use <code>aria-label</code> when icons convey meaning</li>\n<li>Ensure color is not the only means of conveying information</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Displayed below primary metadata with minimal visual weight</li>\n<li>Use for less critical but useful information</li>\n<li>Often includes icons or visual indicators</li>\n<li>Should not duplicate information from other header sections</li>\n</ul>\n",
            "rawdescription": "\n\nContainer for secondary metadata information displayed below the primary metadata. Used for supplementary details like ratings, statistics, or additional context.\n\n### Rating Display\n```html\n<eui-content-card-header-submetadata>\n    <span class=\"eui-u-flex eui-u-flex-gap-2xs\">\n        <eui-icon-svg icon=\"star:fill\" fillColor=\"primary\" size=\"s\"/>\n        <strong>4.8</strong> (156 reviews)\n    </span>\n</eui-content-card-header-submetadata>\n```\n\n### Statistics\n```html\n<eui-content-card-header-submetadata>\n    1.2K views • 45 comments\n</eui-content-card-header-submetadata>\n```\n\n### Accessibility\n- Provide text alternatives for icon-only information\n- Use `aria-label` when icons convey meaning\n- Ensure color is not the only means of conveying information\n\n### Notes\n- Displayed below primary metadata with minimal visual weight\n- Use for less critical but useful information\n- Often includes icons or visual indicators\n- Should not duplicate information from other header sections\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * @description\n * Container for secondary metadata information displayed below the primary metadata. Used for supplementary details like ratings, statistics, or additional context.\n * \n * @usageNotes\n * ### Rating Display\n * ```html\n * <eui-content-card-header-submetadata>\n *     <span class=\"eui-u-flex eui-u-flex-gap-2xs\">\n *         <eui-icon-svg icon=\"star:fill\" fillColor=\"primary\" size=\"s\"/>\n *         <strong>4.8</strong> (156 reviews)\n *     </span>\n * </eui-content-card-header-submetadata>\n * ```\n * \n * ### Statistics\n * ```html\n * <eui-content-card-header-submetadata>\n *     1.2K views • 45 comments\n * </eui-content-card-header-submetadata>\n * ```\n * \n * ### Accessibility\n * - Provide text alternatives for icon-only information\n * - Use `aria-label` when icons convey meaning\n * - Ensure color is not the only means of conveying information\n * \n * ### Notes\n * - Displayed below primary metadata with minimal visual weight\n * - Use for less critical but useful information\n * - Often includes icons or visual indicators\n * - Should not duplicate information from other header sections\n */\n@Component({\n    selector: 'eui-content-card-header-submetadata',\n    template: '<ng-content/>',\n    styleUrl: './eui-content-card-header-submetadata.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiContentCardHeaderSubmetadataComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-content-card-header-submetadata'\n     */\n    @HostBinding('class') string = 'eui-card-header-content-submetadata';\n}\n",
            "styleUrl": "./eui-content-card-header-submetadata.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiContentCardHeaderSubtitleComponent",
            "id": "component-EuiContentCardHeaderSubtitleComponent-2adf5d052ba1e43b8e264771248b80e3c4903f6e332f94fb31d72ae1ae94483404dd7bd6c407ab49239c5606a9f90df9dc72566b85af36f9e73ce415728e63de",
            "file": "packages/components/eui-content-card/eui-content-card-header/eui-content-card-header-subtitle.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-content-card-header-subtitle",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-content-card-header-subtitle'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 45,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1352,
                            "end": 1401,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1353,
                                "end": 1360,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-content-card-header-subtitle&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-content-card-header-subtitle'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1352,
                            "end": 1401,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1353,
                                "end": 1360,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-content-card-header-subtitle&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 45,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Container for secondary title text displayed below the main title. Used for additional context or description.</p>\n<h3>Basic Subtitle</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-header-subtitle&gt;\n    Additional information about the card\n&lt;/eui-content-card-header-subtitle&gt;</code></pre></div><h3>With Formatting</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-header-subtitle&gt;\n    &lt;span class=&quot;eui-u-text-muted&quot;&gt;Last updated: 2 hours ago&lt;/span&gt;\n&lt;/eui-content-card-header-subtitle&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Keep subtitle text concise and relevant</li>\n<li>Ensure sufficient color contrast for readability</li>\n<li>Use semantic markup when appropriate</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Displayed directly below the title with reduced visual prominence</li>\n<li>Optional component - only include when additional context is needed</li>\n<li>Styled with secondary typography for visual hierarchy</li>\n<li>Should complement, not duplicate, the title</li>\n</ul>\n",
            "rawdescription": "\n\nContainer for secondary title text displayed below the main title. Used for additional context or description.\n\n### Basic Subtitle\n```html\n<eui-content-card-header-subtitle>\n    Additional information about the card\n</eui-content-card-header-subtitle>\n```\n\n### With Formatting\n```html\n<eui-content-card-header-subtitle>\n    <span class=\"eui-u-text-muted\">Last updated: 2 hours ago</span>\n</eui-content-card-header-subtitle>\n```\n\n### Accessibility\n- Keep subtitle text concise and relevant\n- Ensure sufficient color contrast for readability\n- Use semantic markup when appropriate\n\n### Notes\n- Displayed directly below the title with reduced visual prominence\n- Optional component - only include when additional context is needed\n- Styled with secondary typography for visual hierarchy\n- Should complement, not duplicate, the title\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * @description\n * Container for secondary title text displayed below the main title. Used for additional context or description.\n * \n * @usageNotes\n * ### Basic Subtitle\n * ```html\n * <eui-content-card-header-subtitle>\n *     Additional information about the card\n * </eui-content-card-header-subtitle>\n * ```\n * \n * ### With Formatting\n * ```html\n * <eui-content-card-header-subtitle>\n *     <span class=\"eui-u-text-muted\">Last updated: 2 hours ago</span>\n * </eui-content-card-header-subtitle>\n * ```\n * \n * ### Accessibility\n * - Keep subtitle text concise and relevant\n * - Ensure sufficient color contrast for readability\n * - Use semantic markup when appropriate\n * \n * ### Notes\n * - Displayed directly below the title with reduced visual prominence\n * - Optional component - only include when additional context is needed\n * - Styled with secondary typography for visual hierarchy\n * - Should complement, not duplicate, the title\n */\n@Component({\n    selector: 'eui-content-card-header-subtitle',\n    template: '<ng-content/>',\n    styleUrl: './eui-content-card-header-subtitle.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiContentCardHeaderSubtitleComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-content-card-header-subtitle'\n     */\n    @HostBinding('class') string = 'eui-content-card-header-subtitle';\n}\n",
            "styleUrl": "./eui-content-card-header-subtitle.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiContentCardHeaderTitleComponent",
            "id": "component-EuiContentCardHeaderTitleComponent-3f3efd92d246ff6adc92961d7f8b18074bd00d1d1155eec36c8227acd234d6439e62a31663af387bad8cfc69076fd9514e4a6a0de6489fa85b47eaed2032a9bd",
            "file": "packages/components/eui-content-card/eui-content-card-header/eui-content-card-header-title.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-content-card-header-title",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-content-card-header-title'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 53,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1457,
                            "end": 1503,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1458,
                                "end": 1465,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-content-card-header-title&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-content-card-header-title'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1457,
                            "end": 1503,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1458,
                                "end": 1465,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-content-card-header-title&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 53,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Container for the main title text of the card. Supports plain text, links, or custom HTML content.</p>\n<h3>Plain Text Title</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-header-title&gt;\n    Card Title\n&lt;/eui-content-card-header-title&gt;</code></pre></div><h3>Linked Title</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-header-title&gt;\n    &lt;a href=&quot;/details&quot; class=&quot;eui-u-text-link&quot;&gt;Clickable Card Title&lt;/a&gt;\n&lt;/eui-content-card-header-title&gt;</code></pre></div><h3>With Semantic Heading</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-header-title&gt;\n    &lt;h3&gt;Semantic Title&lt;/h3&gt;\n&lt;/eui-content-card-header-title&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use appropriate heading levels (h2-h6) based on document structure</li>\n<li>Ensure titles are descriptive and meaningful</li>\n<li>Links should clearly indicate their destination</li>\n<li>Avoid generic text like &quot;Click here&quot;</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Primary heading for the card content</li>\n<li>Styled with appropriate typography for prominence</li>\n<li>Can contain interactive elements like links</li>\n<li>Should be concise and descriptive</li>\n</ul>\n",
            "rawdescription": "\n\nContainer for the main title text of the card. Supports plain text, links, or custom HTML content.\n\n### Plain Text Title\n```html\n<eui-content-card-header-title>\n    Card Title\n</eui-content-card-header-title>\n```\n\n### Linked Title\n```html\n<eui-content-card-header-title>\n    <a href=\"/details\" class=\"eui-u-text-link\">Clickable Card Title</a>\n</eui-content-card-header-title>\n```\n\n### With Semantic Heading\n```html\n<eui-content-card-header-title>\n    <h3>Semantic Title</h3>\n</eui-content-card-header-title>\n```\n\n### Accessibility\n- Use appropriate heading levels (h2-h6) based on document structure\n- Ensure titles are descriptive and meaningful\n- Links should clearly indicate their destination\n- Avoid generic text like \"Click here\"\n\n### Notes\n- Primary heading for the card content\n- Styled with appropriate typography for prominence\n- Can contain interactive elements like links\n- Should be concise and descriptive\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * @description\n * Container for the main title text of the card. Supports plain text, links, or custom HTML content.\n * \n * @usageNotes\n * ### Plain Text Title\n * ```html\n * <eui-content-card-header-title>\n *     Card Title\n * </eui-content-card-header-title>\n * ```\n * \n * ### Linked Title\n * ```html\n * <eui-content-card-header-title>\n *     <a href=\"/details\" class=\"eui-u-text-link\">Clickable Card Title</a>\n * </eui-content-card-header-title>\n * ```\n * \n * ### With Semantic Heading\n * ```html\n * <eui-content-card-header-title>\n *     <h3>Semantic Title</h3>\n * </eui-content-card-header-title>\n * ```\n * \n * ### Accessibility\n * - Use appropriate heading levels (h2-h6) based on document structure\n * - Ensure titles are descriptive and meaningful\n * - Links should clearly indicate their destination\n * - Avoid generic text like \"Click here\"\n * \n * ### Notes\n * - Primary heading for the card content\n * - Styled with appropriate typography for prominence\n * - Can contain interactive elements like links\n * - Should be concise and descriptive\n */\n@Component({\n    selector: 'eui-content-card-header-title',\n    template: '<ng-content/>',\n    styleUrl: './eui-content-card-header-title.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiContentCardHeaderTitleComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-content-card-header-title'\n     */\n    @HostBinding('class') string = 'eui-content-card-header-title';\n}\n",
            "styleUrl": "./eui-content-card-header-title.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiContentCardMediaComponent",
            "id": "component-EuiContentCardMediaComponent-085173ad51e991a03f1542db3e92d9a0e7bcb186a898d03c2eee85dc59ff1518c9933c7530ccc3652edeb1a38cf058854a9e3692c2b21cae42d6781f7a167c64",
            "file": "packages/components/eui-content-card/eui-content-card-media/eui-content-card-media.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-content-card-media",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-content-card-media'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 52,
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1502,
                            "end": 1541,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1503,
                                "end": 1510,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-content-card-media&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-content-card-media'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1502,
                            "end": 1541,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1503,
                                "end": 1510,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-content-card-media&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the class to the component.\n\n",
                    "description": "<p>Binds the class to the component.</p>\n",
                    "line": 52,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Container for media content (images, videos, or graphics) displayed at the start of the card. Provides a visual anchor for the card content.</p>\n<h3>Image</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-media&gt;\n    &lt;img src=&quot;/assets/card-image.jpg&quot; alt=&quot;Descriptive text&quot;/&gt;\n&lt;/eui-content-card-media&gt;</code></pre></div><h3>Icon or Graphic</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-media&gt;\n    &lt;eui-icon-svg icon=&quot;document&quot; size=&quot;xl&quot;/&gt;\n&lt;/eui-content-card-media&gt;</code></pre></div><h3>Avatar</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-content-card-media&gt;\n    &lt;eui-avatar src=&quot;/user.jpg&quot; size=&quot;l&quot;/&gt;\n&lt;/eui-content-card-media&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Always provide alt text for images</li>\n<li>Use empty alt=&quot;&quot; for decorative images</li>\n<li>Ensure icons have appropriate labels when conveying information</li>\n<li>Consider color contrast for overlaid text</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Positioned at the start of the card before header content</li>\n<li>Optional component - only include when visual media enhances the card</li>\n<li>Automatically sized and positioned for optimal layout</li>\n<li>Supports images, icons, avatars, or custom graphics</li>\n</ul>\n",
            "rawdescription": "\n\nContainer for media content (images, videos, or graphics) displayed at the start of the card. Provides a visual anchor for the card content.\n\n### Image\n```html\n<eui-content-card-media>\n    <img src=\"/assets/card-image.jpg\" alt=\"Descriptive text\"/>\n</eui-content-card-media>\n```\n\n### Icon or Graphic\n```html\n<eui-content-card-media>\n    <eui-icon-svg icon=\"document\" size=\"xl\"/>\n</eui-content-card-media>\n```\n\n### Avatar\n```html\n<eui-content-card-media>\n    <eui-avatar src=\"/user.jpg\" size=\"l\"/>\n</eui-content-card-media>\n```\n\n### Accessibility\n- Always provide alt text for images\n- Use empty alt=\"\" for decorative images\n- Ensure icons have appropriate labels when conveying information\n- Consider color contrast for overlaid text\n\n### Notes\n- Positioned at the start of the card before header content\n- Optional component - only include when visual media enhances the card\n- Automatically sized and positioned for optimal layout\n- Supports images, icons, avatars, or custom graphics\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n/**\n * @description\n * Container for media content (images, videos, or graphics) displayed at the start of the card. Provides a visual anchor for the card content.\n * \n * @usageNotes\n * ### Image\n * ```html\n * <eui-content-card-media>\n *     <img src=\"/assets/card-image.jpg\" alt=\"Descriptive text\"/>\n * </eui-content-card-media>\n * ```\n * \n * ### Icon or Graphic\n * ```html\n * <eui-content-card-media>\n *     <eui-icon-svg icon=\"document\" size=\"xl\"/>\n * </eui-content-card-media>\n * ```\n * \n * ### Avatar\n * ```html\n * <eui-content-card-media>\n *     <eui-avatar src=\"/user.jpg\" size=\"l\"/>\n * </eui-content-card-media>\n * ```\n * \n * ### Accessibility\n * - Always provide alt text for images\n * - Use empty alt=\"\" for decorative images\n * - Ensure icons have appropriate labels when conveying information\n * - Consider color contrast for overlaid text\n * \n * ### Notes\n * - Positioned at the start of the card before header content\n * - Optional component - only include when visual media enhances the card\n * - Automatically sized and positioned for optimal layout\n * - Supports images, icons, avatars, or custom graphics\n */\n@Component({\n    selector: 'eui-content-card-media',\n    template: '<ng-content/>',\n    styleUrl: './eui-content-card-media.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiContentCardMediaComponent {\n    /**\n     * Binds the class to the component.\n     *\n     * @default 'eui-content-card-media'\n     */\n    @HostBinding('class') string = 'eui-content-card-media';\n}\n",
            "styleUrl": "./eui-content-card-media.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiDashboardCardComponent",
            "id": "component-EuiDashboardCardComponent-352de1384f559f7c737e3d3b4d3482a802278aef82cce14693cbe41ea38b22190f730d78f2edc6f01fc726eba09f46a843b24bdbb25f02313420db05ec19a4c9",
            "file": "packages/components/eui-dashboard-card/eui-dashboard-card.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-dashboard-card",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-dashboard-card.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiSecondary",
                        "euiSuccess",
                        "euiInfo",
                        "euiWarning",
                        "euiDanger",
                        "euiVariant",
                        "euiSizeXS",
                        "euiSizeS",
                        "euiSizeM",
                        "euiSizeL",
                        "euiSizeXL",
                        "euiSize2XL",
                        "euiSizeVariant",
                        "euiDisabled",
                        "euiOutline"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "colorPalette",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nExtra color palette to be used on the card.\n",
                    "description": "<p>Extra color palette to be used on the card.</p>\n",
                    "line": 177,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-dashboard-card'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nElement attribute for e2e testing",
                    "description": "<p>Element attribute for e2e testing</p>\n",
                    "line": 130,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasNoBackgroundAvatar",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nWhether to display the avatar without background",
                    "description": "<p>Whether to display the avatar without background</p>\n",
                    "line": 197,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "iconLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nLabel for the icon (accessibility)",
                    "description": "<p>Label for the icon (accessibility)</p>\n",
                    "line": 163,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "iconSvgName",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nName of the icon to display",
                    "description": "<p>Name of the icon to display</p>\n",
                    "line": 154,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "iconSvgSize",
                    "defaultValue": "'m'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5190,
                            "end": 5208,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5191,
                                "end": 5198,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;m&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSize of the icon\n",
                    "description": "<p>Size of the icon</p>\n",
                    "line": 160,
                    "type": "\"2xs\" | \"xs\" | \"s\" | \"m\" | \"l\" | \"xl\" | \"2xl\" | \"3xl\" | \"4xl\"",
                    "decorators": []
                },
                {
                    "name": "imageUrl",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nURL for the avatar image",
                    "description": "<p>URL for the avatar image</p>\n",
                    "line": 151,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isClickeable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nWhether the card is clickable",
                    "description": "<p>Whether the card is clickable</p>\n",
                    "line": 200,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isFlat",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nWhether to display the card without elevation",
                    "description": "<p>Whether to display the card without elevation</p>\n",
                    "line": 203,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isFlatAvatar",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nWhether to display the avatar without elevation",
                    "description": "<p>Whether to display the avatar without elevation</p>\n",
                    "line": 194,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isHorizontal",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nWhether to display the card in horizontal layout",
                    "description": "<p>Whether to display the card in horizontal layout</p>\n",
                    "line": 191,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isStacked",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nWhether to display the card without elevation",
                    "description": "<p>Whether to display the card without elevation</p>\n",
                    "line": 206,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nPrimary label/title of the card",
                    "description": "<p>Primary label/title of the card</p>\n",
                    "line": 133,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "labelMaxLines",
                    "defaultValue": "2",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4794,
                            "end": 4810,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4795,
                                "end": 4802,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>2</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nMaximum number of lines for the primary label\n",
                    "description": "<p>Maximum number of lines for the primary label</p>\n",
                    "line": 142,
                    "type": "\"1\" | \"2\" | \"3\" | \"4\" | \"5\"",
                    "decorators": []
                },
                {
                    "name": "subLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nSecondary label/subtitle of the card",
                    "description": "<p>Secondary label/subtitle of the card</p>\n",
                    "line": 136,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "subLabelMaxLines",
                    "defaultValue": "2",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4935,
                            "end": 4951,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4936,
                                "end": 4943,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>2</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nMaximum number of lines for the secondary label\n",
                    "description": "<p>Maximum number of lines for the secondary label</p>\n",
                    "line": 148,
                    "type": "\"1\" | \"2\" | \"3\" | \"4\" | \"5\"",
                    "decorators": []
                },
                {
                    "name": "url",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nInternal router link URL",
                    "description": "<p>Internal router link URL</p>\n",
                    "line": 166,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "urlExternal",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nExternal URL",
                    "description": "<p>External URL</p>\n",
                    "line": 169,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "urlExternalTarget",
                    "defaultValue": "'_blank'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nTarget attribute for external URLs",
                    "description": "<p>Target attribute for external URLs</p>\n",
                    "line": 172,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "cardClick",
                    "defaultValue": "new EventEmitter<MouseEvent>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nEvent emitted when the card is clicked",
                    "description": "<p>Event emitted when the card is clicked</p>\n",
                    "line": 209,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 214
                },
                {
                    "name": "customContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiDashboardCardContentComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Reference to the custom content component</p>\n",
                    "line": 213,
                    "rawdescription": "\nReference to the custom content component",
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 223,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nSets default size and variant if not provided",
                    "description": "<p>Sets default size and variant if not provided</p>\n"
                },
                {
                    "name": "onClick",
                    "args": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 218,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nHandles card click events",
                    "description": "<p>Handles card click events</p>\n",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'click', ['$event']"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.tabindex",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nTab index for keyboard navigation",
                    "description": "<p>Tab index for keyboard navigation</p>\n",
                    "line": 181,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3453,
                            "end": 3795,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3454,
                                "end": 3465,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the dashboard card component based on its current state:</p>\n<ul>\n<li>Adds base dashboard card classes</li>\n<li>Adds horizontal layout class if isHorizontal is true</li>\n<li>Adds link class if the card is clickable or has a URL</li>\n<li>Adds flat class if isFlat is true</li>\n</ul>\n"
                        },
                        {
                            "pos": 3795,
                            "end": 3860,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3796,
                                "end": 3803,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 3804,
                                "end": 3812,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 3805,
                                    "end": 3811,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the dashboard card component based on its current state:\n- Adds base dashboard card classes\n- Adds horizontal layout class if isHorizontal is true\n- Adds link class if the card is clickable or has a URL\n- Adds flat class if isFlat is true\n\n",
                    "description": "<p>Computes and returns the CSS classes for the dashboard card component based on its current state:</p>\n<ul>\n<li>Adds base dashboard card classes</li>\n<li>Adds horizontal layout class if isHorizontal is true</li>\n<li>Adds link class if the card is clickable or has a URL</li>\n<li>Adds flat class if isFlat is true</li>\n</ul>\n",
                    "line": 115,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [
                {
                    "name": "click",
                    "args": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$event"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nHandles card click events",
                    "description": "<p>Handles card click events</p>\n",
                    "line": 218
                }
            ],
            "standalone": false,
            "imports": [
                {
                    "name": "NgClass"
                },
                {
                    "name": "RouterModule",
                    "type": "module"
                },
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "EUI_AVATAR"
                },
                {
                    "name": "EUI_LABEL"
                },
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "<p>Dashboard card component that can display content with various styling options, including avatar/icon, labels, and clickable behavior.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dashboard-card\n  label=&quot;Project Status&quot;\n  subLabel=&quot;Last updated today&quot;\n  iconSvgName=&quot;eui-folder&quot;&gt;\n&lt;/eui-dashboard-card&gt;</code></pre></div><h3>With Navigation</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">&lt;eui-dashboard-card\n  label=&quot;View Details&quot;\n  url=&quot;/dashboard/details&quot;\n  iconSvgName=&quot;eui-chart&quot;&gt;\n&lt;/eui-dashboard-card&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Automatically sets <code>tabindex=&quot;0&quot;</code> when clickable or has URL for keyboard navigation</li>\n<li>Use <code>iconLabel</code> to provide accessible text for icon-only cards</li>\n<li>Card emits <code>cardClick</code> event for custom interactions</li>\n<li>Supports disabled state via <code>euiDisabled</code> directive</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use <code>isHorizontal</code> for side-by-side layout of avatar and content</li>\n<li>Combine with <code>euiVariant</code> and size directives for visual hierarchy</li>\n<li><code>labelMaxLines</code> and <code>subLabelMaxLines</code> control text truncation</li>\n<li>External links automatically open in new tab with <code>urlExternalTarget</code></li>\n</ul>\n",
            "rawdescription": "\n\nDashboard card component that can display content with various styling options, including avatar/icon, labels, and clickable behavior.\n\n### Basic Usage\n```html\n<eui-dashboard-card\n  label=\"Project Status\"\n  subLabel=\"Last updated today\"\n  iconSvgName=\"eui-folder\">\n</eui-dashboard-card>\n```\n\n### With Navigation\n```typescript\n<eui-dashboard-card\n  label=\"View Details\"\n  url=\"/dashboard/details\"\n  iconSvgName=\"eui-chart\">\n</eui-dashboard-card>\n```\n\n### Accessibility\n- Automatically sets `tabindex=\"0\"` when clickable or has URL for keyboard navigation\n- Use `iconLabel` to provide accessible text for icon-only cards\n- Card emits `cardClick` event for custom interactions\n- Supports disabled state via `euiDisabled` directive\n\n### Notes\n- Use `isHorizontal` for side-by-side layout of avatar and content\n- Combine with `euiVariant` and size directives for visual hierarchy\n- `labelMaxLines` and `subLabelMaxLines` control text truncation\n- External links automatically open in new tab with `urlExternalTarget`\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ChangeDetectionStrategy,\n    OnInit,\n    Input,\n    HostListener,\n    Output,\n    EventEmitter,\n    booleanAttribute,\n    ContentChild,\n    forwardRef,\n    QueryList,\n    inject,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_AVATAR } from '@eui/components/eui-avatar';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EuiDashboardCardContentComponent } from './eui-dashboard-card-content';\nimport { EuiDashboardCardStatusContentComponent } from './eui-dashboard-card-status-content.component';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { EuiDashboardCardContentHeaderComponent } from './eui-dashboard-card-content-header';\nimport { EuiDashboardCardContentHeaderIconComponent } from './eui-dashboard-card-content-header-icon';\nimport { EuiDashboardCardContentHeaderTitleComponent } from './eui-dashboard-card-content-header-title';\nimport { EuiDashboardCardContentHeaderActionComponent } from './eui-dashboard-card-content-header-action';\nimport { EuiDashboardCardContentBodyComponent } from './eui-dashboard-card-content-body';\n\n/**\n * @description\n * Dashboard card component that can display content with various styling options, including avatar/icon, labels, and clickable behavior.\n * \n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-dashboard-card \n *   label=\"Project Status\" \n *   subLabel=\"Last updated today\"\n *   iconSvgName=\"eui-folder\">\n * </eui-dashboard-card>\n * ```\n * \n * ### With Navigation\n * ```typescript\n * <eui-dashboard-card \n *   label=\"View Details\" \n *   url=\"/dashboard/details\"\n *   iconSvgName=\"eui-chart\">\n * </eui-dashboard-card>\n * ```\n * \n * ### Accessibility\n * - Automatically sets `tabindex=\"0\"` when clickable or has URL for keyboard navigation\n * - Use `iconLabel` to provide accessible text for icon-only cards\n * - Card emits `cardClick` event for custom interactions\n * - Supports disabled state via `euiDisabled` directive\n * \n * ### Notes\n * - Use `isHorizontal` for side-by-side layout of avatar and content\n * - Combine with `euiVariant` and size directives for visual hierarchy\n * - `labelMaxLines` and `subLabelMaxLines` control text truncation\n * - External links automatically open in new tab with `urlExternalTarget`\n */\n@Component({\n    templateUrl: './eui-dashboard-card.component.html',\n    selector: 'eui-dashboard-card',\n    styleUrl: 'eui-dashboard-card.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        NgClass,\n        RouterModule,\n        NgTemplateOutlet,\n        ...EUI_AVATAR,\n        ...EUI_LABEL,\n        ...EUI_ICON,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiPrimary',\n                'euiSecondary',\n                'euiSuccess',\n                'euiInfo',\n                'euiWarning',\n                'euiDanger',\n                'euiVariant',\n                'euiSizeXS',\n                'euiSizeS',\n                'euiSizeM',\n                'euiSizeL',\n                'euiSizeXL',\n                'euiSize2XL',\n                'euiSizeVariant',\n                'euiDisabled',\n                'euiOutline',\n            ],\n        },\n    ],\n})\nexport class EuiDashboardCardComponent implements OnInit {\n    /**\n     * @description\n     * Computes and returns the CSS classes for the dashboard card component based on its current state:\n     * - Adds base dashboard card classes\n     * - Adds horizontal layout class if isHorizontal is true\n     * - Adds link class if the card is clickable or has a URL\n     * - Adds flat class if isFlat is true\n     *\n     * @returns {string} Space-separated string of CSS class names\n     */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-dashboard-card'),\n            this.isHorizontal ? 'eui-dashboard-card--horizontal' : '',\n            this.url || this.urlExternal || this.isClickeable ? 'eui-dashboard-card--link': '',\n            this.isFlat ? 'eui-dashboard-card--flat': '',\n            this.isStacked ? 'eui-dashboard-card--stacked': '',\n            this.colorPalette ? `eui-dashboard-card--${this.colorPalette}` : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /** Element attribute for e2e testing */\n    @HostBinding('attr.data-e2e')\n    @Input() e2eAttr = 'eui-dashboard-card';\n\n    /** Primary label/title of the card */\n    @Input() label: string;\n\n    /** Secondary label/subtitle of the card */\n    @Input() subLabel: string;\n\n    /**\n     * Maximum number of lines for the primary label\n     * @default 2\n     */\n    @Input() labelMaxLines: 1 | 2 | 3 | 4 | 5 = 2;\n\n    /**\n     * Maximum number of lines for the secondary label\n     * @default 2\n     */\n    @Input() subLabelMaxLines: 1 | 2 | 3 | 4 | 5 = 2;\n\n    /** URL for the avatar image */\n    @Input() imageUrl: string;\n\n    /** Name of the icon to display */\n    @Input() iconSvgName: string;\n\n    /**\n     * Size of the icon\n     * @default 'm'\n     */\n    @Input() iconSvgSize: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl' = 'm';\n\n    /** Label for the icon (accessibility) */\n    @Input() iconLabel: string;\n\n    /** Internal router link URL */\n    @Input() url: string;\n\n    /** External URL */\n    @Input() urlExternal: string;\n\n    /** Target attribute for external URLs */\n    @Input() urlExternalTarget = '_blank';\n\n    /**\n     * Extra color palette to be used on the card.\n     */\n    @Input() colorPalette: string;    \n\n    /** Tab index for keyboard navigation */\n    @HostBinding('attr.tabindex')\n    get tabindex(): string {\n        if (!this.baseStatesDirective.euiDisabled) {\n            if (this.url || this.urlExternal || this.isClickeable) {\n                return '0';\n            }\n        }\n        return '-1';\n    }\n\n    /** Whether to display the card in horizontal layout */\n    @Input({ transform: booleanAttribute }) isHorizontal = false;\n\n    /** Whether to display the avatar without elevation */\n    @Input({ transform: booleanAttribute }) isFlatAvatar = false;\n\n    /** Whether to display the avatar without background */\n    @Input({ transform: booleanAttribute }) hasNoBackgroundAvatar = false;\n\n    /** Whether the card is clickable */\n    @Input({ transform: booleanAttribute }) isClickeable = false;\n\n    /** Whether to display the card without elevation */\n    @Input({ transform: booleanAttribute }) isFlat = false;\n\n    /** Whether to display the card without elevation */\n    @Input({ transform: booleanAttribute }) isStacked = false;    \n\n    /** Event emitted when the card is clicked */\n    @Output() cardClick = new EventEmitter<MouseEvent>();\n\n    /** Reference to the custom content component */\n    @ContentChild(forwardRef(() => EuiDashboardCardContentComponent))\n    customContent: QueryList<EuiDashboardCardContentComponent>;\n    baseStatesDirective = inject(BaseStatesDirective);\n\n    /** Handles card click events */\n    @HostListener('click', ['$event'])\n    onClick(event: MouseEvent): void {\n        this.cardClick.emit(event);\n    }\n\n    /** Sets default size and variant if not provided */\n    ngOnInit(): void {\n        if (!this.baseStatesDirective.euiSizeVariant) {\n            this.baseStatesDirective.euiSizeL = true;\n        }\n    }\n}\n",
            "styleUrl": "eui-dashboard-card.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 115,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the dashboard card component based on its current state:\n- Adds base dashboard card classes\n- Adds horizontal layout class if isHorizontal is true\n- Adds link class if the card is clickable or has a URL\n- Adds flat class if isFlat is true\n\n",
                        "description": "<p>Computes and returns the CSS classes for the dashboard card component based on its current state:</p>\n<ul>\n<li>Adds base dashboard card classes</li>\n<li>Adds horizontal layout class if isHorizontal is true</li>\n<li>Adds link class if the card is clickable or has a URL</li>\n<li>Adds flat class if isFlat is true</li>\n</ul>\n",
                        "jsdoctags": [
                            {
                                "pos": 3453,
                                "end": 3795,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 3454,
                                    "end": 3465,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the dashboard card component based on its current state:</p>\n<ul>\n<li>Adds base dashboard card classes</li>\n<li>Adds horizontal layout class if isHorizontal is true</li>\n<li>Adds link class if the card is clickable or has a URL</li>\n<li>Adds flat class if isFlat is true</li>\n</ul>\n"
                            },
                            {
                                "pos": 3795,
                                "end": 3860,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 3796,
                                    "end": 3803,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 3804,
                                    "end": 3812,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 3805,
                                        "end": 3811,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                },
                "tabindex": {
                    "name": "tabindex",
                    "getSignature": {
                        "name": "tabindex",
                        "type": "string",
                        "returnType": "string",
                        "line": 181,
                        "rawdescription": "\nTab index for keyboard navigation",
                        "description": "<p>Tab index for keyboard navigation</p>\n"
                    }
                }
            },
            "templateData": "@if (url || urlExternal) {\n    @if (urlExternal) {\n        <a href=\"{{ urlExternal }}\" target=\"{{ urlExternalTarget }}\" class=\"eui-dashboard-card__anchor-wrapper\">\n            <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n        </a>\n    } @else {\n       <a [routerLink]=\"[url]\" class=\"eui-dashboard-card__anchor-wrapper\">\n            <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n       </a>\n    }\n} @else {\n    @if (customContent) {\n        <ng-content select=\"eui-dashboard-card-content\"/>\n    } @else {\n        <ng-container *ngTemplateOutlet=\"content\" />\n    }\n}\n\n<div class=\"eui-dashboard-card__status\">\n    <ng-content select=\"eui-dashboard-card-status-content\"/>\n</div>\n\n<ng-template #content>\n    @if (iconSvgName || imageUrl || iconLabel) {\n        <div class=\"eui-dashboard-card__avatar-wrapper\">\n            <eui-avatar\n                [euiVariant]=\"baseStatesDirective.euiVariant\"\n                [euiSizeVariant]=\"baseStatesDirective.euiSizeVariant\"\n                [hasNoBackground]=\"hasNoBackgroundAvatar\">\n                <eui-avatar-icon>\n                    @if (iconSvgName) {\n                        <eui-icon-svg [icon]=\"iconSvgName\" [size]=\"iconSvgSize\"></eui-icon-svg>\n                    }\n                </eui-avatar-icon>\n                @if (imageUrl) {\n                    <eui-avatar-image imageUrl=\"{{ imageUrl }}\"></eui-avatar-image>\n                }\n                @if (iconLabel) {\n                    <eui-avatar-text>{{iconLabel}}</eui-avatar-text>\n                }\n            </eui-avatar>\n        </div>\n    }\n    <div class=\"eui-dashboard-card__content-wrapper\">\n        @if (label) {\n            <div class=\"eui-dashboard-card__label-content\">\n                <eui-label>\n                    <eui-label class=\"eui-dashboard-card__label eui-dashboard-card__label--max-lines-{{labelMaxLines}}\" [ngClass]=\"subLabel ? 'eui-dashboard-card__label--with-sublabel' : ''\">\n                        {{ label }}\n                    </eui-label>\n                    @if (subLabel) {\n                        <eui-label euiSublabel class=\"eui-dashboard-card__sublabel eui-dashboard-card__sublabel--max-lines-{{subLabelMaxLines}}\">\n                            {{ subLabel }}\n                        </eui-label>\n                    }\n                </eui-label>\n            </div>\n        }\n        <div class=\"eui-dashboard-card__sub-content\">\n            <ng-content></ng-content>\n        </div>\n    </div>\n</ng-template>\n"
        },
        {
            "name": "EuiDashboardCardContentBodyComponent",
            "id": "component-EuiDashboardCardContentBodyComponent-ba46884fcd20e77acc7d423757b32011a351346380b28659b432b2ff2772e51f11b596e2a6d882aa0955f57c582a86f5e4ecda9b23c5e334804e7250a76000be",
            "file": "packages/components/eui-dashboard-card/eui-dashboard-card-content-body.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-dashboard-card-content-body",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-dashboard-card-content-body'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 47,
                    "rawdescription": "\nCSS class applied to the host element",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-dashboard-card-content-body'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nCSS class applied to the host element",
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 47,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Main content area for custom dashboard cards, typically displaying metrics, charts, or key information.\nProvides flexible content projection for any type of dashboard data visualization.</p>\n<h3>Metric Display</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dashboard-card-content-body&gt;\n  &lt;div class=&quot;eui-u-f-3xl-bold&quot;&gt;1,247&lt;/div&gt;\n  &lt;div class=&quot;eui-u-f-s eui-u-c-s-muted&quot;&gt;Total Orders&lt;/div&gt;\n&lt;/eui-dashboard-card-content-body&gt;</code></pre></div><h3>With Trend Indicator</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dashboard-card-content-body&gt;\n  &lt;div class=&quot;eui-u-f-2xl-bold&quot;&gt;$45,231&lt;/div&gt;\n  &lt;div class=&quot;eui-u-flex eui-u-gap-xs&quot;&gt;\n    &lt;eui-icon-svg icon=&quot;arrow-up:regular&quot; fillColor=&quot;success&quot; size=&quot;xs&quot;/&gt;\n    &lt;span class=&quot;eui-u-c-s-success eui-u-f-s&quot;&gt;+18.2% from last week&lt;/span&gt;\n  &lt;/div&gt;\n&lt;/eui-dashboard-card-content-body&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use semantic HTML for data presentation</li>\n<li>Provide text alternatives for visual indicators (icons, colors)</li>\n<li>Ensure metrics have descriptive labels for screen readers</li>\n<li>Use appropriate ARIA attributes for dynamic content</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Main content area with flexible height</li>\n<li>Supports any content: text, charts, lists, or custom components</li>\n<li>Use utility classes for consistent typography and spacing</li>\n<li>Grows to fill available space between header and footer</li>\n</ul>\n",
            "rawdescription": "\n\nMain content area for custom dashboard cards, typically displaying metrics, charts, or key information.\nProvides flexible content projection for any type of dashboard data visualization.\n\n### Metric Display\n```html\n<eui-dashboard-card-content-body>\n  <div class=\"eui-u-f-3xl-bold\">1,247</div>\n  <div class=\"eui-u-f-s eui-u-c-s-muted\">Total Orders</div>\n</eui-dashboard-card-content-body>\n```\n\n### With Trend Indicator\n```html\n<eui-dashboard-card-content-body>\n  <div class=\"eui-u-f-2xl-bold\">$45,231</div>\n  <div class=\"eui-u-flex eui-u-gap-xs\">\n    <eui-icon-svg icon=\"arrow-up:regular\" fillColor=\"success\" size=\"xs\"/>\n    <span class=\"eui-u-c-s-success eui-u-f-s\">+18.2% from last week</span>\n  </div>\n</eui-dashboard-card-content-body>\n```\n\n### Accessibility\n- Use semantic HTML for data presentation\n- Provide text alternatives for visual indicators (icons, colors)\n- Ensure metrics have descriptive labels for screen readers\n- Use appropriate ARIA attributes for dynamic content\n\n### Notes\n- Main content area with flexible height\n- Supports any content: text, charts, lists, or custom components\n- Use utility classes for consistent typography and spacing\n- Grows to fill available space between header and footer\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Main content area for custom dashboard cards, typically displaying metrics, charts, or key information.\n * Provides flexible content projection for any type of dashboard data visualization.\n * \n * @usageNotes\n * ### Metric Display\n * ```html\n * <eui-dashboard-card-content-body>\n *   <div class=\"eui-u-f-3xl-bold\">1,247</div>\n *   <div class=\"eui-u-f-s eui-u-c-s-muted\">Total Orders</div>\n * </eui-dashboard-card-content-body>\n * ```\n * \n * ### With Trend Indicator\n * ```html\n * <eui-dashboard-card-content-body>\n *   <div class=\"eui-u-f-2xl-bold\">$45,231</div>\n *   <div class=\"eui-u-flex eui-u-gap-xs\">\n *     <eui-icon-svg icon=\"arrow-up:regular\" fillColor=\"success\" size=\"xs\"/>\n *     <span class=\"eui-u-c-s-success eui-u-f-s\">+18.2% from last week</span>\n *   </div>\n * </eui-dashboard-card-content-body>\n * ```\n * \n * ### Accessibility\n * - Use semantic HTML for data presentation\n * - Provide text alternatives for visual indicators (icons, colors)\n * - Ensure metrics have descriptive labels for screen readers\n * - Use appropriate ARIA attributes for dynamic content\n * \n * ### Notes\n * - Main content area with flexible height\n * - Supports any content: text, charts, lists, or custom components\n * - Use utility classes for consistent typography and spacing\n * - Grows to fill available space between header and footer\n */\n@Component({\n    selector: 'eui-dashboard-card-content-body',\n    template: '<ng-content />',\n    styleUrl: './eui-dashboard-card-content-body.scss',\n})\nexport class EuiDashboardCardContentBodyComponent {\n    /** CSS class applied to the host element */\n    @HostBinding('class') string = 'eui-dashboard-card-content-body';\n}\n",
            "styleUrl": "./eui-dashboard-card-content-body.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiDashboardCardContentComponent",
            "id": "component-EuiDashboardCardContentComponent-d3c421e2d842d803e507615429d5d8e420c8a3af2eb5cdcaeeb826d3f13a935342e63c5c61fd5f267941baf7fac21bfd5c2ce661d1ec24a689b02f8b8d8c6181",
            "file": "packages/components/eui-dashboard-card/eui-dashboard-card-content.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-dashboard-card-content",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-dashboard-card-content.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-dashboard-card-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 55,
                    "rawdescription": "\nCSS class applied to the host element",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-dashboard-card-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nCSS class applied to the host element",
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 55,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Custom content container for EuiDashboardCard that enables fully customized card layouts.\nUse this when the default card structure doesn&#39;t meet your needs and you want complete control\nover the card&#39;s internal structure with header, body, and footer sections.</p>\n<h3>Complete Custom Card</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dashboard-card&gt;\n  &lt;eui-dashboard-card-content&gt;\n    &lt;eui-dashboard-card-content-header&gt;\n      &lt;eui-dashboard-card-content-header-icon icon=&quot;chart-line:regular&quot;/&gt;\n      &lt;eui-dashboard-card-content-header-title&gt;\n        Sales Overview\n      &lt;/eui-dashboard-card-content-header-title&gt;\n      &lt;eui-dashboard-card-content-header-action&gt;\n        &lt;eui-icon-button icon=&quot;eui-ellipsis-vertical&quot; size=&quot;s&quot;/&gt;\n      &lt;/eui-dashboard-card-content-header-action&gt;\n    &lt;/eui-dashboard-card-content-header&gt;\n    &lt;eui-dashboard-card-content-body&gt;\n      &lt;div class=&quot;eui-u-f-2xl-bold&quot;&gt;$24,500&lt;/div&gt;\n      &lt;div class=&quot;eui-u-flex&quot;&gt;\n        &lt;eui-icon-svg icon=&quot;arrow-up:regular&quot; fillColor=&quot;success&quot; size=&quot;xs&quot;/&gt;\n        &lt;span class=&quot;eui-u-c-s-success&quot;&gt;+12% vs last month&lt;/span&gt;\n      &lt;/div&gt;\n    &lt;/eui-dashboard-card-content-body&gt;\n    &lt;eui-dashboard-card-content-footer&gt;\n      &lt;a class=&quot;eui-u-text-link&quot; href=&quot;/reports&quot;&gt;View full report&lt;/a&gt;\n    &lt;/eui-dashboard-card-content-footer&gt;\n  &lt;/eui-dashboard-card-content&gt;\n&lt;/eui-dashboard-card&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Maintains semantic structure with header, body, and footer sections</li>\n<li>Ensure interactive elements within have proper labels</li>\n<li>Use heading elements in title section for proper document outline</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Provides complete flexibility for complex dashboard card layouts</li>\n<li>Combine with sub-components for structured content organization</li>\n<li>Use when default card props (label, subLabel, etc.) are insufficient</li>\n<li>Supports all dashboard card variants and sizes via parent component</li>\n</ul>\n",
            "rawdescription": "\n\nCustom content container for EuiDashboardCard that enables fully customized card layouts.\nUse this when the default card structure doesn't meet your needs and you want complete control\nover the card's internal structure with header, body, and footer sections.\n\n### Complete Custom Card\n```html\n<eui-dashboard-card>\n  <eui-dashboard-card-content>\n    <eui-dashboard-card-content-header>\n      <eui-dashboard-card-content-header-icon icon=\"chart-line:regular\"/>\n      <eui-dashboard-card-content-header-title>\n        Sales Overview\n      </eui-dashboard-card-content-header-title>\n      <eui-dashboard-card-content-header-action>\n        <eui-icon-button icon=\"eui-ellipsis-vertical\" size=\"s\"/>\n      </eui-dashboard-card-content-header-action>\n    </eui-dashboard-card-content-header>\n    <eui-dashboard-card-content-body>\n      <div class=\"eui-u-f-2xl-bold\">$24,500</div>\n      <div class=\"eui-u-flex\">\n        <eui-icon-svg icon=\"arrow-up:regular\" fillColor=\"success\" size=\"xs\"/>\n        <span class=\"eui-u-c-s-success\">+12% vs last month</span>\n      </div>\n    </eui-dashboard-card-content-body>\n    <eui-dashboard-card-content-footer>\n      <a class=\"eui-u-text-link\" href=\"/reports\">View full report</a>\n    </eui-dashboard-card-content-footer>\n  </eui-dashboard-card-content>\n</eui-dashboard-card>\n```\n\n### Accessibility\n- Maintains semantic structure with header, body, and footer sections\n- Ensure interactive elements within have proper labels\n- Use heading elements in title section for proper document outline\n\n### Notes\n- Provides complete flexibility for complex dashboard card layouts\n- Combine with sub-components for structured content organization\n- Use when default card props (label, subLabel, etc.) are insufficient\n- Supports all dashboard card variants and sizes via parent component\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Custom content container for EuiDashboardCard that enables fully customized card layouts.\n * Use this when the default card structure doesn't meet your needs and you want complete control\n * over the card's internal structure with header, body, and footer sections.\n * \n * @usageNotes\n * ### Complete Custom Card\n * ```html\n * <eui-dashboard-card>\n *   <eui-dashboard-card-content>\n *     <eui-dashboard-card-content-header>\n *       <eui-dashboard-card-content-header-icon icon=\"chart-line:regular\"/>\n *       <eui-dashboard-card-content-header-title>\n *         Sales Overview\n *       </eui-dashboard-card-content-header-title>\n *       <eui-dashboard-card-content-header-action>\n *         <eui-icon-button icon=\"eui-ellipsis-vertical\" size=\"s\"/>\n *       </eui-dashboard-card-content-header-action>\n *     </eui-dashboard-card-content-header>\n *     <eui-dashboard-card-content-body>\n *       <div class=\"eui-u-f-2xl-bold\">$24,500</div>\n *       <div class=\"eui-u-flex\">\n *         <eui-icon-svg icon=\"arrow-up:regular\" fillColor=\"success\" size=\"xs\"/>\n *         <span class=\"eui-u-c-s-success\">+12% vs last month</span>\n *       </div>\n *     </eui-dashboard-card-content-body>\n *     <eui-dashboard-card-content-footer>\n *       <a class=\"eui-u-text-link\" href=\"/reports\">View full report</a>\n *     </eui-dashboard-card-content-footer>\n *   </eui-dashboard-card-content>\n * </eui-dashboard-card>\n * ```\n * \n * ### Accessibility\n * - Maintains semantic structure with header, body, and footer sections\n * - Ensure interactive elements within have proper labels\n * - Use heading elements in title section for proper document outline\n * \n * ### Notes\n * - Provides complete flexibility for complex dashboard card layouts\n * - Combine with sub-components for structured content organization\n * - Use when default card props (label, subLabel, etc.) are insufficient\n * - Supports all dashboard card variants and sizes via parent component\n */\n@Component({\n    selector: 'eui-dashboard-card-content',\n    templateUrl: './eui-dashboard-card-content.html',\n    styleUrl: './eui-dashboard-card-content.scss',\n})\nexport class EuiDashboardCardContentComponent {\n    /** CSS class applied to the host element */\n    @HostBinding('class') string = 'eui-dashboard-card-content';\n}\n",
            "styleUrl": "./eui-dashboard-card-content.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "<ng-content select=\"eui-dashboard-card-content-header\"/>\n<ng-content select=\"eui-dashboard-card-content-body\"/>\n<ng-content select=\"eui-dashboard-card-content-footer\"/>\n\n<ng-content/>"
        },
        {
            "name": "EuiDashboardCardContentFooterComponent",
            "id": "component-EuiDashboardCardContentFooterComponent-c81f229636c51c58ca3d5baa2db2bbcc9590f3c17f57215b0578b7afe2a579a45bc35e5d85abbcfbe8f5843e9416cd821ee6bf99cc65e43509880d3ae23cd911",
            "file": "packages/components/eui-dashboard-card/eui-dashboard-card-content-footer.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-dashboard-card-content-footer",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-dashboard-card-content-footer'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 44,
                    "rawdescription": "\nCSS class applied to the host element",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-dashboard-card-content-footer'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nCSS class applied to the host element",
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 44,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Footer section for custom dashboard cards, typically containing action links, buttons, or supplementary information.\nProvides a consistent bottom section for card actions and metadata.</p>\n<h3>Action Link</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dashboard-card-content-footer&gt;\n  &lt;a class=&quot;eui-u-text-link&quot; href=&quot;/details&quot;&gt;View details&lt;/a&gt;\n&lt;/eui-dashboard-card-content-footer&gt;</code></pre></div><h3>Multiple Actions</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dashboard-card-content-footer&gt;\n  &lt;div class=&quot;eui-u-flex eui-u-justify-between&quot;&gt;\n    &lt;eui-icon-button icon=&quot;eui-refresh&quot; size=&quot;s&quot; aria-label=&quot;Refresh&quot;/&gt;\n    &lt;a class=&quot;eui-u-text-link&quot; href=&quot;/export&quot;&gt;Export data&lt;/a&gt;\n  &lt;/div&gt;\n&lt;/eui-dashboard-card-content-footer&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Ensure links and buttons have descriptive text or aria-labels</li>\n<li>Maintain sufficient color contrast for footer content</li>\n<li>Use semantic elements for actions (buttons, links)</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Optional footer section for card actions</li>\n<li>Automatically positioned at bottom of card</li>\n<li>Supports any content: links, buttons, text, or custom components</li>\n<li>Use flex utilities for multi-element layouts</li>\n</ul>\n",
            "rawdescription": "\n\nFooter section for custom dashboard cards, typically containing action links, buttons, or supplementary information.\nProvides a consistent bottom section for card actions and metadata.\n\n### Action Link\n```html\n<eui-dashboard-card-content-footer>\n  <a class=\"eui-u-text-link\" href=\"/details\">View details</a>\n</eui-dashboard-card-content-footer>\n```\n\n### Multiple Actions\n```html\n<eui-dashboard-card-content-footer>\n  <div class=\"eui-u-flex eui-u-justify-between\">\n    <eui-icon-button icon=\"eui-refresh\" size=\"s\" aria-label=\"Refresh\"/>\n    <a class=\"eui-u-text-link\" href=\"/export\">Export data</a>\n  </div>\n</eui-dashboard-card-content-footer>\n```\n\n### Accessibility\n- Ensure links and buttons have descriptive text or aria-labels\n- Maintain sufficient color contrast for footer content\n- Use semantic elements for actions (buttons, links)\n\n### Notes\n- Optional footer section for card actions\n- Automatically positioned at bottom of card\n- Supports any content: links, buttons, text, or custom components\n- Use flex utilities for multi-element layouts\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Footer section for custom dashboard cards, typically containing action links, buttons, or supplementary information.\n * Provides a consistent bottom section for card actions and metadata.\n * \n * @usageNotes\n * ### Action Link\n * ```html\n * <eui-dashboard-card-content-footer>\n *   <a class=\"eui-u-text-link\" href=\"/details\">View details</a>\n * </eui-dashboard-card-content-footer>\n * ```\n * \n * ### Multiple Actions\n * ```html\n * <eui-dashboard-card-content-footer>\n *   <div class=\"eui-u-flex eui-u-justify-between\">\n *     <eui-icon-button icon=\"eui-refresh\" size=\"s\" aria-label=\"Refresh\"/>\n *     <a class=\"eui-u-text-link\" href=\"/export\">Export data</a>\n *   </div>\n * </eui-dashboard-card-content-footer>\n * ```\n * \n * ### Accessibility\n * - Ensure links and buttons have descriptive text or aria-labels\n * - Maintain sufficient color contrast for footer content\n * - Use semantic elements for actions (buttons, links)\n * \n * ### Notes\n * - Optional footer section for card actions\n * - Automatically positioned at bottom of card\n * - Supports any content: links, buttons, text, or custom components\n * - Use flex utilities for multi-element layouts\n */\n@Component({\n    selector: 'eui-dashboard-card-content-footer',\n    template: '<ng-content />',\n    styleUrl: './eui-dashboard-card-content-footer.scss',\n})\nexport class EuiDashboardCardContentFooterComponent {\n    /** CSS class applied to the host element */\n    @HostBinding('class') string = 'eui-dashboard-card-content-footer';\n}\n",
            "styleUrl": "./eui-dashboard-card-content-footer.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiDashboardCardContentHeaderActionComponent",
            "id": "component-EuiDashboardCardContentHeaderActionComponent-83998ef54b8423b151d21baf3a4b64208cdc4106876bce3d8bf4b298c9eb922e38bdc604125c0111dd0c4b1664c8a915d48347ed9096386cecf314dcbc0f9ba4",
            "file": "packages/components/eui-dashboard-card/eui-dashboard-card-content-header-action.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-dashboard-card-content-header-action",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-dashboard-card-content-header-action'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 46,
                    "rawdescription": "\nCSS class applied to the host element",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-dashboard-card-content-header-action'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nCSS class applied to the host element",
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 46,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Action area for dashboard card headers, typically containing buttons or interactive elements.\nPositioned at the end of the header for quick access to card-level actions.</p>\n<h3>Single Action Button</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dashboard-card-content-header-action&gt;\n  &lt;eui-icon-button icon=&quot;eui-settings&quot; size=&quot;s&quot; aria-label=&quot;Card settings&quot;/&gt;\n&lt;/eui-dashboard-card-content-header-action&gt;</code></pre></div><h3>Menu Button</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dashboard-card-content-header-action&gt;\n  &lt;eui-icon-button\n    icon=&quot;eui-ellipsis-vertical&quot;\n    euiRounded\n    size=&quot;s&quot;\n    aria-label=&quot;More options&quot;\n    [euiPopover]=&quot;menu&quot;/&gt;\n&lt;/eui-dashboard-card-content-header-action&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Always provide aria-label for icon-only buttons</li>\n<li>Ensure buttons have sufficient touch target size</li>\n<li>Use appropriate ARIA attributes for menus and dropdowns</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use within <code>eui-dashboard-card-content-header</code> component</li>\n<li>Typically contains icon buttons for space efficiency</li>\n<li>Positioned at the end of the header (right side in LTR)</li>\n<li>Supports any interactive element: buttons, dropdowns, toggles</li>\n</ul>\n",
            "rawdescription": "\n\nAction area for dashboard card headers, typically containing buttons or interactive elements.\nPositioned at the end of the header for quick access to card-level actions.\n\n### Single Action Button\n```html\n<eui-dashboard-card-content-header-action>\n  <eui-icon-button icon=\"eui-settings\" size=\"s\" aria-label=\"Card settings\"/>\n</eui-dashboard-card-content-header-action>\n```\n\n### Menu Button\n```html\n<eui-dashboard-card-content-header-action>\n  <eui-icon-button\n    icon=\"eui-ellipsis-vertical\"\n    euiRounded\n    size=\"s\"\n    aria-label=\"More options\"\n    [euiPopover]=\"menu\"/>\n</eui-dashboard-card-content-header-action>\n```\n\n### Accessibility\n- Always provide aria-label for icon-only buttons\n- Ensure buttons have sufficient touch target size\n- Use appropriate ARIA attributes for menus and dropdowns\n\n### Notes\n- Use within `eui-dashboard-card-content-header` component\n- Typically contains icon buttons for space efficiency\n- Positioned at the end of the header (right side in LTR)\n- Supports any interactive element: buttons, dropdowns, toggles\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Action area for dashboard card headers, typically containing buttons or interactive elements.\n * Positioned at the end of the header for quick access to card-level actions.\n * \n * @usageNotes\n * ### Single Action Button\n * ```html\n * <eui-dashboard-card-content-header-action>\n *   <eui-icon-button icon=\"eui-settings\" size=\"s\" aria-label=\"Card settings\"/>\n * </eui-dashboard-card-content-header-action>\n * ```\n * \n * ### Menu Button\n * ```html\n * <eui-dashboard-card-content-header-action>\n *   <eui-icon-button \n *     icon=\"eui-ellipsis-vertical\" \n *     euiRounded \n *     size=\"s\"\n *     aria-label=\"More options\"\n *     [euiPopover]=\"menu\"/>\n * </eui-dashboard-card-content-header-action>\n * ```\n * \n * ### Accessibility\n * - Always provide aria-label for icon-only buttons\n * - Ensure buttons have sufficient touch target size\n * - Use appropriate ARIA attributes for menus and dropdowns\n * \n * ### Notes\n * - Use within `eui-dashboard-card-content-header` component\n * - Typically contains icon buttons for space efficiency\n * - Positioned at the end of the header (right side in LTR)\n * - Supports any interactive element: buttons, dropdowns, toggles\n */\n@Component({\n    selector: 'eui-dashboard-card-content-header-action',\n    template: '<ng-content />',\n    styleUrl: './eui-dashboard-card-content-header-action.scss',\n})\nexport class EuiDashboardCardContentHeaderActionComponent {\n    /** CSS class applied to the host element */\n    @HostBinding('class') string = 'eui-dashboard-card-content-header-action';\n}\n",
            "styleUrl": "./eui-dashboard-card-content-header-action.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiDashboardCardContentHeaderComponent",
            "id": "component-EuiDashboardCardContentHeaderComponent-4c6cd780e491128f4d17c8c616edb9f3fa3cbe81e4f4cbbfbb143a3e630c41346eecc87a72fc94129db965c7d5ed65a2d63dfa32e3843fa77b45b769b3e79756",
            "file": "packages/components/eui-dashboard-card/eui-dashboard-card-content-header.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-dashboard-card-content-header",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-dashboard-card-content-header.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-dashboard-card-content-header'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 50,
                    "rawdescription": "\nCSS class applied to the host element",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-dashboard-card-content-header'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nCSS class applied to the host element",
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 50,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Header section for custom dashboard card content, typically containing an icon, title, and action buttons.\nProvides a consistent layout for card headers with flexible content projection.</p>\n<h3>Basic Header</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dashboard-card-content-header&gt;\n  &lt;eui-dashboard-card-content-header-icon icon=&quot;chart-bar:regular&quot;/&gt;\n  &lt;eui-dashboard-card-content-header-title&gt;\n    Revenue\n  &lt;/eui-dashboard-card-content-header-title&gt;\n&lt;/eui-dashboard-card-content-header&gt;</code></pre></div><h3>With Action Button</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dashboard-card-content-header&gt;\n  &lt;eui-dashboard-card-content-header-icon icon=&quot;users:regular&quot;/&gt;\n  &lt;eui-dashboard-card-content-header-title&gt;\n    Active Users\n  &lt;/eui-dashboard-card-content-header-title&gt;\n  &lt;eui-dashboard-card-content-header-action&gt;\n    &lt;eui-icon-button icon=&quot;eui-settings&quot; size=&quot;s&quot; aria-label=&quot;Settings&quot;/&gt;\n  &lt;/eui-dashboard-card-content-header-action&gt;\n&lt;/eui-dashboard-card-content-header&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use semantic heading elements within title component</li>\n<li>Provide aria-label for icon-only action buttons</li>\n<li>Ensure sufficient color contrast for icons and text</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Automatically arranges icon, title, and action in a flex layout</li>\n<li>Icon and action sections are optional</li>\n<li>Title section grows to fill available space</li>\n<li>Combine with other content sub-components for complete card structure</li>\n</ul>\n",
            "rawdescription": "\n\nHeader section for custom dashboard card content, typically containing an icon, title, and action buttons.\nProvides a consistent layout for card headers with flexible content projection.\n\n### Basic Header\n```html\n<eui-dashboard-card-content-header>\n  <eui-dashboard-card-content-header-icon icon=\"chart-bar:regular\"/>\n  <eui-dashboard-card-content-header-title>\n    Revenue\n  </eui-dashboard-card-content-header-title>\n</eui-dashboard-card-content-header>\n```\n\n### With Action Button\n```html\n<eui-dashboard-card-content-header>\n  <eui-dashboard-card-content-header-icon icon=\"users:regular\"/>\n  <eui-dashboard-card-content-header-title>\n    Active Users\n  </eui-dashboard-card-content-header-title>\n  <eui-dashboard-card-content-header-action>\n    <eui-icon-button icon=\"eui-settings\" size=\"s\" aria-label=\"Settings\"/>\n  </eui-dashboard-card-content-header-action>\n</eui-dashboard-card-content-header>\n```\n\n### Accessibility\n- Use semantic heading elements within title component\n- Provide aria-label for icon-only action buttons\n- Ensure sufficient color contrast for icons and text\n\n### Notes\n- Automatically arranges icon, title, and action in a flex layout\n- Icon and action sections are optional\n- Title section grows to fill available space\n- Combine with other content sub-components for complete card structure\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Header section for custom dashboard card content, typically containing an icon, title, and action buttons.\n * Provides a consistent layout for card headers with flexible content projection.\n * \n * @usageNotes\n * ### Basic Header\n * ```html\n * <eui-dashboard-card-content-header>\n *   <eui-dashboard-card-content-header-icon icon=\"chart-bar:regular\"/>\n *   <eui-dashboard-card-content-header-title>\n *     Revenue\n *   </eui-dashboard-card-content-header-title>\n * </eui-dashboard-card-content-header>\n * ```\n * \n * ### With Action Button\n * ```html\n * <eui-dashboard-card-content-header>\n *   <eui-dashboard-card-content-header-icon icon=\"users:regular\"/>\n *   <eui-dashboard-card-content-header-title>\n *     Active Users\n *   </eui-dashboard-card-content-header-title>\n *   <eui-dashboard-card-content-header-action>\n *     <eui-icon-button icon=\"eui-settings\" size=\"s\" aria-label=\"Settings\"/>\n *   </eui-dashboard-card-content-header-action>\n * </eui-dashboard-card-content-header>\n * ```\n * \n * ### Accessibility\n * - Use semantic heading elements within title component\n * - Provide aria-label for icon-only action buttons\n * - Ensure sufficient color contrast for icons and text\n * \n * ### Notes\n * - Automatically arranges icon, title, and action in a flex layout\n * - Icon and action sections are optional\n * - Title section grows to fill available space\n * - Combine with other content sub-components for complete card structure\n */\n@Component({\n    selector: 'eui-dashboard-card-content-header',\n    templateUrl: './eui-dashboard-card-content-header.html',\n    styleUrl: './eui-dashboard-card-content-header.scss',\n})\nexport class EuiDashboardCardContentHeaderComponent {\n    /** CSS class applied to the host element */\n    @HostBinding('class') string = 'eui-dashboard-card-content-header';\n}\n",
            "styleUrl": "./eui-dashboard-card-content-header.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "<div class=\"eui-dashboard-card-content-header-start\">\n    <ng-content select=\"eui-dashboard-card-content-header-icon\"/>\n    <ng-content select=\"eui-dashboard-card-content-header-title\"/>\n</div>\n<div class=\"eui-dashboard-card-content-header-end\">\n    <ng-content select=\"eui-dashboard-card-content-header-action\"/>\n</div>\n\n<ng-content/>"
        },
        {
            "name": "EuiDashboardCardContentHeaderIconComponent",
            "id": "component-EuiDashboardCardContentHeaderIconComponent-dcc1b3d41d3b6740ff57e320aa212c3a4f596e47b6a548d75e136ec6a7c9a0cf8539f190b68bfbdb16662fe4a13be3f4fe0f5fbea4ded89a1f3ebe4d9f46a309",
            "file": "packages/components/eui-dashboard-card/eui-dashboard-card-content-header-icon.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-dashboard-card-content-header-icon",
            "styleUrls": [],
            "styles": [],
            "template": "<eui-icon-svg [icon]=\"icon\" size=\"s\"/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "icon",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 46,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-dashboard-card-content-header-icon'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 44,
                    "rawdescription": "\nCSS class applied to the host element",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-dashboard-card-content-header-icon'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nCSS class applied to the host element",
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 44,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "<p>Icon component for dashboard card headers, displaying a visual indicator for the card&#39;s content type.\nAutomatically sized and styled to fit within the header layout.</p>\n<h3>Basic Icon</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dashboard-card-content-header-icon icon=&quot;chart-bar:regular&quot;/&gt;</code></pre></div><h3>With Different Icons</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dashboard-card-content-header-icon icon=&quot;users:regular&quot;/&gt;\n&lt;eui-dashboard-card-content-header-icon icon=&quot;shopping-cart:regular&quot;/&gt;\n&lt;eui-dashboard-card-content-header-icon icon=&quot;eui-calendar&quot;/&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Icon is decorative when paired with title text</li>\n<li>Inherits color from parent card variant</li>\n<li>Size is fixed at &#39;s&#39; for consistency</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use within <code>eui-dashboard-card-content-header</code> component</li>\n<li>Supports all EUI icon names and Font Awesome icons</li>\n<li>Icon color adapts to card variant automatically</li>\n<li>Fixed size ensures consistent header appearance</li>\n</ul>\n",
            "rawdescription": "\n\nIcon component for dashboard card headers, displaying a visual indicator for the card's content type.\nAutomatically sized and styled to fit within the header layout.\n\n### Basic Icon\n```html\n<eui-dashboard-card-content-header-icon icon=\"chart-bar:regular\"/>\n```\n\n### With Different Icons\n```html\n<eui-dashboard-card-content-header-icon icon=\"users:regular\"/>\n<eui-dashboard-card-content-header-icon icon=\"shopping-cart:regular\"/>\n<eui-dashboard-card-content-header-icon icon=\"eui-calendar\"/>\n```\n\n### Accessibility\n- Icon is decorative when paired with title text\n- Inherits color from parent card variant\n- Size is fixed at 's' for consistency\n\n### Notes\n- Use within `eui-dashboard-card-content-header` component\n- Supports all EUI icon names and Font Awesome icons\n- Icon color adapts to card variant automatically\n- Fixed size ensures consistent header appearance\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, inject, Input, OnInit } from '@angular/core';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n/**\n * @description\n * Icon component for dashboard card headers, displaying a visual indicator for the card's content type.\n * Automatically sized and styled to fit within the header layout.\n * \n * @usageNotes\n * ### Basic Icon\n * ```html\n * <eui-dashboard-card-content-header-icon icon=\"chart-bar:regular\"/>\n * ```\n * \n * ### With Different Icons\n * ```html\n * <eui-dashboard-card-content-header-icon icon=\"users:regular\"/>\n * <eui-dashboard-card-content-header-icon icon=\"shopping-cart:regular\"/>\n * <eui-dashboard-card-content-header-icon icon=\"eui-calendar\"/>\n * ```\n * \n * ### Accessibility\n * - Icon is decorative when paired with title text\n * - Inherits color from parent card variant\n * - Size is fixed at 's' for consistency\n * \n * ### Notes\n * - Use within `eui-dashboard-card-content-header` component\n * - Supports all EUI icon names and Font Awesome icons\n * - Icon color adapts to card variant automatically\n * - Fixed size ensures consistent header appearance\n */\n@Component({\n    selector: 'eui-dashboard-card-content-header-icon',\n    template: '<eui-icon-svg [icon]=\"icon\" size=\"s\"/>',\n    styleUrl: './eui-dashboard-card-content-header-icon.scss',\n    imports: [\n        ...EUI_ICON,\n    ],\n})\nexport class EuiDashboardCardContentHeaderIconComponent {\n    /** CSS class applied to the host element */\n    @HostBinding('class') string = 'eui-dashboard-card-content-header-icon';\n\n    @Input() icon: string;\n}\n",
            "styleUrl": "./eui-dashboard-card-content-header-icon.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiDashboardCardContentHeaderTitleComponent",
            "id": "component-EuiDashboardCardContentHeaderTitleComponent-1b3a9410d08413741c0f8cfa1c6437a8ab48c6c11683268f452f98e1d93a2403d16fddd787f37b945adab6b952e080594f80f689f7612c8cc2903a7553bdd54e",
            "file": "packages/components/eui-dashboard-card/eui-dashboard-card-content-header-title.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-dashboard-card-content-header-title",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-dashboard-card-content-header-title'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 41,
                    "rawdescription": "\nCSS class applied to the host element",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-dashboard-card-content-header-title'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nCSS class applied to the host element",
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 41,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Title component for dashboard card headers, displaying the primary heading or label for the card.\nAutomatically styled and positioned within the header layout.</p>\n<h3>Basic Title</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dashboard-card-content-header-title&gt;\n  Revenue Overview\n&lt;/eui-dashboard-card-content-header-title&gt;</code></pre></div><h3>With Semantic Heading</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dashboard-card-content-header-title&gt;\n  &lt;h3&gt;Active Users&lt;/h3&gt;\n&lt;/eui-dashboard-card-content-header-title&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use semantic heading elements (h2, h3, etc.) for proper document structure</li>\n<li>Ensure heading level matches page hierarchy</li>\n<li>Title provides context for card content</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use within <code>eui-dashboard-card-content-header</code> component</li>\n<li>Grows to fill available space between icon and action</li>\n<li>Supports any content but typically contains text or headings</li>\n<li>Text automatically truncates if too long</li>\n</ul>\n",
            "rawdescription": "\n\nTitle component for dashboard card headers, displaying the primary heading or label for the card.\nAutomatically styled and positioned within the header layout.\n\n### Basic Title\n```html\n<eui-dashboard-card-content-header-title>\n  Revenue Overview\n</eui-dashboard-card-content-header-title>\n```\n\n### With Semantic Heading\n```html\n<eui-dashboard-card-content-header-title>\n  <h3>Active Users</h3>\n</eui-dashboard-card-content-header-title>\n```\n\n### Accessibility\n- Use semantic heading elements (h2, h3, etc.) for proper document structure\n- Ensure heading level matches page hierarchy\n- Title provides context for card content\n\n### Notes\n- Use within `eui-dashboard-card-content-header` component\n- Grows to fill available space between icon and action\n- Supports any content but typically contains text or headings\n- Text automatically truncates if too long\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Title component for dashboard card headers, displaying the primary heading or label for the card.\n * Automatically styled and positioned within the header layout.\n * \n * @usageNotes\n * ### Basic Title\n * ```html\n * <eui-dashboard-card-content-header-title>\n *   Revenue Overview\n * </eui-dashboard-card-content-header-title>\n * ```\n * \n * ### With Semantic Heading\n * ```html\n * <eui-dashboard-card-content-header-title>\n *   <h3>Active Users</h3>\n * </eui-dashboard-card-content-header-title>\n * ```\n * \n * ### Accessibility\n * - Use semantic heading elements (h2, h3, etc.) for proper document structure\n * - Ensure heading level matches page hierarchy\n * - Title provides context for card content\n * \n * ### Notes\n * - Use within `eui-dashboard-card-content-header` component\n * - Grows to fill available space between icon and action\n * - Supports any content but typically contains text or headings\n * - Text automatically truncates if too long\n */\n@Component({\n    selector: 'eui-dashboard-card-content-header-title',\n    template: '<ng-content />',\n    styleUrl: './eui-dashboard-card-content-header-title.scss',\n})\nexport class EuiDashboardCardContentHeaderTitleComponent {\n    /** CSS class applied to the host element */\n    @HostBinding('class') string = 'eui-dashboard-card-content-header-title';\n}\n",
            "styleUrl": "./eui-dashboard-card-content-header-title.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiDashboardCardStatusContentComponent",
            "id": "component-EuiDashboardCardStatusContentComponent-af4a96a313c25854743d833dd8c02a6f34dd07858c53bedfd72c4c4162000b08ed67d564f08f3e264c0c8219c043e4e9449dc3d6ecc211b1dcf0fdc12c87d027",
            "file": "packages/components/eui-dashboard-card/eui-dashboard-card-status-content.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-dashboard-card-status-content",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-dashboard-card-status-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 48,
                    "rawdescription": "\nCSS class applied to the host element",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-dashboard-card-status-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nCSS class applied to the host element",
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 48,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Status indicator container for dashboard cards, displaying badges, chips, or status information.\nPositioned separately from main content to highlight important state or metadata.</p>\n<h3>Status Badge</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dashboard-card-status-content&gt;\n  &lt;eui-chip euiSizeS euiSuccess&gt;Active&lt;/eui-chip&gt;\n&lt;/eui-dashboard-card-status-content&gt;</code></pre></div><h3>Warning Status</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dashboard-card-status-content&gt;\n  &lt;eui-chip euiSizeS euiOutline euiWarning&gt;Pending Review&lt;/eui-chip&gt;\n&lt;/eui-dashboard-card-status-content&gt;</code></pre></div><h3>Multiple Indicators</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dashboard-card-status-content&gt;\n  &lt;eui-badge euiInfo&gt;New&lt;/eui-badge&gt;\n  &lt;eui-chip euiSizeS euiOutline&gt;Draft&lt;/eui-chip&gt;\n&lt;/eui-dashboard-card-status-content&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Status information should be conveyed through text, not color alone</li>\n<li>Use semantic elements (badges, chips) with descriptive text</li>\n<li>Ensure sufficient color contrast for status indicators</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use alongside <code>eui-dashboard-card-content</code> for status display</li>\n<li>Typically contains badges, chips, or status labels</li>\n<li>Positioned independently from main card content</li>\n<li>Supports multiple status indicators</li>\n</ul>\n",
            "rawdescription": "\n\nStatus indicator container for dashboard cards, displaying badges, chips, or status information.\nPositioned separately from main content to highlight important state or metadata.\n\n### Status Badge\n```html\n<eui-dashboard-card-status-content>\n  <eui-chip euiSizeS euiSuccess>Active</eui-chip>\n</eui-dashboard-card-status-content>\n```\n\n### Warning Status\n```html\n<eui-dashboard-card-status-content>\n  <eui-chip euiSizeS euiOutline euiWarning>Pending Review</eui-chip>\n</eui-dashboard-card-status-content>\n```\n\n### Multiple Indicators\n```html\n<eui-dashboard-card-status-content>\n  <eui-badge euiInfo>New</eui-badge>\n  <eui-chip euiSizeS euiOutline>Draft</eui-chip>\n</eui-dashboard-card-status-content>\n```\n\n### Accessibility\n- Status information should be conveyed through text, not color alone\n- Use semantic elements (badges, chips) with descriptive text\n- Ensure sufficient color contrast for status indicators\n\n### Notes\n- Use alongside `eui-dashboard-card-content` for status display\n- Typically contains badges, chips, or status labels\n- Positioned independently from main card content\n- Supports multiple status indicators\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Status indicator container for dashboard cards, displaying badges, chips, or status information.\n * Positioned separately from main content to highlight important state or metadata.\n * \n * @usageNotes\n * ### Status Badge\n * ```html\n * <eui-dashboard-card-status-content>\n *   <eui-chip euiSizeS euiSuccess>Active</eui-chip>\n * </eui-dashboard-card-status-content>\n * ```\n * \n * ### Warning Status\n * ```html\n * <eui-dashboard-card-status-content>\n *   <eui-chip euiSizeS euiOutline euiWarning>Pending Review</eui-chip>\n * </eui-dashboard-card-status-content>\n * ```\n * \n * ### Multiple Indicators\n * ```html\n * <eui-dashboard-card-status-content>\n *   <eui-badge euiInfo>New</eui-badge>\n *   <eui-chip euiSizeS euiOutline>Draft</eui-chip>\n * </eui-dashboard-card-status-content>\n * ```\n * \n * ### Accessibility\n * - Status information should be conveyed through text, not color alone\n * - Use semantic elements (badges, chips) with descriptive text\n * - Ensure sufficient color contrast for status indicators\n * \n * ### Notes\n * - Use alongside `eui-dashboard-card-content` for status display\n * - Typically contains badges, chips, or status labels\n * - Positioned independently from main card content\n * - Supports multiple status indicators\n */\n@Component({\n    selector: 'eui-dashboard-card-status-content',\n    template: '<ng-content/>',\n})\nexport class EuiDashboardCardStatusContentComponent {\n    /** CSS class applied to the host element */\n    @HostBinding('class') string = 'eui-dashboard-card-status-content';\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiDateBlockComponent",
            "id": "component-EuiDateBlockComponent-3ccb54ad55f1e3213bd00da35f21b44af62255deabd7bdde712006231d33dc0beac3fe68fc9ae797b65c5727dff20f9157e4ba1514b8cad54e8b3c23c76730ae",
            "file": "packages/components/eui-date-block/eui-date-block.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-date-block",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-date-block.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiSecondary"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "blockDate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 79,
                    "type": "Date",
                    "decorators": []
                },
                {
                    "name": "dateFormat",
                    "defaultValue": "'dd/M/yyyy'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 78,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-date-block'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2158,
                            "end": 2202,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2159,
                                "end": 2170,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Data attribute for e2e testing</p>\n"
                        }
                    ],
                    "rawdescription": "",
                    "description": "",
                    "line": 76,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 82,
                    "rawdescription": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "pos": 2355,
                            "end": 2430,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2356,
                                "end": 2367,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Instance of BaseStatesDirective for managing component states</p>\n"
                        }
                    ]
                },
                {
                    "name": "locale",
                    "defaultValue": "inject(LocaleService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "LocaleService<LocaleState>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 83,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1784,
                            "end": 1896,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1785,
                                "end": 1796,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the badge based on its current state</p>\n"
                        },
                        {
                            "pos": 1896,
                            "end": 1961,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1897,
                                "end": 1904,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 1905,
                                "end": 1913,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 1906,
                                    "end": 1912,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the badge based on its current state\n\n",
                    "description": "<p>Computes and returns the CSS classes for the badge based on its current state</p>\n",
                    "line": 69,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "DatePipe",
                    "type": "pipe"
                }
            ],
            "description": "<p>A visual date display component that presents dates in a calendar block format with day, month, and year.\nUseful for event listings, timelines, and date-centric interfaces.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-date-block [blockDate]=&quot;eventDate&quot;&gt;&lt;/eui-date-block&gt;</code></pre></div><h3>With Custom Format</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">&lt;eui-date-block\n  [blockDate]=&quot;meetingDate&quot;\n  dateFormat=&quot;dd/MM/yyyy&quot;&gt;\n&lt;/eui-date-block&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses semantic <code>role=&quot;section&quot;</code> for proper screen reader identification</li>\n<li>Date is formatted according to locale settings for internationalization</li>\n<li>Visual date representation is supplemented with accessible text</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Automatically adapts to current locale via <code>LocaleService</code></li>\n<li>Use <code>euiPrimary</code> or <code>euiSecondary</code> for color variants</li>\n<li><code>dateFormat</code> accepts any valid Angular DatePipe format string</li>\n<li>Component is read-only and does not support user interaction</li>\n</ul>\n",
            "rawdescription": "\n\nA visual date display component that presents dates in a calendar block format with day, month, and year.\nUseful for event listings, timelines, and date-centric interfaces.\n\n### Basic Usage\n```html\n<eui-date-block [blockDate]=\"eventDate\"></eui-date-block>\n```\n\n### With Custom Format\n```typescript\n<eui-date-block\n  [blockDate]=\"meetingDate\"\n  dateFormat=\"dd/MM/yyyy\">\n</eui-date-block>\n```\n\n### Accessibility\n- Uses semantic `role=\"section\"` for proper screen reader identification\n- Date is formatted according to locale settings for internationalization\n- Visual date representation is supplemented with accessible text\n\n### Notes\n- Automatically adapts to current locale via `LocaleService`\n- Use `euiPrimary` or `euiSecondary` for color variants\n- `dateFormat` accepts any valid Angular DatePipe format string\n- Component is read-only and does not support user interaction\n",
            "type": "component",
            "sourceCode": "import { AsyncPipe, DatePipe } from '@angular/common';\nimport {\n    Component,\n    HostBinding,\n    ChangeDetectionStrategy,\n    Input,\n    inject,\n} from '@angular/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { LocaleService, LocaleState } from '@eui/core';\n\n/**\n * @description\n * A visual date display component that presents dates in a calendar block format with day, month, and year.\n * Useful for event listings, timelines, and date-centric interfaces.\n * \n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-date-block [blockDate]=\"eventDate\"></eui-date-block>\n * ```\n * \n * ### With Custom Format\n * ```typescript\n * <eui-date-block \n *   [blockDate]=\"meetingDate\" \n *   dateFormat=\"dd/MM/yyyy\">\n * </eui-date-block>\n * ```\n * \n * ### Accessibility\n * - Uses semantic `role=\"section\"` for proper screen reader identification\n * - Date is formatted according to locale settings for internationalization\n * - Visual date representation is supplemented with accessible text\n * \n * ### Notes\n * - Automatically adapts to current locale via `LocaleService`\n * - Use `euiPrimary` or `euiSecondary` for color variants\n * - `dateFormat` accepts any valid Angular DatePipe format string\n * - Component is read-only and does not support user interaction\n */\n@Component({\n    selector: 'eui-date-block',\n    templateUrl: './eui-date-block.component.html',\n    styleUrl: './eui-date-block.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiPrimary',\n                'euiSecondary',\n            ],\n        },\n    ],\n    imports: [\n        AsyncPipe,\n        DatePipe,\n    ],\n})\nexport class EuiDateBlockComponent {\n    /**\n     * @description\n     * Computes and returns the CSS classes for the badge based on its current state\n     *\n     * @returns {string} Space-separated string of CSS class names\n     */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-date-block'),\n        ].join(' ').trim();\n    }\n\n    /** @description Data attribute for e2e testing */\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-date-block';\n\n    @Input() dateFormat = 'dd/M/yyyy';\n    @Input() blockDate: Date;\n\n    /** @description Instance of BaseStatesDirective for managing component states */\n    protected baseStatesDirective = inject(BaseStatesDirective);\n    protected locale: LocaleService<LocaleState> = inject(LocaleService);\n\n}\n",
            "styleUrl": "./eui-date-block.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 69,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the badge based on its current state\n\n",
                        "description": "<p>Computes and returns the CSS classes for the badge based on its current state</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 1784,
                                "end": 1896,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 1785,
                                    "end": 1796,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the badge based on its current state</p>\n"
                            },
                            {
                                "pos": 1896,
                                "end": 1961,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 1897,
                                    "end": 1904,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 1905,
                                    "end": 1913,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 1906,
                                        "end": 1912,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            },
            "templateData": "<div class=\"eui-date-block-wrapper\">\n    <div class=\"eui-date-block-day-month-wrapper\">\n        <div class=\"eui-date-block__day\">\n            {{ blockDate | date: 'dd': null: (locale.getState() | async).id }}\n        </div>\n        <div class=\"eui-date-block__month\">\n            {{ blockDate | date: 'MMM': null: (locale.getState() | async).id }}\n        </div>\n    </div>\n    <div class=\"eui-date-block__year\">\n        {{ blockDate | date: 'yyyy': null: (locale.getState() | async).id }}\n    </div>\n</div>\n"
        },
        {
            "name": "EuiDatepickerComponent",
            "id": "component-EuiDatepickerComponent-9d4df86024095c2260b95e6ada3c14414a33c330583b735045a67195b652c433e5e447bd17dbfe2b42c34039f0bcbabcadd67c3cdabf7b1153684e74943fd677",
            "file": "packages/components/eui-datepicker/eui-datepicker.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-datepicker",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-datepicker.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiSuccess",
                        "euiInfo",
                        "euiWarning",
                        "euiDanger",
                        "euiVariant"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "customHeader",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom component class to replace the default calendar header.\nMust be a valid Angular component that implements the Material datepicker header interface.\nAllows complete customization of the calendar header appearance and behavior.\n",
                    "description": "<p>Custom component class to replace the default calendar header.\nMust be a valid Angular component that implements the Material datepicker header interface.\nAllows complete customization of the calendar header appearance and behavior.</p>\n",
                    "line": 282,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "customPanelClass",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom CSS class or classes applied to the calendar popup panel.\nAccepts a single class name string or an array of class names.\nUseful for theme customization or specific styling requirements.\n",
                    "description": "<p>Custom CSS class or classes applied to the calendar popup panel.\nAccepts a single class name string or an array of class names.\nUseful for theme customization or specific styling requirements.</p>\n",
                    "line": 318,
                    "type": "string | string[] | null",
                    "decorators": []
                },
                {
                    "name": "dateClass",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nFunction that returns CSS class names to apply to specific calendar date cells.\nReceives each date as a parameter and returns a string or array of class names.\nEnables visual styling of specific dates like holidays, events, or special occasions.\n",
                    "description": "<p>Function that returns CSS class names to apply to specific calendar date cells.\nReceives each date as a parameter and returns a string or array of class names.\nEnables visual styling of specific dates like holidays, events, or special occasions.</p>\n",
                    "line": 288,
                    "type": "MatCalendarCellClassFunction<any>",
                    "decorators": []
                },
                {
                    "name": "dateOutputFormat",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMoment.js format string for the output value emitted through form control and events.\nWhen specified, all emitted values are formatted strings instead of Moment objects.\nExample: 'YYYY-MM-DD' or 'DD/MM/YYYY HH:mm:ss'.\n",
                    "description": "<p>Moment.js format string for the output value emitted through form control and events.\nWhen specified, all emitted values are formatted strings instead of Moment objects.\nExample: &#39;YYYY-MM-DD&#39; or &#39;DD/MM/YYYY HH:mm:ss&#39;.</p>\n",
                    "line": 276,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "datepickerFilter",
                    "defaultValue": "this.datepickerFiltering",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom filter function to enable or disable specific dates in the calendar.\nReceives each date as a parameter and should return true to enable the date, false to disable it.\nUseful for implementing business rules like disabling weekends or holidays.\n",
                    "description": "<p>Custom filter function to enable or disable specific dates in the calendar.\nReceives each date as a parameter and should return true to enable the date, false to disable it.\nUseful for implementing business rules like disabling weekends or holidays.</p>\n",
                    "line": 270,
                    "type": "function",
                    "decorators": []
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-datepicker'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 189,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasNoButton",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHides the calendar toggle button, leaving only the input field visible.\nUsers can still open the calendar by clicking the input field if isShownOnInputClick is true.\nUseful for minimalist layouts or when calendar access should be input-driven only.\n",
                    "description": "<p>Hides the calendar toggle button, leaving only the input field visible.\nUsers can still open the calendar by clicking the input field if isShownOnInputClick is true.\nUseful for minimalist layouts or when calendar access should be input-driven only.</p>\n",
                    "line": 342,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasSeconds",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisplays seconds selector in the timepicker.\nOnly applicable when isDatetimepicker is true.\nWhen false, only hours and minutes are selectable.\n",
                    "description": "<p>Displays seconds selector in the timepicker.\nOnly applicable when isDatetimepicker is true.\nWhen false, only hours and minutes are selectable.</p>\n",
                    "line": 330,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "inputId",
                    "defaultValue": "`eui-datepicker-${uniqueId()}`",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUnique identifier for the input element.\nUsed for label association, form integration, and testing selectors.\nAuto-generated if not provided.\n",
                    "description": "<p>Unique identifier for the input element.\nUsed for label association, form integration, and testing selectors.\nAuto-generated if not provided.</p>\n",
                    "line": 312,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isButtonDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisables only the calendar toggle button while keeping the input field enabled.\nUsers can type dates manually but cannot open the calendar popup.\nUseful for keyboard-only or text-based date entry scenarios.\n",
                    "description": "<p>Disables only the calendar toggle button while keeping the input field enabled.\nUsers can type dates manually but cannot open the calendar popup.\nUseful for keyboard-only or text-based date entry scenarios.</p>\n",
                    "line": 372,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "isClearable",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisplays a clear button in the input field to reset the value to null.\nAutomatically disabled when isReadOnly is true.\nClicking the clear button emits null through inputChange and dateSelect events.\n",
                    "description": "<p>Displays a clear button in the input field to reset the value to null.\nAutomatically disabled when isReadOnly is true.\nClicking the clear button emits null through inputChange and dateSelect events.</p>\n",
                    "line": 391,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isDatepickerBlock",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nApplies block-level display styling to make the component fill its container width.\nEnables responsive behavior for mobile and tablet layouts.\nWhen true, the input and button stretch to 100% width.\n",
                    "description": "<p>Applies block-level display styling to make the component fill its container width.\nEnables responsive behavior for mobile and tablet layouts.\nWhen true, the input and button stretch to 100% width.</p>\n",
                    "line": 348,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isDatetimepicker",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEnables datetime selection mode with an integrated timepicker in the calendar popup.\nWhen true, displays hour, minute, and optionally second selectors below the calendar.\nChanges the component behavior to handle both date and time values.\n",
                    "description": "<p>Enables datetime selection mode with an integrated timepicker in the calendar popup.\nWhen true, displays hour, minute, and optionally second selectors below the calendar.\nChanges the component behavior to handle both date and time values.</p>\n",
                    "line": 324,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisables the entire component including input field, toggle button, and calendar popup.\nWhen true, no user interaction is possible and the component appears visually disabled.\nIntegrates with Angular forms disabled state.\n",
                    "description": "<p>Disables the entire component including input field, toggle button, and calendar popup.\nWhen true, no user interaction is possible and the component appears visually disabled.\nIntegrates with Angular forms disabled state.</p>\n",
                    "line": 360,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isInputDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisables only the input field while keeping the calendar toggle button enabled.\nUsers can select dates from the calendar but cannot type manually.\nUseful for enforcing calendar-only date selection.\n",
                    "description": "<p>Disables only the input field while keeping the calendar toggle button enabled.\nUsers can select dates from the calendar but cannot type manually.\nUseful for enforcing calendar-only date selection.</p>\n",
                    "line": 366,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isOneInputField",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRenders the timepicker with a single combined input field instead of separate hour/minute/second inputs.\nOnly applicable when isDatetimepicker is true.\nProvides a more compact timepicker interface.\n",
                    "description": "<p>Renders the timepicker with a single combined input field instead of separate hour/minute/second inputs.\nOnly applicable when isDatetimepicker is true.\nProvides a more compact timepicker interface.</p>\n",
                    "line": 336,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isPickerDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisables the calendar popup functionality while keeping the input field enabled.\nPrevents the calendar from opening through any interaction method.\nSimilar to isButtonDisabled but also blocks input-click calendar opening.\n",
                    "description": "<p>Disables the calendar popup functionality while keeping the input field enabled.\nPrevents the calendar from opening through any interaction method.\nSimilar to isButtonDisabled but also blocks input-click calendar opening.</p>\n",
                    "line": 378,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isReadOnly",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMakes the input field read-only, preventing manual text entry.\nUsers can still select dates from the calendar popup.\nAutomatically disables the clear button when true.\n",
                    "description": "<p>Makes the input field read-only, preventing manual text entry.\nUsers can still select dates from the calendar popup.\nAutomatically disables the clear button when true.</p>\n",
                    "line": 354,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShownOnInputClick",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nControls whether clicking the input field opens the calendar popup.\nWhen false, the calendar only opens via the toggle button.\nUseful when the input should be primarily for manual text entry.\n",
                    "description": "<p>Controls whether clicking the input field opens the calendar popup.\nWhen false, the calendar only opens via the toggle button.\nUseful when the input should be primarily for manual text entry.</p>\n",
                    "line": 384,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "maxDate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThe latest selectable date in the calendar.\nDates after this value are disabled and cannot be selected.\nAccepts Moment objects, Date objects, or date strings compatible with the date adapter.\n",
                    "description": "<p>The latest selectable date in the calendar.\nDates after this value are disabled and cannot be selected.\nAccepts Moment objects, Date objects, or date strings compatible with the date adapter.</p>\n",
                    "line": 264,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "minDate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThe earliest selectable date in the calendar.\nDates before this value are disabled and cannot be selected.\nAccepts Moment objects, Date objects, or date strings compatible with the date adapter.\n",
                    "description": "<p>The earliest selectable date in the calendar.\nDates before this value are disabled and cannot be selected.\nAccepts Moment objects, Date objects, or date strings compatible with the date adapter.</p>\n",
                    "line": 258,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "placeholder",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nPlaceholder text displayed in the input field when empty.\nIf not provided, defaults to translated placeholders based on the calendar type (regular, month, or year).\n",
                    "description": "<p>Placeholder text displayed in the input field when empty.\nIf not provided, defaults to translated placeholders based on the calendar type (regular, month, or year).</p>\n",
                    "line": 240,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "restrictToRegex",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRegular expression pattern to restrict which characters can be typed in the input field.\nAccepts a RegExp object or a string that will be converted to RegExp.\nEach keypress is validated against this pattern; non-matching keys are blocked.\nUseful for enforcing numeric-only input or specific date format characters.\n",
                    "description": "<p>Regular expression pattern to restrict which characters can be typed in the input field.\nAccepts a RegExp object or a string that will be converted to RegExp.\nEach keypress is validated against this pattern; non-matching keys are blocked.\nUseful for enforcing numeric-only input or specific date format characters.</p>\n",
                    "line": 405,
                    "type": "RegExp",
                    "decorators": []
                },
                {
                    "name": "startView",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThe initial view displayed when the calendar popup opens.\n'month' shows the day grid, 'year' shows month selection, 'multi-year' shows year range selection.\nIf not specified, defaults based on the type property.\n",
                    "description": "<p>The initial view displayed when the calendar popup opens.\n&#39;month&#39; shows the day grid, &#39;year&#39; shows month selection, &#39;multi-year&#39; shows year range selection.\nIf not specified, defaults based on the type property.</p>\n",
                    "line": 252,
                    "type": "\"month\" | \"year\" | \"multi-year\"",
                    "decorators": []
                },
                {
                    "name": "stepHours",
                    "defaultValue": "1",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nIncrement/decrement step for hour adjustments in the timepicker.\nOnly applicable when isDatetimepicker is true.\nDetermines how many hours are added or subtracted with each button click.\n",
                    "description": "<p>Increment/decrement step for hour adjustments in the timepicker.\nOnly applicable when isDatetimepicker is true.\nDetermines how many hours are added or subtracted with each button click.</p>\n",
                    "line": 294,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "stepMinutes",
                    "defaultValue": "1",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nIncrement/decrement step for minute adjustments in the timepicker.\nOnly applicable when isDatetimepicker is true.\nDetermines how many minutes are added or subtracted with each button click.\n",
                    "description": "<p>Increment/decrement step for minute adjustments in the timepicker.\nOnly applicable when isDatetimepicker is true.\nDetermines how many minutes are added or subtracted with each button click.</p>\n",
                    "line": 300,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "stepSeconds",
                    "defaultValue": "1",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nIncrement/decrement step for second adjustments in the timepicker.\nOnly applicable when isDatetimepicker is true and hasSeconds is true.\nDetermines how many seconds are added or subtracted with each button click.\n",
                    "description": "<p>Increment/decrement step for second adjustments in the timepicker.\nOnly applicable when isDatetimepicker is true and hasSeconds is true.\nDetermines how many seconds are added or subtracted with each button click.</p>\n",
                    "line": 306,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "togglerIconSvg",
                    "defaultValue": "'eui-calendar'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThe SVG icon name displayed on the calendar toggle button.\nMust be a valid eui-icon identifier.\n",
                    "description": "<p>The SVG icon name displayed on the calendar toggle button.\nMust be a valid eui-icon identifier.</p>\n",
                    "line": 230,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "togglerLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nAccessible label text for the calendar toggle button.\nUsed for screen readers and accessibility compliance.\n",
                    "description": "<p>Accessible label text for the calendar toggle button.\nUsed for screen readers and accessibility compliance.</p>\n",
                    "line": 235,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "type",
                    "defaultValue": "'regular'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDetermines the selection granularity and calendar behavior.\n'regular' allows full date selection, 'month' selects month/year only, 'year' selects year only.\nAffects the calendar view, input format, and selection behavior.\n",
                    "description": "<p>Determines the selection granularity and calendar behavior.\n&#39;regular&#39; allows full date selection, &#39;month&#39; selects month/year only, &#39;year&#39; selects year only.\nAffects the calendar view, input format, and selection behavior.</p>\n",
                    "line": 246,
                    "type": "\"year\" | \"month\" | \"regular\"",
                    "decorators": []
                },
                {
                    "name": "value",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThe initial or current date value displayed in the input field.\nAccepts Moment objects, Date objects, or date strings compatible with the configured date adapter.\nWhen dateOutputFormat is specified, the internal value is formatted accordingly.\n",
                    "description": "<p>The initial or current date value displayed in the input field.\nAccepts Moment objects, Date objects, or date strings compatible with the configured date adapter.\nWhen dateOutputFormat is specified, the internal value is formatted accordingly.</p>\n",
                    "line": 225,
                    "type": "any",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "dateSelect",
                    "defaultValue": "new EventEmitter<any>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when a date is selected from the calendar popup or through date/time adjustments.\nPayload contains the formatted date string (if dateOutputFormat is set) or Moment object, or null if cleared.\nDoes not trigger on manual text input, only on calendar interactions and programmatic selections.\n",
                    "description": "<p>Emitted when a date is selected from the calendar popup or through date/time adjustments.\nPayload contains the formatted date string (if dateOutputFormat is set) or Moment object, or null if cleared.\nDoes not trigger on manual text input, only on calendar interactions and programmatic selections.</p>\n",
                    "line": 219,
                    "type": "EventEmitter"
                },
                {
                    "name": "inputChange",
                    "defaultValue": "new EventEmitter<any>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the input field value changes through user typing or programmatic updates.\nPayload contains the formatted date string (if dateOutputFormat is set) or Moment object, or null if cleared.\nTriggers on every input change, including manual text entry and clear actions.\n",
                    "description": "<p>Emitted when the input field value changes through user typing or programmatic updates.\nPayload contains the formatted date string (if dateOutputFormat is set) or Moment object, or null if cleared.\nTriggers on every input change, including manual text entry and clear actions.</p>\n",
                    "line": 213,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 178
                },
                {
                    "name": "breakpointsValue",
                    "defaultValue": "{\n        isMobile: false,\n        isTablet: false,\n        isLtDesktop: false,\n        isDesktop: false,\n        isXL: false,\n        isXXL: false,\n    }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 192,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "calendar",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "MatDatepicker<any>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 203,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'calendar', {static: true}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "euiActionButtons",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiActionButtonsDirective",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 207,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "euiLetterFormat",
                    "defaultValue": "inject(EuiLetterFormatDirective, { optional: true })!",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 179
                },
                {
                    "name": "hasAriaRequiredAttribute",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 445,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "inputFormControl",
                    "defaultValue": "new FormControl()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 191,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "inputRef",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef<HTMLInputElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 205,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'input', {read: ElementRef}"
                        }
                    ],
                    "modifierKind": [
                        171,
                        125
                    ]
                },
                {
                    "name": "showDateButton",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 200
                },
                {
                    "name": "templatePortalRef",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<EuiActionButtonsDirective>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 204,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'templatePortalRef'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "timePickerComponentRef",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ComponentRef<EuiTimepickerComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 202
                },
                {
                    "name": "timePickerInstance",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiTimepickerComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 201
                }
            ],
            "methodsClass": [
                {
                    "name": "changedInput",
                    "args": [
                        {
                            "name": "e",
                            "type": "string | Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 857,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod which fires when the input value changes and applies logic when isDatetimepicker true.\n",
                    "description": "<p>Method which fires when the input value changes and applies logic when isDatetimepicker true.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 35614,
                                "end": 35615,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "e"
                            },
                            "type": "string | Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 35608,
                                "end": 35613,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The new value of the input field.</li>\n</ul>\n"
                        }
                    ]
                },
                {
                    "name": "chosenDateHandler",
                    "args": [
                        {
                            "name": "normalizedDate",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "calendar",
                            "type": "MatDatepicker<any>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 754,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nFires when the type of the calendar is either month or year,\nformats the date if dateOutputFormat used\nemits and propagates the selected date value\nand closes the calendar.\n",
                    "description": "<p>Fires when the type of the calendar is either month or year,\nformats the date if dateOutputFormat used\nemits and propagates the selected date value\nand closes the calendar.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 30837,
                                "end": 30851,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "normalizedDate"
                            },
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 30831,
                                "end": 30836,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The selected date in the calendar.</li>\n</ul>\n"
                        },
                        {
                            "name": {
                                "pos": 30903,
                                "end": 30911,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "calendar"
                            },
                            "type": "MatDatepicker<any>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 30897,
                                "end": 30902,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The MatDatepicker instance.</li>\n</ul>\n"
                        }
                    ]
                },
                {
                    "name": "closeCalendar",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 910,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCloses the calendar when isDatetimepicker or eui-action-buttons used and removes the applied footer when eui-action-buttons used\n",
                    "description": "<p>Closes the calendar when isDatetimepicker or eui-action-buttons used and removes the applied footer when eui-action-buttons used</p>\n"
                },
                {
                    "name": "convTypeToStartView",
                    "args": [
                        {
                            "name": "type",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "\"year\" | \"month\" | \"multi-year\"",
                    "typeParameters": [],
                    "line": 943,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nConverts the type of the calendar to the corresponding start view.\n",
                    "description": "<p>Converts the type of the calendar to the corresponding start view.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 38558,
                                "end": 38562,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "type"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 38552,
                                "end": 38557,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The type of the calendar.</li>\n</ul>\n"
                        },
                        {
                            "tagName": {
                                "pos": 38599,
                                "end": 38606,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<ul>\n<li>The start view of the calendar.</li>\n</ul>\n",
                            "returnType": "unknown"
                        }
                    ]
                },
                {
                    "name": "createInjector",
                    "args": [
                        {
                            "name": "data",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Injector",
                    "typeParameters": [],
                    "line": 601,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCreates an injector for the timepicker component.\n",
                    "description": "<p>Creates an injector for the timepicker component.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 23964,
                                "end": 23968,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "data"
                            },
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 23958,
                                "end": 23963,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The data to be passed to the timepicker component.</li>\n</ul>\n"
                        },
                        {
                            "tagName": {
                                "pos": 24030,
                                "end": 24036,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "return"
                            },
                            "comment": "<ul>\n<li>The created injector.</li>\n</ul>\n",
                            "returnType": "unknown"
                        }
                    ]
                },
                {
                    "name": "datepickerFiltering",
                    "args": [],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 777,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod which returns true in order to mark the date as valid.\n",
                    "description": "<p>Method which returns true in order to mark the date as valid.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "tagName": {
                                "pos": 31914,
                                "end": 31921,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<ul>\n<li>Returns true if the date is valid.</li>\n</ul>\n",
                            "returnType": "boolean"
                        }
                    ]
                },
                {
                    "name": "getEventPath",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "EventTarget[]",
                    "typeParameters": [],
                    "line": 728,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRetrieves the event path for a given event. This method provides a fallback\nfor browsers that do not support the `event.path` property by constructing\nthe path manually.\n\n         and traversing up through its ancestors, ending with the `document`\n         and `window` objects.\n",
                    "description": "<p>Retrieves the event path for a given event. This method provides a fallback\nfor browsers that do not support the <code>event.path</code> property by constructing\nthe path manually.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">     and traversing up through its ancestors, ending with the `document`\n     and `window` objects.</code></pre></div>",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 29824,
                                "end": 29829,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 29818,
                                "end": 29823,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The event object of type <code>KeyboardEvent</code>.</li>\n</ul>\n"
                        },
                        {
                            "tagName": {
                                "pos": 29882,
                                "end": 29889,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>An array representing the event path, starting from the event target\nand traversing up through its ancestors, ending with the <code>document</code>\nand <code>window</code> objects.</p>\n"
                        }
                    ]
                },
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 528,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngDoCheck",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 553,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 563,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 692,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 468,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onClear",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 877,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod which fires when clearing the input field and emits/propagates the null value.\n",
                    "description": "<p>Method which fires when clearing the input field and emits/propagates the null value.</p>\n"
                },
                {
                    "name": "onDateChange",
                    "args": [
                        {
                            "name": "e",
                            "type": "MatDatepickerInputEvent<Moment | Date | string>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 810,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod which fires when there is a date change from the calendar popup,\nformats, emits and propagates the new value also when isDatetimepicker true.\n",
                    "description": "<p>Method which fires when there is a date change from the calendar popup,\nformats, emits and propagates the new value also when isDatetimepicker true.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 33309,
                                "end": 33310,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "e"
                            },
                            "type": "MatDatepickerInputEvent<Moment | Date | string>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 33303,
                                "end": 33308,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The MatDatepickerInputEvent object containing the new value.</li>\n</ul>\n"
                        }
                    ]
                },
                {
                    "name": "onDateInput",
                    "args": [
                        {
                            "name": "e",
                            "type": "MatDatepickerInputEvent<Moment | Date | string>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 784,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod which fires when the datepicker input value changes and applies logic when isDatetimepicker is false.\n",
                    "description": "<p>Method which fires when the datepicker input value changes and applies logic when isDatetimepicker is false.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 32186,
                                "end": 32187,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "e"
                            },
                            "type": "MatDatepickerInputEvent<Moment | Date | string>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 32180,
                                "end": 32185,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The MatDatepickerInputEvent object containing the new value.</li>\n</ul>\n"
                        }
                    ]
                },
                {
                    "name": "onDateSelectApply",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 921,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nWhen eui-action-buttons used, it applies the date selection and closes the calendar\n",
                    "description": "<p>When eui-action-buttons used, it applies the date selection and closes the calendar</p>\n"
                },
                {
                    "name": "onFocusOut",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 982,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMarks the form field as touched when focusing out to trigger validation\n",
                    "description": "<p>Marks the form field as touched when focusing out to trigger validation</p>\n",
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "onKeypress",
                    "args": [
                        {
                            "name": "e",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 887,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod which fires upon keypress and opens the calendar if isShownOnInputClick is true and the Enter key is pressed.\nAlso if there is a restrictToRegex, it prevents the default action if the key is not matching the regex.\n",
                    "description": "<p>Method which fires upon keypress and opens the calendar if isShownOnInputClick is true and the Enter key is pressed.\nAlso if there is a restrictToRegex, it prevents the default action if the key is not matching the regex.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 37078,
                                "end": 37079,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "e"
                            },
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 37072,
                                "end": 37077,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The KeyboardEvent object.</li>\n</ul>\n"
                        }
                    ]
                },
                {
                    "name": "onOpened",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 704,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nWhen calendar opens and isDatetimepicker or eui-action-buttons directive used, it closes the calendar when clicking outside of the\noverlay. If eui-action-buttons directive is used it registers the template portal where the user can add projected content as a\nfooter.\n",
                    "description": "<p>When calendar opens and isDatetimepicker or eui-action-buttons directive used, it closes the calendar when clicking outside of the\noverlay. If eui-action-buttons directive is used it registers the template portal where the user can add projected content as a\nfooter.</p>\n"
                },
                {
                    "name": "openCalendar",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 612,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nOpens the calendar if read-only is false, listens to the keydown event when isDatetimepicker or euiActionButtons used\nand creates the time config passed to the timepicker component.\n",
                    "description": "<p>Opens the calendar if read-only is false, listens to the keydown event when isDatetimepicker or euiActionButtons used\nand creates the time config passed to the timepicker component.</p>\n"
                },
                {
                    "name": "registerOnChange",
                    "args": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": []
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 931,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [],
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "registerOnTouched",
                    "args": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": []
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 935,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [],
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "selectToday",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 903,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSelects today's date\n",
                    "description": "<p>Selects today&#39;s date</p>\n"
                },
                {
                    "name": "setDisabledState",
                    "args": [
                        {
                            "name": "isDisabled",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": true,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 957,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the disabled state of the component based on the boolean value passed.\n",
                    "description": "<p>Sets the disabled state of the component based on the boolean value passed.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 39082,
                                "end": 39092,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "isDisabled"
                            },
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 39076,
                                "end": 39081,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The boolean value indicating whether the component should be disabled or not.</li>\n</ul>\n"
                        }
                    ]
                },
                {
                    "name": "writeValue",
                    "args": [
                        {
                            "name": "value",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 926,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 182,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "MatDatepickerModule",
                    "type": "module"
                },
                {
                    "name": "FormsModule",
                    "type": "module"
                },
                {
                    "name": "ReactiveFormsModule",
                    "type": "module"
                },
                {
                    "name": "TranslateModule",
                    "type": "module"
                },
                {
                    "name": "EUI_INPUT_TEXT"
                },
                {
                    "name": "EUI_INPUT_GROUP"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "<p>A comprehensive date and datetime picker component that wraps Angular Material&#39;s datepicker with enhanced functionality.\nSupports date-only, month, year, and datetime selection modes with optional timepicker integration.\nImplements ControlValueAccessor for seamless integration with Angular reactive and template-driven forms.</p>\n<p>Use cases:</p>\n<ul>\n<li>Standard date selection with calendar popup</li>\n<li>Month or year-only selection for period-based inputs</li>\n<li>Combined date and time selection with integrated timepicker</li>\n<li>Date range validation with min/max constraints</li>\n<li>Custom date filtering and styling</li>\n<li>Responsive layouts with block-level display option</li>\n<li>Read-only and disabled states for display-only scenarios</li>\n</ul>\n<h3>Basic Date Picker</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-datepicker\n  [placeholder]=&quot;&#39;Select date&#39;&quot;\n  [(ngModel)]=&quot;selectedDate&quot;&gt;\n&lt;/eui-datepicker&gt;</code></pre></div><h3>DateTime Picker</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-datepicker\n  [isDatetimepicker]=&quot;true&quot;\n  [hasSeconds]=&quot;true&quot;\n  [(ngModel)]=&quot;selectedDateTime&quot;&gt;\n&lt;/eui-datepicker&gt;</code></pre></div><h3>Month/Year Picker</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-datepicker\n  type=&quot;month&quot;\n  [startView]=&quot;&#39;year&#39;&quot;\n  [(ngModel)]=&quot;selectedMonth&quot;&gt;\n&lt;/eui-datepicker&gt;</code></pre></div><h3>With Validation</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">// Component\ndateControl = new FormControl(null, Validators.required);\nminDate = new Date(2024, 0, 1);\nmaxDate = new Date(2024, 11, 31);\n\n// Template\n&lt;eui-datepicker\n  [formControl]=&quot;dateControl&quot;\n  [minDate]=&quot;minDate&quot;\n  [maxDate]=&quot;maxDate&quot;\n  [isClearable]=&quot;true&quot;&gt;\n&lt;/eui-datepicker&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Provides proper ARIA labels and roles for calendar navigation</li>\n<li>Keyboard navigation: Arrow keys for date selection, Enter to confirm, Escape to close</li>\n<li>Clear button is keyboard accessible when enabled</li>\n<li>Required state communicated via <code>aria-required</code> attribute</li>\n<li>Date format is announced to screen readers via placeholder</li>\n<li>Toggle button has accessible label via <code>togglerLabel</code> input</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use <code>dateOutputFormat</code> to control the format of emitted values (e.g., &#39;YYYY-MM-DD&#39;)</li>\n<li><code>restrictToRegex</code> can limit input characters for format enforcement</li>\n<li><code>datepickerFilter</code> enables custom date validation (e.g., disable weekends)</li>\n<li><code>dateClass</code> allows styling specific dates (holidays, events)</li>\n<li>Time picker integrates seamlessly when <code>isDatetimepicker</code> is true</li>\n<li><code>isDatepickerBlock</code> makes component responsive for mobile layouts</li>\n<li><code>isReadOnly</code> allows calendar selection but prevents manual typing</li>\n</ul>\n",
            "rawdescription": "\n\nA comprehensive date and datetime picker component that wraps Angular Material's datepicker with enhanced functionality.\nSupports date-only, month, year, and datetime selection modes with optional timepicker integration.\nImplements ControlValueAccessor for seamless integration with Angular reactive and template-driven forms.\n\nUse cases:\n- Standard date selection with calendar popup\n- Month or year-only selection for period-based inputs\n- Combined date and time selection with integrated timepicker\n- Date range validation with min/max constraints\n- Custom date filtering and styling\n- Responsive layouts with block-level display option\n- Read-only and disabled states for display-only scenarios\n\n### Basic Date Picker\n```html\n<eui-datepicker\n  [placeholder]=\"'Select date'\"\n  [(ngModel)]=\"selectedDate\">\n</eui-datepicker>\n```\n\n### DateTime Picker\n```html\n<eui-datepicker\n  [isDatetimepicker]=\"true\"\n  [hasSeconds]=\"true\"\n  [(ngModel)]=\"selectedDateTime\">\n</eui-datepicker>\n```\n\n### Month/Year Picker\n```html\n<eui-datepicker\n  type=\"month\"\n  [startView]=\"'year'\"\n  [(ngModel)]=\"selectedMonth\">\n</eui-datepicker>\n```\n\n### With Validation\n```typescript\n// Component\ndateControl = new FormControl(null, Validators.required);\nminDate = new Date(2024, 0, 1);\nmaxDate = new Date(2024, 11, 31);\n\n// Template\n<eui-datepicker\n  [formControl]=\"dateControl\"\n  [minDate]=\"minDate\"\n  [maxDate]=\"maxDate\"\n  [isClearable]=\"true\">\n</eui-datepicker>\n```\n\n### Accessibility\n- Provides proper ARIA labels and roles for calendar navigation\n- Keyboard navigation: Arrow keys for date selection, Enter to confirm, Escape to close\n- Clear button is keyboard accessible when enabled\n- Required state communicated via `aria-required` attribute\n- Date format is announced to screen readers via placeholder\n- Toggle button has accessible label via `togglerLabel` input\n\n### Notes\n- Use `dateOutputFormat` to control the format of emitted values (e.g., 'YYYY-MM-DD')\n- `restrictToRegex` can limit input characters for format enforcement\n- `datepickerFilter` enables custom date validation (e.g., disable weekends)\n- `dateClass` allows styling specific dates (holidays, events)\n- Time picker integrates seamlessly when `isDatetimepicker` is true\n- `isDatepickerBlock` makes component responsive for mobile layouts\n- `isReadOnly` allows calendar selection but prevents manual typing\n",
            "type": "component",
            "sourceCode": "import {\n    ApplicationRef,\n    Component,\n    EventEmitter,\n    Injector,\n    Input,\n    OnChanges,\n    OnDestroy,\n    DoCheck,\n    OnInit,\n    Output,\n    SimpleChanges,\n    StaticProvider,\n    ViewChild,\n    ViewEncapsulation,\n    Directive,\n    forwardRef,\n    HostBinding,\n    ContentChild,\n    AfterViewInit,\n    TemplateRef,\n    ViewContainerRef,\n    ComponentRef,\n    booleanAttribute,\n    inject,\n    ElementRef,\n} from '@angular/core';\nimport {\n    ControlValueAccessor,\n    FormControl,\n    FormsModule,\n    NgControl,\n    ReactiveFormsModule,\n    Validators,\n} from '@angular/forms';\nimport { DateAdapter, MatDateFormats, MAT_DATE_FORMATS } from '@angular/material/core';\nimport {\n    MatCalendarCellClassFunction,\n    MatDatepicker,\n    MatDatepickerInputEvent,\n    MatDatepickerModule,\n} from '@angular/material/datepicker';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { ComponentPortal, DomPortalOutlet, TemplatePortal } from '@angular/cdk/portal';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\nimport _moment, { Moment } from 'moment';\nimport { default as _rollupMoment } from 'moment';\nimport 'moment/min/locales.js';\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS } from '@angular/material-moment-adapter';\n\nimport { EuiTimepickerComponent, EuiDateTimePickerConfig } from '@eui/components/eui-timepicker';\nimport { DYNAMIC_COMPONENT_CONFIG, LocaleService, EuiAppShellService, uniqueId, injectOptional } from '@eui/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\nimport { EUI_INPUT_GROUP } from '@eui/components/eui-input-group';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\nconst moment = _rollupMoment || _moment;\n\nexport const DEFAULT_FORMATS = {\n    parse: {\n        dateInput: 'L',\n    },\n    display: {\n        dateInput: 'L',\n        monthYearLabel: 'MM/YYYY',\n        dateA11yLabel: 'LL',\n        monthYearA11yLabel: 'LL',\n    },\n};\n\n/**\n * A comprehensive date and datetime picker component that wraps Angular Material's datepicker with enhanced functionality.\n * Supports date-only, month, year, and datetime selection modes with optional timepicker integration.\n * Implements ControlValueAccessor for seamless integration with Angular reactive and template-driven forms.\n * \n * Use cases:\n * - Standard date selection with calendar popup\n * - Month or year-only selection for period-based inputs\n * - Combined date and time selection with integrated timepicker\n * - Date range validation with min/max constraints\n * - Custom date filtering and styling\n * - Responsive layouts with block-level display option\n * - Read-only and disabled states for display-only scenarios\n * \n * @usageNotes\n * ### Basic Date Picker\n * ```html\n * <eui-datepicker \n *   [placeholder]=\"'Select date'\"\n *   [(ngModel)]=\"selectedDate\">\n * </eui-datepicker>\n * ```\n * \n * ### DateTime Picker\n * ```html\n * <eui-datepicker \n *   [isDatetimepicker]=\"true\"\n *   [hasSeconds]=\"true\"\n *   [(ngModel)]=\"selectedDateTime\">\n * </eui-datepicker>\n * ```\n * \n * ### Month/Year Picker\n * ```html\n * <eui-datepicker \n *   type=\"month\"\n *   [startView]=\"'year'\"\n *   [(ngModel)]=\"selectedMonth\">\n * </eui-datepicker>\n * ```\n * \n * ### With Validation\n * ```typescript\n * // Component\n * dateControl = new FormControl(null, Validators.required);\n * minDate = new Date(2024, 0, 1);\n * maxDate = new Date(2024, 11, 31);\n * \n * // Template\n * <eui-datepicker \n *   [formControl]=\"dateControl\"\n *   [minDate]=\"minDate\"\n *   [maxDate]=\"maxDate\"\n *   [isClearable]=\"true\">\n * </eui-datepicker>\n * ```\n * \n * ### Accessibility\n * - Provides proper ARIA labels and roles for calendar navigation\n * - Keyboard navigation: Arrow keys for date selection, Enter to confirm, Escape to close\n * - Clear button is keyboard accessible when enabled\n * - Required state communicated via `aria-required` attribute\n * - Date format is announced to screen readers via placeholder\n * - Toggle button has accessible label via `togglerLabel` input\n * \n * ### Notes\n * - Use `dateOutputFormat` to control the format of emitted values (e.g., 'YYYY-MM-DD')\n * - `restrictToRegex` can limit input characters for format enforcement\n * - `datepickerFilter` enables custom date validation (e.g., disable weekends)\n * - `dateClass` allows styling specific dates (holidays, events)\n * - Time picker integrates seamlessly when `isDatetimepicker` is true\n * - `isDatepickerBlock` makes component responsive for mobile layouts\n * - `isReadOnly` allows calendar selection but prevents manual typing\n */\n@Component({\n    selector: 'eui-datepicker',\n    templateUrl: './eui-datepicker.component.html',\n    styleUrl: './eui-datepicker.scss',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        MatDatepickerModule,\n        FormsModule,\n        ReactiveFormsModule,\n        TranslateModule,\n        ...EUI_INPUT_TEXT,\n        ...EUI_INPUT_GROUP,\n        ...EUI_BUTTON,\n        ...EUI_ICON,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSuccess',\n                'euiInfo',\n                'euiWarning',\n                'euiDanger',\n                'euiVariant',\n            ],\n        },\n    ],\n})\nexport class EuiDatepickerComponent implements OnInit, AfterViewInit, ControlValueAccessor, OnDestroy, OnChanges, DoCheck {\n    baseStatesDirective = inject(BaseStatesDirective);\n    euiLetterFormat = inject(EuiLetterFormatDirective, { optional: true })!;\n\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-datepicker'),\n            this.isDatepickerBlock ? 'eui-datepicker--responsive' : '',\n        ].join(' ').trim();\n    }\n\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-datepicker';\n\n    public inputFormControl = new FormControl();\n    public breakpointsValue: any = {\n        isMobile: false,\n        isTablet: false,\n        isLtDesktop: false,\n        isDesktop: false,\n        isXL: false,\n        isXXL: false,\n    };\n    showDateButton = true;\n    timePickerInstance: EuiTimepickerComponent;\n    timePickerComponentRef: ComponentRef<EuiTimepickerComponent>;\n    @ViewChild('calendar', { static: true }) calendar: MatDatepicker<any>;\n    @ViewChild('templatePortalRef') templatePortalRef: TemplateRef<EuiActionButtonsDirective>;\n    @ViewChild('input', { read: ElementRef }) public inputRef: ElementRef<HTMLInputElement>; //used to access the input raw value trough reference\n\n    @ContentChild(forwardRef(() => EuiActionButtonsDirective)) euiActionButtons: EuiActionButtonsDirective;\n    /**\n     * Emitted when the input field value changes through user typing or programmatic updates.\n     * Payload contains the formatted date string (if dateOutputFormat is set) or Moment object, or null if cleared.\n     * Triggers on every input change, including manual text entry and clear actions.\n     */\n    @Output() inputChange = new EventEmitter<any>();\n    /**\n     * Emitted when a date is selected from the calendar popup or through date/time adjustments.\n     * Payload contains the formatted date string (if dateOutputFormat is set) or Moment object, or null if cleared.\n     * Does not trigger on manual text input, only on calendar interactions and programmatic selections.\n     */\n    @Output() dateSelect = new EventEmitter<any>();\n    /**\n     * The initial or current date value displayed in the input field.\n     * Accepts Moment objects, Date objects, or date strings compatible with the configured date adapter.\n     * When dateOutputFormat is specified, the internal value is formatted accordingly.\n     */\n    @Input() value: any;\n    /**\n     * The SVG icon name displayed on the calendar toggle button.\n     * Must be a valid eui-icon identifier.\n     */\n    @Input() togglerIconSvg = 'eui-calendar';\n    /**\n     * Accessible label text for the calendar toggle button.\n     * Used for screen readers and accessibility compliance.\n     */\n    @Input() togglerLabel: string;\n    /**\n     * Placeholder text displayed in the input field when empty.\n     * If not provided, defaults to translated placeholders based on the calendar type (regular, month, or year).\n     */\n    @Input() placeholder: string;\n    /**\n     * Determines the selection granularity and calendar behavior.\n     * 'regular' allows full date selection, 'month' selects month/year only, 'year' selects year only.\n     * Affects the calendar view, input format, and selection behavior.\n     */\n    @Input() type: 'year' | 'month' | 'regular' = 'regular';\n    /**\n     * The initial view displayed when the calendar popup opens.\n     * 'month' shows the day grid, 'year' shows month selection, 'multi-year' shows year range selection.\n     * If not specified, defaults based on the type property.\n     */\n    @Input() startView: 'month' | 'year' | 'multi-year';\n    /**\n     * The earliest selectable date in the calendar.\n     * Dates before this value are disabled and cannot be selected.\n     * Accepts Moment objects, Date objects, or date strings compatible with the date adapter.\n     */\n    @Input() minDate: any;\n    /**\n     * The latest selectable date in the calendar.\n     * Dates after this value are disabled and cannot be selected.\n     * Accepts Moment objects, Date objects, or date strings compatible with the date adapter.\n     */\n    @Input() maxDate: any;\n    /**\n     * Custom filter function to enable or disable specific dates in the calendar.\n     * Receives each date as a parameter and should return true to enable the date, false to disable it.\n     * Useful for implementing business rules like disabling weekends or holidays.\n     */\n    @Input() datepickerFilter: (d: any) => boolean = this.datepickerFiltering;\n    /**\n     * Moment.js format string for the output value emitted through form control and events.\n     * When specified, all emitted values are formatted strings instead of Moment objects.\n     * Example: 'YYYY-MM-DD' or 'DD/MM/YYYY HH:mm:ss'.\n     */\n    @Input() dateOutputFormat: string;\n    /**\n     * Custom component class to replace the default calendar header.\n     * Must be a valid Angular component that implements the Material datepicker header interface.\n     * Allows complete customization of the calendar header appearance and behavior.\n     */\n    @Input() customHeader: any;\n    /**\n     * Function that returns CSS class names to apply to specific calendar date cells.\n     * Receives each date as a parameter and returns a string or array of class names.\n     * Enables visual styling of specific dates like holidays, events, or special occasions.\n     */\n    @Input() dateClass: MatCalendarCellClassFunction<any>;\n    /**\n     * Increment/decrement step for hour adjustments in the timepicker.\n     * Only applicable when isDatetimepicker is true.\n     * Determines how many hours are added or subtracted with each button click.\n     */\n    @Input() stepHours = 1;\n    /**\n     * Increment/decrement step for minute adjustments in the timepicker.\n     * Only applicable when isDatetimepicker is true.\n     * Determines how many minutes are added or subtracted with each button click.\n     */\n    @Input() stepMinutes = 1;\n    /**\n     * Increment/decrement step for second adjustments in the timepicker.\n     * Only applicable when isDatetimepicker is true and hasSeconds is true.\n     * Determines how many seconds are added or subtracted with each button click.\n     */\n    @Input() stepSeconds = 1;\n    /**\n     * Unique identifier for the input element.\n     * Used for label association, form integration, and testing selectors.\n     * Auto-generated if not provided.\n     */\n    @Input() inputId = `eui-datepicker-${uniqueId()}`;\n    /**\n     * Custom CSS class or classes applied to the calendar popup panel.\n     * Accepts a single class name string or an array of class names.\n     * Useful for theme customization or specific styling requirements.\n     */\n    @Input() customPanelClass: string | string[] | null = null;\n    /**\n     * Enables datetime selection mode with an integrated timepicker in the calendar popup.\n     * When true, displays hour, minute, and optionally second selectors below the calendar.\n     * Changes the component behavior to handle both date and time values.\n     */\n    @Input({ transform: booleanAttribute }) isDatetimepicker = false;\n    /**\n     * Displays seconds selector in the timepicker.\n     * Only applicable when isDatetimepicker is true.\n     * When false, only hours and minutes are selectable.\n     */\n    @Input({ transform: booleanAttribute }) hasSeconds = false;\n    /**\n     * Renders the timepicker with a single combined input field instead of separate hour/minute/second inputs.\n     * Only applicable when isDatetimepicker is true.\n     * Provides a more compact timepicker interface.\n     */\n    @Input({ transform: booleanAttribute }) isOneInputField = false;\n    /**\n     * Hides the calendar toggle button, leaving only the input field visible.\n     * Users can still open the calendar by clicking the input field if isShownOnInputClick is true.\n     * Useful for minimalist layouts or when calendar access should be input-driven only.\n     */\n    @Input({ transform: booleanAttribute }) hasNoButton = false;\n    /**\n     * Applies block-level display styling to make the component fill its container width.\n     * Enables responsive behavior for mobile and tablet layouts.\n     * When true, the input and button stretch to 100% width.\n     */\n    @Input({ transform: booleanAttribute }) isDatepickerBlock = false;\n    /**\n     * Makes the input field read-only, preventing manual text entry.\n     * Users can still select dates from the calendar popup.\n     * Automatically disables the clear button when true.\n     */\n    @Input({ transform: booleanAttribute }) isReadOnly = false;\n    /**\n     * Disables the entire component including input field, toggle button, and calendar popup.\n     * When true, no user interaction is possible and the component appears visually disabled.\n     * Integrates with Angular forms disabled state.\n     */\n    @Input({ transform: booleanAttribute }) isDisabled = false;\n    /**\n     * Disables only the input field while keeping the calendar toggle button enabled.\n     * Users can select dates from the calendar but cannot type manually.\n     * Useful for enforcing calendar-only date selection.\n     */\n    @Input({ transform: booleanAttribute }) isInputDisabled = false;\n    /**\n     * Disables only the calendar toggle button while keeping the input field enabled.\n     * Users can type dates manually but cannot open the calendar popup.\n     * Useful for keyboard-only or text-based date entry scenarios.\n     */\n    @Input({ transform: booleanAttribute }) isButtonDisabled = false;\n    /**\n     * Disables the calendar popup functionality while keeping the input field enabled.\n     * Prevents the calendar from opening through any interaction method.\n     * Similar to isButtonDisabled but also blocks input-click calendar opening.\n     */\n    @Input({ transform: booleanAttribute }) isPickerDisabled = false;\n    /**\n     * Controls whether clicking the input field opens the calendar popup.\n     * When false, the calendar only opens via the toggle button.\n     * Useful when the input should be primarily for manual text entry.\n     */\n    @Input({ transform: booleanAttribute }) isShownOnInputClick = true;\n    /**\n     * Displays a clear button in the input field to reset the value to null.\n     * Automatically disabled when isReadOnly is true.\n     * Clicking the clear button emits null through inputChange and dateSelect events.\n     */\n    @Input()\n    get isClearable(): boolean {\n        return this._isClearable && !this.isReadOnly;\n    }\n    set isClearable(value: BooleanInput) {\n        this._isClearable = coerceBooleanProperty(value);\n    }\n    private _isClearable = false;\n    /**\n     * Regular expression pattern to restrict which characters can be typed in the input field.\n     * Accepts a RegExp object or a string that will be converted to RegExp.\n     * Each keypress is validated against this pattern; non-matching keys are blocked.\n     * Useful for enforcing numeric-only input or specific date format characters.\n     */\n    @Input()\n    get restrictToRegex(): RegExp {\n        return this._restrictToRegex;\n    }\n    set restrictToRegex(value: string | RegExp) {\n        try {\n            if (value instanceof RegExp) {\n                this._restrictToRegex = value;\n            } else if (typeof value === 'string') {\n                this._restrictToRegex = new RegExp(value);\n            } else {\n                throw new Error(`restrictToRegex can only be string or RegExp, it cannot be ${typeof value}`);\n            }\n        } catch (e) {\n            console.error(e);\n        }\n    }\n    private _restrictToRegex: RegExp;\n\n    /**\n     * Returns an array of CSS classes to apply to the mat-datepicker panel.\n     * Combines internal classes with user-provided customPanelClass.\n     */\n    get mergedPanelClass(): string[] {\n        const classes = [`mat-calendar-${this.type}`];\n\n        if (this.isDatetimepicker) {\n            classes.push('eui-datepicker--container-height-large');\n        }\n\n        if (this.customPanelClass) {\n            if (Array.isArray(this.customPanelClass)) {\n                classes.push(...this.customPanelClass);\n            } else {\n                classes.push(this.customPanelClass);\n            }\n        }\n\n        return classes;\n    }\n\n    protected hasAriaRequiredAttribute: boolean;\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private format: MatDateFormats = inject(MAT_DATE_FORMATS, { optional: true });\n    private portalHost: DomPortalOutlet;\n    private portal: ComponentPortal<EuiTimepickerComponent>;\n    private templatePortal: TemplatePortal<EuiActionButtonsDirective>;\n    private isNull = false;\n    private adapter = inject<DateAdapter<any>>(DateAdapter);\n    private translateService = inject(TranslateService);\n    private localeService = injectOptional(LocaleService);\n    private EuiAppShellService = inject(EuiAppShellService);\n    private injector = inject(Injector);\n    private appRef = inject(ApplicationRef);\n    private viewContainerRef = inject(ViewContainerRef);\n    private control = inject(NgControl, { self: true, optional: true })!;\n    private momentAdapterOptions = injectOptional(MAT_MOMENT_DATE_ADAPTER_OPTIONS);\n\n    constructor() {\n        if (this.control) {\n            this.control.valueAccessor = this;\n        }\n    }\n\n    ngOnInit(): void {\n        this.inputFormControl.setValue(this.value);\n        // eslint-disable-next-line\n        this.isInputDisabled ? this.inputFormControl.disable() : this.inputFormControl.enable();\n\n        this.localeService\n            ?.getState()\n            .pipe(takeUntil(this.destroy$))\n            .subscribe((state) => {\n                this.adapter.setLocale(state.id);\n            });\n\n        if (this.isDatetimepicker && (this.minDate || this.maxDate)) {\n            this.inputFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(() => {\n                setTimeout(() => {\n                    this.checkTimePickerValidity();\n                });\n            });\n        }\n\n        if (!this.placeholder) {\n            if (this.type === 'regular' && !this.isDatetimepicker) {\n                this.translateService\n                    .stream('eui.datepicker.PLACEHOLDER')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((result: string) => {\n                        this.placeholder = result;\n                    });\n            } else if (this.type === 'regular' && this.isDatetimepicker) {\n                this.translateService\n                    .stream('eui.datepicker.ISDATETIMEPICKER')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((result: string) => {\n                        this.placeholder = result;\n                    });\n            } else if (this.type === 'year') {\n                this.translateService\n                    .stream('eui.datepicker.YEAR-PLACEHOLDER')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((result: string) => {\n                        this.placeholder = result;\n                    });\n            } else if (this.type === 'month') {\n                this.translateService\n                    .stream('eui.datepicker.MONTH-PLACEHOLDER')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((result: string) => {\n                        this.placeholder = result;\n                    });\n            }\n        }\n\n        this.EuiAppShellService.breakpoints$.pipe(takeUntil(this.destroy$)).subscribe((bkps) => (this.breakpointsValue = bkps));\n\n        this.updateInputAriaRequiredAttribute(this.control);\n        this.control?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(() => {\n            this.updateInputAriaRequiredAttribute(this.control);\n        });\n    }\n\n    ngAfterViewInit(): void {\n        if (this.euiActionButtons) {\n            this.templatePortal = new TemplatePortal(this.templatePortalRef, this.viewContainerRef);\n        }\n\n        if (this.isDatetimepicker || this.euiActionButtons) {\n            this.calendar['closeCalendar'] = this.calendar.close;\n            this.calendar.close = (): boolean => false;\n        }\n        \n        // Store input reference in control for validator access\n        if (this.control?.control) {\n            (this.control.control as any)._inputRef = this.inputRef;\n        }\n        \n        // Listen to native input event to trigger validation on every keystroke\n        if (this.inputRef) {\n            fromEvent(this.inputRef.nativeElement, 'input')\n                .pipe(takeUntil(this.destroy$))\n                .subscribe(() => {\n                    this.control?.control?.updateValueAndValidity({ emitEvent: false });\n                });\n        }\n    }\n\n    ngDoCheck(): void {\n        if (this.control) {\n            // marks the input control as touched/invalid if the form control is touched/invalid\n            // eslint-disable-next-line\n            this.control?.touched ? this.inputFormControl.markAsTouched() : this.inputFormControl.markAsUntouched();\n            // eslint-disable-next-line\n            this.control?.invalid ? this.inputFormControl.setErrors(this.control.errors) : this.inputFormControl.setErrors(null);\n        }\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes && changes['isReadOnly']) {\n            if (this.isReadOnly) {\n                this.showDateButton = false;\n            } else {\n                this.showDateButton = true;\n            }\n        }\n\n        if (changes && changes['isDisabled']) {\n            this.setDisabledState(this.isDisabled);\n        }\n\n        if (changes && changes['value']) {\n            this.inputFormControl.setValue(this.value);\n        } else {\n            if (this.dateOutputFormat && (this.value && this.value.value !== null)) {\n                this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n            }\n        }\n\n        if (changes && changes['isClearable']) {\n            // when is clearable is used listen if onclear is fired and update the value\n            if (this.isClearable) {\n                this.inputChange.pipe(takeUntil(this.destroy$)).subscribe((event) => {\n                    if (event === null) {\n                        this.value = event;\n                        this.propagateChange(event);\n                    }\n                });\n            }\n        }\n    }\n    /**\n     * Creates an injector for the timepicker component.\n     * @param data - The data to be passed to the timepicker component.\n     * @return {Injector} - The created injector.\n     */\n    createInjector(data: any): Injector {\n        const injectorTokens: StaticProvider = [{ provide: DYNAMIC_COMPONENT_CONFIG, useValue: data }];\n        return Injector.create({\n            parent: this.injector,\n            providers: injectorTokens,\n        });\n    }\n    /**\n     * Opens the calendar if read-only is false, listens to the keydown event when isDatetimepicker or euiActionButtons used\n     * and creates the time config passed to the timepicker component.\n     */\n    openCalendar(): void {\n        if (!this.isReadOnly) {\n            this.calendar.open();\n\n            if (this.isDatetimepicker || this.euiActionButtons) {\n                this.calendar.opened = true;\n                // listens to the keydown event once the calendar opened\n                fromEvent<KeyboardEvent>(document, 'keydown')\n                    .pipe(takeUntil(this.destroy$))\n                    .subscribe((event: KeyboardEvent) => {\n                        switch (event.key) {\n                            case 'Escape': //closes the calendar on Escape\n                                this.closeCalendar();\n                                break;\n                            case 'Enter': {\n                                //closes the calendar if pressing Enter on the close calendar button only\n                                this.getEventPath(event).forEach((p: any) => {\n                                    if (p.className && p.className.indexOf('mat-datepicker-close-button') !== -1) {\n                                        this.closeCalendar();\n                                    }\n                                });\n                                break;\n                            }\n                        }\n                    });\n            }\n\n            if (this.isDatetimepicker) {\n                this.portalHost = new DomPortalOutlet(\n                    document.querySelector('mat-calendar'),\n                    this.appRef,\n                    this.injector,\n                );\n                const timeConfig: EuiDateTimePickerConfig = {\n                    hours: this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().hours() : this.value && moment(this.value).hours(),\n                    mins: this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().minutes() : this.value && moment(this.value).minutes(),\n                    secs: this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().seconds() : this.value && moment(this.value).seconds(),\n                    isDatetimepicker: this.isDatetimepicker,\n                    hasSeconds: this.hasSeconds,\n                    isOneInputField: this.isOneInputField,\n                    stepHours: this.stepHours,\n                    stepMinutes: this.stepMinutes,\n                    stepSeconds: this.stepSeconds,\n                    isDisabled: !this.value || this.value === '',\n                    callbackFn: (hours: number, mins: number, secs: number) => {\n                        // Don't allow time changes when no date is selected\n                        if (!this.value || this.value === '') {\n                            return;\n                        }\n\n                        this.value =\n                            typeof this.value === 'string'\n                                ? moment(this.value, moment.ISO_8601)\n                                : moment(this.value, this.format.parse.dateInput);\n                        this.value.set({\n                            hour: hours || 0,\n                            minute: mins || 0,\n                            second: secs || 0,\n                        });\n\n                        this.inputFormControl.setValue(this.value);\n\n                        if (this.dateOutputFormat) {\n                            this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n                            this.dateSelect.emit(moment(this.value).format(this.dateOutputFormat));\n                        } else {\n                            this.propagateChange(moment(this.value));\n                            this.dateSelect.emit(this.value);\n                        }\n                    },\n                };\n\n                this.portal = new ComponentPortal(EuiTimepickerComponent, null, this.createInjector(timeConfig));\n                const componentRef: ComponentRef<EuiTimepickerComponent> = this.portalHost.attachComponentPortal(this.portal);\n                this.timePickerInstance = componentRef.instance;\n                this.timePickerComponentRef = componentRef;\n            }\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n\n        this.portalHost?.detach();\n    }\n\n    /**\n     * When calendar opens and isDatetimepicker or eui-action-buttons directive used, it closes the calendar when clicking outside of the\n     * overlay. If eui-action-buttons directive is used it registers the template portal where the user can add projected content as a\n     * footer.\n     */\n    onOpened(): void {\n        if (this.isDatetimepicker || this.euiActionButtons) {\n            if (this.euiActionButtons) {\n                this.calendar.registerActions(this.templatePortal);\n            }\n\n            this.calendar['_overlayRef']['_pane'].classList.add('eui-21');\n\n            this.calendar['_overlayRef']['_backdropClick'].pipe(takeUntil(this.destroy$)).subscribe(() => {\n                this.closeCalendar();\n            });\n        }\n    }\n\n    /**\n     * Retrieves the event path for a given event. This method provides a fallback\n     * for browsers that do not support the `event.path` property by constructing\n     * the path manually.\n     *\n     * @param event - The event object of type `KeyboardEvent`.\n     * @returns An array representing the event path, starting from the event target\n     *          and traversing up through its ancestors, ending with the `document`\n     *          and `window` objects.\n     */\n    getEventPath(event: KeyboardEvent): EventTarget[] {\n        if (event.composedPath) {\n            return event.composedPath();\n        }\n\n        // Fallback for browsers that do not support composedPath()\n        const path: EventTarget[] = [];\n        let target: EventTarget | null = event.target as EventTarget;\n\n        while (target) {\n            path.push(target);\n            target = (target as HTMLElement).parentNode as EventTarget;\n        }\n\n        path.push(document, window);\n\n        return path;\n    }\n    /**\n     * Fires when the type of the calendar is either month or year,\n     * formats the date if dateOutputFormat used\n     * emits and propagates the selected date value\n     * and closes the calendar.\n     * @param normalizedDate - The selected date in the calendar.\n     * @param calendar - The MatDatepicker instance.\n     */\n    chosenDateHandler(normalizedDate: any, calendar: MatDatepicker<any>): void {\n        if (this.dateOutputFormat) {\n            const formattedValue = moment(normalizedDate, this.dateOutputFormat);\n            this.value = formattedValue;\n            this.inputFormControl.setValue(formattedValue);\n\n            this.propagateChange(formattedValue.format(this.dateOutputFormat));\n            this.inputChange.emit(formattedValue.format(this.dateOutputFormat));\n            this.dateSelect.emit(formattedValue.format(this.dateOutputFormat));\n        } else {\n            this.value = normalizedDate;\n            this.inputFormControl.setValue(this.value);\n\n            this.propagateChange(this.value);\n            this.dateSelect.emit(this.value ? this.value : null);\n            this.inputChange.emit(this.value ? this.value : null);\n        }\n        calendar.close();\n    }\n    /**\n     * Method which returns true in order to mark the date as valid.\n     * @returns {boolean} - Returns true if the date is valid.\n     */\n    public datepickerFiltering(): boolean {\n        return true;\n    }\n    /**\n     * Method which fires when the datepicker input value changes and applies logic when isDatetimepicker is false.\n     * @param e - The MatDatepickerInputEvent object containing the new value.\n     */\n    public onDateInput(e: MatDatepickerInputEvent<Moment | Date | string>): void {\n        if (!this.isDatetimepicker) {\n            if (e.value === null) {\n                this.propagateChange(null);\n                this.inputChange.emit(null);\n            } else {\n                const correctedDate = this.validateDateRange(e.value);\n                this.value = correctedDate;\n\n                if (this.dateOutputFormat) {\n                    const formatted = this.adapterToMoment(correctedDate).format(this.dateOutputFormat);\n                    this.propagateChange(formatted);\n                    this.inputChange.emit(formatted);\n                } else {\n                    this.propagateChange(correctedDate);\n                    this.inputChange.emit(correctedDate);\n                }\n            }\n            this.propagateTouched();\n        }\n    }\n    /**\n     * Method which fires when there is a date change from the calendar popup,\n     * formats, emits and propagates the new value also when isDatetimepicker true.\n     * @param e - The MatDatepickerInputEvent object containing the new value.\n     */\n    public onDateChange(e: MatDatepickerInputEvent<Moment | Date | string>): void {\n        if (e.value === null) {\n            this.propagateChange(null);\n            this.dateSelect.emit(null);\n            this.isNull = true;\n        } else {\n            this.isNull = false;\n            if (this.isDatetimepicker) {\n                const hours = this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().hours() : this.value && moment(this.value).hours()\n                const mins = this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().minutes() : this.value && moment(this.value).minutes();\n                const secs = this.momentAdapterOptions?.useUtc ? this.value && moment(this.value).utc().seconds() : this.value && moment(this.value).seconds();\n\n                this.value = moment(e.value, this.format.parse.dateInput);\n                this.value.set({\n                    hour: hours || 0,\n                    minute: mins || 0,\n                    second: secs || 0,\n                });\n\n                if (this.calendar.opened) {\n                    // Enable timepicker when date is selected\n                    setTimeout(() => this.updateTimePickerDisabledState());\n                    this.inputFormControl.setValue(this.value);\n                }\n\n                if (this.dateOutputFormat && this.value != null) {\n                    this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n                    this.dateSelect.emit(this.value.format(this.dateOutputFormat));\n                } else {\n                    this.propagateChange(moment(this.value));\n                    this.dateSelect.emit(e?.value);\n                }\n            } else {\n                if (this.dateOutputFormat) {\n                    const formatted = this.adapterToMoment(e.value).format(this.dateOutputFormat);\n                    this.value = e.value;\n                    this.dateSelect.emit(formatted);\n                } else {\n                    this.dateSelect.emit(e?.value ? e.value : null);\n                }\n            }\n        }\n    }\n    /**\n     * Method which fires when the input value changes and applies logic when isDatetimepicker true.\n     * @param e - The new value of the input field.\n     */\n    changedInput(e: string | Event): void {\n        const value = typeof e === 'string' ? e : (e.target as HTMLInputElement).value;\n        if (!this.isNull) {\n            const parsedDate = this.momentAdapterOptions?.useUtc ? moment(value, this.format.parse.dateInput).utcOffset(0, true) : moment(value, this.format.parse.dateInput);\n            const correctedDate = this.validateDateRange(parsedDate);\n            \n            this.value = correctedDate;\n            this.inputFormControl.setValue(this.value);\n            if (this.dateOutputFormat && this.value != null) {\n                this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n                this.inputChange.emit(moment(this.value).format(this.dateOutputFormat));\n            } else {\n                this.propagateChange(moment(this.value));\n                this.inputChange.emit(this.value);\n            }\n        }\n    }\n    /**\n     * Method which fires when clearing the input field and emits/propagates the null value.\n     */\n    onClear(): void {\n        this.dateSelect.emit(null);\n        this.inputChange.emit(null);\n        this.propagateChange(null);\n    }\n    /**\n     * Method which fires upon keypress and opens the calendar if isShownOnInputClick is true and the Enter key is pressed.\n     * Also if there is a restrictToRegex, it prevents the default action if the key is not matching the regex.\n     * @param e - The KeyboardEvent object.\n     */\n    onKeypress(e: KeyboardEvent): void {\n        if (e.key === 'Enter' && this.isShownOnInputClick) {\n            this.openCalendar();\n            e.preventDefault();\n        }\n\n        if (this._restrictToRegex) {\n            if (!this._restrictToRegex.test(e.key)) {\n                e.preventDefault();\n            }\n        }\n    }\n\n    /**\n     * Selects today's date\n     */\n    selectToday(): void {\n        this.inputFormControl.setValue(moment());\n    }\n\n    /**\n     * Closes the calendar when isDatetimepicker or eui-action-buttons used and removes the applied footer when eui-action-buttons used\n     */\n    closeCalendar(): void {\n        this.calendar['closeCalendar']();\n\n        if (this.euiActionButtons) {\n            this.calendar.removeActions(this.templatePortal);\n        }\n    }\n\n    /**\n     * When eui-action-buttons used, it applies the date selection and closes the calendar\n     */\n    onDateSelectApply(): void {\n        this.calendar._applyPendingSelection();\n        this.closeCalendar();\n    }\n\n    writeValue(value: any): void {\n        this.value = value || '';\n        this.inputFormControl.setValue(value, { emitEvent: false });\n    }\n\n    registerOnChange(fn: () => void): void {\n        this.propagateChange = fn;\n    }\n\n    registerOnTouched(fn: () => void): void {\n        this.propagateTouched = fn;\n    }\n    /**\n     * Converts the type of the calendar to the corresponding start view.\n     * @param type - The type of the calendar.\n     * @returns {('year' | 'month' | 'multi-year')} - The start view of the calendar.\n     */\n    convTypeToStartView(type: string): 'year' | 'month' | 'multi-year' {\n        switch (type) {\n            case 'month':\n                return 'year';\n            case 'year':\n                return 'multi-year';\n            case 'regular':\n                return 'month';\n        }\n    }\n    /**\n     * Sets the disabled state of the component based on the boolean value passed.\n     * @param isDisabled - The boolean value indicating whether the component should be disabled or not.\n     */\n    public setDisabledState?(isDisabled: boolean): void {\n        this.isDisabled = isDisabled;\n        if (isDisabled) {\n            // disables only the input through reactive forms\n            if (this.isInputDisabled && !this.isPickerDisabled) {\n                this.isInputDisabled = true;\n                this.isButtonDisabled = this.isPickerDisabled = false;\n                // disables only the button through reactive forms\n            } else if (this.isButtonDisabled && !this.isInputDisabled) {\n                this.isInputDisabled = false;\n                this.isButtonDisabled = this.isPickerDisabled = true;\n            } else {\n                this.isInputDisabled = this.isPickerDisabled = this.isButtonDisabled = true;\n            }\n        } else {\n            this.isInputDisabled = this.isPickerDisabled = this.isButtonDisabled = false;\n        }\n\n        // eslint-disable-next-line\n        this.isInputDisabled ? this.inputFormControl.disable() : this.inputFormControl.enable();\n    }\n\n    /**\n     * Marks the form field as touched when focusing out to trigger validation\n     */\n    protected onFocusOut(): void {\n        this.propagateTouched();\n    }\n    /**\n     * Checks the validity of the time picker based on the minDate and maxDate properties.\n     * If the value is outside the range, it adjusts the time picker values accordingly.\n     */\n    private checkTimePickerValidity(): void {\n        const getTime = (d: any): moment.Moment => {\n            const deserialized = this.adapter.deserialize(d);\n            return moment(new Date(this.adapter.getYear(deserialized), this.adapter.getMonth(deserialized), this.adapter.getDate(deserialized)));\n        };\n\n        if (this.minDate && (!moment(this.minDate).isBefore(this.value) || this.areSameDates(this.value, this.minDate))) {\n            this.timePickerInstance.hoursDownDisable(true);\n            this.timePickerInstance.minutesDownDisable(true);\n            this.timePickerInstance.secondsDownDisable(true);\n\n            if (!moment(this.minDate).isBefore(this.value)) {\n                const minMoment = getTime(this.minDate);\n                const hours = minMoment.hours();\n                const minutes = minMoment.minutes();\n                const seconds = minMoment.seconds();\n\n                setTimeout(() => {\n                    this.timePickerInstance.hours = hours;\n                    this.timePickerInstance.mins = minutes;\n                    this.timePickerInstance.secs = seconds;\n                });\n\n                this.value = typeof this.value === 'string' ? moment(this.value, moment.ISO_8601) : moment(this.value, this.format.parse.dateInput);\n                this.value.set({ hour: hours || 0, minute: minutes || 0, second: seconds || 0 });\n            }\n        } else {\n            this.timePickerInstance?.hoursDownDisable(false);\n            this.timePickerInstance?.minutesDownDisable(false);\n            this.timePickerInstance?.secondsDownDisable(false);\n        }\n\n        if (this.maxDate && this.adapter.compareDate(this.adapter.deserialize(this.value), this.adapter.deserialize(this.maxDate)) >= 0) {\n            this.timePickerInstance.hoursUpDisable(true);\n            this.timePickerInstance.minutesUpDisable(true);\n            this.timePickerInstance.secondsUpDisable(true);\n\n            if (this.adapter.compareDate(this.adapter.deserialize(this.value), this.adapter.deserialize(this.maxDate)) > 0) {\n                const maxMoment = getTime(this.maxDate);\n                const hours = maxMoment.hours();\n                const minutes = maxMoment.minutes();\n                const seconds = maxMoment.seconds();\n\n                setTimeout(() => {\n                    this.timePickerInstance.hours = hours;\n                    this.timePickerInstance.mins = minutes;\n                    this.timePickerInstance.secs = seconds;\n                });\n\n                this.value = typeof this.value === 'string' ? moment(this.value, moment.ISO_8601) : moment(this.value, this.format.parse.dateInput);\n                this.value.set({ hour: hours || 0, minute: minutes || 0, second: seconds || 0 });\n            }\n\n            if (this.value.hour() === 0 && this.value.minute() === 0 && this.value.second() === 0 &&\n                getTime(this.maxDate).hour() === 0 && getTime(this.maxDate).minute() === 0 && getTime(this.maxDate).second() === 0 &&\n                this.minDate && this.areSameDates(this.value, this.minDate)) {\n                this.timePickerInstance.hoursDownDisable(true);\n                this.timePickerInstance.minutesDownDisable(true);\n                this.timePickerInstance.secondsDownDisable(true);\n            } else {\n                this.timePickerInstance.hoursDownDisable(false);\n                this.timePickerInstance.minutesDownDisable(false);\n                this.timePickerInstance.secondsDownDisable(false);\n            }\n        } else {\n            this.timePickerInstance.hoursUpDisable(false);\n            this.timePickerInstance.minutesUpDisable(false);\n            this.timePickerInstance.secondsUpDisable(false);\n        }\n    }\n    /**\n     * Compares two dates and checks if they are the same.\n     * @param date1 - The first date to compare.\n     * @param date2 - The second date to compare.\n     * @returns {boolean} - Returns true if the dates are the same, otherwise false.\n     */\n    private areSameDates(date1: any, date2: any): boolean {\n        const d1 = this.adapter.deserialize(date1);\n        const d2 = this.adapter.deserialize(date2);\n        return this.adapter.compareDate(d1, d2) === 0;\n    }\n\n    private propagateChange = (_: any): void => {/* empty */};\n\n    private propagateTouched = (): void => {/* empty */};\n\n    /**\n     * Updates the `aria-required` attribute on the input element.\n     * @private\n     */\n    private updateInputAriaRequiredAttribute(control: NgControl): void {\n        this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);\n    }\n\n    /**\n     * Validates and corrects the date to ensure it falls within the specified minDate and maxDate range.\n     * If the date is before minDate, returns minDate. If the date is after maxDate, returns maxDate.\n     * Otherwise, returns the original date unchanged.\n     * \n     * @param date - The date to validate (can be Moment, Date, or string)\n     * @returns The validated date as a Moment object within the allowed range\n     */\n    private validateDateRange(date: Moment | Date | string): Moment | Date | string {\n        const minDate = this.minDate ? this.adapter.deserialize(this.minDate) : null;\n        const maxDate = this.maxDate ? this.adapter.deserialize(this.maxDate) : null;\n        if (minDate && this.adapter.compareDate(date as any, minDate) < 0) {\n            return minDate;\n        }\n        if (maxDate && this.adapter.compareDate(date as any, maxDate) > 0) {\n            return maxDate;\n        }\n        return date;\n    }\n\n    /**\n     * Updates the disabled state of the timepicker based on whether a date is selected.\n     * @private\n     */\n    private updateTimePickerDisabledState(): void {\n        if (this.timePickerInstance) {\n            const hasDate = this.value && this.value !== '';\n            this.timePickerInstance.isDisabled = !hasDate;\n            this.timePickerComponentRef?.changeDetectorRef.markForCheck();\n        }\n    }\n\n    /**\n     * Converts a date from any adapter format to Moment formats used with dateOutputFormat property.\n     * @private\n     * @param date - The date to convert, can be of any type supported by the adapter.\n     * @returns The converted date as a Moment object.\n     */\n    private adapterToMoment = (date: any): ReturnType<typeof moment> => moment({\n        year: this.adapter.getYear(date),\n        month: this.adapter.getMonth(date),\n        date: this.adapter.getDate(date),\n    });\n}\n\nexport const LETTER_FORMAT = {\n    parse: {\n        dateInput: 'LL',\n    },\n    display: {\n        dateInput: 'LL',\n        monthYearLabel: 'LL',\n    },\n};\n\nexport const YEAR_FORMAT = {\n    parse: {\n        dateInput: 'YYYY',\n    },\n    display: {\n        dateInput: 'YYYY',\n        monthYearLabel: 'YYYY',\n        dateA11yLabel: 'YYYY',\n        monthYearA11yLabel: 'YYYY',\n    },\n};\n\nexport const MONTH_YEAR_FORMAT = {\n    parse: {\n        dateInput: 'MM/YYYY',\n    },\n    display: {\n        dateInput: 'MM/YYYY',\n        monthYearLabel: 'MMM YYYY',\n        dateA11yLabel: 'LL',\n        monthYearA11yLabel: 'MMMM YYYY',\n    },\n};\n\n@Directive({\n    selector: '[euiLetterFormat]',\n    providers: [{ provide: MAT_DATE_FORMATS, useValue: LETTER_FORMAT }],\n})\nexport class EuiLetterFormatDirective {}\n\n@Directive({\n    selector: '[euiYearFormat]',\n    providers: [{ provide: MAT_DATE_FORMATS, useValue: YEAR_FORMAT }],\n})\nexport class EuiYearFormatDirective {}\n\n@Directive({\n    selector: '[euiMonthYearFormat]',\n    providers: [{ provide: MAT_DATE_FORMATS, useValue: MONTH_YEAR_FORMAT }],\n})\nexport class EuiMonthYearFormatDirective {}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-action-buttons' })\nexport class EuiActionButtonsDirective {\n    @HostBinding('class') class = 'eui-datepicker__action-buttons';\n }\n",
            "styleUrl": "./eui-datepicker.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 460
            },
            "extends": [],
            "implements": [
                "OnInit",
                "AfterViewInit",
                "ControlValueAccessor",
                "OnDestroy",
                "OnChanges",
                "DoCheck"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 182
                    }
                },
                "isClearable": {
                    "name": "isClearable",
                    "setSignature": {
                        "name": "isClearable",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 394,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "isClearable",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 391,
                        "rawdescription": "\n\nDisplays a clear button in the input field to reset the value to null.\nAutomatically disabled when isReadOnly is true.\nClicking the clear button emits null through inputChange and dateSelect events.\n",
                        "description": "<p>Displays a clear button in the input field to reset the value to null.\nAutomatically disabled when isReadOnly is true.\nClicking the clear button emits null through inputChange and dateSelect events.</p>\n"
                    }
                },
                "restrictToRegex": {
                    "name": "restrictToRegex",
                    "setSignature": {
                        "name": "restrictToRegex",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "string | RegExp",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 408,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "string | RegExp",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "restrictToRegex",
                        "type": "unknown",
                        "returnType": "RegExp",
                        "line": 405,
                        "rawdescription": "\n\nRegular expression pattern to restrict which characters can be typed in the input field.\nAccepts a RegExp object or a string that will be converted to RegExp.\nEach keypress is validated against this pattern; non-matching keys are blocked.\nUseful for enforcing numeric-only input or specific date format characters.\n",
                        "description": "<p>Regular expression pattern to restrict which characters can be typed in the input field.\nAccepts a RegExp object or a string that will be converted to RegExp.\nEach keypress is validated against this pattern; non-matching keys are blocked.\nUseful for enforcing numeric-only input or specific date format characters.</p>\n"
                    }
                },
                "mergedPanelClass": {
                    "name": "mergedPanelClass",
                    "getSignature": {
                        "name": "mergedPanelClass",
                        "type": "[]",
                        "returnType": "string[]",
                        "line": 427,
                        "rawdescription": "\n\nReturns an array of CSS classes to apply to the mat-datepicker panel.\nCombines internal classes with user-provided customPanelClass.\n",
                        "description": "<p>Returns an array of CSS classes to apply to the mat-datepicker panel.\nCombines internal classes with user-provided customPanelClass.</p>\n"
                    }
                }
            },
            "templateData": "<div euiInputGroup>\n    <div euiInputGroupAddOn>\n        <input\n            #input\n            euiInputText\n            [id]=\"inputId\"\n            [readonly]=\"isReadOnly\"\n            [euiClearable]=\"isClearable\"\n            (clear)=\"onClear()\"\n            [class.eui-datepicker--no-button]=\"hasNoButton\"\n            [class.eui-datepicker--long-format]=\"!isDatepickerBlock && (isDatetimepicker || euiLetterFormat)\"\n            [class.eui-datepicker--block]=\"isDatepickerBlock\"\n            [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n            [formControl]=\"inputFormControl\"\n            [matDatepicker]=\"calendar\"\n            placeholder=\"{{ placeholder }}\"\n            (dateInput)=\"onDateInput($event)\"\n            (dateChange)=\"onDateChange($event)\"\n            [min]=\"minDate\"\n            [max]=\"maxDate\"\n            [matDatepickerFilter]=\"datepickerFilter\"\n            (click)=\"isShownOnInputClick? openCalendar(): null\"\n            autocomplete=\"off\"\n            aria-label=\"Date Input Field\"\n            (keypress)=\"onKeypress($event)\"\n            (focusout)=\"onFocusOut()\"\n            (change)=\"isDatetimepicker ? changedInput($event) : null\" />\n        <mat-datepicker\n            #calendar\n            [panelClass]=\"mergedPanelClass\"\n            [startView]=\"type === 'regular' ? (startView ? startView : convTypeToStartView(type)) : convTypeToStartView(type)\"\n            (yearSelected)=\"type === 'year' ? chosenDateHandler($event, calendar) : null\"\n            (monthSelected)=\"type === 'month' ? chosenDateHandler($event, calendar) : null\"\n            [touchUi]=\"breakpointsValue.isTablet || breakpointsValue.isMobile\"\n            [disabled]=\"isPickerDisabled\"\n            [calendarHeaderComponent]=\"customHeader\"\n            [dateClass]=\"dateClass\"\n            (opened)=\"onOpened()\">\n        </mat-datepicker>\n        @if (!hasNoButton && showDateButton) {\n            <button\n                (click)=\"openCalendar()\"\n                euiButton\n                type=\"button\"\n                euiSecondary\n                [euiIconButton]=\"!togglerLabel\"\n                [euiDisabled]=\"isButtonDisabled\"\n                aria-label=\"Open Calendar\"\n                aria-haspopup=\"dialog\">\n                @if (!togglerLabel) {\n                    <eui-icon-svg icon=\"{{ togglerIconSvg }}\" size=\"s\"></eui-icon-svg>\n                } @else {\n                    <span>{{ togglerLabel }}</span>\n                }\n            </button>\n        }\n    </div>\n</div>\n\n\n<ng-template #templatePortalRef>\n    <ng-content select=\"eui-action-buttons\" />\n</ng-template>\n"
        },
        {
            "name": "EuiDateRangeSelectorComponent",
            "id": "component-EuiDateRangeSelectorComponent-a765c7e36a9f47aad928c371e68d98d8bbd03fbb875db51892aaac14859e5d6daa96acdae44d7091fd5411b045bc14b2dc1de27c9f9e54b8498f4c7e30bcd89a",
            "file": "packages/components/eui-date-range-selector/eui-date-range-selector.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-date-range-selector",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-date-range-selector.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "comparisonEnd",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEnd date for comparison range visualization. Displays as a secondary range in the calendar picker.\n",
                    "description": "<p>End date for comparison range visualization. Displays as a secondary range in the calendar picker.</p>\n",
                    "line": 190,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "comparisonStart",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nStart date for comparison range visualization. Displays as a secondary range in the calendar picker.\n",
                    "description": "<p>Start date for comparison range visualization. Displays as a secondary range in the calendar picker.</p>\n",
                    "line": 186,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-date-range-selector'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4965,
                            "end": 5005,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4966,
                                "end": 4973,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-date-range-selector&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nData attribute for end-to-end testing identification.\n",
                    "description": "<p>Data attribute for end-to-end testing identification.</p>\n",
                    "line": 141,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "endDateDefaultValue",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nInitial value for the end date input field. Pre-populates the field on component initialization.\n",
                    "description": "<p>Initial value for the end date input field. Pre-populates the field on component initialization.</p>\n",
                    "line": 182,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "firstInputAriaLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nARIA label for the start date input field. Provides accessible description for screen readers.\n",
                    "description": "<p>ARIA label for the start date input field. Provides accessible description for screen readers.</p>\n",
                    "line": 170,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "firstInputPlaceholder",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nPlaceholder text displayed in the start date input field when empty.\n",
                    "description": "<p>Placeholder text displayed in the start date input field when empty.</p>\n",
                    "line": 162,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasSeconds",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 9105,
                            "end": 9125,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 9106,
                                "end": 9113,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nShows seconds selection in the time picker. Only effective when isTimeRange is enabled.\n",
                    "description": "<p>Shows seconds selection in the time picker. Only effective when isTimeRange is enabled.</p>\n",
                    "line": 250,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isClearable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 8107,
                            "end": 8127,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8108,
                                "end": 8115,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nShows clear buttons in the input fields allowing users to reset selected dates.\n",
                    "description": "<p>Shows clear buttons in the input fields allowing users to reset selected dates.</p>\n",
                    "line": 225,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 8500,
                            "end": 8520,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8501,
                                "end": 8508,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nDisables the entire component. Prevents user interaction and applies disabled styling.\n",
                    "description": "<p>Disables the entire component. Prevents user interaction and applies disabled styling.</p>\n",
                    "line": 235,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "islongDateFormat",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7912,
                            "end": 7932,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7913,
                                "end": 7920,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables extended date format display with additional date information. Affects input field width and layout.\n",
                    "description": "<p>Enables extended date format display with additional date information. Affects input field width and layout.</p>\n",
                    "line": 220,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isReadOnly",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 8304,
                            "end": 8324,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8305,
                                "end": 8312,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nMakes the input fields read-only. Users can view but cannot modify the selected dates.\n",
                    "description": "<p>Makes the input fields read-only. Users can view but cannot modify the selected dates.</p>\n",
                    "line": 230,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isResponsive",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 8698,
                            "end": 8718,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8699,
                                "end": 8706,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables responsive layout behavior. Adjusts component layout for different screen sizes.\n",
                    "description": "<p>Enables responsive layout behavior. Adjusts component layout for different screen sizes.</p>\n",
                    "line": 240,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isTimeRange",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 8907,
                            "end": 8927,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8908,
                                "end": 8915,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables time selection in addition to date selection. Adds time picker controls to the interface.\n",
                    "description": "<p>Enables time selection in addition to date selection. Adds time picker controls to the interface.</p>\n",
                    "line": 245,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "maxDate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMaximum selectable date. Dates after this value will be disabled in the calendar picker.\n",
                    "description": "<p>Maximum selectable date. Dates after this value will be disabled in the calendar picker.</p>\n",
                    "line": 149,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "minDate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMinimum selectable date. Dates before this value will be disabled in the calendar picker.\n",
                    "description": "<p>Minimum selectable date. Dates before this value will be disabled in the calendar picker.</p>\n",
                    "line": 145,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "secondInputAriaLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nARIA label for the end date input field. Provides accessible description for screen readers.\n",
                    "description": "<p>ARIA label for the end date input field. Provides accessible description for screen readers.</p>\n",
                    "line": 174,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "secondInputPlaceholder",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nPlaceholder text displayed in the end date input field when empty.\n",
                    "description": "<p>Placeholder text displayed in the end date input field when empty.</p>\n",
                    "line": 166,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "startDateDefaultValue",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nInitial value for the start date input field. Pre-populates the field on component initialization.\n",
                    "description": "<p>Initial value for the start date input field. Pre-populates the field on component initialization.</p>\n",
                    "line": 178,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "startDateId",
                    "defaultValue": "`start-date-${uniqueId()}`",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7211,
                            "end": 7249,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7212,
                                "end": 7219,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;start-date-<uniqueId>&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nUnique identifier for the start date input field. Used for form association and accessibility.\n",
                    "description": "<p>Unique identifier for the start date input field. Used for form association and accessibility.</p>\n",
                    "line": 200,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "startView",
                    "defaultValue": "'month'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7002,
                            "end": 7024,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7003,
                                "end": 7010,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;month&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nInitial calendar view when the picker opens. Determines the granularity of date selection.\n",
                    "description": "<p>Initial calendar view when the picker opens. Determines the granularity of date selection.</p>\n",
                    "line": 195,
                    "type": "\"month\" | \"year\" | \"multi-year\"",
                    "decorators": []
                },
                {
                    "name": "stepHours",
                    "defaultValue": "1",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7414,
                            "end": 7430,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7415,
                                "end": 7422,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>1</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nHour increment step for the time picker. Controls the granularity of hour selection.\n",
                    "description": "<p>Hour increment step for the time picker. Controls the granularity of hour selection.</p>\n",
                    "line": 205,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "stepMinutes",
                    "defaultValue": "1",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7572,
                            "end": 7588,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7573,
                                "end": 7580,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>1</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nMinute increment step for the time picker. Controls the granularity of minute selection.\n",
                    "description": "<p>Minute increment step for the time picker. Controls the granularity of minute selection.</p>\n",
                    "line": 210,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "stepSeconds",
                    "defaultValue": "1",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7732,
                            "end": 7748,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7733,
                                "end": 7740,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>1</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSecond increment step for the time picker. Controls the granularity of second selection.\n",
                    "description": "<p>Second increment step for the time picker. Controls the granularity of second selection.</p>\n",
                    "line": 215,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "togglerIconSvg",
                    "defaultValue": "'eui-calendar'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5448,
                            "end": 5477,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5449,
                                "end": 5456,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-calendar&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSVG icon name displayed on the calendar toggle button.\n",
                    "description": "<p>SVG icon name displayed on the calendar toggle button.</p>\n",
                    "line": 154,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "togglerLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nAccessible label text for the calendar toggle button. Used for screen readers.\n",
                    "description": "<p>Accessible label text for the calendar toggle button. Used for screen readers.</p>\n",
                    "line": 158,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "firstSelectedDate",
                    "defaultValue": "new EventEmitter<any>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the start date is selected or changed. Payload contains the selected date value.\n",
                    "description": "<p>Emitted when the start date is selected or changed. Payload contains the selected date value.</p>\n",
                    "line": 121,
                    "type": "EventEmitter"
                },
                {
                    "name": "secondSelectedDate",
                    "defaultValue": "new EventEmitter<any>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the end date is selected or changed. Payload contains the selected date value.\n",
                    "description": "<p>Emitted when the end date is selected or changed. Payload contains the selected date value.</p>\n",
                    "line": 125,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "adapter",
                    "defaultValue": "inject<DateAdapter<any>>(DateAdapter)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 259,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "control",
                    "defaultValue": "inject(NgControl, { self: true, optional: true })!",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 260,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "endRangeFormControl",
                    "defaultValue": "new FormControl()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 117,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "hasAriaRequiredAttribute",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 252,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "isInvalid",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 114,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "isTouched",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 115,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "localeService",
                    "defaultValue": "injectOptional(LocaleService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 258,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "selectedDates",
                    "defaultValue": "{ startRange: null, endRange: null }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiDateRangeSelectorDates",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 113
                },
                {
                    "name": "startRangeFormControl",
                    "defaultValue": "new FormControl()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 116,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "timeRangeInstance",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiTimeRangepickerComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 256,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "translateService",
                    "defaultValue": "inject(TranslateService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 257,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "adaptContainerClasses",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 557,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nReturns the class for the container based on the time range and hasSeconds conditions.\n",
                    "description": "<p>Returns the class for the container based on the time range and hasSeconds conditions.</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "tagName": {
                                "pos": 22137,
                                "end": 22143,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "return"
                            },
                            "comment": "<p>The class for the container.</p>\n",
                            "returnType": "string"
                        }
                    ]
                },
                {
                    "name": "createInjector",
                    "args": [
                        {
                            "name": "data",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "Injector",
                    "typeParameters": [],
                    "line": 441,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCreates an injector for the timepicker component.\n",
                    "description": "<p>Creates an injector for the timepicker component.</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 16895,
                                "end": 16899,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "data"
                            },
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 16889,
                                "end": 16894,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The data to be passed to the timepicker component.</li>\n</ul>\n"
                        },
                        {
                            "tagName": {
                                "pos": 16961,
                                "end": 16967,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "return"
                            },
                            "comment": "<ul>\n<li>The created injector.</li>\n</ul>\n",
                            "returnType": "unknown"
                        }
                    ]
                },
                {
                    "name": "extractTime",
                    "args": [
                        {
                            "name": "e",
                            "type": "string | Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "literal type",
                    "typeParameters": [],
                    "line": 507,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nExtracts the time from the date input field.\n",
                    "description": "<p>Extracts the time from the date input field.</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 19812,
                                "end": 19813,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "e"
                            },
                            "type": "string | Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 19806,
                                "end": 19811,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The event or string containing the time.</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 19863,
                                "end": 19869,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "return"
                            },
                            "comment": "<p>: number, mins: number, secs: number} The extracted time.</p>\n",
                            "returnType": "unknown"
                        }
                    ]
                },
                {
                    "name": "ngDoCheck",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 322,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 340,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 353,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 270,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onEndTimeChange",
                    "args": [
                        {
                            "name": "e",
                            "type": "string | Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 497,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nFires then the time of the second date field changes.\n",
                    "description": "<p>Fires then the time of the second date field changes.</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 19498,
                                "end": 19499,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "e"
                            },
                            "type": "string | Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 19492,
                                "end": 19497,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The event emitted when the time changes.</p>\n"
                        }
                    ]
                },
                {
                    "name": "onFirstDateChange",
                    "args": [
                        {
                            "name": "e",
                            "type": "MatDatepickerInputEvent<any>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 361,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod fired when the first date field changes.\n",
                    "description": "<p>Method fired when the first date field changes.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 14030,
                                "end": 14031,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "e"
                            },
                            "type": "MatDatepickerInputEvent<any>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 14024,
                                "end": 14029,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Event emitted when the first date changes.</p>\n"
                        }
                    ]
                },
                {
                    "name": "onFirstDateClear",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 382,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod fired when the first date field is cleared.\n",
                    "description": "<p>Method fired when the first date field is cleared.</p>\n"
                },
                {
                    "name": "onOpened",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 453,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nFires when the picker opens.\n",
                    "description": "<p>Fires when the picker opens.</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": []
                },
                {
                    "name": "onSecondDateChange",
                    "args": [
                        {
                            "name": "e",
                            "type": "MatDatepickerInputEvent<any>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 372,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod fired when the second date field changes.\n",
                    "description": "<p>Method fired when the second date field changes.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 14461,
                                "end": 14462,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "e"
                            },
                            "type": "MatDatepickerInputEvent<any>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 14455,
                                "end": 14460,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Event emitted when the second date changes.</p>\n"
                        }
                    ]
                },
                {
                    "name": "onSecondDateClear",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 391,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod fired when the second date field is cleared.\n",
                    "description": "<p>Method fired when the second date field is cleared.</p>\n"
                },
                {
                    "name": "onStartTimeChange",
                    "args": [
                        {
                            "name": "e",
                            "type": "string | Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 488,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nFires then the time of the first date field changes.\n",
                    "description": "<p>Fires then the time of the first date field changes.</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 19171,
                                "end": 19172,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "e"
                            },
                            "type": "string | Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 19165,
                                "end": 19170,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The event emitted when the time changes.</p>\n"
                        }
                    ]
                },
                {
                    "name": "registerOnChange",
                    "args": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 427,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "registerOnTouched",
                    "args": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 431,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "setDisabledState",
                    "args": [
                        {
                            "name": "isDisabled",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": true,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 416,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the disabled state of the component based on the boolean value passed.\n",
                    "description": "<p>Sets the disabled state of the component based on the boolean value passed.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 16200,
                                "end": 16210,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "isDisabled"
                            },
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 16194,
                                "end": 16199,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The boolean value indicating whether the component should be disabled or not.</li>\n</ul>\n"
                        }
                    ]
                },
                {
                    "name": "updateEndDateTime",
                    "args": [
                        {
                            "name": "hours",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "mins",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "secs",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 544,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUpdates the end date time based on the provided hours, minutes, and seconds.\n",
                    "description": "<p>Updates the end date time based on the provided hours, minutes, and seconds.</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 21447,
                                "end": 21452,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "hours"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 21441,
                                "end": 21446,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The hours to set.</p>\n"
                        },
                        {
                            "name": {
                                "pos": 21485,
                                "end": 21489,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "mins"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 21479,
                                "end": 21484,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The minutes to set.</p>\n"
                        },
                        {
                            "name": {
                                "pos": 21524,
                                "end": 21528,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "secs"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 21518,
                                "end": 21523,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The seconds to set.</p>\n"
                        }
                    ]
                },
                {
                    "name": "updateStartDateTime",
                    "args": [
                        {
                            "name": "hours",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "mins",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "secs",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 529,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUpdates the start date time based on the provided hours, minutes, and seconds.\n",
                    "description": "<p>Updates the start date time based on the provided hours, minutes, and seconds.</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 20745,
                                "end": 20750,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "hours"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 20739,
                                "end": 20744,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The hours to set.</p>\n"
                        },
                        {
                            "name": {
                                "pos": 20783,
                                "end": 20787,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "mins"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 20777,
                                "end": 20782,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The minutes to set.</p>\n"
                        },
                        {
                            "name": {
                                "pos": 20822,
                                "end": 20826,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "secs"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 20816,
                                "end": 20821,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The seconds to set.</p>\n"
                        }
                    ]
                },
                {
                    "name": "writeValue",
                    "args": [
                        {
                            "name": "values",
                            "type": "EuiDateRangeSelectorDates",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 398,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "values",
                            "type": "EuiDateRangeSelectorDates",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 128,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "FormsModule",
                    "type": "module"
                },
                {
                    "name": "ReactiveFormsModule",
                    "type": "module"
                },
                {
                    "name": "TranslateModule",
                    "type": "module"
                },
                {
                    "name": "MatDatepickerModule",
                    "type": "module"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_INPUT_TEXT"
                }
            ],
            "description": "<p>A date range selector component that allows users to select start and end dates with optional time selection.\nProvides a dual-input interface with calendar picker integration and supports form validation.\nCommonly used for filtering data by date ranges, booking systems, and reporting interfaces.\nImplements ControlValueAccessor for seamless integration with Angular reactive forms.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-date-range-selector\n  [firstInputPlaceholder]=&quot;&#39;Start date&#39;&quot;\n  [secondInputPlaceholder]=&quot;&#39;End date&#39;&quot;&gt;\n&lt;/eui-date-range-selector&gt;</code></pre></div><h3>With Form Control</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">// Component\ndateRange = new FormControl({ startRange: null, endRange: null });\n\n// Template\n&lt;eui-date-range-selector\n  [formControl]=&quot;dateRange&quot;\n  [minDate]=&quot;minDate&quot;\n  [maxDate]=&quot;maxDate&quot;&gt;\n&lt;/eui-date-range-selector&gt;</code></pre></div><h3>With Time Selection</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-date-range-selector\n  [isTimeRange]=&quot;true&quot;\n  [hasSeconds]=&quot;true&quot;\n  [stepMinutes]=&quot;15&quot;&gt;\n&lt;/eui-date-range-selector&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Provides <code>firstInputAriaLabel</code> and <code>secondInputAriaLabel</code> for screen readers</li>\n<li>Automatically announces date format to assistive technologies</li>\n<li>Supports keyboard navigation through calendar and time pickers</li>\n<li>Clear buttons are keyboard accessible when <code>isClearable</code> is enabled</li>\n<li>Required state is properly communicated via <code>aria-required</code> attribute</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Model must be <code>EuiDateRangeSelectorDates</code> with <code>startRange</code> and <code>endRange</code> properties</li>\n<li>Use <code>islongDateFormat</code> for extended date display with time</li>\n<li><code>isResponsive</code> enables mobile-friendly stacked layout</li>\n<li>Comparison ranges can be visualized with <code>comparisonStart</code> and <code>comparisonEnd</code></li>\n<li>Time picker appears in calendar overlay when <code>isTimeRange</code> is true</li>\n</ul>\n",
            "rawdescription": "\n\nA date range selector component that allows users to select start and end dates with optional time selection.\nProvides a dual-input interface with calendar picker integration and supports form validation.\nCommonly used for filtering data by date ranges, booking systems, and reporting interfaces.\nImplements ControlValueAccessor for seamless integration with Angular reactive forms.\n\n### Basic Usage\n```html\n<eui-date-range-selector\n  [firstInputPlaceholder]=\"'Start date'\"\n  [secondInputPlaceholder]=\"'End date'\">\n</eui-date-range-selector>\n```\n\n### With Form Control\n```typescript\n// Component\ndateRange = new FormControl({ startRange: null, endRange: null });\n\n// Template\n<eui-date-range-selector\n  [formControl]=\"dateRange\"\n  [minDate]=\"minDate\"\n  [maxDate]=\"maxDate\">\n</eui-date-range-selector>\n```\n\n### With Time Selection\n```html\n<eui-date-range-selector\n  [isTimeRange]=\"true\"\n  [hasSeconds]=\"true\"\n  [stepMinutes]=\"15\">\n</eui-date-range-selector>\n```\n\n### Accessibility\n- Provides `firstInputAriaLabel` and `secondInputAriaLabel` for screen readers\n- Automatically announces date format to assistive technologies\n- Supports keyboard navigation through calendar and time pickers\n- Clear buttons are keyboard accessible when `isClearable` is enabled\n- Required state is properly communicated via `aria-required` attribute\n\n### Notes\n- Model must be `EuiDateRangeSelectorDates` with `startRange` and `endRange` properties\n- Use `islongDateFormat` for extended date display with time\n- `isResponsive` enables mobile-friendly stacked layout\n- Comparison ranges can be visualized with `comparisonStart` and `comparisonEnd`\n- Time picker appears in calendar overlay when `isTimeRange` is true\n",
            "type": "component",
            "sourceCode": "import {\n    ApplicationRef,\n    Component,\n    ComponentRef,\n    DoCheck,\n    EventEmitter,\n    HostBinding,\n    Injector,\n    Input,\n    OnChanges,\n    OnDestroy,\n    OnInit,\n    Output,\n    SimpleChanges,\n    StaticProvider,\n    ViewEncapsulation,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\nimport {\n    ControlValueAccessor,\n    FormControl,\n    FormsModule,\n    NgControl,\n    ReactiveFormsModule,\n    Validators,\n} from '@angular/forms';\nimport { MatDatepickerInputEvent, MatDatepickerModule } from '@angular/material/datepicker';\nimport { DateAdapter } from '@angular/material/core';\nimport { ComponentPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport moment from 'moment';\nimport 'moment/min/locales.js';\n\nimport { DYNAMIC_COMPONENT_CONFIG, injectOptional, LocaleService, uniqueId } from '@eui/core';\nimport { EuiDateRangeSelectorDates } from './models/eui-date-range-selector-dates.model';\nimport { EuiTimeRangepickerComponent } from './eui-time-range-picker/eui-time-range-picker.component';\nimport { EuiTimeRangePickerConfig } from './models/eui-time-range-picker.config.model';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\n\n/**\n * A date range selector component that allows users to select start and end dates with optional time selection.\n * Provides a dual-input interface with calendar picker integration and supports form validation.\n * Commonly used for filtering data by date ranges, booking systems, and reporting interfaces.\n * Implements ControlValueAccessor for seamless integration with Angular reactive forms.\n * \n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-date-range-selector \n *   [firstInputPlaceholder]=\"'Start date'\" \n *   [secondInputPlaceholder]=\"'End date'\">\n * </eui-date-range-selector>\n * ```\n * \n * ### With Form Control\n * ```typescript\n * // Component\n * dateRange = new FormControl({ startRange: null, endRange: null });\n * \n * // Template\n * <eui-date-range-selector \n *   [formControl]=\"dateRange\"\n *   [minDate]=\"minDate\"\n *   [maxDate]=\"maxDate\">\n * </eui-date-range-selector>\n * ```\n * \n * ### With Time Selection\n * ```html\n * <eui-date-range-selector \n *   [isTimeRange]=\"true\"\n *   [hasSeconds]=\"true\"\n *   [stepMinutes]=\"15\">\n * </eui-date-range-selector>\n * ```\n * \n * ### Accessibility\n * - Provides `firstInputAriaLabel` and `secondInputAriaLabel` for screen readers\n * - Automatically announces date format to assistive technologies\n * - Supports keyboard navigation through calendar and time pickers\n * - Clear buttons are keyboard accessible when `isClearable` is enabled\n * - Required state is properly communicated via `aria-required` attribute\n * \n * ### Notes\n * - Model must be `EuiDateRangeSelectorDates` with `startRange` and `endRange` properties\n * - Use `islongDateFormat` for extended date display with time\n * - `isResponsive` enables mobile-friendly stacked layout\n * - Comparison ranges can be visualized with `comparisonStart` and `comparisonEnd`\n * - Time picker appears in calendar overlay when `isTimeRange` is true\n */\n@Component({\n    selector: 'eui-date-range-selector',\n    templateUrl: './eui-date-range-selector.component.html',\n    styleUrl: './eui-date-range-selector.scss',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        FormsModule,\n        ReactiveFormsModule,\n        TranslateModule,\n        MatDatepickerModule,\n        ...EUI_BUTTON,\n        ...EUI_ICON,\n        ...EUI_INPUT_TEXT,\n    ],\n})\nexport class EuiDateRangeSelectorComponent implements OnInit, OnDestroy, OnChanges, ControlValueAccessor, DoCheck {\n    selectedDates: EuiDateRangeSelectorDates = { startRange: null, endRange: null };\n    public isInvalid: boolean;\n    public isTouched: boolean;\n    public startRangeFormControl = new FormControl();\n    public endRangeFormControl = new FormControl();\n    /**\n     * Emitted when the start date is selected or changed. Payload contains the selected date value.\n     */\n    @Output() firstSelectedDate = new EventEmitter<any>();\n    /**\n     * Emitted when the end date is selected or changed. Payload contains the selected date value.\n     */\n    @Output() secondSelectedDate = new EventEmitter<any>();\n\n    @HostBinding('class')\n    get class(): string {\n        return [\n            'eui-date-range-selector',\n            this.isClearable ? 'eui-date-range-selector--clearable' : '',\n            this.islongDateFormat || this.isTimeRange ? 'eui-date-range-selector--long-date-format' : '',\n            this.isResponsive ? 'eui-date-range-selector--responsive' : '',\n        ].join(' ').trim();\n    }\n    /**\n     * Data attribute for end-to-end testing identification.\n     * @default 'eui-date-range-selector'\n     */\n    @HostBinding('attr.data-e2e')\n    @Input() e2eAttr = 'eui-date-range-selector';\n    /**\n     * Minimum selectable date. Dates before this value will be disabled in the calendar picker.\n     */\n    @Input() minDate: any;\n    /**\n     * Maximum selectable date. Dates after this value will be disabled in the calendar picker.\n     */\n    @Input() maxDate: any;\n    /**\n     * SVG icon name displayed on the calendar toggle button.\n     * @default 'eui-calendar'\n     */\n    @Input() togglerIconSvg = 'eui-calendar';\n    /**\n     * Accessible label text for the calendar toggle button. Used for screen readers.\n     */\n    @Input() togglerLabel: string;\n    /**\n     * Placeholder text displayed in the start date input field when empty.\n     */\n    @Input() firstInputPlaceholder: string;\n    /**\n     * Placeholder text displayed in the end date input field when empty.\n     */\n    @Input() secondInputPlaceholder: string;\n    /**\n     * ARIA label for the start date input field. Provides accessible description for screen readers.\n     */\n    @Input() firstInputAriaLabel: string;\n    /**\n     * ARIA label for the end date input field. Provides accessible description for screen readers.\n     */\n    @Input() secondInputAriaLabel: string;\n    /**\n     * Initial value for the start date input field. Pre-populates the field on component initialization.\n     */\n    @Input() startDateDefaultValue: any;\n    /**\n     * Initial value for the end date input field. Pre-populates the field on component initialization.\n     */\n    @Input() endDateDefaultValue: any;\n    /**\n     * Start date for comparison range visualization. Displays as a secondary range in the calendar picker.\n     */\n    @Input() comparisonStart: any;\n    /**\n     * End date for comparison range visualization. Displays as a secondary range in the calendar picker.\n     */\n    @Input() comparisonEnd: any;\n    /**\n     * Initial calendar view when the picker opens. Determines the granularity of date selection.\n     * @default 'month'\n     */\n    @Input() startView: 'month' | 'year' | 'multi-year' = 'month';\n    /**\n     * Unique identifier for the start date input field. Used for form association and accessibility.\n     * @default 'start-date-<uniqueId>'\n     */\n    @Input() startDateId = `start-date-${uniqueId()}`;\n    /**\n     * Hour increment step for the time picker. Controls the granularity of hour selection.\n     * @default 1\n     */\n    @Input() stepHours = 1;\n    /**\n     * Minute increment step for the time picker. Controls the granularity of minute selection.\n     * @default 1\n     */\n    @Input() stepMinutes = 1;\n    /**\n     * Second increment step for the time picker. Controls the granularity of second selection.\n     * @default 1\n     */\n    @Input() stepSeconds = 1;\n    /**\n     * Enables extended date format display with additional date information. Affects input field width and layout.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) islongDateFormat = false;\n    /**\n     * Shows clear buttons in the input fields allowing users to reset selected dates.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isClearable = false;\n    /**\n     * Makes the input fields read-only. Users can view but cannot modify the selected dates.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isReadOnly = false;\n    /**\n     * Disables the entire component. Prevents user interaction and applies disabled styling.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isDisabled = false;\n    /**\n     * Enables responsive layout behavior. Adjusts component layout for different screen sizes.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isResponsive = false;\n    /**\n     * Enables time selection in addition to date selection. Adds time picker controls to the interface.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isTimeRange = false;\n    /**\n     * Shows seconds selection in the time picker. Only effective when isTimeRange is enabled.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasSeconds = false;\n\n    protected hasAriaRequiredAttribute: boolean;\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private portalHost: DomPortalOutlet;\n    private portal: ComponentPortal<EuiTimeRangepickerComponent>;\n    protected timeRangeInstance: EuiTimeRangepickerComponent;\n    protected translateService = inject(TranslateService);\n    protected localeService = injectOptional(LocaleService);\n    protected adapter = inject<DateAdapter<any>>(DateAdapter);\n    protected control = inject(NgControl, { self: true, optional: true })!;\n    private injector = inject(Injector);\n    private appRef = inject(ApplicationRef);\n\n    constructor() {\n        if (this.control) {\n            this.control.valueAccessor = this;\n        }\n    }\n\n    ngOnInit(): void {\n        this.localeService\n            ?.getState()\n            .pipe(takeUntil(this.destroy$))\n            .subscribe((state) => {\n                this.adapter.setLocale(state.id);\n            });\n\n        this.startRangeFormControl = new FormControl({ value: this.startDateDefaultValue, disabled: this.isDisabled });\n        this.endRangeFormControl = new FormControl({ value: this.endDateDefaultValue, disabled: this.isDisabled });\n\n        if (!this.firstInputPlaceholder) {\n            this.translateService\n                .stream('eui.daterangeselector.FIRSTPICKERSLABEL')\n                .pipe(takeUntil(this.destroy$))\n                .subscribe((result: string) => {\n                    this.firstInputPlaceholder = result;\n                });\n        }\n        // by setting the firstInputAriaLabel to dd/mm/yyyy(or the desired format) the format can be announced to the screen reader users before the users start typing\n        if (!this.firstInputAriaLabel) {\n            this.translateService\n                .stream('eui.daterangeselector.FIRSTPICKERSPLACEHOLDER')\n                .pipe(takeUntil(this.destroy$))\n                .subscribe((result: string) => {\n                    this.firstInputAriaLabel = result;\n                });\n        }\n        if (!this.secondInputPlaceholder) {\n            this.translateService\n                .stream('eui.daterangeselector.SECONDPICKERSLABEL')\n                .pipe(takeUntil(this.destroy$))\n                .subscribe((result: string) => {\n                    this.secondInputPlaceholder = result;\n                });\n        }\n        // by setting the secondInputAriaLabel to dd/mm/yyyy(or the desired format) the format can be announced to the screen reader users before the users start typing\n        if (!this.secondInputAriaLabel) {\n            this.translateService\n                .stream('eui.daterangeselector.SECONDPICKERSPLACEHOLDER')\n                .pipe(takeUntil(this.destroy$))\n                .subscribe((result: string) => {\n                    this.secondInputAriaLabel = result;\n                });\n        }\n\n        this.updateInputAriaRequiredAttribute(this.control);\n        this.control?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n            this.updateInputAriaRequiredAttribute(this.control);\n        });\n    }\n\n    ngDoCheck(): void {\n        if (this.control) {\n            // marks the input controls as touched/invalid if the form control is touched/invalid\n            // eslint-disable-next-line\n            this.control?.touched ? this.startRangeFormControl?.markAsTouched() : this.startRangeFormControl.markAsUntouched();\n            // eslint-disable-next-line\n            this.control?.touched ? this.endRangeFormControl.markAsTouched() : this.endRangeFormControl?.markAsUntouched();\n            // eslint-disable-next-line\n            this.control?.touched ? (this.isTouched = true) : (this.isTouched = false);\n            // eslint-disable-next-line\n            this.control?.invalid ? this.startRangeFormControl.setErrors(this.control.errors) : this.startRangeFormControl.setErrors(null);\n            // eslint-disable-next-line\n            this.control?.invalid ? this.endRangeFormControl.setErrors(this.control.errors) : this.endRangeFormControl.setErrors(null);\n            // eslint-disable-next-line\n            this.control?.invalid ? (this.isInvalid = true) : (this.isInvalid = false);\n        }\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes && changes['startDateDefaultValue']) {\n            this.startRangeFormControl.setValue(this.startDateDefaultValue);\n        }\n        if (changes && changes['endDateDefaultValue']) {\n            this.endRangeFormControl.setValue(this.endDateDefaultValue);\n        }\n\n        if (changes && changes['isDisabled']) {\n            this.setDisabledState(this.isDisabled);\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n    /**\n     * Method fired when the first date field changes.\n     * @param e Event emitted when the first date changes.\n     */\n    public onFirstDateChange(e: MatDatepickerInputEvent<any>): void {\n        this.startDateDefaultValue = e.value;\n        this.selectedDates.startRange = e.value;\n        this.firstSelectedDate.emit(e.value);\n        this.propagateChange(this.selectedDates);\n        this.propagateTouched();\n    }\n    /**\n     * Method fired when the second date field changes.\n     * @param e Event emitted when the second date changes.\n     */\n    public onSecondDateChange(e: MatDatepickerInputEvent<any>): void {\n        this.endDateDefaultValue = e.value;\n        this.selectedDates.endRange = e.value;\n        this.secondSelectedDate.emit(e.value);\n        this.propagateChange(this.selectedDates);\n        this.propagateTouched();\n    }\n    /**\n     * Method fired when the first date field is cleared.\n     */\n    onFirstDateClear(): void {\n        this.startDateDefaultValue = null;\n        this.selectedDates.startRange = null;\n        this.firstSelectedDate.emit(null);\n        this.propagateChange(this.selectedDates);\n    }\n    /**\n     * Method fired when the second date field is cleared.\n     */\n    onSecondDateClear(): void {\n        this.endDateDefaultValue = null;\n        this.selectedDates.endRange = null;\n        this.secondSelectedDate.emit(null);\n        this.propagateChange(this.selectedDates);\n    }\n\n    writeValue(values: EuiDateRangeSelectorDates): void {\n        if (values && values.startRange === undefined) {\n            throw new Error('startRange of EuiDateRangeSelectorDates model must be defined');\n        }\n        if (values && values.endRange === undefined) {\n            throw new Error('endRange of EuiDateRangeSelectorDates model must be defined');\n        }\n\n        this.startDateDefaultValue = values?.startRange;\n        this.endDateDefaultValue = values?.endRange;\n        this.startRangeFormControl.setValue(values?.startRange);\n        this.endRangeFormControl.setValue(values?.endRange);\n        this.selectedDates = values || { startRange: null, endRange: null };\n    }\n    /**\n     * Sets the disabled state of the component based on the boolean value passed.\n     * @param isDisabled - The boolean value indicating whether the component should be disabled or not.\n     */\n    public setDisabledState?(isDisabled: boolean): void {\n        this.isDisabled = isDisabled;\n        if (this.isDisabled) {\n            this.startRangeFormControl.disable();\n            this.endRangeFormControl.disable();\n        } else {\n            this.startRangeFormControl.enable();\n            this.endRangeFormControl.enable();\n        }\n    }\n\n    registerOnChange(fn: any): void {\n        this.propagateChange = fn;\n    }\n\n    registerOnTouched(fn: any): void {\n        this.propagateTouched = fn;\n    }\n\n    /**\n     * Creates an injector for the timepicker component.\n     * @param data - The data to be passed to the timepicker component.\n     * @return {Injector} - The created injector.\n     * @protected\n     */\n    protected createInjector(data: any): Injector {\n        const injectorTokens: StaticProvider = [{ provide: DYNAMIC_COMPONENT_CONFIG, useValue: data }];\n        return Injector.create({\n            parent: this.injector,\n            providers: injectorTokens,\n        });\n    }\n\n    /**\n     * Fires when the picker opens.\n     * @protected\n     */\n    protected onOpened(): void {\n        if (this.isTimeRange) {\n            this.portalHost = new DomPortalOutlet(\n                document.querySelector('mat-calendar'),\n                this.appRef,\n                this.injector,\n            );\n            const timeConfig: EuiTimeRangePickerConfig = {\n                hours: this.startDateDefaultValue ? moment(this.startDateDefaultValue).hours() : 0,\n                mins: this.startDateDefaultValue ? moment(this.startDateDefaultValue).minutes() : 0,\n                secs: this.startDateDefaultValue ? moment(this.startDateDefaultValue).seconds() : 0,\n                endHours: this.endDateDefaultValue ? moment(this.endDateDefaultValue).hours() : 0,\n                endMins: this.endDateDefaultValue ? moment(this.endDateDefaultValue).minutes() : 0,\n                endSecs: this.endDateDefaultValue ? moment(this.endDateDefaultValue).seconds() : 0,\n                hasSeconds: this.hasSeconds,\n                stepHours: this.stepHours,\n                stepMinutes: this.stepMinutes,\n                stepSeconds: this.stepSeconds,\n                callback: (hours: number, mins: number, secs: number, endHours: number, endMins: number, endSecs: number) => {\n                    this.updateStartDateTime(hours, mins, secs);\n\n                    this.updateEndDateTime(endHours, endMins, endSecs);\n                },\n            };\n\n            this.portal = new ComponentPortal(EuiTimeRangepickerComponent, null, this.createInjector(timeConfig));\n            const componentRef: ComponentRef<EuiTimeRangepickerComponent> = this.portalHost.attachComponentPortal(this.portal);\n            this.timeRangeInstance = componentRef.instance;\n        }\n    }\n    /**\n     * Fires then the time of the first date field changes.\n     * @param e The event emitted when the time changes.\n     * @protected\n     */\n    protected onStartTimeChange(e: string | Event): void {\n        const time = this.extractTime(e);\n        this.updateStartDateTime(time.hours, time.mins, time.secs);\n    }\n    /**\n     * Fires then the time of the second date field changes.\n     * @param e The event emitted when the time changes.\n     * @protected\n     */\n    protected onEndTimeChange(e: string | Event): void {\n        const time = this.extractTime(e);\n        this.updateEndDateTime(time.hours, time.mins, time.secs);\n    }\n    /**\n     * Extracts the time from the date input field.\n     * @param e The event or string containing the time.\n     * @return {hours: number, mins: number, secs: number} The extracted time.\n     * @protected\n     */\n    protected extractTime(e: string | Event): { hours: number, mins: number, secs: number } {\n        const dateTimeString = typeof e === 'string' ? e : (e.target as HTMLInputElement).value;\n        // Split the string by space to separate date and time components\n        const [datePart, timePart] = dateTimeString.split(' ');\n        // Ensure timePart exists to avoid errors\n        if (!timePart) {\n            return { hours: 0, mins: 0, secs: 0 };\n        }\n        const [hours, mins, secs] = timePart.split(':').map(part => parseInt(part, 10));\n        return {\n            hours: hours || 0,\n            mins: mins || 0,\n            secs: secs || 0,\n        };\n    }\n    /**\n     * Updates the start date time based on the provided hours, minutes, and seconds.\n     * @param hours The hours to set.\n     * @param mins The minutes to set.\n     * @param secs The seconds to set.\n     * @protected\n     */\n    protected updateStartDateTime(hours: number, mins: number, secs: number): void {\n        if (this.startDateDefaultValue) {\n            this.startDateDefaultValue = moment(this.startDateDefaultValue).set({ hour: hours, minute: mins, second: secs });\n            this.startRangeFormControl.setValue(this.startDateDefaultValue);\n            this.selectedDates.startRange = this.startDateDefaultValue;\n        }\n        this.propagateChange(this.selectedDates);\n    }\n    /**\n     * Updates the end date time based on the provided hours, minutes, and seconds.\n     * @param hours The hours to set.\n     * @param mins The minutes to set.\n     * @param secs The seconds to set.\n     * @protected\n     */\n    protected updateEndDateTime(hours: number, mins: number, secs: number): void {\n        if (this.endDateDefaultValue) {\n            this.endDateDefaultValue = moment(this.endDateDefaultValue).set({ hour: hours, minute: mins, second: secs });\n            this.endRangeFormControl.setValue(this.endDateDefaultValue);\n            this.selectedDates.endRange = this.endDateDefaultValue;\n        }\n        this.propagateChange(this.selectedDates);\n    }\n    /**\n     * Returns the class for the container based on the time range and hasSeconds conditions.\n     * @return {string} The class for the container.\n     * @protected\n     */\n    protected adaptContainerClasses(): string {\n        if(this.isTimeRange && this.hasSeconds) {\n            return 'eui-date-range-selector--container-large';\n        } else if(this.isTimeRange) {\n            return 'eui-date-range-selector--container-height-large';\n        } else {\n            return null;\n        }\n    }\n\n    private propagateChange = (_: any): void => {/* empty */};\n\n    private propagateTouched = (): void => {/* empty */};\n\n    /**\n     * Updates the `aria-required` attribute on the input element.\n     * @param control The NgControl instance to check for required validators.\n     * @private\n     */\n    private updateInputAriaRequiredAttribute(control: NgControl): void {\n        this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);\n    }\n}\n",
            "styleUrl": "./eui-date-range-selector.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 262
            },
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy",
                "OnChanges",
                "ControlValueAccessor",
                "DoCheck"
            ],
            "accessors": {
                "class": {
                    "name": "class",
                    "getSignature": {
                        "name": "class",
                        "type": "string",
                        "returnType": "string",
                        "line": 128
                    }
                }
            },
            "templateData": "<mat-date-range-input\n    [class.mat-date-range-input--read-only]=\"isReadOnly\"\n    [class.mat-date-range-input--disabled]=\"isDisabled\"\n    [class.mat-date-range-input--invalid]=\"isInvalid && isTouched\"\n    [rangePicker]=\"picker\"\n    [min]=\"minDate\"\n    [max]=\"maxDate\"\n    [comparisonStart]=\"comparisonStart\"\n    [comparisonEnd]=\"comparisonEnd\">\n    <input\n        #inputStartDate\n        class=\"eui-date-range-selector__start-date\"\n        euiInputText\n        [id]=\"startDateId\"\n        [readonly]=\"isReadOnly\"\n        matStartDate\n        placeholder=\"{{ firstInputPlaceholder }}\"\n        attr.aria-label=\"{{ firstInputAriaLabel }}\"\n        [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n        [formControl]=\"startRangeFormControl\"\n        (dateInput)=\"onFirstDateChange($event)\"\n        [euiClearable]=\"isClearable\"\n        (change)=\"isTimeRange ? onStartTimeChange($event) : null\"\n        (clear)=\"onFirstDateClear()\" />\n    <input\n        #inputEndDate\n        class=\"eui-date-range-selector__end-date\"\n        euiInputText\n        [readonly]=\"isReadOnly\"\n        matEndDate\n        placeholder=\"{{ secondInputPlaceholder }}\"\n        attr.aria-label=\"{{ secondInputAriaLabel }}\"\n        [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n        [formControl]=\"endRangeFormControl\"\n        (dateInput)=\"onSecondDateChange($event)\"\n        [euiClearable]=\"isClearable\"\n        (change)=\"isTimeRange ? onEndTimeChange($event) : null\"\n        (clear)=\"onSecondDateClear()\" />\n</mat-date-range-input>\n<mat-date-range-picker\n    #picker\n    [startView]=\"startView\"\n    (opened)=\"onOpened()\"\n    [panelClass]=\"adaptContainerClasses()\" />\n@if (!isReadOnly) {\n    <button\n        class=\"eui-date-range-selector__toggler eui-date-range-selector__toggler-{{ !togglerLabel ? 'icon' : 'label' }}\"\n        (click)=\"picker.open()\"\n        euiButton\n        euiSecondary\n        [euiIconButton]=\"!togglerLabel ? true : false\"\n        type=\"button\"\n        [euiDisabled]=\"isDisabled\"\n        aria-label=\"Open Calendar\"\n        aria-haspopup=\"dialog\">\n        @if (!togglerLabel) {\n            <eui-icon-svg icon=\"{{ togglerIconSvg }}\" size=\"s\"></eui-icon-svg>\n        } @else {\n            <span>{{ togglerLabel }}</span>\n        }\n    </button>\n}\n"
        },
        {
            "name": "EuiDialogComponent",
            "id": "component-EuiDialogComponent-80036d0bc7a564dea21ce9ca434ae0b38e0ee857eaafa662811d2511c50c97de6254fed4dd1a2c492aa9dc8d39733362995180835e8280e0d375d33b8cf4f0c1",
            "file": "packages/components/eui-dialog/eui-dialog.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [
                {
                    "name": "null"
                }
            ],
            "selector": "eui-dialog",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-dialog.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiSecondary",
                        "euiInfo",
                        "euiSuccess",
                        "euiWarning",
                        "euiDanger",
                        "euiVariant"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "acceptLabel",
                    "defaultValue": "'eui.OK'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4696,
                            "end": 4719,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4697,
                                "end": 4704,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui.OK&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nTranslation key or label text for the accept button.\n",
                    "description": "<p>Translation key or label text for the accept button.</p>\n",
                    "line": 153,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "classList",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 9584,
                            "end": 9603,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 9585,
                                "end": 9592,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>null</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nAdditional CSS class names to apply to the dialog container.\nAllows custom styling without modifying component styles.\n",
                    "description": "<p>Additional CSS class names to apply to the dialog container.\nAllows custom styling without modifying component styles.</p>\n",
                    "line": 295,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "dismissLabel",
                    "defaultValue": "'eui.CANCEL'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4836,
                            "end": 4863,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4837,
                                "end": 4844,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui.CANCEL&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nTranslation key or label text for the dismiss button.\n",
                    "description": "<p>Translation key or label text for the dismiss button.</p>\n",
                    "line": 159,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-dialog'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4383,
                            "end": 4410,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4384,
                                "end": 4391,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-dialog&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnd-to-end testing attribute identifier for the dialog element.\n",
                    "description": "<p>End-to-end testing attribute identifier for the dialog element.</p>\n",
                    "line": 141,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasAcceptButton",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6039,
                            "end": 6058,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6040,
                                "end": 6047,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls visibility of the accept button in the dialog footer.\n",
                    "description": "<p>Controls visibility of the accept button in the dialog footer.</p>\n",
                    "line": 198,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasCloseButton",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5864,
                            "end": 5883,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5865,
                                "end": 5872,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls visibility of the close (X) button in the dialog header.\nAutomatically set to false when isMessageBox is true.\n",
                    "description": "<p>Controls visibility of the close (X) button in the dialog header.\nAutomatically set to false when isMessageBox is true.</p>\n",
                    "line": 192,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasClosedOnClickOutside",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6730,
                            "end": 6750,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6731,
                                "end": 6738,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables automatic dialog closure when clicking outside the dialog boundaries.\nWorks in conjunction with isHandleCloseOnClickOutside for manual control.\n",
                    "description": "<p>Enables automatic dialog closure when clicking outside the dialog boundaries.\nWorks in conjunction with isHandleCloseOnClickOutside for manual control.</p>\n",
                    "line": 218,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasClosedOnEscape",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6977,
                            "end": 6996,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6978,
                                "end": 6985,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables automatic dialog closure when pressing the Escape key.\nAutomatically set to false when isMessageBox is true.\n",
                    "description": "<p>Enables automatic dialog closure when pressing the Escape key.\nAutomatically set to false when isMessageBox is true.</p>\n",
                    "line": 225,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasDismissButton",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6216,
                            "end": 6235,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6217,
                                "end": 6224,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls visibility of the dismiss button in the dialog footer.\n",
                    "description": "<p>Controls visibility of the dismiss button in the dialog footer.</p>\n",
                    "line": 204,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasFooter",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 9351,
                            "end": 9370,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 9352,
                                "end": 9359,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls visibility of the entire footer section containing action buttons.\n",
                    "description": "<p>Controls visibility of the entire footer section containing action buttons.</p>\n",
                    "line": 288,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasMobileCustomSize",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6452,
                            "end": 6472,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6453,
                                "end": 6460,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables custom sizing behavior on mobile devices.\nWhen true, applies mobile-specific width and height adjustments.\n",
                    "description": "<p>Enables custom sizing behavior on mobile devices.\nWhen true, applies mobile-specific width and height adjustments.</p>\n",
                    "line": 211,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasNoBodyPadding",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 9159,
                            "end": 9179,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 9160,
                                "end": 9167,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nRemoves default padding from the dialog body content area.\nUseful for custom layouts or full-width content.\n",
                    "description": "<p>Removes default padding from the dialog body content area.\nUseful for custom layouts or full-width content.</p>\n",
                    "line": 282,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "height",
                    "defaultValue": "'auto'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5467,
                            "end": 5488,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5468,
                                "end": 5475,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;auto&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nHeight of the dialog. Accepts CSS units (px, %, vh, auto, etc.).\nOverridden to '97vh' when isFullScreen is true.\n",
                    "description": "<p>Height of the dialog. Accepts CSS units (px, %, vh, auto, etc.).\nOverridden to &#39;97vh&#39; when isFullScreen is true.</p>\n",
                    "line": 179,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isDraggable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 8933,
                            "end": 8953,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8934,
                                "end": 8941,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables drag-and-drop functionality, allowing users to reposition the dialog.\n",
                    "description": "<p>Enables drag-and-drop functionality, allowing users to reposition the dialog.</p>\n",
                    "line": 275,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isFullScreen",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5625,
                            "end": 5645,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5626,
                                "end": 5633,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables fullscreen mode, automatically setting width to 98vw and height to 97vh.\n",
                    "description": "<p>Enables fullscreen mode, automatically setting width to 98vw and height to 97vh.</p>\n",
                    "line": 185,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isHandleCloseOnAccept",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7776,
                            "end": 7796,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7777,
                                "end": 7784,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nPrevents automatic dialog closure when accept button is clicked.\nWhen true, developer must manually handle closure via the accept event.\n",
                    "description": "<p>Prevents automatic dialog closure when accept button is clicked.\nWhen true, developer must manually handle closure via the accept event.</p>\n",
                    "line": 246,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isHandleCloseOnClickOutside",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 8117,
                            "end": 8137,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8118,
                                "end": 8125,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nPrevents automatic dialog closure when clicking outside the dialog.\nWhen true, developer must manually handle closure via the clickOutside event.\nRequires hasClosedOnClickOutside to be true to have effect.\n",
                    "description": "<p>Prevents automatic dialog closure when clicking outside the dialog.\nWhen true, developer must manually handle closure via the clickOutside event.\nRequires hasClosedOnClickOutside to be true to have effect.</p>\n",
                    "line": 254,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isHandleCloseOnClose",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7512,
                            "end": 7532,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7513,
                                "end": 7520,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nPrevents automatic dialog closure when close (X) button is clicked.\nWhen true, developer must manually handle closure via the dialogClose event.\n",
                    "description": "<p>Prevents automatic dialog closure when close (X) button is clicked.\nWhen true, developer must manually handle closure via the dialogClose event.</p>\n",
                    "line": 239,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isHandleCloseOnDismiss",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7238,
                            "end": 7258,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7239,
                                "end": 7246,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nPrevents automatic dialog closure when dismiss button is clicked.\nWhen true, developer must manually handle closure via the dismiss event.\n",
                    "description": "<p>Prevents automatic dialog closure when dismiss button is clicked.\nWhen true, developer must manually handle closure via the dismiss event.</p>\n",
                    "line": 232,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isHandleCloseOnEscape",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 8444,
                            "end": 8464,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8445,
                                "end": 8452,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nPrevents automatic dialog closure when pressing Escape key.\nWhen true, developer must manually handle closure via the escape event.\nRequires hasClosedOnEscape to be true to have effect.\n",
                    "description": "<p>Prevents automatic dialog closure when pressing Escape key.\nWhen true, developer must manually handle closure via the escape event.\nRequires hasClosedOnEscape to be true to have effect.</p>\n",
                    "line": 262,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isMessageBox",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 8743,
                            "end": 8763,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8744,
                                "end": 8751,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables message box mode, which disables Escape key closure and hides the close button.\nIntended for dialogs requiring explicit user action via accept or dismiss buttons.\n",
                    "description": "<p>Enables message box mode, which disables Escape key closure and hides the close button.\nIntended for dialogs requiring explicit user action via accept or dismiss buttons.</p>\n",
                    "line": 269,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "title",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nTitle text displayed in the dialog header.\nWhen changed after dialog is opened, the title updates dynamically.\n",
                    "description": "<p>Title text displayed in the dialog header.\nWhen changed after dialog is opened, the title updates dynamically.</p>\n",
                    "line": 147,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "verticalPosition",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nVertical alignment position of the dialog within the viewport.\nControls whether the dialog appears at top, center, or bottom of the screen.\n",
                    "description": "<p>Vertical alignment position of the dialog within the viewport.\nControls whether the dialog appears at top, center, or bottom of the screen.</p>\n",
                    "line": 165,
                    "type": "EuiDialogVerticalPosition",
                    "decorators": []
                },
                {
                    "name": "width",
                    "defaultValue": "'50%'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5273,
                            "end": 5293,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5274,
                                "end": 5281,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;50%&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWidth of the dialog. Accepts CSS units (px, %, vw, etc.).\nOverridden to '98vw' when isFullScreen is true.\n",
                    "description": "<p>Width of the dialog. Accepts CSS units (px, %, vw, etc.).\nOverridden to &#39;98vw&#39; when isFullScreen is true.</p>\n",
                    "line": 172,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "accept",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the accept button is clicked.\nDialog closes automatically unless isHandleCloseOnAccept is true.\n",
                    "description": "<p>Emitted when the accept button is clicked.\nDialog closes automatically unless isHandleCloseOnAccept is true.</p>\n",
                    "line": 330,
                    "type": "EventEmitter"
                },
                {
                    "name": "clickOutside",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when user clicks outside the dialog boundaries.\nFires regardless of hasClosedOnClickOutside setting.\n",
                    "description": "<p>Emitted when user clicks outside the dialog boundaries.\nFires regardless of hasClosedOnClickOutside setting.</p>\n",
                    "line": 301,
                    "type": "EventEmitter"
                },
                {
                    "name": "dialogClose",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the close (X) button is clicked.\nDialog closes automatically unless isHandleCloseOnClose is true.\n",
                    "description": "<p>Emitted when the close (X) button is clicked.\nDialog closes automatically unless isHandleCloseOnClose is true.</p>\n",
                    "line": 318,
                    "type": "EventEmitter"
                },
                {
                    "name": "dialogOpen",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted immediately after the dialog opens and becomes visible.\n",
                    "description": "<p>Emitted immediately after the dialog opens and becomes visible.</p>\n",
                    "line": 312,
                    "type": "EventEmitter"
                },
                {
                    "name": "dismiss",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the dismiss button is clicked.\nDialog closes automatically unless isHandleCloseOnDismiss is true.\n",
                    "description": "<p>Emitted when the dismiss button is clicked.\nDialog closes automatically unless isHandleCloseOnDismiss is true.</p>\n",
                    "line": 324,
                    "type": "EventEmitter"
                },
                {
                    "name": "escape",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when user presses the Escape key while dialog has focus.\nFires regardless of hasClosedOnEscape setting.\n",
                    "description": "<p>Emitted when user presses the Escape key while dialog has focus.\nFires regardless of hasClosedOnEscape setting.</p>\n",
                    "line": 307,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 342
                },
                {
                    "name": "content",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string | TemplatePortal",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 332,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "euiDialogFooterDirective",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiDialogFooterDirective>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 340,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "euiDialogHeaderDirective",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiDialogHeaderDirective>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 339,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "isOpen$",
                    "defaultValue": "new BehaviorSubject<boolean>(false)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BehaviorSubject<boolean>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 333,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "templateRefContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<ElementRef>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 336,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'templateRefContent'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "templateRefFooter",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<EuiDialogFooterDirective>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 337,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'templateRefFooter'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "templateRefHeader",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<EuiDialogHeaderDirective>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 335,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'templateRefHeader'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "closeDialog",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 487,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nClose a Dialog\n",
                    "description": "<p>Close a Dialog</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "disableAcceptButton",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 495,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisable Accept button of default eui-dialog footer.\n",
                    "description": "<p>Disable Accept button of default eui-dialog footer.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "disableDismissButton",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 509,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisable Dismiss button of default eui-dialog footer.\n",
                    "description": "<p>Disable Dismiss button of default eui-dialog footer.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "enableAcceptButton",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 502,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEnable Accept button of default eui-dialog footer.\n",
                    "description": "<p>Enable Accept button of default eui-dialog footer.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "enableDismissButton",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 516,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEnable Dismiss button of default eui-dialog footer.\n",
                    "description": "<p>Enable Dismiss button of default eui-dialog footer.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 375,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 351,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 387,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 363,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "openDialog",
                    "args": [],
                    "optional": false,
                    "returnType": "OpenedDialog",
                    "typeParameters": [
                        "HC",
                        "HCC",
                        "BC",
                        "BCC",
                        "FC",
                        "FCC"
                    ],
                    "line": 414,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nOpen a dialog.\n\n",
                    "description": "<p>Open a dialog.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "tagName": {
                                "pos": 13703,
                                "end": 13710,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>A dialog object of type <code>OpenedDialog</code></p>\n"
                        }
                    ]
                },
                {
                    "name": "scrollToBottom",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 523,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nScroll to the bottom of the content\n",
                    "description": "<p>Scroll to the bottom of the content</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "scrollToTop",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 530,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nScroll to the top of the content\n",
                    "description": "<p>Scroll to the top of the content</p>\n",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>A modal dialog component that displays content in an overlay above the main application.\nSupports customizable headers, footers, action buttons, and various interaction behaviors.\nCan be opened programmatically via the openDialog method or controlled declaratively.\nIntegrates with EuiDialogService for centralized dialog management and supports features\nlike dragging, fullscreen mode, message box mode, and flexible positioning.</p>\n<h3>Using Dialog Service</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">// Component\nconstructor(private euiDialogService: EuiDialogService) {}\n\nopenDialog(): void {\n  const config = new EuiDialogConfig({\n    title: &#39;Confirm Action&#39;,\n    content: &#39;Are you sure you want to proceed?&#39;,\n    accept: () =&gt; console.log(&#39;Accepted&#39;),\n    dismiss: () =&gt; console.log(&#39;Dismissed&#39;)\n  });\n  this.euiDialogService.openDialog(config);\n}\n\n// Template\n&lt;button euiButton (click)=&quot;openDialog()&quot; aria-haspopup=&quot;dialog&quot;&gt;\n  Open Dialog\n&lt;/button&gt;</code></pre></div><h3>Template Reference</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;button euiButton (click)=&quot;dialog.openDialog()&quot; aria-haspopup=&quot;dialog&quot;&gt;\n  Open Dialog\n&lt;/button&gt;\n\n&lt;eui-dialog #dialog\n  [title]=&quot;&#39;Confirmation&#39;&quot;\n  [width]=&quot;&#39;600px&#39;&quot;\n  (accept)=&quot;onAccept()&quot;\n  (dismiss)=&quot;onDismiss()&quot;&gt;\n  &lt;p&gt;Dialog content goes here&lt;/p&gt;\n&lt;/eui-dialog&gt;</code></pre></div><h3>Custom Header and Footer</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dialog #dialog [hasFooter]=&quot;false&quot;&gt;\n  &lt;eui-dialog-header&gt;\n    &lt;h2&gt;Custom Header&lt;/h2&gt;\n  &lt;/eui-dialog-header&gt;\n\n  &lt;p&gt;Main content&lt;/p&gt;\n\n  &lt;eui-dialog-footer&gt;\n    &lt;button euiButton (click)=&quot;dialog.closeDialog()&quot;&gt;Close&lt;/button&gt;\n  &lt;/eui-dialog-footer&gt;\n&lt;/eui-dialog&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Automatically manages focus trap within dialog</li>\n<li>Escape key closes dialog by default (configurable via <code>hasClosedOnEscape</code>)</li>\n<li>Close button has proper ARIA label</li>\n<li>Dialog has <code>role=&quot;dialog&quot;</code> and <code>aria-modal=&quot;true&quot;</code></li>\n<li>Focus returns to trigger element on close</li>\n<li>Use <code>aria-haspopup=&quot;dialog&quot;</code> on trigger buttons</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use <code>isMessageBox</code> for critical confirmations that require explicit user action</li>\n<li><code>isDraggable</code> enables repositioning for multi-dialog scenarios</li>\n<li><code>isFullScreen</code> automatically sets width to 98vw and height to 97vh</li>\n<li><code>hasClosedOnClickOutside</code> allows backdrop click to close dialog</li>\n<li>Manual close control via <code>isHandleCloseOn*</code> properties for custom workflows</li>\n<li><code>verticalPosition</code> controls dialog placement (top, center, bottom)</li>\n<li>Methods like <code>disableAcceptButton()</code> and <code>scrollToBottom()</code> available for dynamic control</li>\n</ul>\n",
            "rawdescription": "\n\nA modal dialog component that displays content in an overlay above the main application.\nSupports customizable headers, footers, action buttons, and various interaction behaviors.\nCan be opened programmatically via the openDialog method or controlled declaratively.\nIntegrates with EuiDialogService for centralized dialog management and supports features\nlike dragging, fullscreen mode, message box mode, and flexible positioning.\n\n### Using Dialog Service\n```typescript\n// Component\nconstructor(private euiDialogService: EuiDialogService) {}\n\nopenDialog(): void {\n  const config = new EuiDialogConfig({\n    title: 'Confirm Action',\n    content: 'Are you sure you want to proceed?',\n    accept: () => console.log('Accepted'),\n    dismiss: () => console.log('Dismissed')\n  });\n  this.euiDialogService.openDialog(config);\n}\n\n// Template\n<button euiButton (click)=\"openDialog()\" aria-haspopup=\"dialog\">\n  Open Dialog\n</button>\n```\n\n### Template Reference\n```html\n<button euiButton (click)=\"dialog.openDialog()\" aria-haspopup=\"dialog\">\n  Open Dialog\n</button>\n\n<eui-dialog #dialog\n  [title]=\"'Confirmation'\"\n  [width]=\"'600px'\"\n  (accept)=\"onAccept()\"\n  (dismiss)=\"onDismiss()\">\n  <p>Dialog content goes here</p>\n</eui-dialog>\n```\n\n### Custom Header and Footer\n```html\n<eui-dialog #dialog [hasFooter]=\"false\">\n  <eui-dialog-header>\n    <h2>Custom Header</h2>\n  </eui-dialog-header>\n\n  <p>Main content</p>\n\n  <eui-dialog-footer>\n    <button euiButton (click)=\"dialog.closeDialog()\">Close</button>\n  </eui-dialog-footer>\n</eui-dialog>\n```\n\n### Accessibility\n- Automatically manages focus trap within dialog\n- Escape key closes dialog by default (configurable via `hasClosedOnEscape`)\n- Close button has proper ARIA label\n- Dialog has `role=\"dialog\"` and `aria-modal=\"true\"`\n- Focus returns to trigger element on close\n- Use `aria-haspopup=\"dialog\"` on trigger buttons\n\n### Notes\n- Use `isMessageBox` for critical confirmations that require explicit user action\n- `isDraggable` enables repositioning for multi-dialog scenarios\n- `isFullScreen` automatically sets width to 98vw and height to 97vh\n- `hasClosedOnClickOutside` allows backdrop click to close dialog\n- Manual close control via `isHandleCloseOn*` properties for custom workflows\n- `verticalPosition` controls dialog placement (top, center, bottom)\n- Methods like `disableAcceptButton()` and `scrollToBottom()` available for dynamic control\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    ChangeDetectionStrategy,\n    ViewEncapsulation,\n    Input,\n    ViewChild,\n    TemplateRef,\n    ViewContainerRef,\n    AfterViewInit,\n    OnDestroy,\n    Output,\n    EventEmitter,\n    Directive,\n    ContentChild,\n    forwardRef,\n    QueryList,\n    ElementRef,\n    OnInit,\n    booleanAttribute,\n    SimpleChanges,\n    OnChanges,\n    inject,\n} from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiDialogService } from './services/eui-dialog.service';\nimport { EuiDialogInterface } from './models/eui-dialog.config';\nimport { DIALOG_COMPONENT_CONFIG } from './services/eui-dialog.token';\nimport { OpenedDialog } from './models/opened-dialog.model';\nimport { EuiDialogVerticalPosition } from './models/eui-dialog-alignment';\n\n/**\n * @description\n * A modal dialog component that displays content in an overlay above the main application.\n * Supports customizable headers, footers, action buttons, and various interaction behaviors.\n * Can be opened programmatically via the openDialog method or controlled declaratively.\n * Integrates with EuiDialogService for centralized dialog management and supports features\n * like dragging, fullscreen mode, message box mode, and flexible positioning.\n * \n * @usageNotes\n * ### Using Dialog Service\n * ```typescript\n * // Component\n * constructor(private euiDialogService: EuiDialogService) {}\n * \n * openDialog(): void {\n *   const config = new EuiDialogConfig({\n *     title: 'Confirm Action',\n *     content: 'Are you sure you want to proceed?',\n *     accept: () => console.log('Accepted'),\n *     dismiss: () => console.log('Dismissed')\n *   });\n *   this.euiDialogService.openDialog(config);\n * }\n * \n * // Template\n * <button euiButton (click)=\"openDialog()\" aria-haspopup=\"dialog\">\n *   Open Dialog\n * </button>\n * ```\n * \n * ### Template Reference\n * ```html\n * <button euiButton (click)=\"dialog.openDialog()\" aria-haspopup=\"dialog\">\n *   Open Dialog\n * </button>\n * \n * <eui-dialog #dialog \n *   [title]=\"'Confirmation'\" \n *   [width]=\"'600px'\"\n *   (accept)=\"onAccept()\"\n *   (dismiss)=\"onDismiss()\">\n *   <p>Dialog content goes here</p>\n * </eui-dialog>\n * ```\n * \n * ### Custom Header and Footer\n * ```html\n * <eui-dialog #dialog [hasFooter]=\"false\">\n *   <eui-dialog-header>\n *     <h2>Custom Header</h2>\n *   </eui-dialog-header>\n *   \n *   <p>Main content</p>\n *   \n *   <eui-dialog-footer>\n *     <button euiButton (click)=\"dialog.closeDialog()\">Close</button>\n *   </eui-dialog-footer>\n * </eui-dialog>\n * ```\n * \n * ### Accessibility\n * - Automatically manages focus trap within dialog\n * - Escape key closes dialog by default (configurable via `hasClosedOnEscape`)\n * - Close button has proper ARIA label\n * - Dialog has `role=\"dialog\"` and `aria-modal=\"true\"`\n * - Focus returns to trigger element on close\n * - Use `aria-haspopup=\"dialog\"` on trigger buttons\n * \n * ### Notes\n * - Use `isMessageBox` for critical confirmations that require explicit user action\n * - `isDraggable` enables repositioning for multi-dialog scenarios\n * - `isFullScreen` automatically sets width to 98vw and height to 97vh\n * - `hasClosedOnClickOutside` allows backdrop click to close dialog\n * - Manual close control via `isHandleCloseOn*` properties for custom workflows\n * - `verticalPosition` controls dialog placement (top, center, bottom)\n * - Methods like `disableAcceptButton()` and `scrollToBottom()` available for dynamic control\n */\n@Component({\n    selector: 'eui-dialog',\n    templateUrl: './eui-dialog.component.html',\n    styleUrl: './eui-dialog.scss',\n    providers: [{ provide: DIALOG_COMPONENT_CONFIG, useValue: null }],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiPrimary',\n                'euiSecondary',\n                'euiInfo',\n                'euiSuccess',\n                'euiWarning',\n                'euiDanger',\n                'euiVariant',\n            ],\n        },\n    ],\n})\nexport class EuiDialogComponent implements AfterViewInit, OnDestroy, OnInit, OnChanges {\n    /**\n     * End-to-end testing attribute identifier for the dialog element.\n     * @default 'eui-dialog'\n     */\n    @Input() e2eAttr = 'eui-dialog';\n\n    /**\n     * Title text displayed in the dialog header.\n     * When changed after dialog is opened, the title updates dynamically.\n     */\n    @Input() title: string;\n\n    /**\n     * Translation key or label text for the accept button.\n     * @default 'eui.OK'\n     */\n    @Input() acceptLabel = 'eui.OK';\n\n    /**\n     * Translation key or label text for the dismiss button.\n     * @default 'eui.CANCEL'\n     */\n    @Input() dismissLabel = 'eui.CANCEL';\n\n    /**\n     * Vertical alignment position of the dialog within the viewport.\n     * Controls whether the dialog appears at top, center, or bottom of the screen.\n     */\n    @Input() verticalPosition: EuiDialogVerticalPosition;\n\n    /**\n     * Width of the dialog. Accepts CSS units (px, %, vw, etc.).\n     * Overridden to '98vw' when isFullScreen is true.\n     * @default '50%'\n     */\n    @Input() width = '50%';\n\n    /**\n     * Height of the dialog. Accepts CSS units (px, %, vh, auto, etc.).\n     * Overridden to '97vh' when isFullScreen is true.\n     * @default 'auto'\n     */\n    @Input() height = 'auto';\n\n    /**\n     * Enables fullscreen mode, automatically setting width to 98vw and height to 97vh.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isFullScreen = false;\n\n    /**\n     * Controls visibility of the close (X) button in the dialog header.\n     * Automatically set to false when isMessageBox is true.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasCloseButton = true;\n\n    /**\n     * Controls visibility of the accept button in the dialog footer.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasAcceptButton = true;\n\n    /**\n     * Controls visibility of the dismiss button in the dialog footer.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasDismissButton = true;\n\n    /**\n     * Enables custom sizing behavior on mobile devices.\n     * When true, applies mobile-specific width and height adjustments.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasMobileCustomSize = false;\n\n    /**\n     * Enables automatic dialog closure when clicking outside the dialog boundaries.\n     * Works in conjunction with isHandleCloseOnClickOutside for manual control.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasClosedOnClickOutside = false;\n\n    /**\n     * Enables automatic dialog closure when pressing the Escape key.\n     * Automatically set to false when isMessageBox is true.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasClosedOnEscape = true;\n\n    /**\n     * Prevents automatic dialog closure when dismiss button is clicked.\n     * When true, developer must manually handle closure via the dismiss event.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHandleCloseOnDismiss = false;\n\n    /**\n     * Prevents automatic dialog closure when close (X) button is clicked.\n     * When true, developer must manually handle closure via the dialogClose event.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHandleCloseOnClose = false;\n\n    /**\n     * Prevents automatic dialog closure when accept button is clicked.\n     * When true, developer must manually handle closure via the accept event.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHandleCloseOnAccept = false;\n\n    /**\n     * Prevents automatic dialog closure when clicking outside the dialog.\n     * When true, developer must manually handle closure via the clickOutside event.\n     * Requires hasClosedOnClickOutside to be true to have effect.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHandleCloseOnClickOutside = false;\n\n    /**\n     * Prevents automatic dialog closure when pressing Escape key.\n     * When true, developer must manually handle closure via the escape event.\n     * Requires hasClosedOnEscape to be true to have effect.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHandleCloseOnEscape = false;\n\n    /**\n     * Enables message box mode, which disables Escape key closure and hides the close button.\n     * Intended for dialogs requiring explicit user action via accept or dismiss buttons.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isMessageBox = false;\n\n    /**\n     * Enables drag-and-drop functionality, allowing users to reposition the dialog.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isDraggable = false;\n\n    /**\n     * Removes default padding from the dialog body content area.\n     * Useful for custom layouts or full-width content.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasNoBodyPadding = false;\n\n    /**\n     * Controls visibility of the entire footer section containing action buttons.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasFooter = true;\n\n    /**\n     * Additional CSS class names to apply to the dialog container.\n     * Allows custom styling without modifying component styles.\n     * @default null\n     */\n    @Input() classList: string = null;\n\n    /**\n     * Emitted when user clicks outside the dialog boundaries.\n     * Fires regardless of hasClosedOnClickOutside setting.\n     */\n    @Output() clickOutside = new EventEmitter();\n\n    /**\n     * Emitted when user presses the Escape key while dialog has focus.\n     * Fires regardless of hasClosedOnEscape setting.\n     */\n    @Output() escape = new EventEmitter();\n\n    /**\n     * Emitted immediately after the dialog opens and becomes visible.\n     */\n    @Output() dialogOpen = new EventEmitter();\n\n    /**\n     * Emitted when the close (X) button is clicked.\n     * Dialog closes automatically unless isHandleCloseOnClose is true.\n     */\n    @Output() dialogClose = new EventEmitter();\n\n    /**\n     * Emitted when the dismiss button is clicked.\n     * Dialog closes automatically unless isHandleCloseOnDismiss is true.\n     */\n    @Output() dismiss = new EventEmitter();\n\n    /**\n     * Emitted when the accept button is clicked.\n     * Dialog closes automatically unless isHandleCloseOnAccept is true.\n     */\n    @Output() accept = new EventEmitter();\n\n    public content: string | TemplatePortal;\n    public isOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n    @ViewChild('templateRefHeader') templateRefHeader: TemplateRef<EuiDialogHeaderDirective>;\n    @ViewChild('templateRefContent') templateRefContent: TemplateRef<ElementRef>;\n    @ViewChild('templateRefFooter') templateRefFooter: TemplateRef<EuiDialogFooterDirective>;\n\n    @ContentChild(forwardRef(() => EuiDialogHeaderDirective)) euiDialogHeaderDirective: QueryList<EuiDialogHeaderDirective>;\n    @ContentChild(forwardRef(() => EuiDialogFooterDirective)) euiDialogFooterDirective: QueryList<EuiDialogFooterDirective>;\n\n    baseStatesDirective = inject(BaseStatesDirective);\n    private dialog: OpenedDialog;\n    private templatePortalHeader: TemplatePortal<EuiDialogHeaderDirective>;\n    private templatePortalContent: TemplatePortal<ElementRef>;\n    private templatePortalFooter: TemplatePortal<EuiDialogFooterDirective>;\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private viewContainerRef = inject(ViewContainerRef);\n    private euiDialogService = inject(EuiDialogService);\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes.title && this.dialog && this.euiDialogService.getDialog(this.dialog.id)) {\n            const newTitle = changes.title.currentValue;\n\n            // Update the dialog service with the new title\n            this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.dialogContainerConfig.title = newTitle;\n\n            // Trigger change detection to reflect the updated title\n            this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.cd.markForCheck();\n        }\n    }\n\n    ngOnInit(): void {\n        if (this.isFullScreen) {\n            this.width = '98vw';\n            this.height = '97vh';\n        }\n\n        if (this.isMessageBox) {\n            this.hasClosedOnEscape = false;\n            this.hasCloseButton = false;\n        }\n    }\n\n    ngAfterViewInit(): void {\n        if (this.euiDialogHeaderDirective) {\n            this.templatePortalHeader = new TemplatePortal(this.templateRefHeader, this.viewContainerRef);\n        }\n\n        this.templatePortalContent = new TemplatePortal(this.templateRefContent, this.viewContainerRef);\n\n        if (this.euiDialogFooterDirective) {\n            this.templatePortalFooter = new TemplatePortal(this.templateRefFooter, this.viewContainerRef);\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    /**\n     * Whether the eui-dialog is open.\n     *\n     * @usageNotes\n     * ```html\n     * <eui-dialog #dialog>\n     *      \\@if (dialog.isOpen) {\n     *          <my-component></my-component>\n     *      }\n     * </eui-dialog>\n     * ```\n     * @returns A boolean with value `true` when open, otherwise `false`.\n     */\n    get isOpen(): boolean {\n        return this.isOpen$.value;\n    }\n\n    /**\n     * Open a dialog.\n     *\n     * @returns A dialog object of type `OpenedDialog`\n     */\n    public openDialog<HC, HCC, BC, BCC, FC, FCC>(): OpenedDialog {\n        const config: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {\n            e2eAttr: this.e2eAttr,\n            title: this.title,\n            width: this.width,\n            height: this.height,\n            isFullScreen: this.isFullScreen,\n            variant: this.baseStatesDirective.euiVariant,\n            acceptLabel: this.acceptLabel,\n            dismissLabel: this.dismissLabel,\n            hasCloseButton: this.hasCloseButton,\n            hasAcceptButton: this.hasAcceptButton,\n            hasDismissButton: this.hasDismissButton,\n            hasMobileCustomSize: this.hasMobileCustomSize,\n            hasClosedOnClickOutside: this.hasClosedOnClickOutside,\n            hasClosedOnEscape: this.hasClosedOnEscape,\n            isHandleCloseOnDismiss: this.isHandleCloseOnDismiss,\n            isHandleCloseOnClose: this.isHandleCloseOnClose,\n            isHandleCloseOnAccept: this.isHandleCloseOnAccept,\n            isHandleCloseOnClickOutside: this.isHandleCloseOnClickOutside,\n            isHandleCloseOnEscape: this.isHandleCloseOnEscape,\n            isDraggable: this.isDraggable,\n            hasNoBodyPadding: this.hasNoBodyPadding,\n            hasFooter: this.hasFooter,\n            verticalPosition: this.verticalPosition,\n            header: this.templatePortalHeader,\n            content: this.templatePortalContent,\n            footer: this.templatePortalFooter,\n            classList: this.classList,\n            clickOutside: () => {\n                if (this.hasClosedOnClickOutside && !this.isHandleCloseOnClickOutside) {\n                    this.isOpen$.next(false);\n                }\n                this.clickOutside.emit();\n            },\n            escape: () => {\n                if (this.hasClosedOnEscape && !this.isHandleCloseOnEscape) {\n                    this.isOpen$.next(false);\n                }\n                this.escape.emit();\n            },\n            open: () => {\n                this.dialogOpen.emit();\n            },\n            close: () => {\n                if (!this.isHandleCloseOnClose) {\n                    this.isOpen$.next(false);\n                }\n                this.dialogClose.emit();\n            },\n            dismiss: () => {\n                if (!this.isHandleCloseOnDismiss) {\n                    this.isOpen$.next(false);\n                }\n                this.dismiss.emit();\n            },\n            accept: () => {\n                if (!this.isHandleCloseOnAccept) {\n                    this.isOpen$.next(false);\n                }\n                this.accept.emit();\n            },\n        };\n\n        this.isOpen$.next(true);\n        this.dialog = this.euiDialogService.openDialog(config);\n\n        return this.dialog;\n    }\n\n    /**\n     * Close a Dialog\n     */\n    public closeDialog(): void {\n        this.isOpen$.next(false);\n        this.euiDialogService.closeDialog();\n    }\n\n    /**\n     * Disable Accept button of default eui-dialog footer.\n     */\n    public disableAcceptButton(): void {\n        this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.disableAcceptButton();\n    }\n\n    /**\n     * Enable Accept button of default eui-dialog footer.\n     */\n    public enableAcceptButton(): void {\n        this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.enableAcceptButton();\n    }\n\n    /**\n     * Disable Dismiss button of default eui-dialog footer.\n     */\n    public disableDismissButton(): void {\n        this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.disableDismissButton();\n    }\n\n    /**\n     * Enable Dismiss button of default eui-dialog footer.\n     */\n    public enableDismissButton(): void {\n        this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.enableDismissButton();\n    }\n\n    /**\n     * Scroll to the bottom of the content\n     */\n    public scrollToBottom(): void {\n        this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.scrollToBottom();\n    }\n\n    /**\n     * Scroll to the top of the content\n     */\n    public scrollToTop(): void {\n        this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.scrollToTop();\n    }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-dialog-header', })\nexport class EuiDialogHeaderDirective {}\n\n@Directive({ selector: 'eui-dialog-footer', })\nexport class EuiDialogFooterDirective {}\n/* eslint-enable */\n",
            "styleUrl": "./eui-dialog.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterViewInit",
                "OnDestroy",
                "OnInit",
                "OnChanges"
            ],
            "accessors": {
                "isOpen": {
                    "name": "isOpen",
                    "getSignature": {
                        "name": "isOpen",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 405,
                        "rawdescription": "\n\nWhether the eui-dialog is open.\n\n```html\n<eui-dialog #dialog>\n     \\@if (dialog.isOpen) {\n         <my-component></my-component>\n     }\n</eui-dialog>\n```\n",
                        "description": "<p>Whether the eui-dialog is open.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dialog #dialog&gt;\n     \\&#64;if (dialog.isOpen) {\n         &lt;my-component&gt;&lt;/my-component&gt;\n     }\n&lt;/eui-dialog&gt;</code></pre></div>",
                        "jsdoctags": [
                            {
                                "pos": 13324,
                                "end": 13513,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 13325,
                                    "end": 13335,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "usageNotes"
                                },
                                "comment": "<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dialog #dialog&gt;\n     \\&#64;if (dialog.isOpen) {\n         &lt;my-component&gt;&lt;/my-component&gt;\n     }\n&lt;/eui-dialog&gt;</code></pre></div>"
                            },
                            {
                                "pos": 13513,
                                "end": 13585,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 13514,
                                    "end": 13521,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>A boolean with value <code>true</code> when open, otherwise <code>false</code>.</p>\n"
                            }
                        ]
                    }
                }
            },
            "templateData": "<ng-template #templateRefHeader>\n    <ng-content select=\"eui-dialog-header\" />\n</ng-template>\n<ng-template #templateRefContent>\n    <ng-content />\n</ng-template>\n<ng-template #templateRefFooter>\n    <ng-content select=\"eui-dialog-footer\" />\n</ng-template>\n"
        },
        {
            "name": "EuiDialogContainerComponent",
            "id": "component-EuiDialogContainerComponent-6f3ec8d376655e5341f12a215297b2facd8b0d7ce8a5c412828abaf1bf21e265d7f75ff2f3cb7ef11d9e4efee5390b916bd07fc9d5a0f550e0da48063f26e819",
            "file": "packages/components/eui-dialog/container/eui-dialog-container.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-dialog-container",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-dialog-container.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "closeButtonAriaLabel",
                    "defaultValue": "'Close dialog'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3573,
                            "end": 3602,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3574,
                                "end": 3581,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;Close dialog&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nAccessible label for the close button in the dialog header.\nUsed by screen readers to announce the button's purpose.\n",
                    "description": "<p>Accessible label for the close button in the dialog header.\nUsed by screen readers to announce the button&#39;s purpose.</p>\n",
                    "line": 99,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "acceptButtonDisabled$",
                    "defaultValue": "new BehaviorSubject<boolean>(false)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BehaviorSubject<boolean>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 87,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "bodyComponentPortal",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ComponentPortal<BC>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 83,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "cd",
                    "defaultValue": "inject(ChangeDetectorRef)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 72
                },
                {
                    "name": "componentInstances",
                    "defaultValue": "new EuiDialogComponentInstances<HC, BC, FC>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 86,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "dialogBody",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef<HTMLElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 90,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'dialogBody', {read: ElementRef}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "dialogContainerConfig",
                    "defaultValue": "inject<EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>>(DIALOG_CONTAINER_CONFIG)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 73
                },
                {
                    "name": "dismissButtonDisabled$",
                    "defaultValue": "new BehaviorSubject<boolean>(false)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BehaviorSubject<boolean>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 88,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "footerComponentPortal",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ComponentPortal<FC>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 84,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "headerComponentPortal",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ComponentPortal<HC>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 82,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "isBodyComponentPortal",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 79,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "isBodyScrollable",
                    "defaultValue": "signal(false)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 101,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "isBodyTemplatePortal",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 75,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "isFooterComponentPortal",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 80,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "isFooterTemplatePortal",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 76,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "isHeaderComponentPortal",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 78,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "isHeaderTemplatePortal",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 74,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "string",
                    "defaultValue": "'eui-dialog-container'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 92,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "closeDialog",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 194,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "disableAcceptButton",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 228,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisable Accept button of default eui-dialog footer.\n",
                    "description": "<p>Disable Accept button of default eui-dialog footer.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "disableDismissButton",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 242,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisable Dismiss button of default eui-dialog footer.\n",
                    "description": "<p>Disable Dismiss button of default eui-dialog footer.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "enableAcceptButton",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 235,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEnable Accept button of default eui-dialog footer.\n",
                    "description": "<p>Enable Accept button of default eui-dialog footer.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "enableDismissButton",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 249,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEnable Dismiss button of default eui-dialog footer.\n",
                    "description": "<p>Enable Dismiss button of default eui-dialog footer.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "getContentId",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 215,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nBased on certain conditions returns the id of the body content to the aria-describedby attr of the container\n",
                    "description": "<p>Based on certain conditions returns the id of the body content to the aria-describedby attr of the container</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 146,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 141,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 105,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onAccept",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 205,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "onDismiss",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 198,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "onScroll",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 253,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "portalAttached",
                    "args": [
                        {
                            "name": "attachedRef",
                            "type": "CdkPortalOutletAttachedRef",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "component",
                            "type": "\"headerComponent\" | \"bodyComponent\" | \"footerComponent\"",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 162,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "attachedRef",
                            "type": "CdkPortalOutletAttachedRef",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "component",
                            "type": "\"headerComponent\" | \"bodyComponent\" | \"footerComponent\"",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "scrollToBottom",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 257,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "scrollToTop",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 264,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-dialog-container'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 92,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "TranslateModule",
                    "type": "module"
                },
                {
                    "name": "PortalModule",
                    "type": "module"
                },
                {
                    "name": "OverlayModule",
                    "type": "module"
                },
                {
                    "name": "A11yModule",
                    "type": "module"
                },
                {
                    "name": "DragDropModule",
                    "type": "module"
                },
                {
                    "name": "CdkScrollableModule",
                    "type": "module"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_ICON_BUTTON"
                },
                {
                    "name": "EUI_ICON_STATE"
                }
            ],
            "description": "<p>Container component that orchestrates the rendering and lifecycle of dialog content.\nManages three distinct sections (header, body, footer) that can be rendered as either\ntemplate portals or component portals. Handles dialog actions (accept/dismiss), button\nstate management, and accessibility attributes. Typically instantiated by the dialog\nservice and should not be used directly in application code.</p>\n",
            "rawdescription": "\n\nContainer component that orchestrates the rendering and lifecycle of dialog content.\nManages three distinct sections (header, body, footer) that can be rendered as either\ntemplate portals or component portals. Handles dialog actions (accept/dismiss), button\nstate management, and accessibility attributes. Typically instantiated by the dialog\nservice and should not be used directly in application code.\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    ChangeDetectionStrategy,\n    ViewEncapsulation,\n    OnInit,\n    ComponentRef,\n    inject,\n    Injector,\n    StaticProvider,\n    OnDestroy,\n    HostBinding,\n    ChangeDetectorRef,\n    Input,\n    ViewChild,\n    ElementRef,\n    AfterViewInit,\n    signal,\n} from '@angular/core';\nimport {\n    CdkPortalOutletAttachedRef,\n    ComponentPortal,\n    ComponentType,\n    PortalModule,\n    TemplatePortal,\n} from '@angular/cdk/portal';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DIALOG_CONTAINER_CONFIG } from '../services/eui-dialog.token';\nimport { EuiDialogInterface, EuiDialogComponentInstances } from '../models/eui-dialog.config';\nimport { DIALOG_COMPONENT_CONFIG } from '../services/eui-dialog.token';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { CdkScrollableModule } from '@angular/cdk/scrolling';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\nimport { EUI_ICON_STATE } from '@eui/components/eui-icon-state';\nimport { AsyncPipe } from '@angular/common';\n\n/**\n * @description\n * Container component that orchestrates the rendering and lifecycle of dialog content.\n * Manages three distinct sections (header, body, footer) that can be rendered as either\n * template portals or component portals. Handles dialog actions (accept/dismiss), button\n * state management, and accessibility attributes. Typically instantiated by the dialog\n * service and should not be used directly in application code.\n */\n@Component({\n    selector: 'eui-dialog-container',\n    templateUrl: './eui-dialog-container.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    styleUrl: '../eui-dialog.scss',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        AsyncPipe,\n        TranslateModule,\n        PortalModule,\n        OverlayModule,\n        A11yModule,\n        DragDropModule,\n        CdkScrollableModule,\n        ...EUI_BUTTON,\n        ...EUI_ICON,\n        ...EUI_ICON_BUTTON,\n        ...EUI_ICON_STATE,\n    ],\n})\nexport class EuiDialogContainerComponent<HC, HCC, BC, BCC, FC, FCC> implements OnInit, OnDestroy, AfterViewInit {\n    cd = inject(ChangeDetectorRef);\n    dialogContainerConfig = inject<EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>>(DIALOG_CONTAINER_CONFIG);\n    public isHeaderTemplatePortal = false;\n    public isBodyTemplatePortal = false;\n    public isFooterTemplatePortal = false;\n\n    public isHeaderComponentPortal = false;\n    public isBodyComponentPortal = false;\n    public isFooterComponentPortal = false;\n\n    public headerComponentPortal: ComponentPortal<HC>;\n    public bodyComponentPortal: ComponentPortal<BC>;\n    public footerComponentPortal: ComponentPortal<FC>;\n\n    public componentInstances = new EuiDialogComponentInstances<HC, BC, FC>();\n    public acceptButtonDisabled$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n    public dismissButtonDisabled$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n    @ViewChild('dialogBody', { read: ElementRef }) dialogBody: ElementRef<HTMLElement>;\n\n    @HostBinding('class') string = 'eui-dialog-container';\n\n    /**\n     * Accessible label for the close button in the dialog header.\n     * Used by screen readers to announce the button's purpose.\n     * @default 'Close dialog'\n     */\n    @Input() closeButtonAriaLabel = 'Close dialog';\n\n    protected isBodyScrollable = signal(false);\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private injector = inject(Injector);\n\n    ngOnInit(): void {\n        if (this.dialogContainerConfig.header instanceof TemplatePortal) {\n            this.isHeaderTemplatePortal = true;\n        }\n        if (this.dialogContainerConfig.content instanceof TemplatePortal) {\n            this.isBodyTemplatePortal = true;\n        }\n        if (this.dialogContainerConfig.footer instanceof TemplatePortal) {\n            this.isFooterTemplatePortal = true;\n        }\n\n        if (this.dialogContainerConfig.headerComponent?.component) {\n            this.isHeaderComponentPortal = true;\n            this.headerComponentPortal = this.createComponentPortal(\n                this.dialogContainerConfig.headerComponent.component,\n                this.dialogContainerConfig.headerComponent.config,\n            ) as ComponentPortal<HC>;\n        }\n        if (this.dialogContainerConfig.bodyComponent?.component) {\n            this.isBodyComponentPortal = true;\n            this.bodyComponentPortal = this.createComponentPortal(\n                this.dialogContainerConfig.bodyComponent.component,\n                this.dialogContainerConfig.bodyComponent.config,\n            ) as ComponentPortal<BC>;\n        }\n        if (this.dialogContainerConfig.footerComponent?.component) {\n            this.isFooterComponentPortal = true;\n            this.footerComponentPortal = this.createComponentPortal(\n                this.dialogContainerConfig.footerComponent.component,\n                this.dialogContainerConfig.footerComponent.config,\n            ) as ComponentPortal<FC>;\n        }\n\n        this.dialogContainerConfig.open();\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    ngAfterViewInit(): void {\n        this.checkScrollability();\n    }\n\n    get getComponentInstances(): EuiDialogComponentInstances<HC, BC, FC> {\n        return this.componentInstances;\n    }\n\n    get getPortalOutlet(): TemplatePortal | null {\n        return this.dialogContainerConfig.content as TemplatePortal;\n    }\n\n    get dialogContainerConfigContent(): string {\n        return this.dialogContainerConfig.content as string;\n    }\n\n    public portalAttached(\n        attachedRef: CdkPortalOutletAttachedRef,\n        component: 'headerComponent' | 'bodyComponent' | 'footerComponent',\n    ): void {\n        const componentRef = attachedRef as ComponentRef<HC | BC | FC>;\n\n        componentRef.instance['overlayRef'] = this.dialogContainerConfig.overlayRef;\n\n        this.componentInstances = {\n            ...this.componentInstances,\n            [component]: componentRef.instance,\n        };\n\n        this.dialogContainerConfig.init(this.componentInstances);\n\n        if (this.dialogContainerConfig[component].config) {\n            Object.keys(this.dialogContainerConfig[component].config).forEach((c) => {\n                if (typeof this.dialogContainerConfig[component].config[c] === 'function') {\n                    if (componentRef.instance[c] && typeof componentRef.instance[c] !== 'function') {\n                        // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n                        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n                        componentRef.instance[c].pipe(takeUntil(this.destroy$)).subscribe((args: any) => {\n                            this.dialogContainerConfig[component].config[c].apply(componentRef.instance[c], [args]);\n                        });\n                    }\n                } else {\n                    componentRef.instance[c] = this.dialogContainerConfig[component].config[c];\n                }\n            });\n        }\n    }\n\n    public closeDialog(): void {\n        this.dialogContainerConfig.close(this.componentInstances);\n    }\n\n    public onDismiss(): void {\n        this.dialogContainerConfig.dismiss(this.componentInstances);\n        if (!this.dialogContainerConfig.isHandleCloseOnDismiss) {\n            this.closeDialog();\n        }\n    }\n\n    public onAccept(): void {\n        this.dialogContainerConfig.accept(this.componentInstances);\n        if (!this.dialogContainerConfig.isHandleCloseOnAccept) {\n            this.closeDialog();\n        }\n    }\n\n    /**\n     * Based on certain conditions returns the id of the body content to the aria-describedby attr of the container\n     */\n    public getContentId(): string {\n        if(!this.isBodyTemplatePortal && !this.isBodyComponentPortal) {\n            return 'containerConfigId';\n        } else if (this.isBodyTemplatePortal && !this.isBodyComponentPortal) {\n            return 'bodyTemplatePortalId';\n        } else if(this.isBodyComponentPortal) {\n            return 'bodyComponentPortalId'\n        }\n    }\n\n    /**\n     * Disable Accept button of default eui-dialog footer.\n     */\n    public disableAcceptButton(): void {\n        this.acceptButtonDisabled$.next(true);\n    }\n\n    /**\n     * Enable Accept button of default eui-dialog footer.\n     */\n    public enableAcceptButton(): void {\n        this.acceptButtonDisabled$.next(false);\n    }\n\n    /**\n     * Disable Dismiss button of default eui-dialog footer.\n     */\n    public disableDismissButton(): void {\n        this.dismissButtonDisabled$.next(true);\n    }\n\n    /**\n     * Enable Dismiss button of default eui-dialog footer.\n     */\n    public enableDismissButton(): void {\n        this.dismissButtonDisabled$.next(false);\n    }\n\n    public onScroll(): void {\n        this.cd.detectChanges();\n    }\n\n    public scrollToBottom(): void {\n        const el = document.querySelector('.eui-dialog__body');\n        if (el) {\n            el.scrollTo({ top: el.scrollHeight, behavior: 'smooth' });\n        }\n    }\n\n    public scrollToTop(): void {\n        const el = document.querySelector('.eui-dialog__body');\n        if (el) {\n            el.scrollTo({ top: 0, behavior: 'smooth' });\n        }\n    }\n\n    private createComponentPortal(component: ComponentType<HC | BC | FC>, config: HCC | BCC | FCC): ComponentPortal<HC | BC | FC> {\n        const extendedConfig = { ...config, id: this.dialogContainerConfig.dialogId, overlayRef: this.dialogContainerConfig.overlayRef };\n        return new ComponentPortal(component, null, this.createInjector(extendedConfig));\n    }\n\n    private createInjector(data: HCC | BCC | FCC): Injector {\n        const injectorTokens: StaticProvider = [{ provide: DIALOG_COMPONENT_CONFIG, useValue: data }];\n        return Injector.create({\n            parent: this.injector,\n            providers: injectorTokens,\n        });\n    }\n\n    /**\n     * Checks if the dialog body is scrollable in order to make the scrollbar focusable or not\n     */\n    private checkScrollability(): void {\n        if (this.dialogBody?.nativeElement) {\n            const element = this.dialogBody.nativeElement;\n            this.isBodyScrollable.set(element.scrollHeight > element.clientHeight);\n        }\n    }\n}\n",
            "styleUrl": "../eui-dialog.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy",
                "AfterViewInit"
            ],
            "accessors": {
                "getComponentInstances": {
                    "name": "getComponentInstances",
                    "getSignature": {
                        "name": "getComponentInstances",
                        "type": "unknown",
                        "returnType": "EuiDialogComponentInstances<HC, BC, FC>",
                        "line": 150
                    }
                },
                "getPortalOutlet": {
                    "name": "getPortalOutlet",
                    "getSignature": {
                        "name": "getPortalOutlet",
                        "type": "unknown",
                        "returnType": "TemplatePortal | null",
                        "line": 154
                    }
                },
                "dialogContainerConfigContent": {
                    "name": "dialogContainerConfigContent",
                    "getSignature": {
                        "name": "dialogContainerConfigContent",
                        "type": "string",
                        "returnType": "string",
                        "line": 158
                    }
                }
            },
            "templateData": "<div\n    class=\"eui-dialog eui-dialog--{{ dialogContainerConfig.variant }} eui-21\"\n    [class.eui-dialog--draggable]=\"dialogContainerConfig.isDraggable\"\n    [class.eui-dialog--message-box]=\"dialogContainerConfig.isMessageBox\"\n    [class.eui-dialog--no-padding]=\"dialogContainerConfig.hasNoBodyPadding\"\n    [class.eui-dialog--custom-size]=\"dialogContainerConfig.hasMobileCustomSize\"\n    [attr.role]=\"dialogContainerConfig.isMessageBox ? 'alertdialog' : 'dialog'\"\n    aria-labelledby=\"dialogContent\"\n    [attr.aria-describedby]=\"getContentId()\"\n    [attr.aria-modal]=\"true\"\n    tabindex=\"-1\"\n    attr.data-e2e=\"{{ dialogContainerConfig.e2eAttr }}\"\n    cdkDrag\n    cdkDragRootElement=\".cdk-overlay-pane\"\n    [cdkDragDisabled]=\"!dialogContainerConfig.isDraggable\"\n    cdkTrapFocus\n    cdkTrapFocusAutoCapture>\n    <div class=\"eui-dialog__content\" role=\"document\" id=\"dialogContent\" aria-labelledby=\"headerTitle\">\n        <div class=\"eui-dialog__header\" [class.eui-dialog__header--handle-disabled]=\"!dialogContainerConfig.isDraggable\" cdkDragHandle>\n            @if (!isHeaderTemplatePortal && !isHeaderComponentPortal) {\n\n                @if (dialogContainerConfig.isMessageBox) {\n                    <eui-icon-state [euiVariant]=\"dialogContainerConfig.variant\" size=\"xl\" class=\"eui-dialog__header-icon\"/>\n                }\n                <h2 id=\"headerTitle\" class=\"eui-dialog__header-title\" role=\"heading\" aria-level=\"2\">{{ dialogContainerConfig.title | translate }}</h2>\n\n                @if (dialogContainerConfig.hasCloseButton) {\n                    <div class=\"eui-dialog__header-close-container\">\n                        <eui-icon-button icon=\"eui-close\" (buttonClick)=\"closeDialog()\" size=\"l\" euiRounded ariaLabel=\"{{closeButtonAriaLabel}}\" class=\"dialog-close-button\"/>\n                    </div>\n                }\n            }\n            @if (isHeaderTemplatePortal) {\n                <ng-template [cdkPortalOutlet]=\"dialogContainerConfig.header\"></ng-template>\n            }\n            @if (isHeaderComponentPortal) {\n                <ng-template [cdkPortalOutlet]=\"headerComponentPortal\" (attached)=\"portalAttached($event, 'headerComponent')\"></ng-template>\n            }\n        </div>\n        <div\n            #dialogBody\n            class=\"eui-dialog__body\"\n            cdkScrollable\n            [style.height]=\"dialogContainerConfig.height\"\n            [style.max-height]=\"dialogContainerConfig.height\"\n            (scroll)=\"onScroll()\"\n            [attr.tabindex]=\"isBodyScrollable() ? '0' : '-1'\">\n            @if (!isBodyTemplatePortal && !isBodyComponentPortal) {\n                <div\n                    id=\"containerConfigId\"\n                    class=\"eui-dialog__body-content not-isBodyTemplatePortal\"\n                    [innerHTML]=\"dialogContainerConfig.content ? (dialogContainerConfigContent | translate) : null\">\n                </div>\n            }\n            @if (isBodyTemplatePortal && !isBodyComponentPortal) {\n                <div id=\"bodyTemplatePortalId\" class=\"eui-dialog__body-content isBodyTemplatePortal\">\n                    <ng-template [cdkPortalOutlet]=\"getPortalOutlet\"></ng-template>\n                </div>\n            }\n            @if (isBodyComponentPortal) {\n                <div id=\"bodyComponentPortalId\" class=\"eui-dialog__body-content isBodyComponentPortal\">\n                    <ng-template [cdkPortalOutlet]=\"bodyComponentPortal\" (attached)=\"portalAttached($event, 'bodyComponent')\"></ng-template>\n                </div>\n            }\n        </div>\n        @if (dialogContainerConfig.hasFooter) {\n            <div class=\"eui-dialog__footer\">\n                @if (!isFooterTemplatePortal && !isFooterComponentPortal) {\n                    @if (isFooterTemplatePortal) {\n                        <ng-template [cdkPortalOutlet]=\"dialogContainerConfig.footer\"></ng-template>\n                    }\n                    @if (!isFooterTemplatePortal) {\n                        <div class=\"eui-dialog__footer-content\">\n                            @if (dialogContainerConfig.hasDismissButton) {\n                                <button\n                                    euiButton\n                                    type=\"button\"\n                                    [euiDisabled]=\"dismissButtonDisabled$ | async\"\n                                    class=\"eui-dialog__footer-dismiss-button\"\n                                    [class.eui-dialog__footer-dismiss-button--with-accept-button]=\"dialogContainerConfig.hasAcceptButton\"\n                                    (click)=\"onDismiss()\">\n                                    {{ dialogContainerConfig.dismissLabel | translate }}\n                                </button>\n                            }\n                            @if (dialogContainerConfig.hasAcceptButton) {\n                                <button\n                                    euiButton\n                                    [euiVariant]=\"dialogContainerConfig.isMessageBox && !(dialogContainerConfig.variant === 'secondary') ? dialogContainerConfig.variant: 'primary'\"\n                                    type=\"button\"\n                                    [euiDisabled]=\"acceptButtonDisabled$ | async\"\n                                    class=\"eui-dialog__footer-accept-button\"\n                                    (click)=\"onAccept()\">\n                                    {{ dialogContainerConfig.acceptLabel | translate }}\n                                </button>\n                            }\n                        </div>\n                    }\n                }\n\n                @if (isFooterTemplatePortal) {\n                    <ng-template [cdkPortalOutlet]=\"dialogContainerConfig.footer\"></ng-template>\n                }\n                @if (isFooterComponentPortal) {\n                    <ng-template [cdkPortalOutlet]=\"footerComponentPortal\" (attached)=\"portalAttached($event, 'footerComponent')\"></ng-template>\n                }\n\n            </div>\n        }\n    </div>\n</div>\n"
        },
        {
            "name": "EuiDimmerComponent",
            "id": "component-EuiDimmerComponent-42c5ba3252a81514da8a29349ab0df801bb4ecbc97228825ee1cee8ddb0e0100912319860f5303d7bd91028362c6a308724863a3b4de142e47c3564850fb606f",
            "file": "packages/components/eui-dimmer/dimmer.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-dimmer",
            "styleUrls": [
                "./dimmer.scss"
            ],
            "styles": [],
            "template": "",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-dimmer'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nE2E testing attribute for the component.\n",
                    "description": "<p>E2E testing attribute for the component.</p>\n",
                    "line": 92,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "isDimmerActive",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2238,
                            "end": 2305,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2239,
                                "end": 2246,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>True if dimmer is active, false otherwise.</p>\n",
                            "typeExpression": {
                                "pos": 2247,
                                "end": 2256,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 2248,
                                    "end": 2255,
                                    "kind": 136,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nGets the active state of the dimmer.\n\n",
                    "description": "<p>Gets the active state of the dimmer.</p>\n",
                    "line": 66,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 58
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2814,
                            "end": 2882,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2815,
                                "end": 2822,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>The CSS classes as a space-separated string.</p>\n",
                            "typeExpression": {
                                "pos": 2823,
                                "end": 2831,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 2824,
                                    "end": 2830,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nGets the CSS classes to apply to the host element.\nAdds the 'eui-dimmer--active' class when the dimmer is active.\n\n",
                    "description": "<p>Gets the CSS classes to apply to the host element.\nAdds the &#39;eui-dimmer--active&#39; class when the dimmer is active.</p>\n",
                    "line": 85,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>A dimming overlay component that provides a semi-transparent backdrop over page content.\nAutomatically integrates with browser navigation to manage dimmer state during back/forward actions.\nCommonly used to indicate loading states, modal overlays, or to draw attention to specific UI elements.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dimmer [isDimmerActive]=&quot;isLoading&quot;&gt;&lt;/eui-dimmer&gt;</code></pre></div><h3>With Loading State</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">// Component\nisLoading = false;\n\nloadData(): void {\n  this.isLoading = true;\n  this.dataService.fetch().subscribe(() =&gt; {\n    this.isLoading = false;\n  });\n}\n\n// Template\n&lt;eui-dimmer [isDimmerActive]=&quot;isLoading&quot;&gt;&lt;/eui-dimmer&gt;\n&lt;button (click)=&quot;loadData()&quot;&gt;Load Data&lt;/button&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Dimmer does not trap focus or block interaction by itself</li>\n<li>Should be combined with modal dialogs or loading indicators for proper accessibility</li>\n<li>Consider adding <code>aria-busy=&quot;true&quot;</code> to parent container when dimmer is active</li>\n<li>Ensure keyboard users can still navigate when dimmer is visible</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Automatically deactivates on browser back button navigation</li>\n<li>Integrates with <code>EuiAppShellService</code> for centralized state management</li>\n<li>Does not prevent user interaction - use with modal components for blocking behavior</li>\n<li>Typically placed at root level of application for full-page coverage</li>\n<li>CSS class <code>eui-dimmer--active</code> applied when active for custom styling</li>\n</ul>\n",
            "rawdescription": "\n\nA dimming overlay component that provides a semi-transparent backdrop over page content.\nAutomatically integrates with browser navigation to manage dimmer state during back/forward actions.\nCommonly used to indicate loading states, modal overlays, or to draw attention to specific UI elements.\n\n### Basic Usage\n```html\n<eui-dimmer [isDimmerActive]=\"isLoading\"></eui-dimmer>\n```\n\n### With Loading State\n```typescript\n// Component\nisLoading = false;\n\nloadData(): void {\n  this.isLoading = true;\n  this.dataService.fetch().subscribe(() => {\n    this.isLoading = false;\n  });\n}\n\n// Template\n<eui-dimmer [isDimmerActive]=\"isLoading\"></eui-dimmer>\n<button (click)=\"loadData()\">Load Data</button>\n```\n\n### Accessibility\n- Dimmer does not trap focus or block interaction by itself\n- Should be combined with modal dialogs or loading indicators for proper accessibility\n- Consider adding `aria-busy=\"true\"` to parent container when dimmer is active\n- Ensure keyboard users can still navigate when dimmer is visible\n\n### Notes\n- Automatically deactivates on browser back button navigation\n- Integrates with `EuiAppShellService` for centralized state management\n- Does not prevent user interaction - use with modal components for blocking behavior\n- Typically placed at root level of application for full-page coverage\n- CSS class `eui-dimmer--active` applied when active for custom styling\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation, inject } from '@angular/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { Event as NavigationEvent, NavigationStart, Router } from '@angular/router';\nimport { filter } from 'rxjs/operators';\n\nimport { EuiAppShellService } from '@eui/core';\n\n/**\n * @description\n * A dimming overlay component that provides a semi-transparent backdrop over page content.\n * Automatically integrates with browser navigation to manage dimmer state during back/forward actions.\n * Commonly used to indicate loading states, modal overlays, or to draw attention to specific UI elements.\n * \n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-dimmer [isDimmerActive]=\"isLoading\"></eui-dimmer>\n * ```\n * \n * ### With Loading State\n * ```typescript\n * // Component\n * isLoading = false;\n * \n * loadData(): void {\n *   this.isLoading = true;\n *   this.dataService.fetch().subscribe(() => {\n *     this.isLoading = false;\n *   });\n * }\n * \n * // Template\n * <eui-dimmer [isDimmerActive]=\"isLoading\"></eui-dimmer>\n * <button (click)=\"loadData()\">Load Data</button>\n * ```\n * \n * ### Accessibility\n * - Dimmer does not trap focus or block interaction by itself\n * - Should be combined with modal dialogs or loading indicators for proper accessibility\n * - Consider adding `aria-busy=\"true\"` to parent container when dimmer is active\n * - Ensure keyboard users can still navigate when dimmer is visible\n * \n * ### Notes\n * - Automatically deactivates on browser back button navigation\n * - Integrates with `EuiAppShellService` for centralized state management\n * - Does not prevent user interaction - use with modal components for blocking behavior\n * - Typically placed at root level of application for full-page coverage\n * - CSS class `eui-dimmer--active` applied when active for custom styling\n */\n@Component({\n    selector: 'eui-dimmer',\n    template: '',\n    changeDetection: ChangeDetectionStrategy.Default,\n    styleUrls: ['./dimmer.scss'],\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiDimmerComponent {\n    asService = inject(EuiAppShellService);\n\n    /**\n     * Gets the active state of the dimmer.\n     *\n     * @returns {boolean} True if dimmer is active, false otherwise.\n     */\n    @Input()\n    get isDimmerActive(): boolean {\n        return this._isDimmerActive;\n    }\n    /**\n     * Sets the active state of the dimmer.\n     *\n     * @param {BooleanInput} value - The value to set for the dimmer active state.\n     */\n    set isDimmerActive(value: BooleanInput) {\n        this._isDimmerActive = coerceBooleanProperty(value);\n    }\n\n    /**\n     * Gets the CSS classes to apply to the host element.\n     * Adds the 'eui-dimmer--active' class when the dimmer is active.\n     *\n     * @returns {string} The CSS classes as a space-separated string.\n     */\n    @HostBinding('class')\n    get cssClasses(): string {\n        return ['eui-dimmer', this._isDimmerActive ? 'eui-dimmer--active' : ''].join(' ').trim();\n    }\n\n    /**\n     * E2E testing attribute for the component.\n     */\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-dimmer';\n\n    /** The active state of the dimmer. */\n    private _isDimmerActive: true | false = false;\n\n    /** Debug flag to control logging. */\n    private _DEBUG: true | false = false;\n\n    /**\n     * Creates an instance of EuiDimmerComponent.\n     *\n     * Listens to router navigation events to handle dimmer state during navigation,\n     * particularly when the user navigates back in browser history.\n     *\n     * @param {EuiAppShellService} asService - The app shell service for dimmer state management.\n     * @param {Router} router - The Angular router service for navigation event monitoring.\n     */\n    constructor() {\n        const router = inject(Router);\n\n        // The events stream contains all the navigation events including the NavigationStart event\n        // which gives information about what initiated the navigation sequence\n        router.events.pipe(filter((event: NavigationEvent) => event instanceof NavigationStart)).subscribe((event: NavigationStart) => {\n            if (this._DEBUG) {\n                console.group('NavigationStart Event');\n                // Every navigation sequence is given a unique ID.\n                console.log('navigation id:', event.id);\n                console.log('route:', event.url);\n                // The 'navigationTrigger' will be one of:\n                // - imperative : ie. user clicked on a link\n                // - popstate : browser controlled change such as Back button which gets a new, unique ID\n                // - hashchange\n                // @See: https://angular.io/api/router/NavigationStart\n                console.log('trigger:', event.navigationTrigger);\n                // The 'restoredState' property is defined when the navigation event is triggered by a 'popstate' event\n                // It will contain the ID of the previous navigation event from which the browser is returning\n            }\n            if (event.restoredState) {\n                this.asService.setDimmerActiveState(false);\n                this._isDimmerActive = false;\n                if (this._DEBUG) {\n                    console.warn('restoring navigation id:', event.restoredState.navigationId);\n                }\n            }\n            if (this._DEBUG) {\n                console.groupEnd();\n            }\n        });\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": ".eui-21 {\n    .eui-dimmer {\n        animation: none;\n        background-color: rgba(0, 0, 0, 0.15);\n        height: 100vh;\n        left: 0;\n        opacity: var(--eui-o-none);\n        position: fixed;\n        top: 0;\n        width: 0;\n        z-index: var(--eui-zi-overlay);\n    \n        &--active {\n            animation: dimmer-fadeIn var(--eui-base-animation-duration-fast);\n            opacity: var(--eui-o-100);\n            width: 100%;\n        }\n    \n        &:not(.eui-dimmer--active) {\n            animation: dimmer-fadeOut var(--eui-base-animation-duration-fast);\n        }\n    }\n    @keyframes dimmer-fadeIn {\n        from { opacity: var(--eui-o-none); }\n        to { opacity: var(--eui-o-100); }\n    }\n    @keyframes dimmer-fadeOut {\n        from { opacity: var(--eui-o-100); }\n        to { opacity: var(--eui-o-none); }\n    }\n}\n",
                    "styleUrl": "./dimmer.scss"
                }
            ],
            "stylesData": "",
            "constructorObj": {
                "name": "constructor",
                "description": "<p>Creates an instance of EuiDimmerComponent.</p>\n<p>Listens to router navigation events to handle dimmer state during navigation,\nparticularly when the user navigates back in browser history.</p>\n",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 98,
                "rawdescription": "\n\nCreates an instance of EuiDimmerComponent.\n\nListens to router navigation events to handle dimmer state during navigation,\nparticularly when the user navigates back in browser history.\n\n",
                "jsdoctags": []
            },
            "extends": [],
            "accessors": {
                "isDimmerActive": {
                    "name": "isDimmerActive",
                    "setSignature": {
                        "name": "isDimmerActive",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 74,
                        "rawdescription": "\n\nSets the active state of the dimmer.\n\n",
                        "description": "<p>Sets the active state of the dimmer.</p>\n",
                        "jsdoctags": [
                            {
                                "name": {
                                    "pos": 2488,
                                    "end": 2493,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "value"
                                },
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "pos": 2467,
                                    "end": 2472,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "param"
                                },
                                "comment": "<ul>\n<li>The value to set for the dimmer active state.</li>\n</ul>\n",
                                "typeExpression": {
                                    "pos": 2473,
                                    "end": 2487,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 2474,
                                        "end": 2486,
                                        "kind": 184,
                                        "id": 0,
                                        "flags": 16777216,
                                        "modifierFlagsCache": 0,
                                        "transformFlags": 1,
                                        "typeName": {
                                            "pos": 2474,
                                            "end": 2486,
                                            "kind": 80,
                                            "id": 0,
                                            "flags": 16777216,
                                            "transformFlags": 0,
                                            "escapedText": "BooleanInput"
                                        }
                                    }
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "isDimmerActive",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 66,
                        "rawdescription": "\n\nGets the active state of the dimmer.\n\n",
                        "description": "<p>Gets the active state of the dimmer.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 2238,
                                "end": 2305,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2239,
                                    "end": 2246,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>True if dimmer is active, false otherwise.</p>\n",
                                "typeExpression": {
                                    "pos": 2247,
                                    "end": 2256,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 2248,
                                        "end": 2255,
                                        "kind": 136,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                },
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 85,
                        "rawdescription": "\n\nGets the CSS classes to apply to the host element.\nAdds the 'eui-dimmer--active' class when the dimmer is active.\n\n",
                        "description": "<p>Gets the CSS classes to apply to the host element.\nAdds the &#39;eui-dimmer--active&#39; class when the dimmer is active.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 2814,
                                "end": 2882,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2815,
                                    "end": 2822,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>The CSS classes as a space-separated string.</p>\n",
                                "typeExpression": {
                                    "pos": 2823,
                                    "end": 2831,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 2824,
                                        "end": 2830,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            }
        },
        {
            "name": "EuiDisableContentComponent",
            "id": "component-EuiDisableContentComponent-37ce8437bec5cc842c1c1603eda61966323bc459a94736f3016e4dfa0ba584650ce98f4d508f8eaaccc89c185248eafd3e88f3c9795d8008e311844197d43fac",
            "file": "packages/components/eui-disable-content/eui-disable-content.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-disable-content",
            "styleUrls": [
                "./eui-disable-content.scss"
            ],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "disabledText",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Text to display in an eui-growl (type info) notification when clicking\nthe disabled content.</p>\n",
                    "line": 87,
                    "rawdescription": "\n\nText to display in an eui-growl (type info) notification when clicking\nthe disabled content.\n",
                    "required": false
                },
                {
                    "name": "isDisabled",
                    "defaultValue": "null, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean, BooleanInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Controls whether the content is disabled. If disabled, a semi-transparent\noverlay with spinner is shown.</p>\n",
                    "line": 93,
                    "rawdescription": "\n\nControls whether the content is disabled. If disabled, a semi-transparent\noverlay with spinner is shown.\n",
                    "required": false
                }
            ],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>A component that disables content and displays a semi-transparent overlay with optional notification.\nManages focus state and provides visual feedback when content is temporarily unavailable.\nUseful for indicating loading states, processing operations, or temporarily disabled sections.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-disable-content [isDisabled]=&quot;isProcessing&quot;&gt;\n  &lt;form&gt;\n    &lt;!-- Form content --&gt;\n  &lt;/form&gt;\n&lt;/eui-disable-content&gt;</code></pre></div><h3>With Notification</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-disable-content\n  [isDisabled]=&quot;isSaving&quot;\n  [disabledText]=&quot;&#39;Please wait while we save your changes&#39;&quot;&gt;\n  &lt;div class=&quot;content-section&quot;&gt;\n    &lt;!-- Content --&gt;\n  &lt;/div&gt;\n&lt;/eui-disable-content&gt;</code></pre></div><h3>Conditional Disabling</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">// Component\nisFormDisabled = false;\n\nsubmitForm(): void {\n  this.isFormDisabled = true;\n  this.api.submit().subscribe(() =&gt; {\n    this.isFormDisabled = false;\n  });\n}\n\n// Template\n&lt;eui-disable-content [isDisabled]=&quot;isFormDisabled&quot;&gt;\n  &lt;button (click)=&quot;submitForm()&quot;&gt;Submit&lt;/button&gt;\n&lt;/eui-disable-content&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Automatically sets <code>aria-disabled=&quot;true&quot;</code> on focused elements when disabled</li>\n<li>Manages focus state by storing and restoring last active element</li>\n<li>Sets <code>tabindex=&quot;-1&quot;</code> on disabled elements to prevent keyboard navigation</li>\n<li>Displays growl notification when clicking disabled content (if <code>disabledText</code> provided)</li>\n<li>Restores focus to previously active element when re-enabled</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Wraps content with <code>&lt;ng-content/&gt;</code> for flexible composition</li>\n<li>Requires <code>EuiGrowlService</code> for notification functionality</li>\n<li>CSS class <code>eui-disable-content--disabled</code> applied when active</li>\n<li>Does not prevent programmatic interaction, only visual and focus management</li>\n<li>Use for temporary disabling; for permanent states, use native <code>disabled</code> attribute</li>\n</ul>\n",
            "rawdescription": "\n\nA component that disables content and displays a semi-transparent overlay with optional notification.\nManages focus state and provides visual feedback when content is temporarily unavailable.\nUseful for indicating loading states, processing operations, or temporarily disabled sections.\n\n### Basic Usage\n```html\n<eui-disable-content [isDisabled]=\"isProcessing\">\n  <form>\n    <!-- Form content -->\n  </form>\n</eui-disable-content>\n```\n\n### With Notification\n```html\n<eui-disable-content\n  [isDisabled]=\"isSaving\"\n  [disabledText]=\"'Please wait while we save your changes'\">\n  <div class=\"content-section\">\n    <!-- Content -->\n  </div>\n</eui-disable-content>\n```\n\n### Conditional Disabling\n```typescript\n// Component\nisFormDisabled = false;\n\nsubmitForm(): void {\n  this.isFormDisabled = true;\n  this.api.submit().subscribe(() => {\n    this.isFormDisabled = false;\n  });\n}\n\n// Template\n<eui-disable-content [isDisabled]=\"isFormDisabled\">\n  <button (click)=\"submitForm()\">Submit</button>\n</eui-disable-content>\n```\n\n### Accessibility\n- Automatically sets `aria-disabled=\"true\"` on focused elements when disabled\n- Manages focus state by storing and restoring last active element\n- Sets `tabindex=\"-1\"` on disabled elements to prevent keyboard navigation\n- Displays growl notification when clicking disabled content (if `disabledText` provided)\n- Restores focus to previously active element when re-enabled\n\n### Notes\n- Wraps content with `<ng-content/>` for flexible composition\n- Requires `EuiGrowlService` for notification functionality\n- CSS class `eui-disable-content--disabled` applied when active\n- Does not prevent programmatic interaction, only visual and focus management\n- Use for temporary disabling; for permanent states, use native `disabled` attribute\n",
            "type": "component",
            "sourceCode": "import {\n\tafterNextRender,\n\tbooleanAttribute,\n\tComponent,\n\teffect,\n\tElementRef,\n\tHostListener,\n\tinject,\n\tinput,\n\tlinkedSignal,\n\tRenderer2,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { EuiGrowlService } from '@eui/core';\nimport { BooleanInput } from '@angular/cdk/coercion';\n\n/**\n * @description\n * A component that disables content and displays a semi-transparent overlay with optional notification.\n * Manages focus state and provides visual feedback when content is temporarily unavailable.\n * Useful for indicating loading states, processing operations, or temporarily disabled sections.\n * \n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-disable-content [isDisabled]=\"isProcessing\">\n *   <form>\n *     <!-- Form content -->\n *   </form>\n * </eui-disable-content>\n * ```\n * \n * ### With Notification\n * ```html\n * <eui-disable-content \n *   [isDisabled]=\"isSaving\" \n *   [disabledText]=\"'Please wait while we save your changes'\">\n *   <div class=\"content-section\">\n *     <!-- Content -->\n *   </div>\n * </eui-disable-content>\n * ```\n * \n * ### Conditional Disabling\n * ```typescript\n * // Component\n * isFormDisabled = false;\n * \n * submitForm(): void {\n *   this.isFormDisabled = true;\n *   this.api.submit().subscribe(() => {\n *     this.isFormDisabled = false;\n *   });\n * }\n * \n * // Template\n * <eui-disable-content [isDisabled]=\"isFormDisabled\">\n *   <button (click)=\"submitForm()\">Submit</button>\n * </eui-disable-content>\n * ```\n * \n * ### Accessibility\n * - Automatically sets `aria-disabled=\"true\"` on focused elements when disabled\n * - Manages focus state by storing and restoring last active element\n * - Sets `tabindex=\"-1\"` on disabled elements to prevent keyboard navigation\n * - Displays growl notification when clicking disabled content (if `disabledText` provided)\n * - Restores focus to previously active element when re-enabled\n * \n * ### Notes\n * - Wraps content with `<ng-content/>` for flexible composition\n * - Requires `EuiGrowlService` for notification functionality\n * - CSS class `eui-disable-content--disabled` applied when active\n * - Does not prevent programmatic interaction, only visual and focus management\n * - Use for temporary disabling; for permanent states, use native `disabled` attribute\n */\n@Component({\n    selector: 'eui-disable-content',\n    template: '<ng-content/>',\n    styleUrls: ['./eui-disable-content.scss'],\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiDisableContentComponent {\n    /**\n     * Text to display in an eui-growl (type info) notification when clicking\n     * the disabled content.\n     */\n    disabledText = input('');\n\n    /**\n     * Controls whether the content is disabled. If disabled, a semi-transparent\n     * overlay with spinner is shown.\n     */\n    isDisabled = input<boolean, BooleanInput>(null, { transform: booleanAttribute });\n\n    /** Stores the last active element before disabling */\n    private lastActiveElement: HTMLElement = null;\n    /** Reference to the component's element */\n    private readonly elRef: ElementRef = inject(ElementRef);\n    /** Service for displaying growl notifications */\n    private readonly growlService: EuiGrowlService = inject(EuiGrowlService, { optional: true });\n    /** Renderer for DOM manipulations */\n    private readonly renderer: Renderer2 = inject(Renderer2);\n\t/**\n\t * Tracks when the component transitions from enabled to disabled state.\n\t * Returns true only when isDisabled changes from false to true. True if\n\t * the component is transitioning to blocked state.\n\t */\n\tprivate isBlocking = linkedSignal({\n\t\tsource: this.isDisabled,\n\t\tcomputation: (current, previous) => current && !previous?.source,\n\t});\n\n    /**\n     * Initializes the component and sets up an effect to handle disabled state changes\n     */\n    constructor() {\n\t\teffect(() => {\n\t\t\tconst disabled = this.isDisabled();\n\t\t\tif(disabled) {\n\t\t\t\tthis.renderer.addClass(this.elRef.nativeElement, 'eui-disable-content--disabled');\n\t\t\t} else {\n\t\t\t\tthis.renderer.removeClass(this.elRef.nativeElement, 'eui-disable-content--disabled');\n\t\t\t}\n\t\t});\n\n\t\teffect(() => {\n\t\t\tif (this.isBlocking()) {\n\t\t\t\tconst activeElement = this.getActiveElement();\n\t\t\t\tthis.deactivateElement(activeElement);\n\t\t\t} else if (!this.isDisabled()) {\n\t\t\t\tthis.reactivateElement();\n\t\t\t}\n\t\t});\n    }\n\n\t/**\n\t * Handles click events on the disabled content\n\t * Shows a growl notification if content is disabled and has disabled text\n\t * @internal\n\t */\n\t@HostListener('click')\n\tprotected onClick(): void {\n\t\tif (this.isDisabled() && this.disabledText() && this.growlService) {\n\t\t\tthis.growlService.growlInfo(this.disabledText());\n\t\t}\n\t}\n\n    /**\n     * Stores the currently active element before disabling\n     * @param activeElement The element to deactivate\n     * @internal\n     */\n    private deactivateElement(activeElement: HTMLElement): void {\n        if (activeElement) {\n            this.renderer.setAttribute(activeElement, 'disabled', 'true');\n            this.renderer.setAttribute(activeElement, 'tabindex', '-1');\n            this.renderer.setAttribute(activeElement, 'aria-disabled', 'true');\n            this.lastActiveElement = activeElement;\n        } else {\n            this.lastActiveElement = null;\n        }\n    }\n\n    /**\n     * Reactivates the last active element\n     * @internal\n     */\n    private reactivateElement(): void {\n        if (this.lastActiveElement) {\n            this.renderer.removeAttribute(this.lastActiveElement, 'disabled');\n            this.renderer.setAttribute(this.lastActiveElement, 'tabindex', '0');\n            this.renderer.setAttribute(this.lastActiveElement, 'aria-disabled', 'false');\n            this.lastActiveElement.focus();\n        }\n    }\n\n    /**\n     * Gets the currently focused element within the component\n     * @returns The focused HTML element or null\n     * @internal\n     */\n    private getActiveElement(): HTMLElement {\n        return this.elRef.nativeElement.querySelector(':focus');\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": ".eui-21 {\n    .eui-disable-content--disabled {\n        position: relative;\n        z-index: var(--eui-zi-overlay);\n        cursor: not-allowed;\n        display: flex;\n\n        &::after {\n            background-color: rgba(255, 255, 255, 0.25);\n            content: '';\n            height: 100%;\n            left: 0;\n            position: absolute;\n            top: 0;\n            width: 100%;\n            z-index: var(--eui-zi-overlay);\n        }\n    }\n}\n\n",
                    "styleUrl": "./eui-disable-content.scss"
                }
            ],
            "stylesData": "",
            "constructorObj": {
                "name": "constructor",
                "description": "<p>Initializes the component and sets up an effect to handle disabled state changes</p>\n",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 111,
                "rawdescription": "\n\nInitializes the component and sets up an effect to handle disabled state changes\n"
            },
            "extends": []
        },
        {
            "name": "EuiDiscussionThreadComponent",
            "id": "component-EuiDiscussionThreadComponent-3ebdc715f27c2973b96e199fb0431cf05ac8b509e592bc8ee9a4b99310c06673f786499c96274b9a07aa702257e7d061b6171940fcc8ce6cd4a425b95e1ca99f",
            "file": "packages/components/eui-discussion-thread/eui-discussion-thread.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-discussion-thread",
            "styleUrls": [
                "./eui-discussion-thread.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-discussion-thread.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "items",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nArray of discussion thread items to be displayed.\nEach item should conform to the EuiDiscussionThreadItem interface.\n",
                    "description": "<p>Array of discussion thread items to be displayed.\nEach item should conform to the EuiDiscussionThreadItem interface.</p>\n",
                    "line": 106,
                    "type": "EuiDiscussionThreadItem[]",
                    "decorators": []
                },
                {
                    "name": "subTitleLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThe subtitle label for the discussion thread, typically used to provide\nadditional context or categorization.\n",
                    "description": "<p>The subtitle label for the discussion thread, typically used to provide\nadditional context or categorization.</p>\n",
                    "line": 117,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "titleLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThe main title label for the discussion thread.\n",
                    "description": "<p>The main title label for the discussion thread.</p>\n",
                    "line": 111,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "tooltip",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nTooltip text to display when hovering over the discussion thread.\n",
                    "description": "<p>Tooltip text to display when hovering over the discussion thread.</p>\n",
                    "line": 122,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3164,
                            "end": 3185,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3165,
                                "end": 3172,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;list&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nARIA role for the host element to ensure proper accessibility.\n",
                    "description": "<p>ARIA role for the host element to ensure proper accessibility.</p>\n",
                    "line": 98,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2885,
                            "end": 2953,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2886,
                                "end": 2893,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>The CSS classes as a space-separated string.</p>\n",
                            "typeExpression": {
                                "pos": 2894,
                                "end": 2902,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 2895,
                                    "end": 2901,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nGets the CSS classes to apply to the host element.\n\n",
                    "description": "<p>Gets the CSS classes to apply to the host element.</p>\n",
                    "line": 89,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EuiDiscussionThreadItemComponent",
                    "type": "component"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_LABEL"
                }
            ],
            "description": "<p>A component for displaying threaded discussions or conversation timelines in a structured format.\nRenders a list of discussion items with support for titles, subtitles, and tooltips.\nIdeal for comment threads, activity feeds, chat histories, and collaborative communication interfaces.</p>\n<h3>Basic Usage with Items Array</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">// Component\ndiscussionItems: EuiDiscussionThreadItem[] = [\n  {\n    author: &#39;John Doe&#39;,\n    timestamp: new Date(),\n    message: &#39;First comment&#39;\n  },\n  {\n    author: &#39;Jane Smith&#39;,\n    timestamp: new Date(),\n    message: &#39;Reply to comment&#39;\n  }\n];\n\n// Template\n&lt;eui-discussion-thread\n  [items]=&quot;discussionItems&quot;\n  [titleLabel]=&quot;&#39;Project Discussion&#39;&quot;\n  [subTitleLabel]=&quot;&#39;Team Collaboration&#39;&quot;&gt;\n&lt;/eui-discussion-thread&gt;</code></pre></div><h3>Using Content Projection</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-discussion-thread\n  [titleLabel]=&quot;&#39;Comments&#39;&quot;\n  [tooltip]=&quot;&#39;Discussion thread for this task&#39;&quot;&gt;\n  &lt;eui-discussion-thread-item\n    [author]=&quot;&#39;Alice&#39;&quot;\n    [timestamp]=&quot;date1&quot;\n    [message]=&quot;&#39;Initial comment&#39;&quot;&gt;\n  &lt;/eui-discussion-thread-item&gt;\n  &lt;eui-discussion-thread-item\n    [author]=&quot;&#39;Bob&#39;&quot;\n    [timestamp]=&quot;date2&quot;\n    [message]=&quot;&#39;Follow-up response&#39;&quot;&gt;\n  &lt;/eui-discussion-thread-item&gt;\n&lt;/eui-discussion-thread&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Automatically applies <code>role=&quot;list&quot;</code> when items are present</li>\n<li>Each discussion item should have <code>role=&quot;listitem&quot;</code> for proper structure</li>\n<li>Timestamps should be formatted for screen reader clarity</li>\n<li>Author names are announced before message content</li>\n<li>Tooltip provides additional context for assistive technologies</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Supports both data-driven (<code>items</code> array) and content projection approaches</li>\n<li>Use <code>titleLabel</code> and <code>subTitleLabel</code> for thread categorization</li>\n<li>Items are rendered in the order provided</li>\n<li>Component automatically detects and counts projected <code>eui-discussion-thread-item</code> children</li>\n<li>Styling adapts based on thread depth and nesting level</li>\n</ul>\n",
            "rawdescription": "\n\nA component for displaying threaded discussions or conversation timelines in a structured format.\nRenders a list of discussion items with support for titles, subtitles, and tooltips.\nIdeal for comment threads, activity feeds, chat histories, and collaborative communication interfaces.\n\n### Basic Usage with Items Array\n```typescript\n// Component\ndiscussionItems: EuiDiscussionThreadItem[] = [\n  {\n    author: 'John Doe',\n    timestamp: new Date(),\n    message: 'First comment'\n  },\n  {\n    author: 'Jane Smith',\n    timestamp: new Date(),\n    message: 'Reply to comment'\n  }\n];\n\n// Template\n<eui-discussion-thread\n  [items]=\"discussionItems\"\n  [titleLabel]=\"'Project Discussion'\"\n  [subTitleLabel]=\"'Team Collaboration'\">\n</eui-discussion-thread>\n```\n\n### Using Content Projection\n```html\n<eui-discussion-thread\n  [titleLabel]=\"'Comments'\"\n  [tooltip]=\"'Discussion thread for this task'\">\n  <eui-discussion-thread-item\n    [author]=\"'Alice'\"\n    [timestamp]=\"date1\"\n    [message]=\"'Initial comment'\">\n  </eui-discussion-thread-item>\n  <eui-discussion-thread-item\n    [author]=\"'Bob'\"\n    [timestamp]=\"date2\"\n    [message]=\"'Follow-up response'\">\n  </eui-discussion-thread-item>\n</eui-discussion-thread>\n```\n\n### Accessibility\n- Automatically applies `role=\"list\"` when items are present\n- Each discussion item should have `role=\"listitem\"` for proper structure\n- Timestamps should be formatted for screen reader clarity\n- Author names are announced before message content\n- Tooltip provides additional context for assistive technologies\n\n### Notes\n- Supports both data-driven (`items` array) and content projection approaches\n- Use `titleLabel` and `subTitleLabel` for thread categorization\n- Items are rendered in the order provided\n- Component automatically detects and counts projected `eui-discussion-thread-item` children\n- Styling adapts based on thread depth and nesting level\n",
            "type": "component",
            "sourceCode": "import { Component, ContentChildren, HostBinding, Input, QueryList } from '@angular/core';\n\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\nimport { EuiDiscussionThreadItem } from './models/eui-discussion-thread-item.model';\nimport { EuiDiscussionThreadItemComponent } from './eui-discussion-thread-item.component';\n\n/**\n * @description\n * A component for displaying threaded discussions or conversation timelines in a structured format.\n * Renders a list of discussion items with support for titles, subtitles, and tooltips.\n * Ideal for comment threads, activity feeds, chat histories, and collaborative communication interfaces.\n * \n * @usageNotes\n * ### Basic Usage with Items Array\n * ```typescript\n * // Component\n * discussionItems: EuiDiscussionThreadItem[] = [\n *   { \n *     author: 'John Doe', \n *     timestamp: new Date(), \n *     message: 'First comment' \n *   },\n *   { \n *     author: 'Jane Smith', \n *     timestamp: new Date(), \n *     message: 'Reply to comment' \n *   }\n * ];\n * \n * // Template\n * <eui-discussion-thread \n *   [items]=\"discussionItems\"\n *   [titleLabel]=\"'Project Discussion'\"\n *   [subTitleLabel]=\"'Team Collaboration'\">\n * </eui-discussion-thread>\n * ```\n * \n * ### Using Content Projection\n * ```html\n * <eui-discussion-thread \n *   [titleLabel]=\"'Comments'\"\n *   [tooltip]=\"'Discussion thread for this task'\">\n *   <eui-discussion-thread-item \n *     [author]=\"'Alice'\"\n *     [timestamp]=\"date1\"\n *     [message]=\"'Initial comment'\">\n *   </eui-discussion-thread-item>\n *   <eui-discussion-thread-item \n *     [author]=\"'Bob'\"\n *     [timestamp]=\"date2\"\n *     [message]=\"'Follow-up response'\">\n *   </eui-discussion-thread-item>\n * </eui-discussion-thread>\n * ```\n * \n * ### Accessibility\n * - Automatically applies `role=\"list\"` when items are present\n * - Each discussion item should have `role=\"listitem\"` for proper structure\n * - Timestamps should be formatted for screen reader clarity\n * - Author names are announced before message content\n * - Tooltip provides additional context for assistive technologies\n * \n * ### Notes\n * - Supports both data-driven (`items` array) and content projection approaches\n * - Use `titleLabel` and `subTitleLabel` for thread categorization\n * - Items are rendered in the order provided\n * - Component automatically detects and counts projected `eui-discussion-thread-item` children\n * - Styling adapts based on thread depth and nesting level\n */\n@Component({\n    selector: 'eui-discussion-thread',\n    templateUrl: './eui-discussion-thread.component.html',\n    styleUrls: ['./eui-discussion-thread.scss'],\n    imports: [\n        EuiDiscussionThreadItemComponent,\n        ...EUI_ICON,\n        ...EUI_LABEL,\n    ],\n})\nexport class EuiDiscussionThreadComponent {\n    /**\n     * Gets the CSS classes to apply to the host element.\n     *\n     * @returns {string} The CSS classes as a space-separated string.\n     */\n    @HostBinding('class')\n    get cssClasses(): string {\n        return ['eui-discussion-thread'].join(' ').trim();\n    }\n\n    /**\n     * ARIA role for the host element to ensure proper accessibility.\n     * @default 'list'\n     */\n    @HostBinding('attr.role')\n    get checkRole(): string {\n        return this.items && this.items.length > 0 || this.discussionThreadItems.length > 0 ? 'list' : null;\n    }\n\n    /**\n     * Array of discussion thread items to be displayed.\n     * Each item should conform to the EuiDiscussionThreadItem interface.\n     */\n    @Input() items: EuiDiscussionThreadItem[];\n\n    /**\n     * The main title label for the discussion thread.\n     */\n    @Input() titleLabel: string;\n\n    /**\n     * The subtitle label for the discussion thread, typically used to provide\n     * additional context or categorization.\n     */\n    @Input() subTitleLabel: string;\n\n    /**\n     * Tooltip text to display when hovering over the discussion thread.\n     */\n    @Input() tooltip: string;\n\n    @ContentChildren(EuiDiscussionThreadItemComponent, { descendants: true }) private discussionThreadItems: QueryList<EuiDiscussionThreadItemComponent>;\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": ".eui-21 {\n    :host.eui-discussion-thread {\n        margin: 0;\n        padding: 0;\n        position: relative;\n\n        .eui-discussion-thread-wrapper-header {\n            display: flex;\n            flex-direction: column;\n            position: relative;\n            width: 100%;\n\n            &__title {\n                border-bottom: 1px solid var(--eui-c-divider);\n                display: flex;\n                margin-bottom: var(--eui-s-xs);\n                padding-bottom: var(--eui-s-3xs);\n                width: 100%;\n                font: var(--eui-f-m-semi-bold);\n            }\n\n            &__subtitle {\n                color: var(--eui-c-text);\n                display: flex;\n                width: 100%;\n                font: var(--eui-f-m);\n            }\n        }\n\n        .eui-discussion-thread-content {\n            list-style: none;\n            padding: 20px 0;\n            position: relative;\n\n            &::before {\n                background-color: var(--eui-c-divider-light);\n                bottom: 0;\n                content: \" \";\n                left: 50%;\n                margin-left: -1.5px;\n                position: absolute;\n                top: 0;\n                width: 2px;\n            }\n        }\n    }\n}\n",
                    "styleUrl": "./eui-discussion-thread.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 89,
                        "rawdescription": "\n\nGets the CSS classes to apply to the host element.\n\n",
                        "description": "<p>Gets the CSS classes to apply to the host element.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 2885,
                                "end": 2953,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2886,
                                    "end": 2893,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>The CSS classes as a space-separated string.</p>\n",
                                "typeExpression": {
                                    "pos": 2894,
                                    "end": 2902,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 2895,
                                        "end": 2901,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                },
                "checkRole": {
                    "name": "checkRole",
                    "getSignature": {
                        "name": "checkRole",
                        "type": "string",
                        "returnType": "string",
                        "line": 98,
                        "rawdescription": "\n\nARIA role for the host element to ensure proper accessibility.\n",
                        "description": "<p>ARIA role for the host element to ensure proper accessibility.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 3164,
                                "end": 3185,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 3165,
                                    "end": 3172,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "default"
                                },
                                "comment": "<p>&#39;list&#39;</p>\n"
                            }
                        ]
                    }
                }
            },
            "templateData": "<div class=\"eui-discussion-thread-wrapper-header\">\n    <div class=\"eui-discussion-thread-wrapper-header__title\">{{ titleLabel }}</div>\n    <div class=\"eui-discussion-thread-wrapper-header__subtitle\">{{ subTitleLabel }}</div>\n</div>\n<ul role=\"none\" class=\"eui-discussion-thread-content\">\n    @if (items) {\n        @for (item of items; track item.id; let o = $odd; let e = $even;) {\n            <eui-discussion-thread-item\n                [isOdd]=\"o\"\n                id=\"{{ item.id }}\"\n                typeClass=\"{{ item.typeClass }}\"\n                date=\"{{ item.date }}\"\n                author=\"{{ item.author }}\"\n                body=\"{{ item.body }}\"\n                tooltip=\"{{ item.tooltip }}\">\n            </eui-discussion-thread-item>\n        }\n    }\n\n    @if (!items) {\n        <ng-content></ng-content>\n    }\n</ul>\n"
        },
        {
            "name": "EuiDiscussionThreadItemComponent",
            "id": "component-EuiDiscussionThreadItemComponent-d45f1bd0b3a891f8059685840f46a9b0c65cbb2d5429904f1e64ddd59dd90df40177e4766cd0f97de7da1c81c900045b082a07c6e46ffdcec45f03298abe4e31",
            "file": "packages/components/eui-discussion-thread/eui-discussion-thread-item.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-discussion-thread-item",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-discussion-thread-item.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "author",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nName or identifier of the author who created the item.\n",
                    "description": "<p>Name or identifier of the author who created the item.</p>\n",
                    "line": 103,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "body",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nContent body of the discussion thread item.\n",
                    "description": "<p>Content body of the discussion thread item.</p>\n",
                    "line": 108,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "date",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDate when the thread item was created or modified.\n",
                    "description": "<p>Date when the thread item was created or modified.</p>\n",
                    "line": 98,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUnique identifier for the discussion thread item.\n",
                    "description": "<p>Unique identifier for the discussion thread item.</p>\n",
                    "line": 87,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "isOdd",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nIndicates if this item is in an odd position in the list.\nUsed for alternating styling patterns within the thread.\n",
                    "description": "<p>Indicates if this item is in an odd position in the list.\nUsed for alternating styling patterns within the thread.</p>\n",
                    "line": 120,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "tooltip",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nTooltip text to display additional information when hovering over the item.\n",
                    "description": "<p>Tooltip text to display additional information when hovering over the item.</p>\n",
                    "line": 113,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "typeClass",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nType class defining the visual style of the item (e.g., 'info', 'warning', 'error').\nThis affects the color scheme applied to the item.\n",
                    "description": "<p>Type class defining the visual style of the item (e.g., &#39;info&#39;, &#39;warning&#39;, &#39;error&#39;).\nThis affects the color scheme applied to the item.</p>\n",
                    "line": 93,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "role",
                    "defaultValue": "'listitem'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>ARIA role for the host element to ensure proper accessibility.</p>\n",
                    "line": 82,
                    "rawdescription": "\n\nARIA role for the host element to ensure proper accessibility.\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 2741,
                            "end": 2766,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2742,
                                "end": 2749,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;listitem&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'listitem'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2741,
                            "end": 2766,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2742,
                                "end": 2749,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;listitem&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nARIA role for the host element to ensure proper accessibility.\n",
                    "description": "<p>ARIA role for the host element to ensure proper accessibility.</p>\n",
                    "line": 82,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2429,
                            "end": 2480,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2430,
                                "end": 2437,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>The CSS class to be applied</p>\n",
                            "typeExpression": {
                                "pos": 2438,
                                "end": 2446,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 2439,
                                    "end": 2445,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nSets CSS classes on the host element based on the typeClass property.\nThis helps maintain consistent styling with the parent theme variant.\n",
                    "description": "<p>Sets CSS classes on the host element based on the typeClass property.\nThis helps maintain consistent styling with the parent theme variant.</p>\n",
                    "line": 74,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_LABEL"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_ICON_STATE"
                },
                {
                    "name": "DatePipe",
                    "type": "pipe"
                }
            ],
            "description": "<p>Individual item component for discussion threads, representing a single message or entry in a conversation.\nDisplays author information, timestamp, message content, and optional metadata with support for visual variants.</p>\n<h3>Basic Thread Item</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-discussion-thread-item\n  [author]=&quot;&#39;John Doe&#39;&quot;\n  [date]=&quot;&#39;2024-01-15&#39;&quot;\n  [body]=&quot;&#39;This is a comment in the discussion&#39;&quot;&gt;\n&lt;/eui-discussion-thread-item&gt;</code></pre></div><h3>With Type Styling</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-discussion-thread-item\n  [author]=&quot;&#39;System&#39;&quot;\n  [date]=&quot;&#39;2024-01-15T10:30:00&#39;&quot;\n  [body]=&quot;&#39;Status updated to In Progress&#39;&quot;\n  [typeClass]=&quot;&#39;info&#39;&quot;&gt;\n&lt;/eui-discussion-thread-item&gt;</code></pre></div><h3>With Tooltip</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-discussion-thread-item\n  [author]=&quot;&#39;Jane Smith&#39;&quot;\n  [date]=&quot;&#39;2024-01-15&#39;&quot;\n  [body]=&quot;&#39;Review completed&#39;&quot;\n  [tooltip]=&quot;&#39;Approved by manager&#39;&quot;&gt;\n&lt;/eui-discussion-thread-item&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses <code>role=&quot;listitem&quot;</code> for proper list semantics</li>\n<li>Author and date information announced before message content</li>\n<li>Tooltip provides additional context for assistive technologies</li>\n<li>Ensure date format is screen reader friendly</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use within <code>eui-discussion-thread</code> component for proper structure</li>\n<li><code>typeClass</code> affects icon and styling (info, warning, success, danger)</li>\n<li><code>isOdd</code> property used for alternating row styling</li>\n<li>Date accepts string format and is displayed with DatePipe</li>\n<li>Supports rich content in body via content projection</li>\n</ul>\n",
            "rawdescription": "\n\nIndividual item component for discussion threads, representing a single message or entry in a conversation.\nDisplays author information, timestamp, message content, and optional metadata with support for visual variants.\n\n### Basic Thread Item\n```html\n<eui-discussion-thread-item\n  [author]=\"'John Doe'\"\n  [date]=\"'2024-01-15'\"\n  [body]=\"'This is a comment in the discussion'\">\n</eui-discussion-thread-item>\n```\n\n### With Type Styling\n```html\n<eui-discussion-thread-item\n  [author]=\"'System'\"\n  [date]=\"'2024-01-15T10:30:00'\"\n  [body]=\"'Status updated to In Progress'\"\n  [typeClass]=\"'info'\">\n</eui-discussion-thread-item>\n```\n\n### With Tooltip\n```html\n<eui-discussion-thread-item\n  [author]=\"'Jane Smith'\"\n  [date]=\"'2024-01-15'\"\n  [body]=\"'Review completed'\"\n  [tooltip]=\"'Approved by manager'\">\n</eui-discussion-thread-item>\n```\n\n### Accessibility\n- Uses `role=\"listitem\"` for proper list semantics\n- Author and date information announced before message content\n- Tooltip provides additional context for assistive technologies\n- Ensure date format is screen reader friendly\n\n### Notes\n- Use within `eui-discussion-thread` component for proper structure\n- `typeClass` affects icon and styling (info, warning, success, danger)\n- `isOdd` property used for alternating row styling\n- Date accepts string format and is displayed with DatePipe\n- Supports rich content in body via content projection\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, Input } from '@angular/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_ICON_STATE } from '@eui/components/eui-icon-state';\nimport { DatePipe } from '@angular/common';\n\n/**\n * @description\n * Individual item component for discussion threads, representing a single message or entry in a conversation.\n * Displays author information, timestamp, message content, and optional metadata with support for visual variants.\n * \n * @usageNotes\n * ### Basic Thread Item\n * ```html\n * <eui-discussion-thread-item \n *   [author]=\"'John Doe'\"\n *   [date]=\"'2024-01-15'\"\n *   [body]=\"'This is a comment in the discussion'\">\n * </eui-discussion-thread-item>\n * ```\n * \n * ### With Type Styling\n * ```html\n * <eui-discussion-thread-item \n *   [author]=\"'System'\"\n *   [date]=\"'2024-01-15T10:30:00'\"\n *   [body]=\"'Status updated to In Progress'\"\n *   [typeClass]=\"'info'\">\n * </eui-discussion-thread-item>\n * ```\n * \n * ### With Tooltip\n * ```html\n * <eui-discussion-thread-item \n *   [author]=\"'Jane Smith'\"\n *   [date]=\"'2024-01-15'\"\n *   [body]=\"'Review completed'\"\n *   [tooltip]=\"'Approved by manager'\">\n * </eui-discussion-thread-item>\n * ```\n * \n * ### Accessibility\n * - Uses `role=\"listitem\"` for proper list semantics\n * - Author and date information announced before message content\n * - Tooltip provides additional context for assistive technologies\n * - Ensure date format is screen reader friendly\n * \n * ### Notes\n * - Use within `eui-discussion-thread` component for proper structure\n * - `typeClass` affects icon and styling (info, warning, success, danger)\n * - `isOdd` property used for alternating row styling\n * - Date accepts string format and is displayed with DatePipe\n * - Supports rich content in body via content projection\n */\n@Component({\n    selector: 'eui-discussion-thread-item',\n    templateUrl: './eui-discussion-thread-item.component.html',\n    styleUrl: './eui-discussion-thread-item.scss',\n    imports: [\n        ...EUI_LABEL,\n        ...EUI_ICON,\n        ...EUI_ICON_STATE,\n        DatePipe,\n    ],\n})\nexport class EuiDiscussionThreadItemComponent {\n    /**\n     * Sets CSS classes on the host element based on the typeClass property.\n     * This helps maintain consistent styling with the parent theme variant.\n     * @returns {string} The CSS class to be applied\n     */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return `eui--${this.typeClass}`; // simulate parent variant for icon auto-contrast color fill\n    }\n\n    /**\n     * ARIA role for the host element to ensure proper accessibility.\n     * @default 'listitem'\n     */\n    @HostBinding('attr.role') role = 'listitem';\n\n    /**\n     * Unique identifier for the discussion thread item.\n     */\n    @Input() id: string;\n\n    /**\n     * Type class defining the visual style of the item (e.g., 'info', 'warning', 'error').\n     * This affects the color scheme applied to the item.\n     */\n    @Input() typeClass: string;\n\n    /**\n     * Date when the thread item was created or modified.\n     */\n    @Input() date: string;\n\n    /**\n     * Name or identifier of the author who created the item.\n     */\n    @Input() author: string;\n\n    /**\n     * Content body of the discussion thread item.\n     */\n    @Input() body: string;\n\n    /**\n     * Tooltip text to display additional information when hovering over the item.\n     */\n    @Input() tooltip: string;\n\n    /**\n     * Indicates if this item is in an odd position in the list.\n     * Used for alternating styling patterns within the thread.\n     */\n    @Input()\n    get isOdd(): boolean {\n        return this._isOdd;\n    }\n    set isOdd(value: BooleanInput) {\n        this._isOdd = coerceBooleanProperty(value);\n    }\n    private _isOdd = false;\n}\n",
            "styleUrl": "./eui-discussion-thread-item.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 74,
                        "rawdescription": "\n\nSets CSS classes on the host element based on the typeClass property.\nThis helps maintain consistent styling with the parent theme variant.\n",
                        "description": "<p>Sets CSS classes on the host element based on the typeClass property.\nThis helps maintain consistent styling with the parent theme variant.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 2429,
                                "end": 2480,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2430,
                                    "end": 2437,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>The CSS class to be applied</p>\n",
                                "typeExpression": {
                                    "pos": 2438,
                                    "end": 2446,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 2439,
                                        "end": 2445,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                },
                "isOdd": {
                    "name": "isOdd",
                    "setSignature": {
                        "name": "isOdd",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 123,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "isOdd",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 120,
                        "rawdescription": "\n\nIndicates if this item is in an odd position in the list.\nUsed for alternating styling patterns within the thread.\n",
                        "description": "<p>Indicates if this item is in an odd position in the list.\nUsed for alternating styling patterns within the thread.</p>\n"
                    }
                }
            },
            "templateData": "<li role=\"none\" class=\"eui-discussion-thread__item\" [class.eui-discussion-thread__item--inverted]=\"isOdd\">\n    <div class=\"eui-discussion-thread__item-badge eui-discussion-thread__item-badge--{{ typeClass }}\" title=\"{{ tooltip }}\">\n        <eui-icon-state [euiVariant]=\"typeClass\" size=\"xl\" class=\"eui-alert__icon-type\"/>\n    </div>\n    <div class=\"eui-discussion-thread__item-panel\">\n        <div class=\"eui-discussion-thread__item-panel-header\">\n            <div class=\"eui-discussion-thread__item-panel-heading\">\n                <div class=\"eui-discussion-thread__item-panel-title\">\n                    {{ date | date: 'dd/MM/yyyy' }}\n                </div>\n                <div class=\"eui-discussion-thread__item-panel-time\">\n                    <eui-icon-svg icon=\"eui-clock\" size=\"s\" fillColor=\"secondary\" class=\"eui-discussion-thread__item-panel-time-icon\"/>\n                    <span class=\"eui-u-f-s\">{{ date | date: 'HH:mm' }}</span>\n                </div>\n            </div>\n            <div class=\"eui-discussion-thread__item-panel-subheading\">\n                {{ author }}\n            </div>\n        </div>\n        <div class=\"eui-discussion-thread__item-panel-body\">\n            <p class=\"eui-discussion-thread__item-panel-body-word-break\" [innerHTML]=\"body\"></p>\n        </div>\n    </div>\n</li>\n"
        },
        {
            "name": "EuiDropdownComponent",
            "id": "component-EuiDropdownComponent-ef00406042033572d63bd247dff3ba128028572949bb97310937c73800d92915f7774732e4fd99360f3feb98d7cb08d70b11d04232799f34201c79519e793e12",
            "file": "packages/components/eui-dropdown/eui-dropdown.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [
                {
                    "name": "EuiDropdownService",
                    "type": "injectable"
                }
            ],
            "selector": "eui-dropdown",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-dropdown.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-dropdown'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3196,
                            "end": 3225,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3197,
                                "end": 3204,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-dropdown&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `data-e2e` attribute for dropodown panel. Default: `eui-dropdown`.\n\n",
                    "description": "<p>Sets the <code>data-e2e</code> attribute for dropodown panel. Default: <code>eui-dropdown</code>.</p>\n",
                    "line": 98,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 171,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasClosedOnClickInside",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4617,
                            "end": 4636,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4618,
                                "end": 4625,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `hasClosedOnClickInside` attribute which controls the auto-closing of the menu when clicking inside.\n\n",
                    "description": "<p>Sets the <code>hasClosedOnClickInside</code> attribute which controls the auto-closing of the menu when clicking inside.</p>\n",
                    "line": 146,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasTabNavigation",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5294,
                            "end": 5314,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5295,
                                "end": 5302,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `hasTabNavigation` attribute to tab within the dropdown content when there is rich content.\n\n",
                    "description": "<p>Sets the <code>hasTabNavigation</code> attribute to tab within the dropdown content when there is rich content.</p>\n",
                    "line": 164,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "height",
                    "defaultValue": "'auto'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3610,
                            "end": 3631,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3611,
                                "end": 3618,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;auto&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `height` attribute for the dropdown panel.\n\n",
                    "description": "<p>Sets the <code>height</code> attribute for the dropdown panel.</p>\n",
                    "line": 116,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isBlock",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4161,
                            "end": 4181,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4162,
                                "end": 4169,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `isBlock` attribute in order for the dropdown to take the full width of the parent container.\n\n",
                    "description": "<p>Sets the <code>isBlock</code> attribute in order for the dropdown to take the full width of the parent container.</p>\n",
                    "line": 134,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isDropDownRightAligned",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4379,
                            "end": 4399,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4380,
                                "end": 4387,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `isDropDownRightAligned` attribute to align the menu panel on the right of the opening element.\n\n",
                    "description": "<p>Sets the <code>isDropDownRightAligned</code> attribute to align the menu panel on the right of the opening element.</p>\n",
                    "line": 140,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isExpandOnHover",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5072,
                            "end": 5092,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5073,
                                "end": 5080,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `isExpandOnHover` attribute which opens the sub dropdown upon hover.\n\n",
                    "description": "<p>Sets the <code>isExpandOnHover</code> attribute which opens the sub dropdown upon hover.</p>\n",
                    "line": 158,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isLabelUpdatedFromSelectedItem",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4858,
                            "end": 4878,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4859,
                                "end": 4866,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `isLabelUpdatedFromSelectedItem` attribute which updates the label of the trigger with the selected item.\n\n",
                    "description": "<p>Sets the <code>isLabelUpdatedFromSelectedItem</code> attribute which updates the label of the trigger with the selected item.</p>\n",
                    "line": 152,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isRightClickEnabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5506,
                            "end": 5526,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5507,
                                "end": 5514,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `isRightClickEnabled` attribute to trigger the menu using the right mouse click.\n\n",
                    "description": "<p>Sets the <code>isRightClickEnabled</code> attribute to trigger the menu using the right mouse click.</p>\n",
                    "line": 170,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "position",
                    "defaultValue": "'bottom'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3747,
                            "end": 3770,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3748,
                                "end": 3755,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;bottom&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `position` attribute for the dropdown panel.\n\n",
                    "description": "<p>Sets the <code>position</code> attribute for the dropdown panel.</p>\n",
                    "line": 122,
                    "type": "\"top\" | \"right\" | \"bottom\" | \"left\"",
                    "decorators": []
                },
                {
                    "name": "subDropdownPosition",
                    "defaultValue": "'right'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3942,
                            "end": 3964,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3943,
                                "end": 3950,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;right&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `subDropdownPosition` attribute for a multi-level dropdown.\n\n",
                    "description": "<p>Sets the <code>subDropdownPosition</code> attribute for a multi-level dropdown.</p>\n",
                    "line": 128,
                    "type": "\"right\" | \"left\"",
                    "decorators": []
                },
                {
                    "name": "tabIndex",
                    "defaultValue": "-1",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3348,
                            "end": 3365,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3349,
                                "end": 3356,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>-1</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `tabindex` attribute for a dropdown panel.\n\n",
                    "description": "<p>Sets the <code>tabindex</code> attribute for a dropdown panel.</p>\n",
                    "line": 104,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "width",
                    "defaultValue": "'auto'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3476,
                            "end": 3497,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3477,
                                "end": 3484,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;auto&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `width` attribute for the dropdown panel.\n\n",
                    "description": "<p>Sets the <code>width</code> attribute for the dropdown panel.</p>\n",
                    "line": 110,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "expand",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when the menu expands.\n",
                    "description": "<p>Event emitted when the menu expands.</p>\n",
                    "line": 175,
                    "type": "EventEmitter<boolean>"
                },
                {
                    "name": "isDropdownOpen",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 176,
                    "type": "EventEmitter<boolean>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "_renderer",
                    "defaultValue": "inject(Renderer2)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 210,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "dropdownService",
                    "defaultValue": "inject(EuiDropdownService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 186,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "euiDropdownItems",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<unknown>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 180,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "EuiDropdownItemComponent, {descendants: true}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "isOpened",
                    "defaultValue": "signal(false)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 185,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "parentDropdown",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiDropdownComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 183,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "platformId",
                    "defaultValue": "inject(PLATFORM_ID)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 211,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "templatePortalContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<unknown>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 178,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'templatePortalContent'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "trapFocusAutoCapture",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 182,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "triggerRef",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef<HTMLElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 179,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'triggerRef'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "closeDropdown",
                    "args": [
                        {
                            "name": "recursively",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "false"
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 518,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nClose a dropdown\n\n",
                    "description": "<p>Close a dropdown</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 21072,
                                "end": 21083,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "recursively"
                            },
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "false",
                            "tagName": {
                                "pos": 21066,
                                "end": 21071,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>If true, close the parent dropdown as well</p>\n"
                        }
                    ]
                },
                {
                    "name": "createKeyboardHandlerSubscription",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 563,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles the keyboard navigation on the menu items upon opening the dropdown.\n\n",
                    "description": "<p>Handles the keyboard navigation on the menu items upon opening the dropdown.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 251,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 265,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 228,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 347,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod fired upon clicking the dropdown content.\n\n",
                    "description": "<p>Method fired upon clicking the dropdown content.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "onTriggerClicked",
                    "args": [
                        {
                            "name": "e",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 301,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod fired upon clicking the dropdown trigger.\n\n",
                    "description": "<p>Method fired upon clicking the dropdown trigger.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 11267,
                                "end": 11268,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "e"
                            },
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 11261,
                                "end": 11266,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Event triggered when the dropdown trigger is clicked.</p>\n"
                        }
                    ]
                },
                {
                    "name": "onTriggerRightClicked",
                    "args": [
                        {
                            "name": "e",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 321,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod fired upon right clicking the dropdown trigger in case of context menu.\n\n",
                    "description": "<p>Method fired upon right clicking the dropdown trigger in case of context menu.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 11951,
                                "end": 11952,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "e"
                            },
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 11945,
                                "end": 11950,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Event triggered when the dropdown trigger is right clicked.</p>\n"
                        }
                    ]
                },
                {
                    "name": "openDropdown",
                    "args": [
                        {
                            "name": "origin",
                            "type": "HTMLElement",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "position",
                            "type": "literal type",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 365,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod fired when the dropdown is opened.\n\n",
                    "description": "<p>Method fired when the dropdown is opened.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 13311,
                                "end": 13317,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "origin"
                            },
                            "type": "HTMLElement",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 13305,
                                "end": 13310,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Origin of the dropdown position</p>\n"
                        },
                        {
                            "name": {
                                "pos": 13364,
                                "end": 13372,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "position"
                            },
                            "type": "literal type",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 13358,
                                "end": 13363,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Position of the dropdown</p>\n"
                        }
                    ]
                },
                {
                    "name": "projectContentChanged",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 553,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod fired when the dropdown content is changed.\n\n",
                    "description": "<p>Method fired when the dropdown content is changed.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "setParentDropdown",
                    "args": [
                        {
                            "name": "parentDropdown",
                            "type": "EuiDropdownComponent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 629,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the parent dropdown for a sub-dropdown.\n\n",
                    "description": "<p>Sets the parent dropdown for a sub-dropdown.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 26984,
                                "end": 26998,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "parentDropdown"
                            },
                            "type": "EuiDropdownComponent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 26978,
                                "end": 26983,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Parent dropdown component</p>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7716,
                            "end": 7833,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7717,
                                "end": 7728,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                        },
                        {
                            "pos": 7833,
                            "end": 7898,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7834,
                                "end": 7841,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 7842,
                                "end": 7850,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 7843,
                                    "end": 7849,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                    "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                    "line": 220,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "OverlayModule",
                    "type": "module"
                },
                {
                    "name": "ScrollingModule",
                    "type": "module"
                },
                {
                    "name": "A11yModule",
                    "type": "module"
                },
                {
                    "name": "ObserversModule",
                    "type": "module"
                }
            ],
            "description": "<p>A flexible dropdown menu component that displays contextual content in an overlay panel.\nSupports keyboard navigation, nested submenus, positioning strategies, and accessibility features.\nComposed of a trigger element that opens a panel containing menu items or custom content.\nHandles focus management, scroll behavior, and click-outside detection automatically.</p>\n<h3>Basic dropdown with menu items</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dropdown&gt;\n  &lt;button euiButton&gt;Open Menu&lt;/button&gt;\n  &lt;eui-dropdown-item&gt;Action 1&lt;/eui-dropdown-item&gt;\n  &lt;eui-dropdown-item&gt;Action 2&lt;/eui-dropdown-item&gt;\n&lt;/eui-dropdown&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Implements ARIA menu pattern with proper roles and keyboard navigation</li>\n<li>Arrow keys navigate between items, Enter/Space activates selection</li>\n<li>Escape closes the dropdown and returns focus to trigger</li>\n<li>Screen readers announce menu state changes via aria-expanded</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use <code>position</code> to control dropdown placement (top, right, bottom, left)</li>\n<li>Enable <code>isExpandOnHover</code> for submenu expansion without clicking</li>\n<li>Set <code>hasClosedOnClickInside</code> to false for multi-select scenarios</li>\n<li>Context menus can be triggered with right-click using <code>isRightClickEnabled</code></li>\n</ul>\n",
            "rawdescription": "\n\nA flexible dropdown menu component that displays contextual content in an overlay panel.\nSupports keyboard navigation, nested submenus, positioning strategies, and accessibility features.\nComposed of a trigger element that opens a panel containing menu items or custom content.\nHandles focus management, scroll behavior, and click-outside detection automatically.\n\n### Basic dropdown with menu items\n```html\n<eui-dropdown>\n  <button euiButton>Open Menu</button>\n  <eui-dropdown-item>Action 1</eui-dropdown-item>\n  <eui-dropdown-item>Action 2</eui-dropdown-item>\n</eui-dropdown>\n```\n\n### Accessibility\n- Implements ARIA menu pattern with proper roles and keyboard navigation\n- Arrow keys navigate between items, Enter/Space activates selection\n- Escape closes the dropdown and returns focus to trigger\n- Screen readers announce menu state changes via aria-expanded\n\n### Notes\n- Use `position` to control dropdown placement (top, right, bottom, left)\n- Enable `isExpandOnHover` for submenu expansion without clicking\n- Set `hasClosedOnClickInside` to false for multi-select scenarios\n- Context menus can be triggered with right-click using `isRightClickEnabled`\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    ChangeDetectionStrategy,\n    HostBinding,\n    ViewEncapsulation,\n    Input,\n    OnInit,\n    OnDestroy,\n    AfterViewInit,\n    ViewContainerRef,\n    ViewChild,\n    TemplateRef,\n    ContentChildren,\n    QueryList,\n    ElementRef,\n    Renderer2,\n    booleanAttribute,\n    EventEmitter,\n    inject,\n    PLATFORM_ID,\n    Output,\n    ChangeDetectorRef,\n    signal,\n} from '@angular/core';\nimport { DOCUMENT, isPlatformBrowser, isPlatformServer } from '@angular/common';\nimport {\n    CdkScrollable,\n    ConnectionPositionPair,\n    FlexibleConnectedPositionStrategy,\n    FlexibleConnectedPositionStrategyOrigin,\n    GlobalPositionStrategy,\n    Overlay,\n    OverlayRef,\n    ScrollDispatcher,\n    OverlayModule,\n} from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { fromEvent, Subject, Subscription, takeUntil } from 'rxjs';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { ActiveDescendantKeyManager, Highlightable } from '@angular/cdk/a11y';\n\nimport { openClose } from './animations/open-close';\nimport { EuiDropdownItemComponent } from './dropdown-item/eui-dropdown-item.component';\nimport { EuiDropdownService } from './eui-dropdown.service';\n\n/**\n * @description\n * A flexible dropdown menu component that displays contextual content in an overlay panel.\n * Supports keyboard navigation, nested submenus, positioning strategies, and accessibility features.\n * Composed of a trigger element that opens a panel containing menu items or custom content.\n * Handles focus management, scroll behavior, and click-outside detection automatically.\n *\n * @usageNotes\n * ### Basic dropdown with menu items\n * ```html\n * <eui-dropdown>\n *   <button euiButton>Open Menu</button>\n *   <eui-dropdown-item>Action 1</eui-dropdown-item>\n *   <eui-dropdown-item>Action 2</eui-dropdown-item>\n * </eui-dropdown>\n * ```\n *\n * ### Accessibility\n * - Implements ARIA menu pattern with proper roles and keyboard navigation\n * - Arrow keys navigate between items, Enter/Space activates selection\n * - Escape closes the dropdown and returns focus to trigger\n * - Screen readers announce menu state changes via aria-expanded\n *\n * ### Notes\n * - Use `position` to control dropdown placement (top, right, bottom, left)\n * - Enable `isExpandOnHover` for submenu expansion without clicking\n * - Set `hasClosedOnClickInside` to false for multi-select scenarios\n * - Context menus can be triggered with right-click using `isRightClickEnabled`\n */\n@Component({\n    selector: 'eui-dropdown',\n    templateUrl: './eui-dropdown.component.html',\n    styleUrl: './eui-dropdown.scss',\n    animations: [openClose],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        OverlayModule,\n        ScrollingModule,\n        A11yModule,\n        ObserversModule,\n    ],\n    providers: [EuiDropdownService],\n})\nexport class EuiDropdownComponent implements OnInit, OnDestroy, AfterViewInit {\n    /**\n     * Sets the `data-e2e` attribute for dropodown panel. Default: `eui-dropdown`.\n     *\n     * @default 'eui-dropdown'\n     */\n    @Input() e2eAttr = 'eui-dropdown';\n    /**\n     * Sets the `tabindex` attribute for a dropdown panel.\n     *\n     * @default -1\n     */\n    @Input() tabIndex = -1;\n    /**\n     * Sets the `width` attribute for the dropdown panel.\n     *\n     * @default 'auto'\n     */\n    @Input() width = 'auto';\n    /**\n     * Sets the `height` attribute for the dropdown panel.\n     *\n     * @default 'auto'\n     */\n    @Input() height = 'auto';\n    /**\n     * Sets the `position` attribute for the dropdown panel.\n     *\n     * @default 'bottom'\n     */\n    @Input() position: 'top' | 'right' | 'bottom' | 'left' = 'bottom';\n    /**\n     * Sets the `subDropdownPosition` attribute for a multi-level dropdown.\n     *\n     * @default 'right'\n     */\n    @Input() subDropdownPosition: 'right' | 'left' = 'right';\n    /**\n     * Sets the `isBlock` attribute in order for the dropdown to take the full width of the parent container.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isBlock = false;\n    /**\n     * Sets the `isDropDownRightAligned` attribute to align the menu panel on the right of the opening element.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isDropDownRightAligned = false;\n    /**\n     * Sets the `hasClosedOnClickInside` attribute which controls the auto-closing of the menu when clicking inside.\n     *\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasClosedOnClickInside = true;\n    /**\n     * Sets the `isLabelUpdatedFromSelectedItem` attribute which updates the label of the trigger with the selected item.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isLabelUpdatedFromSelectedItem = false;\n    /**\n     * Sets the `isExpandOnHover` attribute which opens the sub dropdown upon hover.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isExpandOnHover = false;\n    /**\n     * Sets the `hasTabNavigation` attribute to tab within the dropdown content when there is rich content.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasTabNavigation = false;\n    /**\n     * Sets the `isRightClickEnabled` attribute to trigger the menu using the right mouse click.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isRightClickEnabled = false;\n    @Input({ transform: booleanAttribute }) euiDisabled = false;\n    /**\n     * Event emitted when the menu expands.\n     */\n    @Output() expand: EventEmitter<boolean> = new EventEmitter();\n    @Output() isDropdownOpen: EventEmitter<boolean> = new EventEmitter();\n\n    @ViewChild('templatePortalContent') templatePortalContent: TemplateRef<unknown>;\n    @ViewChild('triggerRef') triggerRef: ElementRef<HTMLElement>;\n    @ContentChildren(EuiDropdownItemComponent, { descendants: true }) euiDropdownItems: QueryList<Highlightable & EuiDropdownItemComponent>;\n\n    public trapFocusAutoCapture = true;\n    public parentDropdown: EuiDropdownComponent;\n\n    public isOpened = signal(false);\n    protected dropdownService = inject(EuiDropdownService);\n    private mousePositionX = 0;\n    private mousePositionY = 0;\n    private initialScrollX = 0;\n    private initialScrollY = 0;\n    private originX: 'start' | 'end' | 'center' = 'start';\n    private originY: 'top' | 'bottom' | 'center' = 'bottom';\n    private overlayX: 'start' | 'end' | 'center' = 'start';\n    private overlayY: 'top' | 'bottom' | 'center' = 'top';\n    private templatePortal: TemplatePortal;\n    private overlayRef: OverlayRef;\n    private destroy$ = new Subject<boolean>();\n    private scrollDispatcherSubscription = new Subscription();\n    private keydownListenerSubscription = new Subscription();\n    private euiDropdownItemsEventSubscriptions: Subscription[] = [];\n    private activeDescendantKeyManagerChangeSubscription = new Subscription();\n    private activeDescendantKeyManager: ActiveDescendantKeyManager<EuiDropdownItemComponent>;\n    private origin: HTMLElement;\n    private positionStrategy: FlexibleConnectedPositionStrategy;\n    private scrollSubscription = new Subscription();\n    private overlay = inject(Overlay);\n    private viewContainerRef = inject(ViewContainerRef);\n    private scrollDispatcher = inject(ScrollDispatcher);\n    private cd = inject(ChangeDetectorRef);\n    protected _renderer = inject(Renderer2);\n    protected platformId = inject(PLATFORM_ID);\n    private document = inject<Document>(DOCUMENT);\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            'eui-dropdown',\n            this.isBlock ? 'eui-dropdown--block' : '',\n            this.isRightClickEnabled ? 'eui-dropdown--contextual-menu' : '',\n        ].join(' ').trim();\n    }\n\n    ngOnInit(): void {\n        // Currently, the `cdkTrapFocusAutoCapture` is only checked once on init.\n        if (this.hasDropdownItems) {\n            this.trapFocusAutoCapture = false;\n        } else {\n            this.trapFocusAutoCapture = true;\n        }\n\n        if (this.hasTabNavigation) {\n            this.trapFocusAutoCapture = true;\n            this.hasClosedOnClickInside = false;\n        }\n\n        if (this.isRightClickEnabled) {\n            this.hasTabNavigation = false;  // UX wise, contextual menu contains only menu items accessible through arrow keys nav\n        }\n\n        this.setPosition();\n\n        // TODO: Remove this in the future, when the `isDropdownOpen` signal is used instead.\n        this.isDropdownOpen.subscribe(isOpen => this.dropdownService.isDropdownOpen.emit(isOpen));\n    }\n\n    ngAfterViewInit(): void {\n        this.templatePortal = new TemplatePortal(this.templatePortalContent, this.viewContainerRef);\n\n        if(this.triggerRef && this.triggerRef.nativeElement.firstElementChild) {\n            if(this.isFocusableElement(this.triggerRef.nativeElement.firstElementChild as HTMLElement)) {\n                this._renderer?.setAttribute(this.triggerRef.nativeElement.firstElementChild as HTMLElement, 'aria-haspopup', 'menu');\n                this._renderer?.setAttribute(this.triggerRef.nativeElement.firstElementChild as HTMLElement, 'aria-expanded', 'false');\n            } else if(this.triggerRef.nativeElement.firstElementChild.firstChild && this.isFocusableElement(this.triggerRef.nativeElement.firstElementChild.firstChild as HTMLElement)) {\n                this._renderer?.setAttribute(this.triggerRef.nativeElement.firstElementChild.firstChild as HTMLElement, 'aria-haspopup', 'menu');\n                this._renderer?.setAttribute(this.triggerRef.nativeElement.firstElementChild.firstChild as HTMLElement, 'aria-expanded', 'false');\n            }\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n        this.euiDropdownItemsEventSubscriptions.forEach((euiDropdownItemsEventSubscription) => {\n            euiDropdownItemsEventSubscription.unsubscribe();\n        });\n        this.keydownListenerSubscription.unsubscribe();\n        this.scrollDispatcherSubscription.unsubscribe();\n        this.activeDescendantKeyManagerChangeSubscription.unsubscribe();\n        this.overlayRef?.dispose();\n        this.overlayRef = null;\n        this.activeDescendantKeyManager = null;\n        this.scrollSubscription.unsubscribe();\n    }\n\n    /**\n     * Whether the eui-dropdown is open.\n     *\n     * @deprecated This property will be removed in the future. Use `isOpened` signal instead.\n     *\n     * @usageNotes\n     * ```html\n     * <eui-dropdown #dropdown>\n     *      <my-component *ngIf=\"dropdown.isOpen\"></my-component>\n     * </eui-dropdown>\n     * ```\n     * @returns A boolean with value `true` when open, otherwise `false`.\n     */\n    get isOpen(): boolean {\n        return this.isOpened();\n    }\n    /**\n     * Method fired upon clicking the dropdown trigger.\n     *\n     * @param e Event triggered when the dropdown trigger is clicked.\n     */\n    public onTriggerClicked(e: Event): void {\n        if (\n            !(e.target as HTMLElement).querySelector('.disabled') &&\n            !(e.target as HTMLElement).querySelector(':disabled') &&\n            !this.isOpened()\n        ) {\n            if (this.isBlock) {\n                this.width = this.triggerRef.nativeElement.offsetWidth + 'px';\n            }\n\n            this.openDropdown(e.target as HTMLElement);\n            this.expand.emit(true);\n            e.stopPropagation();\n        }\n    }\n    /**\n     * Method fired upon right clicking the dropdown trigger in case of context menu.\n     *\n     * @param e Event triggered when the dropdown trigger is right clicked.\n     */\n    public onTriggerRightClicked(e: Event): void {\n        if (\n            !(e.target as HTMLElement).querySelector('.disabled') &&\n            !(e.target as HTMLElement).querySelector(':disabled') &&\n            !this.isOpened()\n        ) {\n            if (this.isBlock) {\n                this.width = this.triggerRef.nativeElement.offsetWidth + 'px';\n            }\n\n            this.mousePositionX = (e as PointerEvent).clientX;\n            this.mousePositionY = (e as PointerEvent).clientY;\n            if(isPlatformBrowser(this.platformId)) {\n                this.initialScrollX = window.pageXOffset;\n                this.initialScrollY = window.pageYOffset;\n            }\n\n            this.openDropdown(e.target as HTMLElement);\n            e.preventDefault();\n            e.stopPropagation();\n        }\n    }\n    /**\n     * Method fired upon clicking the dropdown content.\n     *\n     */\n    public onClick(): void {\n        if (\n            this.hasClosedOnClickInside &&\n            !this.activeDescendantKeyManager?.activeItem.subDropdown &&\n            !this.activeDescendantKeyManager?.activeItem.elementRef?.nativeElement?.disabled\n        ) {\n            this.closeDropdown(true);\n        }\n    }\n\n    /**\n     * Method fired when the dropdown is opened.\n     *\n     * @param origin Origin of the dropdown position\n     * @param position Position of the dropdown\n     * @param position.x X coordinate of the dropdown position\n     * @param position.y Y coordinate of the dropdown position\n     */\n    public openDropdown(origin: HTMLElement, position?: { x: number, y: number }): void {\n        this.origin = origin;\n\n        if (position) {\n            this.mousePositionX = position.x;\n            this.mousePositionY = position.y;\n            if(isPlatformBrowser(this.platformId)) {\n                this.initialScrollX = window.pageXOffset;\n                this.initialScrollY = window.pageYOffset;\n            }\n        }\n\n        if (this.isRightClickEnabled) {\n            this.scrollSubscription = fromEvent(window, 'scroll').subscribe((event: Event) => {\n                this.overlayRef?.updatePositionStrategy(this.getContextualMenuPositionStrategy());\n            });\n        }\n\n        if (!this.isTriggerFocusableOnClose(origin)) {\n            this.origin = origin.closest('button:not([disabled])') || (this.triggerRef.nativeElement.firstChild as HTMLElement);\n\n            if (!this.origin) {\n                this.origin = origin.closest('a');\n            }\n\n            if (!this.origin) {\n                this.origin = origin;\n            }\n        }\n\n        if (!this.isOpened()) {\n            this.scrollDispatcherSubscription = this.scrollDispatcher\n                .ancestorScrolled(this.origin)\n                .pipe(takeUntil(this.destroy$))\n                .subscribe((event: CdkScrollable) => {\n                    if (!this.isVisible(this.origin, event ? event.getElementRef().nativeElement : this.document.querySelector('body'))) {\n                        this.closeDropdown();\n                    }\n                });\n\n            const positionStrategy = this.isRightClickEnabled ? this.getContextualMenuPositionStrategy() : this.getPositionStrategy();\n            const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n\n            this.overlayRef = this.overlay.create({\n                hasBackdrop: false,\n                backdropClass: 'eui-dropdown__backdrop',\n                panelClass: ['eui-dropdown__panel', this.subDropdownPosition === 'right' ? 'eui-dropdown--subdropdown-position-right' : 'eui-dropdown--subdropdown-position-left'],\n                positionStrategy,\n                scrollStrategy,\n                disposeOnNavigation: true,\n            });\n            this.overlayRef.attach(this.templatePortal);\n\n            if (this.isRightClickEnabled) {\n                this.overlayRef?.updatePositionStrategy(this.getContextualMenuPositionStrategy());\n            }\n\n            this.overlayRef\n                .outsidePointerEvents()\n                .pipe(takeUntil(this.destroy$))\n                .subscribe(() => {\n                    this.closeDropdown();\n                });\n            this.overlayRef\n                .backdropClick()\n                .pipe(takeUntil(this.destroy$))\n                .subscribe(() => {\n                    this.closeDropdown();\n                });\n            this.overlayRef\n                .keydownEvents()\n                .pipe(takeUntil(this.destroy$))\n                .subscribe((keyboardEvent) => {\n                    if (keyboardEvent.key?.toLowerCase() === 'escape') {\n                        this.closeDropdown();\n                    }\n                });\n\n            if (this.hasDropdownItems) {\n                this.euiDropdownItems.toArray().forEach((euiDropdownItem, i) => {\n                    if (this.isExpandOnHover) {\n                        this.euiDropdownItemsEventSubscriptions[i] = fromEvent(\n                            euiDropdownItem.elementRef.nativeElement,\n                            'mouseenter',\n                        ).pipe(takeUntil(this.destroy$)).subscribe((e: MouseEvent) => {\n                            this.activeDescendantKeyManager.setActiveItem(euiDropdownItem);\n                            if (this.activeDescendantKeyManager.activeItem?.subDropdown) {\n                                this.activeDescendantKeyManager.activeItem?.subDropdown.setParentDropdown(this);\n                                this.activeDescendantKeyManager.activeItem?.subDropdown.overlayRef.detachBackdrop();\n                                this.keydownListenerSubscription.unsubscribe();\n                            }\n\n                            const triggerOutsidePointerEvents = (subDropdown: EuiDropdownComponent): void => {\n                                subDropdown?.overlayRef?._outsidePointerEvents.next(e);\n\n                                if (subDropdown?.hasDropdownItems) {\n                                    subDropdown.euiDropdownItems.toArray().forEach((s) => {\n                                        triggerOutsidePointerEvents(s.subDropdown);\n                                    });\n                                }\n                            };\n\n                            this.euiDropdownItems\n                                .filter((item) => !item.isFocus)\n                                .forEach((euiDropdownItemHavingSubDropdown) => {\n                                    triggerOutsidePointerEvents(euiDropdownItemHavingSubDropdown.subDropdown);\n                                });\n                        });\n                    } else {\n                        this.euiDropdownItemsEventSubscriptions[i] = fromEvent(\n                            euiDropdownItem.elementRef.nativeElement,\n                            'click',\n                        ).pipe(takeUntil(this.destroy$)).subscribe(() => {\n                            this.activeDescendantKeyManager.setActiveItem(euiDropdownItem);\n                            if (this.activeDescendantKeyManager.activeItem?.subDropdown) {\n                                this.activeDescendantKeyManager.activeItem?.subDropdown.setParentDropdown(this);\n                                this.activeDescendantKeyManager.activeItem?.subDropdown.overlayRef.detachBackdrop();\n                                this.keydownListenerSubscription.unsubscribe();\n                            }\n\n                            const labelElement = this.triggerRef.nativeElement.querySelector('button .eui-label');\n                            if (this.isLabelUpdatedFromSelectedItem && labelElement) {\n                                (labelElement as HTMLElement).innerText = euiDropdownItem.elementRef.nativeElement.innerText;\n                            }\n                        });\n                    }\n                });\n\n                this.activeDescendantKeyManager = new ActiveDescendantKeyManager(this.euiDropdownItems)\n                    .withHomeAndEnd(true)\n                    .withVerticalOrientation(true)\n                    .withWrap();\n                this.activeDescendantKeyManager.setFirstItemActive();\n            }\n\n            this.createKeyboardHandlerSubscription();\n            this.isOpened.set(true);\n            this.isDropdownOpen.emit(true);\n\n            // Announce expanded on trigger\n            if (this.triggerRef?.nativeElement.firstElementChild && this.isFocusableElement(this.triggerRef.nativeElement.firstElementChild as HTMLElement)) {\n                this._renderer?.setAttribute(this.triggerRef.nativeElement.firstElementChild as HTMLElement, 'aria-expanded', 'true');\n            } else if(this.triggerRef?.nativeElement.firstElementChild?.firstChild && this.isFocusableElement(this.triggerRef.nativeElement.firstElementChild.firstChild as HTMLElement)) {\n                this._renderer?.setAttribute(this.triggerRef.nativeElement.firstElementChild.firstChild as HTMLElement, 'aria-expanded', 'true');\n            }\n        }\n    }\n\n    /**\n     * Close a dropdown\n     *\n     * @param recursively If true, close the parent dropdown as well\n     */\n    public closeDropdown(recursively = false): void {\n        this.isOpened.set(false);\n        this.expand.emit(false);\n        this.euiDropdownItemsEventSubscriptions.forEach((euiDropdownItemsEventSubscription) => {\n            euiDropdownItemsEventSubscription.unsubscribe();\n        });\n        this.keydownListenerSubscription.unsubscribe();\n        if (this.hasDropdownItems) {\n            this.activeDescendantKeyManager?.setFirstItemActive();\n        }\n        this.scrollDispatcherSubscription.unsubscribe();\n        this.activeDescendantKeyManagerChangeSubscription.unsubscribe();\n        this.scrollSubscription.unsubscribe();\n        this.overlayRef?.dispose();\n        this.overlayRef = null;\n        this.activeDescendantKeyManager = null;\n        if (this.trapFocusAutoCapture) {\n            this.origin.focus();\n        }\n        // Update aria-expanded on the trigger\n        if (this.triggerRef?.nativeElement.firstElementChild && this.isFocusableElement(this.triggerRef.nativeElement.firstElementChild as HTMLElement)) {\n            this._renderer?.setAttribute(this.triggerRef.nativeElement.firstElementChild as HTMLElement, 'aria-expanded', 'false');\n        } else if(this.triggerRef?.nativeElement.firstElementChild?.firstChild && this.isFocusableElement(this.triggerRef.nativeElement.firstElementChild.firstChild as HTMLElement)) {\n            this._renderer?.setAttribute(this.triggerRef.nativeElement.firstElementChild.firstChild as HTMLElement, 'aria-expanded', 'false');\n        }\n        if (recursively && this.parentDropdown) {\n            this.parentDropdown.closeDropdown(true);\n        }\n\n        this.isDropdownOpen.emit(false);\n    }\n    /**\n     * Method fired when the dropdown content is changed.\n     *\n     */\n    public projectContentChanged(): void {\n        if (!this.isRightClickEnabled) {\n            this.positionStrategy = this.getPositionStrategy();\n            this.overlayRef.updatePositionStrategy(this.positionStrategy);\n        }\n    }\n    /**\n     * Handles the keyboard navigation on the menu items upon opening the dropdown.\n     *\n     */\n    public createKeyboardHandlerSubscription(): void {\n        this.keydownListenerSubscription = fromEvent(document, 'keydown').subscribe((event: KeyboardEvent) => {\n            if (this.isOpened()) {\n                if (\n                    event.code === 'Enter' &&\n                    !this.hasTabNavigation &&\n                    this.activeDescendantKeyManager?.activeItem &&\n                    !this.activeDescendantKeyManager.activeItem?.elementRef?.nativeElement?.disabled\n                ) {\n                    this.activeDescendantKeyManager.activeItem.isFocus = true;\n                    // eslint-disable-next-line\n                    this.isExpandOnHover\n                        ? this.activeDescendantKeyManager.activeItem.mouseenter()\n                        : this.activeDescendantKeyManager.activeItem.click();\n\n                    if (this.activeDescendantKeyManager?.activeItem?.subDropdown) {\n                        this.activeDescendantKeyManager.activeItem.subDropdown.setParentDropdown(this);\n                        this.keydownListenerSubscription.unsubscribe();\n                    } else {\n                        this.closeDropdown();\n                    }\n                    event.preventDefault();\n                } else if ((this.subDropdownPosition === 'right' && event.code === 'ArrowLeft') || this.subDropdownPosition === 'left' && event.code === 'ArrowRight') {\n                    if (this.parentDropdown) {\n                        this.parentDropdown.createKeyboardHandlerSubscription();\n                        this.closeDropdown();\n                    }\n                    event.preventDefault();\n                } else if ((this.subDropdownPosition === 'right' && event.code === 'ArrowRight') || (this.subDropdownPosition === 'left' && event.code === 'ArrowLeft')) {\n                    if (this.activeDescendantKeyManager?.activeItem?.subDropdown) {\n                        this.activeDescendantKeyManager.activeItem.isFocus = true;\n                        // eslint-disable-next-line\n                        this.isExpandOnHover\n                            ? this.activeDescendantKeyManager.activeItem.mouseenter()\n                            : this.activeDescendantKeyManager.activeItem.click();\n                        this.activeDescendantKeyManager.activeItem.subDropdown.setParentDropdown(this);\n                        this.keydownListenerSubscription.unsubscribe();\n                    }\n                    event.preventDefault();\n                } else if (event.code === 'Tab' && !this.hasTabNavigation) {\n                    this.closeDropdown(true);\n                } else {\n                    // Delegate to key manager and then move DOM focus to the active item (roving tabindex)\n                    const before = this.activeDescendantKeyManager?.activeItem;\n                    this.activeDescendantKeyManager?.onKeydown(event);\n                    const active = this.activeDescendantKeyManager?.activeItem;\n                    if (active && active !== before && !active.elementRef?.nativeElement?.disabled) {\n                        // Update roving tabindex and move focus so that screen readers announce it\n                        active.isFocus = true;\n                        active.focus?.({ preventScroll: true });\n                    }\n                    // Prevent default arrow key behavior when navigating within the menu\n                    if (['ArrowUp','ArrowDown','ArrowLeft','ArrowRight','Home','End'].includes(event.code)) {\n                        event.preventDefault();\n                    }\n                }\n\n                this.cd.markForCheck();\n            }\n        });\n    }\n    /**\n     * Sets the parent dropdown for a sub-dropdown.\n     *\n     * @param parentDropdown Parent dropdown component\n     */\n    public setParentDropdown(parentDropdown: EuiDropdownComponent): void {\n        this.parentDropdown = parentDropdown;\n        this.position = this.subDropdownPosition;\n\n        this.setPosition();\n\n        const positionStrategy = this.getPositionStrategy();\n        this.overlayRef.updatePositionStrategy(positionStrategy);\n    }\n\n    /**\n     * Checks the existence of focusable elements\n     * @param origin The element to check\n     */\n    private isFocusableElement(origin: unknown): boolean {\n        if (!(origin instanceof Element)) {\n            return false;\n        }\n        return (\n            (origin as Element).matches('button') ||\n            (origin as Element).matches('a') ||\n            (origin as Element).matches('input') ||\n            (origin as Element).matches('select') ||\n            (origin as Element).matches('textarea') ||\n            (origin as Element).matches('[tabindex]:not([tabindex=\"-1\"])')\n        );\n    }\n    /**\n     * Method that returns the dropdown items.\n     *\n     * @type {boolean}\n     */\n    private get hasDropdownItems(): boolean {\n        return this.euiDropdownItems?.length > 0;\n    }\n    /**\n     * Method that returns the strategy for the overlay position.\n     *\n     * @type {FlexibleConnectedPositionStrategy}\n     */\n    private getPositionStrategy(): FlexibleConnectedPositionStrategy {\n        return this.overlay\n            .position()\n            .flexibleConnectedTo(this.origin as FlexibleConnectedPositionStrategyOrigin)\n            .withPositions([\n                new ConnectionPositionPair(\n                    { originX: this.originX, originY: this.originY },\n                    { overlayX: this.overlayX, overlayY: this.overlayY },\n                ),\n            ])\n            .withFlexibleDimensions(false)\n            .withLockedPosition(true);\n    }\n    /**\n     * Method that returns the strategy for the contextual menu position.\n     *\n     * @type {GlobalPositionStrategy}\n     */\n    private getContextualMenuPositionStrategy(): GlobalPositionStrategy {\n        if(isPlatformServer(this.platformId)) {\n            throw new Error('getContextualMenuPositionStrategy is not supported on the server');\n        }\n        const panelHeight = this.overlayRef?.overlayElement.clientHeight || 0;\n        const scrollX = window.scrollX || window.pageXOffset;\n        const scrollY = window.scrollY || window.pageYOffset;\n        const newX = this.mousePositionX + (this.initialScrollX - scrollX);\n        const newY = this.mousePositionY + (this.initialScrollY - scrollY);\n        const menuBottomPosition = newY + panelHeight;\n        const isMenuBelowWindowBottom = menuBottomPosition > window.innerHeight;\n\n        const positionStrategy = this.overlay\n            .position()\n            .global()\n            .left(newX + 'px');\n\n        if (isMenuBelowWindowBottom) {\n            positionStrategy.bottom(window.innerHeight - newY + 'px');\n        } else {\n            positionStrategy.top(newY + 'px');\n        }\n\n        return positionStrategy;\n    }\n    /**\n     * Method that checks if the dropdown is visible.\n     *\n     * @param origin Origin of the dropdown position\n     * @param scrollableParent Scrollable parent element\n     * @type {boolean}\n     */\n    private isVisible(origin: HTMLElement, scrollableParent: HTMLElement): boolean {\n        const originY = origin.getBoundingClientRect().y;\n        const scrollableParentY = Math.abs(scrollableParent.getBoundingClientRect().y);\n        const scrollableParentHeight = scrollableParent.getBoundingClientRect().height - 50;\n\n        return (\n            (originY > 0 && originY < scrollableParentHeight) ||\n            (originY - scrollableParentY > 0 && originY < scrollableParentY + scrollableParentHeight)\n        );\n    }\n    /**\n     * Method that checks if the trigger is focusable upon closing the dropdown panel.\n     *\n     * @param origin Origin html element\n     * @type {boolean}\n     */\n    private isTriggerFocusableOnClose(origin: HTMLElement): boolean {\n        return origin.matches('button:not([disabled])') || origin.matches('a');\n    }\n    /**\n     * Method that sets the position of the dropdown panel.\n     *\n     */\n    private setPosition(): void {\n        if (this.position === 'top') {\n            this.originY = 'top';\n            this.overlayY = 'bottom';\n\n            if (this.isDropDownRightAligned) {\n                this.originX = 'end';\n                this.overlayX = 'end';\n            }\n        }\n        if (this.position === 'right') {\n            this.originX = 'end';\n            this.overlayX = 'start';\n            this.overlayY = 'center';\n        }\n        if (this.position === 'bottom') {\n            this.originY = 'bottom';\n            this.overlayY = 'top';\n\n            if (this.isDropDownRightAligned) {\n                this.originX = 'end';\n                this.overlayX = 'end';\n            }\n        }\n        if (this.position === 'left') {\n            this.originX = 'start';\n            this.overlayX = 'end';\n            this.overlayY = 'center';\n        }\n    }\n}\n",
            "styleUrl": "./eui-dropdown.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy",
                "AfterViewInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 220,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                        "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 7716,
                                "end": 7833,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 7717,
                                    "end": 7728,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                            },
                            {
                                "pos": 7833,
                                "end": 7898,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 7834,
                                    "end": 7841,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 7842,
                                    "end": 7850,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 7843,
                                        "end": 7849,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                },
                "isOpen": {
                    "name": "isOpen",
                    "getSignature": {
                        "name": "isOpen",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 293,
                        "rawdescription": "\n\nWhether the eui-dropdown is open.\n\n\n```html\n<eui-dropdown #dropdown>\n     <my-component *ngIf=\"dropdown.isOpen\"></my-component>\n</eui-dropdown>\n```\n",
                        "description": "<p>Whether the eui-dropdown is open.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dropdown #dropdown&gt;\n     &lt;my-component *ngIf=&quot;dropdown.isOpen&quot;&gt;&lt;/my-component&gt;\n&lt;/eui-dropdown&gt;</code></pre></div>",
                        "deprecated": true,
                        "deprecationMessage": "This property will be removed in the future. Use `isOpened` signal instead.",
                        "jsdoctags": [
                            {
                                "pos": 10773,
                                "end": 10875,
                                "kind": 332,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 10774,
                                    "end": 10784,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "deprecated"
                                },
                                "comment": "<p>This property will be removed in the future. Use <code>isOpened</code> signal instead.</p>\n"
                            },
                            {
                                "pos": 10875,
                                "end": 11041,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 10876,
                                    "end": 10886,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "usageNotes"
                                },
                                "comment": "<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dropdown #dropdown&gt;\n     &lt;my-component *ngIf=&quot;dropdown.isOpen&quot;&gt;&lt;/my-component&gt;\n&lt;/eui-dropdown&gt;</code></pre></div>"
                            },
                            {
                                "pos": 11041,
                                "end": 11113,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 11042,
                                    "end": 11049,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>A boolean with value <code>true</code> when open, otherwise <code>false</code>.</p>\n"
                            }
                        ]
                    }
                }
            },
            "templateData": "<div #triggerRef class=\"eui-dropdown__trigger-container\"\n    (click)=\"!isRightClickEnabled ? onTriggerClicked($event) : null\"\n    (contextmenu)=\"isRightClickEnabled ? onTriggerRightClicked($event) : null\">\n    <ng-content></ng-content>\n</div>\n\n<ng-template #templatePortalContent>\n    <div\n        attr.data-e2e=\"{{ e2eAttr }}\"\n        [@openClose]=\"isOpened() ? 'open' : 'closed'\"\n        cdkTrapFocus\n        [cdkTrapFocusAutoCapture]=\"trapFocusAutoCapture\"\n        role=\"menu\"\n        aria-orientation=\"vertical\"\n        aria-label=\"eUI dropdown panel\"\n        class=\"eui-dropdown__panel-container eui-21\"\n        [style.max-height]=\"height\"\n        [style.width]=\"width\"\n        [tabindex]=\"tabIndex\"\n        (click)=\"onClick()\"\n        (cdkObserveContent)=\"projectContentChanged()\">\n        <ng-content select=\"eui-dropdown-content\"></ng-content>\n    </div>\n</ng-template>\n"
        },
        {
            "name": "EuiDropdownItemComponent",
            "id": "component-EuiDropdownItemComponent-5926a77bb7f2bd384242270f2037ef1aa48edb9c90b9dc181a698718d1226821dd5a25840b7110935ad72b7b64bae124d7fba690d17d703311ccb46191798767",
            "file": "packages/components/eui-dropdown/dropdown-item/eui-dropdown-item.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-dropdown-item, [euiDropdownItem]",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-dropdown-item.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "isActive",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2805,
                            "end": 2837,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2806,
                                "end": 2813,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>undefined (falsy)</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nMarks the item as currently selected or active within the dropdown.\nApplies distinct styling to indicate the active state to users.\n",
                    "description": "<p>Marks the item as currently selected or active within the dropdown.\nApplies distinct styling to indicate the active state to users.</p>\n",
                    "line": 84,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isFocus",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3147,
                            "end": 3179,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3148,
                                "end": 3155,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>undefined (falsy)</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIndicates whether the item currently has keyboard focus during navigation.\nControls tabindex and applies focus styling for accessibility compliance.\nManaged internally by the keyboard navigation system.\n",
                    "description": "<p>Indicates whether the item currently has keyboard focus during navigation.\nControls tabindex and applies focus styling for accessibility compliance.\nManaged internally by the keyboard navigation system.</p>\n",
                    "line": 92,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "subDropdown",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nReference to a nested dropdown component that opens as a submenu from this item.\nWhen provided, displays a visual indicator and enables hierarchical menu navigation.\n",
                    "description": "<p>Reference to a nested dropdown component that opens as a submenu from this item.\nWhen provided, displays a visual indicator and enables hierarchical menu navigation.</p>\n",
                    "line": 59,
                    "type": "EuiDropdownComponent",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "elementRef",
                    "defaultValue": "inject(ElementRef)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 53
                },
                {
                    "name": "role",
                    "defaultValue": "'menuitem'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 61,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "click",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 106,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "focus",
                    "args": [
                        {
                            "name": "options",
                            "type": "FocusOptions",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 102,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "options",
                            "type": "FocusOptions",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "mouseenter",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 110,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "setActiveStyles",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 94,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "setInactiveStyles",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 98,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'menuitem'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 61,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "attr.tabindex",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 64,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 68,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "<p>Represents an individual selectable item within an eui-dropdown menu.\nImplements keyboard navigation and focus management through the CDK Highlightable interface.\nSupports nested submenus and active/focused visual states for accessibility.\nTypically used as a child element within eui-dropdown to create menu options.</p>\n<h3>Basic menu item</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-dropdown&gt;\n  &lt;button euiButton&gt;Menu&lt;/button&gt;\n  &lt;eui-dropdown-item&gt;Edit&lt;/eui-dropdown-item&gt;\n  &lt;eui-dropdown-item [isActive]=&quot;true&quot;&gt;Delete&lt;/eui-dropdown-item&gt;\n&lt;/eui-dropdown&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Implements menuitem role for proper screen reader announcement</li>\n<li>Supports roving tabindex for keyboard navigation</li>\n<li>Focus state is visually indicated and programmatically managed</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use <code>isActive</code> to highlight the currently selected item</li>\n<li>Nest <code>eui-dropdown</code> inside item via <code>subDropdown</code> for hierarchical menus</li>\n<li>Focus management is handled automatically by parent dropdown</li>\n</ul>\n",
            "rawdescription": "\n\nRepresents an individual selectable item within an eui-dropdown menu.\nImplements keyboard navigation and focus management through the CDK Highlightable interface.\nSupports nested submenus and active/focused visual states for accessibility.\nTypically used as a child element within eui-dropdown to create menu options.\n\n### Basic menu item\n```html\n<eui-dropdown>\n  <button euiButton>Menu</button>\n  <eui-dropdown-item>Edit</eui-dropdown-item>\n  <eui-dropdown-item [isActive]=\"true\">Delete</eui-dropdown-item>\n</eui-dropdown>\n```\n\n### Accessibility\n- Implements menuitem role for proper screen reader announcement\n- Supports roving tabindex for keyboard navigation\n- Focus state is visually indicated and programmatically managed\n\n### Notes\n- Use `isActive` to highlight the currently selected item\n- Nest `eui-dropdown` inside item via `subDropdown` for hierarchical menus\n- Focus management is handled automatically by parent dropdown\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ChangeDetectionStrategy,\n    ViewEncapsulation,\n    Input,\n    ElementRef,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\nimport { Highlightable } from '@angular/cdk/a11y';\n\nimport { EuiDropdownComponent } from '../eui-dropdown.component';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\n/**\n * @description\n * Represents an individual selectable item within an eui-dropdown menu.\n * Implements keyboard navigation and focus management through the CDK Highlightable interface.\n * Supports nested submenus and active/focused visual states for accessibility.\n * Typically used as a child element within eui-dropdown to create menu options.\n *\n * @usageNotes\n * ### Basic menu item\n * ```html\n * <eui-dropdown>\n *   <button euiButton>Menu</button>\n *   <eui-dropdown-item>Edit</eui-dropdown-item>\n *   <eui-dropdown-item [isActive]=\"true\">Delete</eui-dropdown-item>\n * </eui-dropdown>\n * ```\n *\n * ### Accessibility\n * - Implements menuitem role for proper screen reader announcement\n * - Supports roving tabindex for keyboard navigation\n * - Focus state is visually indicated and programmatically managed\n *\n * ### Notes\n * - Use `isActive` to highlight the currently selected item\n * - Nest `eui-dropdown` inside item via `subDropdown` for hierarchical menus\n * - Focus management is handled automatically by parent dropdown\n */\n@Component({\n    selector: 'eui-dropdown-item, [euiDropdownItem]',\n    templateUrl: './eui-dropdown-item.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        ...EUI_ICON,\n    ],\n})\nexport class EuiDropdownItemComponent implements Highlightable {\n    elementRef = inject(ElementRef);\n\n    /**\n     * Reference to a nested dropdown component that opens as a submenu from this item.\n     * When provided, displays a visual indicator and enables hierarchical menu navigation.\n     */\n    @Input() subDropdown: EuiDropdownComponent;\n\n    @HostBinding('attr.role') role = 'menuitem';\n    // Make item programmatically focusable using roving tabindex to properly announce the items in the screen reader\n    @HostBinding('attr.tabindex')\n    get tabIndex(): number { \n        return this.isFocus ? 0 : -1; \n    }\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-dropdown-item',\n            this.isActive ? 'eui-dropdown-item--active' : '',\n            this.isFocus ? 'eui-dropdown-item--focused' : '',\n            this.subDropdown ? 'eui-dropdown-item--has-subdropdown' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * Marks the item as currently selected or active within the dropdown.\n     * Applies distinct styling to indicate the active state to users.\n     * @default undefined (falsy)\n     */\n    @Input({ transform: booleanAttribute }) isActive: boolean;\n    \n    /**\n     * Indicates whether the item currently has keyboard focus during navigation.\n     * Controls tabindex and applies focus styling for accessibility compliance.\n     * Managed internally by the keyboard navigation system.\n     * @default undefined (falsy)\n     */\n    @Input({ transform: booleanAttribute }) isFocus: boolean;\n\n    public setActiveStyles(): void {\n        this.isFocus = true;\n    }\n\n    public setInactiveStyles(): void {\n        this.isFocus = false;\n    }\n\n    public focus(options?: FocusOptions): void {\n        this.elementRef.nativeElement.focus({ preventScroll: true, ...options });\n    }\n\n    public click(): void {\n        this.elementRef.nativeElement.click();\n    }\n\n    public mouseenter(): void {\n        const mouseenterEvent = new Event('mouseenter');\n        this.elementRef.nativeElement.dispatchEvent(mouseenterEvent);\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "Highlightable"
            ],
            "accessors": {
                "tabIndex": {
                    "name": "tabIndex",
                    "getSignature": {
                        "name": "tabIndex",
                        "type": "number",
                        "returnType": "number",
                        "line": 64
                    }
                },
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 68
                    }
                }
            },
            "templateData": "<div class=\"eui-dropdown-item__container\">\n    <div class=\"eui-dropdown-item__content\">\n        @if (subDropdown) {\n            <div class=\"eui-dropdown-item__content-icon eui-dropdown-item__content-icon--left\">\n                <eui-icon-svg icon=\"eui-chevron-left\" size=\"s\" fillColor=\"secondary\"></eui-icon-svg>\n            </div>\n        }\n        <div class=\"eui-dropdown-item__content-text\">\n            <ng-content></ng-content>\n        </div>\n        @if (subDropdown) {\n            <div class=\"eui-dropdown-item__content-icon eui-dropdown-item__content-icon--right\">\n                <eui-icon-svg icon=\"eui-chevron-right\" size=\"s\" fillColor=\"secondary\"></eui-icon-svg>\n            </div>\n        }\n    </div>\n</div>\n"
        },
        {
            "name": "EuiEditorComponent",
            "id": "component-EuiEditorComponent-1de77e37aa0b813aae17399396f7d46e58ab3e5b4bda74580b0e07df4426a74c5b8018d75987479ddf3a70a7427590ff3bcf9ef8f612aaedf2c957f800c735ab",
            "file": "packages/components/externals/eui-editor/eui-editor.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [
                {
                    "name": "EuiDialogService",
                    "type": "injectable"
                }
            ],
            "selector": "eui-editor",
            "styleUrls": [
                "./styles/_index.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-editor.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "customToolbarConfig",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 101,
                    "type": "ToolbarItemConfig[]",
                    "decorators": []
                },
                {
                    "name": "customToolbarPosition",
                    "defaultValue": "'top'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 95,
                    "type": "\"top\" | \"bottom\"",
                    "decorators": []
                },
                {
                    "name": "debug",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 94,
                    "type": "\"warn\" | \"log\" | \"error\" | unknown",
                    "decorators": []
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-editor'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 89,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "format",
                    "defaultValue": "'html'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 92,
                    "type": "\"html\" | \"json\"",
                    "decorators": []
                },
                {
                    "name": "formats",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 99,
                    "type": "string[] | null",
                    "decorators": []
                },
                {
                    "name": "height",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 103,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 90,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "isEnabledOnFocus",
                    "deprecated": true,
                    "deprecationMessage": "The input isEnabledOnFocus will be deprecated in next major version of eUI.\nPlease check the showcase sample in order to replace this feature using the focus emitter.",
                    "jsdoctags": [
                        {
                            "pos": 5910,
                            "end": 6100,
                            "kind": 332,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5911,
                                "end": 5921,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "deprecated"
                            },
                            "comment": "<p>The input isEnabledOnFocus will be deprecated in next major version of eUI.\nPlease check the showcase sample in order to replace this feature using the focus emitter.</p>\n"
                        }
                    ],
                    "rawdescription": "\nPlease check the showcase sample in order to replace this feature using the focus emitter.\n",
                    "description": "<p>Please check the showcase sample in order to replace this feature using the focus emitter.</p>\n",
                    "line": 157,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "isMinimalToolbar",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 165,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "isReadOnly",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 137,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "modules",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 98,
                    "type": "QuillModules",
                    "decorators": []
                },
                {
                    "name": "placeholder",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 91,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "showCounters",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 145,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "tabindex",
                    "defaultValue": "'0'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 97,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "theme",
                    "defaultValue": "'snow'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 93,
                    "type": "\"snow\" | \"bubble\"",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "blur",
                    "defaultValue": "new EventEmitter<Blur>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 110,
                    "type": "EventEmitter"
                },
                {
                    "name": "charactersCountChange",
                    "defaultValue": "new EventEmitter<number>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 111,
                    "type": "EventEmitter"
                },
                {
                    "name": "contentChange",
                    "defaultValue": "new EventEmitter<ContentChange>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 107,
                    "type": "EventEmitter"
                },
                {
                    "name": "editorChange",
                    "defaultValue": "new EventEmitter<EditorChangeSelection | ContentChange>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 106,
                    "type": "EventEmitter"
                },
                {
                    "name": "editorCreate",
                    "defaultValue": "new EventEmitter<typeof QuillType>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 105,
                    "type": "EventEmitter"
                },
                {
                    "name": "focus",
                    "defaultValue": "new EventEmitter<Focus>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 109,
                    "type": "EventEmitter"
                },
                {
                    "name": "selectionChange",
                    "defaultValue": "new EventEmitter<SelectionChange>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 108,
                    "type": "EventEmitter"
                },
                {
                    "name": "wordsCountChange",
                    "defaultValue": "new EventEmitter<number>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 112,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "bytesCount",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 124,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "charactersCount",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 122,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "euiEditorCustomToolbar",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiEditorCustomToolbarTagDirective",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 134,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined, {static: false}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "formControl",
                    "defaultValue": "new FormControl()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "FormControl",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 127,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "generatedId",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 126,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "isFocused",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 125,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "jsonToHtmlContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 128,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "readyToRender",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 130,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "toolbarConfig",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 129,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 114,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class.eui-editor'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "value",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string | any",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 121,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "wordsCount",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 123,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "_onBlur",
                    "args": [
                        {
                            "name": "event",
                            "type": "Blur",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 452,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "Blur",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "_onContentChanged",
                    "args": [
                        {
                            "name": "event",
                            "type": "ContentChange",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 411,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "ContentChange",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "_onEditorCreated",
                    "args": [
                        {
                            "name": "quill",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 383,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "quill",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "_onFocus",
                    "args": [
                        {
                            "name": "event",
                            "type": "Focus",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 446,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "Focus",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "_onSelectionChanged",
                    "args": [
                        {
                            "name": "event",
                            "type": "SelectionChange",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 442,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "SelectionChange",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "editorDeleteContent",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 360,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "editorRedo",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 356,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "editorUndo",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 352,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "enableEditorOnFocus",
                    "args": [
                        {
                            "name": "event",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 321,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "imageUrlHandler",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 326,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "insertTable",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 373,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "c",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 245,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "c",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 316,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 251,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "registerOnChange",
                    "args": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 458,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "registerOnTouched",
                    "args": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 462,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "writeValue",
                    "args": [
                        {
                            "name": "value",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 466,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.aria-invalid",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 174,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "attr.readonly",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 117,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 79,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class.eui-editor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 114,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "QuillModule",
                    "type": "module"
                },
                {
                    "name": "NgStyle"
                },
                {
                    "name": "ReactiveFormsModule",
                    "type": "module"
                },
                {
                    "name": "EuiTooltipDirective",
                    "type": "directive"
                },
                {
                    "name": "EuiEditorCountersComponent",
                    "type": "component"
                },
                {
                    "name": "EuiEditorJsonViewComponent",
                    "type": "component"
                },
                {
                    "name": "TranslateModule",
                    "type": "module"
                },
                {
                    "name": "forwardRef(() => ClassFilterPipe)",
                    "type": "pipe"
                },
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "<p>Rich text editor component based on Quill with customizable toolbar and formatting options.\nProvides WYSIWYG editing capabilities with support for text formatting, images, tables, links, and code blocks.\nImplements ControlValueAccessor for seamless integration with Angular forms.\nSupports both HTML and JSON output formats with character and word counting.\nCommonly used for content management, document editing, comment systems, and rich text input fields.\nDependencies: Quill editor library, EuiDialogService for image URL dialogs.</p>\n",
            "rawdescription": "\n\nRich text editor component based on Quill with customizable toolbar and formatting options.\nProvides WYSIWYG editing capabilities with support for text formatting, images, tables, links, and code blocks.\nImplements ControlValueAccessor for seamless integration with Angular forms.\nSupports both HTML and JSON output formats with character and word counting.\nCommonly used for content management, document editing, comment systems, and rich text input fields.\nDependencies: Quill editor library, EuiDialogService for image URL dialogs.\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    EventEmitter,\n    Input,\n    Output,\n    OnInit,\n    ViewEncapsulation,\n    ChangeDetectionStrategy,\n    HostBinding,\n    OnDestroy,\n    Directive,\n    ContentChild,\n    forwardRef,\n    ElementRef,\n    HostListener,\n    Pipe,\n    ChangeDetectorRef,\n    OnChanges,\n    SimpleChanges,\n    inject,\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormGroup, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { ContentChange, QuillModules, QuillModule } from '@eui/components/externals/quill';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n// eslint-disable-next-line @typescript-eslint/naming-convention,no-underscore-dangle,id-denylist,id-match\nconst QuillType: any = window['Quill'];\nimport { startWith, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport Delta from 'quill-delta';\n\nimport { EuiDialogConfig, EuiDialogService } from '@eui/components/eui-dialog';\n\nimport { LoaderService, BetterTableModule, Blur, EditorChangeSelection, Focus, SelectionChange, ToolbarItemConfig } from '@eui/components/externals/quill';\nimport { EuiEditorImageDialogComponent } from './image-url-dialog/image-url-dialog.component';\nimport { NgStyle } from '@angular/common';\nimport { EuiTooltipDirective } from '@eui/components/directives';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EuiEditorCountersComponent } from './counters/eui-editor-counters.component';\nimport { EuiEditorJsonViewComponent } from './json-view/eui-editor-json-view.component';\n// eslint-disable-next-line prefer-const\nlet QuillBetterTable = window['quillBetterTable'];\n\n/**\n * @description\n * Rich text editor component based on Quill with customizable toolbar and formatting options.\n * Provides WYSIWYG editing capabilities with support for text formatting, images, tables, links, and code blocks.\n * Implements ControlValueAccessor for seamless integration with Angular forms.\n * Supports both HTML and JSON output formats with character and word counting.\n * Commonly used for content management, document editing, comment systems, and rich text input fields.\n * Dependencies: Quill editor library, EuiDialogService for image URL dialogs.\n */\n@Component({\n    // eslint-disable-next-line\n    selector: 'eui-editor',\n    templateUrl: './eui-editor.component.html',\n    styleUrls: ['./styles/_index.scss'],\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [\n        // TODO: Check to change the providing way. Provide with injector reference\n        EuiDialogService,\n    ],\n    imports: [\n        QuillModule,\n        NgStyle,\n        ReactiveFormsModule,\n        EuiTooltipDirective,\n        EuiEditorCountersComponent,\n        EuiEditorJsonViewComponent,\n        TranslateModule,\n        forwardRef(() => ClassFilterPipe),\n        ...EUI_ICON,\n    ],\n})\nexport class EuiEditorComponent implements ControlValueAccessor, OnInit, OnDestroy, OnChanges {\n    @HostBinding('class')\n    get class(): string {\n        return [\n            'eui-editor',\n            this.isReadOnly ? 'eui-editor--readonly' : '',\n            this.isReadOnly && this.value ? '': 'eui-editor--empty',\n            !this.isReadOnly ? 'eui-editor-wrapper' : '',\n            this.isFocused ? 'eui-editor--focused' : '',\n            this.isEnabledOnFocus ? 'eui-editor--enabled-on-focus' : '',\n        ].join(' ').trim();\n    }\n    @Input() e2eAttr = 'eui-editor';\n    @Input() id: string;\n    @Input() placeholder = '';\n    @Input() format: 'html' | 'json' = 'html';\n    @Input() theme: 'snow' | 'bubble' = 'snow';\n    @Input() debug: 'warn' | 'log' | 'error' | false = false;\n    @Input() customToolbarPosition: 'top' | 'bottom' = 'top';\n    @HostBinding('attr.tabindex')\n    @Input() tabindex = '0';\n    @Input() modules: QuillModules;\n    @Input() formats?: string[] | null;\n    // NEW EUI INPUTS\n    @Input() customToolbarConfig: ToolbarItemConfig[];\n    @HostBinding('style.height')\n    @Input() height: string;\n    // NEW OUTPUTS => eUI13+ only\n    @Output() editorCreate = new EventEmitter<typeof QuillType>();\n    @Output() editorChange = new EventEmitter<EditorChangeSelection | ContentChange>();\n    @Output() contentChange = new EventEmitter<ContentChange>();\n    @Output() selectionChange = new EventEmitter<SelectionChange>();\n    @Output() focus = new EventEmitter<Focus>();\n    @Output() blur = new EventEmitter<Blur>();\n    @Output() charactersCountChange = new EventEmitter<number>();\n    @Output() wordsCountChange = new EventEmitter<number>();\n\n    @HostBinding('class.eui-editor') true: boolean;\n\n    @HostBinding('attr.readonly')\n    get readonly(): string {\n        return this.isReadOnly ? 'readonly' : null;\n    }\n\n    public value: string | any = '';\n    public charactersCount = 0;\n    public wordsCount = 0;\n    public bytesCount = 0;\n    public isFocused = false;\n    public generatedId: string;\n    public formControl: FormControl = new FormControl();\n    public jsonToHtmlContent: string;\n    public toolbarConfig: { [id: string]: { label: string; options: any[]; dialogMessage: string } };\n    protected readyToRender: boolean = false;\n\n    // eslint-disable-next-line max-len\n    @ContentChild(forwardRef(() => EuiEditorCustomToolbarTagDirective), { static: false })\n    euiEditorCustomToolbar: EuiEditorCustomToolbarTagDirective;\n\n    @Input()\n    get isReadOnly(): boolean {\n        return this._isReadOnly;\n    }\n    set isReadOnly(value: BooleanInput) {\n        this._isReadOnly = coerceBooleanProperty(value);\n    }\n    private _isReadOnly = false;\n    @Input()\n    get showCounters(): boolean {\n        return this._showCounters;\n    }\n    set showCounters(value: BooleanInput) {\n        this._showCounters = coerceBooleanProperty(value);\n    }\n    private _showCounters = true;\n    \n     /** @deprecated The input isEnabledOnFocus will be deprecated in next major version of eUI.\n     * Please check the showcase sample in order to replace this feature using the focus emitter.\n    */\n    @Input()\n    get isEnabledOnFocus(): boolean {\n        return this._isEnabledOnFocus;\n    }\n    set isEnabledOnFocus(value) {\n        this._isEnabledOnFocus = coerceBooleanProperty(value);\n    }\n    private _isEnabledOnFocus = false;\n    @Input()\n    get isMinimalToolbar(): boolean {\n        return this._isMinimalToolbar;\n    }\n    set isMinimalToolbar(value: BooleanInput) {\n        this._isMinimalToolbar = coerceBooleanProperty(value);\n    }\n    private _isMinimalToolbar = false;\n\n    @HostBinding('attr.aria-invalid')\n    get isInvalid(): boolean {\n        return this._isInvalid;\n    }\n    set isInvalid(value: BooleanInput) {\n        this._isInvalid = coerceBooleanProperty(value);\n    }\n    private _isInvalid = false;\n\n    private quill: typeof QuillType;\n    private minimalToolbarConfig: ToolbarItemConfig[] = [\n        { name: 'headings' },\n        { name: 'bold' },\n        { name: 'italic' },\n        { name: 'underline' },\n        { name: 'fontColor' },\n        { name: 'textAlign' },\n        { name: 'link' },\n        { name: 'image' },\n        { name: 'imageUrl' },\n        { name: 'clean' },\n        { name: 'delete' },\n        { name: 'undo' },\n        { name: 'redo' },\n        { name: 'counters' },\n    ];\n    private defaultToolbarConfig: ToolbarItemConfig[] = [\n        { name: 'headings', label: 'Style - Apply an HTML tag or CSS class to the selected text', options: [1, 2, 3, 4, 5, 6] },\n        { name: 'font', label: 'Font - Change the font face' },\n        { name: 'bold', label: 'Bold (Ctrl + B) - Make the selected text bold' },\n        { name: 'italic', label: 'Italic (Ctrl + I) - Italicize the selected text' },\n        { name: 'underline', label: 'Underline (Ctrl + U) - Underline the selected text' },\n        { name: 'strike', label: 'Strikethrough - Draw a line to the middle of the selected text' },\n        { name: 'fontColor', label: 'Font Color - Change the text color' },\n        { name: 'fontBackground', label: 'Font Background - Change the text background color' },\n        { name: 'subscript', label: 'Subscript - Create ssmall letters below the text baseline' },\n        { name: 'superscript', label: 'Superscript - Create small letters above the line of the text' },\n        { name: 'textAlign', label: 'Text Align - Align the text to the selected position: left (default), center, right or justify' },\n        { name: 'orderedList', label: 'Numbering - Start an ordered list' },\n        { name: 'bulletList', label: 'Bullets - Start a bulleted list' },\n        { name: 'indentLess', label: 'Decrease Indent - Decrease the indent level of the paragraph' },\n        { name: 'indentMore', label: 'Increase Indent - Increase the indent level of the paragraph' },\n        { name: 'blockquote', label: 'Blockquote - Create a quoted block of the selected text' },\n        { name: 'codeBlock', label: 'Insert Code Block - Insert a code block at the cursor row position' },\n        { name: 'link', label: 'Insert Hyperlink (Ctrl + K) - Create a link to a Web page, a picture, an e-mail address or a program' },\n        { name: 'image', label: 'Insert Picture - Insert a picture from a file' },\n        { name: 'imageUrl', label: 'Insert Picture from URL - Insert a picture from a remote URL', dialogMessage: 'Enter image link URL' },\n        { name: 'video', label: 'Insert Video - Insert a video from a file' },\n        { name: 'table', label: 'Insert Table - Insert a 3x3 rows/cols table' },\n        { name: 'clean', label: 'Remove Styles - Remove the styles of the selected text' },\n        { name: 'delete', label: \"Delete content - Permanently deletes editor's contents\" },\n        { name: 'undo', label: 'Undo (Ctrl + Z) - Cancels the previous action' },\n        { name: 'redo', label: 'Redo (Ctrl + Y) - Do the next history action again' },\n        {\n            name: 'counters',\n            label: 'Counters - Characters and words counters (stripped Html)',\n            options: [\n                { name: 'characters', label: 'Characters' },\n                { name: 'words', label: 'Words' },\n            ],\n        },\n    ];\n    private destroy$ = new Subject<boolean>();\n    private euiDialogService = inject(EuiDialogService);\n    private cdr = inject(ChangeDetectorRef);\n    private ngControl = inject(NgControl);\n    private loader = inject(LoaderService);\n\n    constructor() {\n        this.ngControl.valueAccessor = this;\n    }\n\n    ngOnChanges(c: SimpleChanges) {\n        if (!c.isReadOnly?.currentValue) {\n            this.calculateCounters(this.value);\n        }\n    }\n\n    ngOnInit(): void {\n        this.loader.load().subscribe({\n            complete: () => {\n                this.readyToRender = true;\n                this.ngControl.statusChanges.pipe(startWith(this.ngControl.control.status), takeUntil(this.destroy$)).subscribe((status) => {\n                    this.isInvalid = status !== 'VALID';\n                });\n\n                this.generatedId = this.id ? this.id : 'eui-editor-' + (Math.floor(Math.random() * 1000000) + 1).toString();\n\n                this.toolbarConfig = {};\n                if (!this.customToolbarConfig && !this.isMinimalToolbar) {\n                    this.defaultToolbarConfig.forEach((t) => {\n                        this.toolbarConfig = {\n                            ...this.toolbarConfig,\n                            [t.name]: { label: t.label, options: t.options, dialogMessage: t.dialogMessage },\n                        };\n                    });\n                }\n\n                if (this.customToolbarConfig && !this.isMinimalToolbar) {\n                    this.customToolbarConfig.forEach((t) => {\n                        const label = !t.label ? this.defaultToolbarConfig.find((c) => c.name === t.name).label : t.label;\n                        let options = !t.options ? this.defaultToolbarConfig.find((c) => c.name === t.name).options : t.options;\n                        const d = !t.dialogMessage ? this.defaultToolbarConfig.find((c) => c.name === t.name).dialogMessage : t.dialogMessage;\n\n                        if (t.name === 'counters') {\n                            if (!t.options) {\n                                options = this.defaultToolbarConfig.find((c) => c.name === t.name).options;\n                            } else {\n                                options = t.options.map((option) => {\n                                    const optionLabel = option.label\n                                        ? option.label\n                                        : this.defaultToolbarConfig\n                                            .find((dtc) => dtc.name === 'counters')\n                                            .options.find((o) => o.name === option.name).label;\n                                    return { name: option.name, label: optionLabel };\n                                });\n                            }\n                        }\n\n                        this.toolbarConfig = {\n                            ...this.toolbarConfig,\n                            [t.name]: { label, options, dialogMessage: d },\n                        };\n                    });\n                }\n\n                if (this.isMinimalToolbar) {\n                    this.minimalToolbarConfig.forEach((t) => {\n                        const label = !t.label ? this.defaultToolbarConfig.find((c) => c.name === t.name).label : t.label;\n                        const options = !t.options ? this.defaultToolbarConfig.find((c) => c.name === t.name).options : t.options;\n                        const d = !t.dialogMessage ? this.defaultToolbarConfig.find((c) => c.name === t.name).dialogMessage : t.dialogMessage;\n\n                        this.toolbarConfig = {\n                            ...this.toolbarConfig,\n                            [t.name]: { label, options, dialogMessage: d },\n                        };\n                    });\n                }\n                this.cdr.markForCheck();\n            }\n        });\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    public enableEditorOnFocus(event: any): void {\n        this.isReadOnly = false;\n        this.isFocused = true;\n    }\n\n    public imageUrlHandler(): void {\n        let imageUrlDialogForm: FormGroup = null;\n        this.euiDialogService.openDialog(\n            new EuiDialogConfig({\n                title: this.toolbarConfig.imageUrl.dialogMessage,\n                isHandleCloseOnAccept: true,\n                bodyComponent: {\n                    component: EuiEditorImageDialogComponent,\n                    config: {\n                        onFormValueChange: (form: FormGroup): void => {\n                            imageUrlDialogForm = form;\n                        },\n                    },\n                },\n                accept: (): void => {\n                    if (imageUrlDialogForm && imageUrlDialogForm.valid) {\n                        this.euiDialogService.closeDialog();\n\n                        const range = this.quill.getSelection() || { index: 0, length: 0 };\n                        this.quill.insertEmbed(range.index, 'image', imageUrlDialogForm.get('url').value, 'user');\n                    }\n                },\n            })\n        );\n    }\n\n    public editorUndo(): void {\n        this.quill['history'].undo();\n    }\n\n    public editorRedo(): void {\n        this.quill['history'].redo();\n    }\n\n    public editorDeleteContent(): void {\n        const config = new EuiDialogConfig({\n            title: 'Delete content',\n            content: \"<p>Are you sure you want to delete editor's content?</p>\",\n            hasCloseButton: false,\n            accept: (): void => {\n                this.quill.setContents(null);\n            },\n        });\n\n        this.euiDialogService.openDialog(config);\n    }\n\n    public insertTable(): void {\n        this.tableModule.insertTable(3, 3);\n    }\n\n    get hasImageFeature(): boolean {\n        return this.euiEditorCustomToolbar\n            ? this.euiEditorCustomToolbar?.elementRef.nativeElement.querySelector('.ql-image')\n            : !!this.toolbarConfig?.image;\n    }\n\n    public _onEditorCreated(quill: typeof QuillType): void {\n        this.quill = quill;\n\n        if (this.isEnabledOnFocus && !this.isReadOnly) {\n            this.quill.focus();     // places the focus cursor visible\n        }\n\n        if (this.format === 'html') {\n            const delta = this.quill.clipboard.convert({ html: this.value as string });\n            this.formControl.patchValue(delta);\n            this.quill.setContents(delta);\n        }\n\n        if (this.format === 'json') {\n            this.formControl.patchValue(this.value);\n            this.quill.setContents(JSON.parse(this.value));\n        }\n\n        if (!this.hasImageFeature) {\n            quill.clipboard.addMatcher('IMG', (element: Element, delta: Delta) => new Delta().insert(''));\n            quill.clipboard.addMatcher('PICTURE', (element: Element, delta: Delta) => new Delta().insert(''));\n        }\n\n        this.editorCreate.emit(quill);\n    }\n\n    private _internalChange = false;  // Add this property to the class\n\n    public _onContentChanged(event: ContentChange): void {\n        if (this.format === 'html') {\n            this.value = event.html;\n            this.calculateCounters(this.value as string);\n            // Only call onChange if it's not an internal change\n            if (!this._internalChange) {\n                this.onChange(this.htmlEntitiesDecode(this.value as string));\n            }\n        }\n        if (this.format === 'json') {\n            if (event.text !== '\\n') {\n                this.value = event.content;\n                this.calculateCounters(event.text);\n                this.jsonToHtmlContent = this.htmlEntitiesDecode(JSON.stringify(this.value));\n                // Only call onChange if it's not an internal change\n                if (!this._internalChange) {\n                    this.onChange(this.jsonToHtmlContent);\n                }\n            } else {\n                this.value = null;\n                this.calculateCounters('');\n                this.jsonToHtmlContent = '';\n                // Only call onChange if it's not an internal change\n                if (!this._internalChange) {\n                    this.onChange(null);\n                }\n            }\n        }\n        this.contentChange.emit(event); // New emitter\n    }\n\n    public _onSelectionChanged(event: SelectionChange): void {\n        this.selectionChange.emit(event);\n    }\n\n    public _onFocus(event: Focus): void {\n        this.isFocused = true;\n        this.calculateCounters(this.value);\n        this.focus.emit(event);\n    }\n\n    public _onBlur(event: Blur): void {\n        this.isFocused = false;\n        this.onTouch();\n        this.blur.emit(event);\n    }\n\n    public registerOnChange(fn: any): void {\n        this.onChange = fn;\n    }\n\n    public registerOnTouched(fn: any): void {\n        this.onTouch = fn;\n    }\n\n    public writeValue(value: string): void {\n        // Store the value\n        this.value = value || null;\n        this.jsonToHtmlContent = this.value;\n\n        // Skip triggering onChange during writeValue operations\n        if (this.quill) {\n            // Use a flag to prevent triggering onChange in _onContentChanged\n            this._internalChange = true;\n\n            if (this.format === 'html') {\n                const delta = this.quill.clipboard.convert({ html: this.value as string });\n                this.formControl.patchValue(delta, { emitEvent: false });\n                this.quill.setContents(delta);\n            }\n\n            if (this.format === 'json' && this.value) {\n                this.formControl.patchValue(this.value, { emitEvent: false });\n                // this.quill.setContents(JSON.parse(this.value));\n            }\n\n            this.calculateCounters(this.value);\n\n            // Reset the flag after a short delay to allow Quill to complete its operations\n            setTimeout(() => {\n                this._internalChange = false;\n            });\n        }\n    }\n\n    private get tableModule(): BetterTableModule {\n        return this.quill.getModule('better-table');\n    }\n\n    private onChange: any = () => {};\n\n    private onTouch: any = () => {};\n\n    private htmlEntitiesDecode(content: string): string {\n        let c = content;\n        if (c) {\n            c = c.replace('&amp;', '&');\n            c = c.replace('&nbsp;', ' ');\n        }\n\n        return c;\n    }\n\n    get hasCharactersCounter(): boolean {\n        return this.toolbarConfig.counters.options.find((o) => o.name === 'characters');\n    }\n\n    get charactersCounterLabel(): string {\n        return this.toolbarConfig.counters.options.find((o) => o.name === 'characters')?.label;\n    }\n\n    get hasWordsCounter(): boolean {\n        return this.toolbarConfig.counters.options.find((o) => o.name === 'words');\n    }\n\n    get wordsCounterLabel(): string {\n        return this.toolbarConfig.counters.options.find((o) => o.name === 'words')?.label;\n    }\n\n    private calculateCounters(content: string): void {\n        let text: string;\n        const regex = /[\\s\\n]+/;\n\n        if (this.format === 'html') {\n            if (content && content.length > 0) {\n                text = this.stripHtml(content);\n                this.charactersCount = text.length;\n\n                text = content.replace(/<\\/(p|div|br|li|h[1-6])>/gi, ' ').replace(/<[^>]+>/g, '');\n                this.wordsCount = !text ? 0 : text.trim().split(regex).filter(t => t !== '').length;\n            } else {\n                this.charactersCount = 0;\n                this.wordsCount = 0;\n                this.bytesCount = 0;\n            }\n        }\n\n        if (this.format === 'json') {\n            if (content && this.quill) {\n                text = this.stripHtml(this.quill.root.innerHTML);\n                this.charactersCount = text.length;\n\n                text = this.quill.root.innerHTML.replace(/<\\/(p|div|br|li|h[1-6])>/gi, ' ').replace(/<[^>]+>/g, '');\n                this.wordsCount = !text ? 0 : text.trim().split(regex).filter(t => t !== '').length;\n            } else {\n                this.charactersCount = 0;\n                this.wordsCount = 0;\n                this.bytesCount = 0;\n            }\n        }\n\n        this.charactersCountChange.emit(this.charactersCount);\n        this.wordsCountChange.emit(this.wordsCount);\n    }\n\n    private stripHtml(content: string): string {\n        const regex = /(<([^>]+)>)/gm;\n        const contentToReplace = content.replace(regex, '');\n        return contentToReplace.replace(/[\\u200B-\\u200D\\uFEFF]/g, '');\n    }\n\n    private cleanHtml(content: string): string {\n        const contentToReplace = content.replace(/<[^>]*>/g, '');\n        return contentToReplace.replace(/[\\u200B-\\u200D\\uFEFF]/g, '');\n    }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'euiEditorCustomToolbar', })\nexport class EuiEditorCustomToolbarTagDirective {\n    elementRef = inject(ElementRef);\n\n    @HostBinding('class') elementClass = 'eui-editor-custom-toolbar';\n}\n/* eslint-enable */\n\n/**\n * Pipe to remove classes from the editor\n */\n@Pipe({ name: 'classFilter', })\nexport class ClassFilterPipe {\n    transform(value: string): string {\n        return value\n            .replace(/eui-editor-wrapper/g, '')\n            .replace(/eui-editor--readonly/g, '')\n            .replace(/eui-editor--empty/g, '');\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@forward './eui-editor.scss';\n@forward './eui-editor-better-table.scss';\n",
                    "styleUrl": "./styles/_index.scss"
                }
            ],
            "stylesData": "",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 239
            },
            "extends": [],
            "implements": [
                "ControlValueAccessor",
                "OnInit",
                "OnDestroy",
                "OnChanges"
            ],
            "accessors": {
                "class": {
                    "name": "class",
                    "getSignature": {
                        "name": "class",
                        "type": "string",
                        "returnType": "string",
                        "line": 79
                    }
                },
                "readonly": {
                    "name": "readonly",
                    "getSignature": {
                        "name": "readonly",
                        "type": "string",
                        "returnType": "string",
                        "line": 117
                    }
                },
                "isReadOnly": {
                    "name": "isReadOnly",
                    "setSignature": {
                        "name": "isReadOnly",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 140,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "isReadOnly",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 137
                    }
                },
                "showCounters": {
                    "name": "showCounters",
                    "setSignature": {
                        "name": "showCounters",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 148,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "showCounters",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 145
                    }
                },
                "isEnabledOnFocus": {
                    "name": "isEnabledOnFocus",
                    "setSignature": {
                        "name": "isEnabledOnFocus",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "unknown",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 160,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "unknown",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "isEnabledOnFocus",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 157,
                        "rawdescription": "\nPlease check the showcase sample in order to replace this feature using the focus emitter.\n",
                        "description": "<p>Please check the showcase sample in order to replace this feature using the focus emitter.</p>\n",
                        "deprecated": true,
                        "deprecationMessage": "<p>The input isEnabledOnFocus will be deprecated in next major version of eUI.\nPlease check the showcase sample in order to replace this feature using the focus emitter.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 5910,
                                "end": 6100,
                                "kind": 332,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 5911,
                                    "end": 5921,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "deprecated"
                                },
                                "comment": "<p>The input isEnabledOnFocus will be deprecated in next major version of eUI.\nPlease check the showcase sample in order to replace this feature using the focus emitter.</p>\n"
                            }
                        ]
                    }
                },
                "isMinimalToolbar": {
                    "name": "isMinimalToolbar",
                    "setSignature": {
                        "name": "isMinimalToolbar",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 168,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "isMinimalToolbar",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 165
                    }
                },
                "isInvalid": {
                    "name": "isInvalid",
                    "setSignature": {
                        "name": "isInvalid",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 177,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "isInvalid",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 174
                    }
                },
                "hasImageFeature": {
                    "name": "hasImageFeature",
                    "getSignature": {
                        "name": "hasImageFeature",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 377
                    }
                },
                "hasCharactersCounter": {
                    "name": "hasCharactersCounter",
                    "getSignature": {
                        "name": "hasCharactersCounter",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 514
                    }
                },
                "charactersCounterLabel": {
                    "name": "charactersCounterLabel",
                    "getSignature": {
                        "name": "charactersCounterLabel",
                        "type": "string",
                        "returnType": "string",
                        "line": 518
                    }
                },
                "hasWordsCounter": {
                    "name": "hasWordsCounter",
                    "getSignature": {
                        "name": "hasWordsCounter",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 522
                    }
                },
                "wordsCounterLabel": {
                    "name": "wordsCounterLabel",
                    "getSignature": {
                        "name": "wordsCounterLabel",
                        "type": "string",
                        "returnType": "string",
                        "line": 526
                    }
                }
            },
            "templateData": "@if (readyToRender) {\n<!-- NOTE: We need to create the editor instance even for readonly mode.\n     This is because we rely on the editor to format HTML/JSON content\n     into a properly structured HTML output that can't be done another way.\n     Future improvement: Consider completely replacing Quill with a\n     markdown-only editor, which would be a better solution. -->\n    @if (!isReadOnly) {\n        <quill-editor\n            [ngStyle]=\"{display: isReadOnly ? 'none' : null}\"\n            [id]=\"generatedId\"\n            class=\"{{ class | classFilter }}\"\n            [class.eui-quill-editor--focused]=\"isFocused\"\n            [format]=\"format\"\n            [formats]=\"formats\"\n            [sanitize]=\"true\"\n            [modules]=\"modules\"\n            [theme]=\"theme\"\n            [placeholder]=\"placeholder\"\n            [customToolbarPosition]=\"customToolbarPosition\"\n            [formControl]=\"formControl\"\n            [debug]=\"debug\"\n            [tabindex]=\"tabindex\"\n            [preserveWhitespace]=\"true\"\n            [hasImageFeature]=\"hasImageFeature\"\n            (onEditorCreated)=\"_onEditorCreated($event)\"\n            (onContentChanged)=\"_onContentChanged($event)\"\n            (onSelectionChanged)=\"_onSelectionChanged($event)\"\n            (onFocus)=\"_onFocus($event)\"\n            (onBlur)=\"_onBlur($event)\">\n\n            @if (!euiEditorCustomToolbar) {\n            <div quill-editor-toolbar class=\"ql-toolbar ql-snow eui-u-flex-gap-xs\">\n                @if (toolbarConfig.headings) {\n                <div\n                    class=\"ql-formats\"\n                    role=\"application\"\n                    aria-label=\"Select headings style\"\n                    euiTooltip=\"{{ toolbarConfig.headings.label | translate }}\">\n                    <select class=\"ql-header\" [attr.aria-label]=\"toolbarConfig.headings.label | translate\">\n                        @for (value of toolbarConfig.headings.options; track value) {\n                            <option value=\"{{ value }}\">Heading {{ value }}</option>\n                        }\n                        <option selected>Normal</option>\n                    </select>\n                </div>\n                }\n                @if (toolbarConfig.font) {\n                <div\n                    class=\"ql-formats\"\n                    role=\"application\"\n                    aria-label=\"Select font style\"\n                    euiTooltip=\"{{ toolbarConfig.font.label | translate }}\">\n                    <select class=\"ql-font\" [attr.aria-label]=\"toolbarConfig.font.label | translate\">\n                        <option selected>Sans Serif</option>\n                        <option value=\"serif\">Serif</option>\n                        <option value=\"monospace\">Monospace</option>\n                    </select>\n                </div>\n                }\n                @if (toolbarConfig.bold || toolbarConfig.italic || toolbarConfig.underline || toolbarConfig.strike) {\n                <div class=\"ql-formats\">\n                    @if (toolbarConfig.bold) {\n                    <button\n                        class=\"ql-bold\"\n                        type=\"button\"\n                        [attr.aria-label]=\"toolbarConfig.bold.label | translate\"\n                        euiTooltip=\"{{ toolbarConfig.bold.label | translate }}\">\n                    </button>\n                    }\n                    @if (toolbarConfig.italic) {\n                    <button\n                        class=\"ql-italic\"\n                        type=\"button\"\n                        [attr.aria-label]=\"toolbarConfig.italic.label | translate\"\n                        euiTooltip=\"{{ toolbarConfig.italic.label | translate }}\">\n                    </button>\n                    }\n                    @if (toolbarConfig.underline) {\n                    <button\n\n                        class=\"ql-underline\"\n                        type=\"button\"\n                        [attr.aria-label]=\"toolbarConfig.underline.label | translate\"\n                        euiTooltip=\"{{ toolbarConfig.underline.label | translate }}\">\n                    </button>\n                    }\n                    @if (toolbarConfig.strike) {\n                    <button\n                        class=\"ql-strike\"\n                        type=\"button\"\n                        [attr.aria-label]=\"toolbarConfig.strike.label | translate\"\n                        euiTooltip=\"{{ toolbarConfig.strike.label | translate }}\">\n                    </button>\n                    }\n                </div>\n                }\n                @if (toolbarConfig.fontColor || toolbarConfig.fontBackground) {\n                <div class=\"ql-formats\">\n                    @if (toolbarConfig.fontColor) {\n                    <span euiTooltip=\"{{ toolbarConfig.fontColor.label | translate }}\">\n                        <select class=\"ql-color\" [attr.aria-label]=\"toolbarConfig.fontColor.label | translate\"></select>\n                    </span>\n                    }\n                    @if (toolbarConfig.fontBackground) {\n                    <span euiTooltip=\"{{ toolbarConfig.fontBackground.label | translate }}\">\n                        <select class=\"ql-background\" [attr.aria-label]=\"toolbarConfig.fontBackground.label | translate\"></select>\n                    </span>\n                    }\n                </div>\n                }\n                @if (toolbarConfig.subscript || toolbarConfig.superscript) {\n                <div class=\"ql-formats\">\n                    @if (toolbarConfig.subscript) {\n                    <button\n                        class=\"ql-script\"\n                        value=\"sub\"\n                        type=\"button\"\n                        [attr.aria-label]=\"toolbarConfig.subscript.label | translate\"\n                        euiTooltip=\"{{ toolbarConfig.subscript.label | translate }}\">\n                    </button>\n                    }\n                    @if (toolbarConfig.superscript) {\n                    <button\n                        class=\"ql-script\"\n                        value=\"super\"\n                        type=\"button\"\n                        [attr.aria-label]=\"toolbarConfig.superscript.label | translate\"\n                        euiTooltip=\"{{ toolbarConfig.superscript.label | translate }}\">\n                    </button>\n                    }\n                </div>\n                }\n                @if (toolbarConfig.textAlign) {\n                <div class=\"ql-formats\">\n                    <span euiTooltip=\"{{ toolbarConfig.textAlign.label | translate }}\">\n                        <select class=\"ql-align\" [attr.aria-label]=\"toolbarConfig.textAlign.label | translate\">\n                            <option selected></option>\n                            <option value=\"center\"></option>\n                            <option value=\"right\"></option>\n                            <option value=\"justify\"></option>\n                        </select>\n                    </span>\n                </div>\n                }\n                @if (toolbarConfig.orderedList || toolbarConfig.bulletList || toolbarConfig.indentLess || toolbarConfig.indentMore) {\n                <div\n                    class=\"ql-formats\">\n                    @if (toolbarConfig.orderedList) {\n                    <button\n                        class=\"ql-list\"\n                        value=\"ordered\"\n                        type=\"button\"\n                        [attr.aria-label]=\"toolbarConfig.orderedList.label | translate\"\n                        euiTooltip=\"{{ toolbarConfig.orderedList.label | translate }}\">\n                    </button>\n                    }\n                    @if (toolbarConfig.bulletList) {\n                    <button\n                        class=\"ql-list\"\n                        value=\"bullet\"\n                        type=\"button\"\n                        [attr.aria-label]=\"toolbarConfig.bulletList.label | translate\"\n                        euiTooltip=\"{{ toolbarConfig.bulletList.label | translate }}\">\n                    </button>\n                    }\n                    @if (toolbarConfig.indentLess) {\n                    <button\n                        type=\"button\"\n                        class=\"ql-indent\"\n                        value=\"-1\"\n                        [attr.aria-label]=\"toolbarConfig.indentLess.label | translate\"\n                        euiTooltip=\"{{ toolbarConfig.indentLess.label | translate }}\">\n                    </button>\n                    }\n                    @if (toolbarConfig.indentMore) {\n                    <button\n                        type=\"button\"\n                        class=\"ql-indent\"\n                        value=\"+1\"\n                        [attr.aria-label]=\"toolbarConfig.indentMore.label | translate\"\n                        euiTooltip=\"{{ toolbarConfig.indentMore.label | translate }}\">\n                    </button>\n                    }\n                </div>\n                }\n                @if (\n                        toolbarConfig.blockquote ||\n                        toolbarConfig.codeBlock ||\n                        toolbarConfig.link ||\n                        toolbarConfig.image ||\n                        toolbarConfig.imageUrl ||\n                        toolbarConfig.video ||\n                        toolbarConfig.table\n                    ) {\n                    <div class=\"ql-formats\">\n                    @if (toolbarConfig.blockquote) {\n                    <button\n                        class=\"ql-blockquote\"\n                        type=\"button\"\n                        [attr.aria-label]=\"toolbarConfig.blockquote.label | translate\"\n                        euiTooltip=\"{{ toolbarConfig.blockquote.label | translate }}\">\n                    </button>\n                    }\n                    @if (toolbarConfig.codeBlock) {\n                    <button\n                        class=\"ql-code-block\"\n                        type=\"button\"\n                        [attr.aria-label]=\"toolbarConfig.codeBlock.label | translate\"\n                        euiTooltip=\"{{ toolbarConfig.codeBlock.label | translate }}\">\n                    </button>\n                    }\n                    @if (toolbarConfig.link) {\n                    <button\n                        class=\"ql-link\"\n                        type=\"button\"\n                        [attr.aria-label]=\"toolbarConfig.link.label | translate\"\n                        euiTooltip=\"{{ toolbarConfig.link.label | translate }}\">\n                    </button>\n                    }\n                    @if (toolbarConfig.image) {\n                    <button\n                        class=\"ql-image\"\n                        type=\"button\"\n                        [attr.aria-label]=\"toolbarConfig.image.label | translate\"\n                        euiTooltip=\"{{ toolbarConfig.image.label | translate }}\">\n                    </button>\n                    }\n                    @if (toolbarConfig.imageUrl) {\n                    <button\n                        type=\"button\"\n                        [attr.aria-label]=\"toolbarConfig.imageUrl.label | translate\"\n                        euiTooltip=\"{{ toolbarConfig.imageUrl.label | translate }}\"\n                        (click)=\"imageUrlHandler()\">\n                        <eui-icon-svg icon=\"eui-image\" />\n                    </button>\n                    }\n                    @if (toolbarConfig.video) {\n                    <button\n                        class=\"ql-video\"\n                        type=\"button\"\n                        [attr.aria-label]=\"toolbarConfig.video.label | translate\"\n                        euiTooltip=\"{{ toolbarConfig.video.label | translate }}\">\n                    </button>\n                    }\n                    @if (toolbarConfig.table) {\n                    <button\n                        type=\"button\"\n                        [attr.aria-label]=\"toolbarConfig.table.label | translate\"\n                        euiTooltip=\"{{ toolbarConfig.table.label | translate }}\"\n                        (click)=\"insertTable()\">\n                        <eui-icon-svg icon=\"eui-table\" />\n                    </button>\n                    }\n                </div>\n                }\n                @if (toolbarConfig.clean || toolbarConfig.delete) {\n                <div class=\"ql-formats\">\n                    @if (toolbarConfig.clean) {\n                    <button\n                        class=\"ql-clean\"\n                        type=\"button\"\n                        [attr.aria-label]=\"toolbarConfig.clean.label | translate\"\n                        euiTooltip=\"{{ toolbarConfig.clean.label | translate }}\">\n                    </button>\n                    }\n                    @if (toolbarConfig.delete) {\n                    <button\n                        type=\"button\"\n                        [attr.aria-label]=\"toolbarConfig.delete.label | translate\"\n                        euiTooltip=\"{{ toolbarConfig.delete.label | translate }}\"\n                        (click)=\"editorDeleteContent()\">\n                        <eui-icon-svg icon=\"eui-trash\" size=\"s\" />\n                    </button>\n                    }\n                </div>\n                }\n                @if (toolbarConfig.undo || toolbarConfig.redo) {\n                <div class=\"ql-formats\">\n                    @if (toolbarConfig.undo) {\n                    <button\n                        type=\"button\"\n                        [attr.aria-label]=\"toolbarConfig.undo.label | translate\"\n                        euiTooltip=\"{{ toolbarConfig.undo.label | translate }}\"\n                        (click)=\"editorUndo()\">\n                        <eui-icon-svg icon=\"eui-undo\" size=\"s\" />\n                    </button>\n                    }\n                    @if (toolbarConfig.redo) {\n                    <button\n                        type=\"button\"\n                        [attr.aria-label]=\"toolbarConfig.redo.label | translate\"\n                        euiTooltip=\"{{ toolbarConfig.redo.label | translate }}\"\n                        (click)=\"editorRedo()\">\n                        <eui-icon-svg icon=\"eui-redo\" size=\"s\" />\n                    </button>\n                    }\n                </div>\n                }\n                @if (toolbarConfig.counters) {\n                <div class=\"ql-formats\">\n                    <eui-editor-counters\n                        [hasCharactersCounter]=\"hasCharactersCounter\"\n                        [charactersCounter]=\"charactersCount\"\n                        [charactersLabel]=\"charactersCounterLabel\"\n                        [hasWordsCounter]=\"hasWordsCounter\"\n                        [wordsCounter]=\"wordsCount\"\n                        [wordsLabel]=\"wordsCounterLabel\"\n                        euiTooltip=\"{{ toolbarConfig.counters.label | translate }}\">\n                    </eui-editor-counters>\n                </div>\n                }\n            </div>\n            }\n            @if (euiEditorCustomToolbar) {\n            <div quill-editor-toolbar class=\"ql-toolbar ql-snow\">\n                <ng-content select=\"euiEditorCustomToolbar\"></ng-content>\n            </div>\n            }\n        </quill-editor>\n    }\n    \n    <!-- READONLY MODE -->\n    @if (isReadOnly) {\n        @if (format === 'json') {\n            <eui-editor-json-view\n                [content]=\"jsonToHtmlContent\"\n                [theme]=\"theme\" />\n\n        } @else {\n            <quill-editor\n                [id]=\"generatedId\"\n                class=\"eui-quill-editor\"\n                [readOnly]=\"isReadOnly\"\n                [class.eui-quill-editor--readonly]=\"isReadOnly\"\n                [class.eui-quill-editor--enabled-on-focus]=\"isEnabledOnFocus\"\n                [class.eui-quill-editor--focused]=\"isFocused && isEnabledOnFocus\"\n                [class.eui-quill-editor--empty]=\"!value ? true : false\"\n\n                [formControl]=\"formControl\"\n                [format]=\"format\"\n                [sanitize]=\"true\"\n                [theme]=\"theme\"\n                [tabindex]=\"tabindex\"\n\n                (onEditorCreated)=\"_onEditorCreated($event)\"\n                (onContentChanged)=\"_onContentChanged($event)\"\n                (onSelectionChanged)=\"_onSelectionChanged($event)\"\n                (onFocus)=\"_onFocus($event)\"\n                (onBlur)=\"_onBlur($event)\"\n                (click)=\"isEnabledOnFocus ? enableEditorOnFocus($event) : null\"\n            />\n        }\n    }\n\n}\n"
        },
        {
            "name": "EuiEditorCountersComponent",
            "id": "component-EuiEditorCountersComponent-c2acdb94f9eb50ed1d646e0fe1ba4b6afd877cd683f378a41872d864c8a1b7178d53c0b34fdf70b3e2d09d9c5753acc25cf39ec3f0a23654d9ea3896a7bc3585",
            "file": "packages/components/externals/eui-editor/counters/eui-editor-counters.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-editor-counters",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-editor-counters.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "charactersCounter",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 11,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "charactersLabel",
                    "defaultValue": "'characters'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 12,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasCharactersCounter",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 16,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasWordsCounter",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 17,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isMaxLengthValid",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 15,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "wordsCounter",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 13,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "wordsLabel",
                    "defaultValue": "'words'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 14,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { booleanAttribute, ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n    // eslint-disable-next-line\n    selector: 'eui-editor-counters',\n    templateUrl: './eui-editor-counters.component.html',\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiEditorCountersComponent {\n    @Input() charactersCounter: number;\n    @Input() charactersLabel = 'characters';\n    @Input() wordsCounter: number;\n    @Input() wordsLabel = 'words';\n    @Input({ transform: booleanAttribute }) isMaxLengthValid = true;\n    @Input({ transform: booleanAttribute }) hasCharactersCounter = true;\n    @Input({ transform: booleanAttribute }) hasWordsCounter = true;\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "<div class=\"editor-counters\">\n    @if ( hasCharactersCounter ) {\n    <div class=\"editor-counters-chars-container\">\n        <span class=\"chars-counter\" [class.chars-counter--error]=\"!isMaxLengthValid\">{{ charactersCounter }}</span>\n        <span class=\"chars-label\">{{ charactersLabel }}</span>\n    </div>\n    }\n    @if ( hasWordsCounter ) {\n    <div class=\"editor-counters-words-container\">\n        <span class=\"words-counter\">{{ wordsCounter }}</span>\n        <span class=\"words-label\">{{ wordsLabel }}</span>\n    </div>\n    }\n</div>\n"
        },
        {
            "name": "EuiEditorImageDialogComponent",
            "id": "component-EuiEditorImageDialogComponent-1e2e3abb51f5a5bbae45fea720bff3ea54b3343fd146dd41d4caff85edba228c138f62fd092f9678266fbaa3a0bef5c773862e70e0f232bbc704467eec72fded",
            "file": "packages/components/externals/eui-editor/image-url-dialog/image-url-dialog.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "image-url-dialog.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "form",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "FormGroup",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 28,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 43,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 33,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "ReactiveFormsModule",
                    "type": "module"
                },
                {
                    "name": "EuiInputTextComponent",
                    "type": "component"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { Component, OnInit, OnDestroy, inject } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { AbstractControl, Validators, FormGroup, FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { Subject } from 'rxjs';\n\nimport { DIALOG_COMPONENT_CONFIG } from '@eui/components/eui-dialog';\nimport { EuiInputTextComponent } from '@eui/components/eui-input-text';\n\nconst urlValidator = (control: AbstractControl): { isUrlValid: false } | null => {\n    const isHttp = control.value.substr(0, 7) === 'http://';\n    const isHttps = control.value.substr(0, 8) === 'https://';\n\n    return !isHttp && !isHttps ? { isUrlValid: false } : null;\n};\n\nexport interface EuiEditorImageDialogConfig {\n    onFormValueChange: (form: FormGroup) => void;\n}\n\n@Component({\n    templateUrl: 'image-url-dialog.component.html',\n    imports: [\n        ReactiveFormsModule,\n        EuiInputTextComponent,\n    ],\n})\nexport class EuiEditorImageDialogComponent implements OnInit, OnDestroy {\n    public form: FormGroup;\n\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private config = inject<EuiEditorImageDialogConfig>(DIALOG_COMPONENT_CONFIG);\n\n    ngOnInit(): void {\n        this.form = new FormGroup({\n            url: new FormControl<string>('', [Validators.required, urlValidator]),\n        });\n\n        this.form.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(() => {\n            this.config.onFormValueChange(this.form);\n        });\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy"
            ],
            "templateData": "<form [formGroup]=\"form\">\n    <input euiInputText formControlName=\"url\" aria-label=\"Image URL\" />\n</form>\n"
        },
        {
            "name": "EuiEditorJsonViewComponent",
            "id": "component-EuiEditorJsonViewComponent-fb5bedab74bfeecdb7c237985ab64117de691362a2fb4037c0a9a2a974f34c270c38dc75119200e3a5edcff9daf13c894fb5ee52abf68d9975c571d30f46e79a",
            "file": "packages/components/externals/eui-editor/json-view/eui-editor-json-view.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-editor-json-view",
            "styleUrls": [],
            "styles": [],
            "template": "",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "content",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 26,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "theme",
                    "defaultValue": "'snow'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 25,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-editor__json-view'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 24,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "valueSetter",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 32
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 48,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 42,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-editor__json-view'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 24,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import {\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    Component,\n    ElementRef,\n    HostBinding,\n    Input,\n    OnChanges,\n    SimpleChanges,\n    ViewEncapsulation,\n    inject,\n} from '@angular/core';\n\nconst QuillType: any = window['Quill'];\n\n@Component({\n    // eslint-disable-next-line\n    selector: 'eui-editor-json-view',\n    template: '',\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiEditorJsonViewComponent implements AfterViewInit, OnChanges {\n    @HostBinding('class') string = 'eui-editor__json-view';\n    @Input() theme = 'snow';\n    @Input() content: string;\n\n    private quillEditor: typeof QuillType;\n    private editorElem: HTMLElement;\n    private elementRef = inject<ElementRef>(ElementRef);\n\n    valueSetter = (quillEditor: typeof QuillType, value: string): void => {\n        let content: any = value;\n        try {\n            content = JSON.parse(value);\n        } catch (e) {\n            console.warn('JSON parse error!');\n        }\n        quillEditor?.setContents(content);\n    };\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes && changes.content && changes.content?.currentValue) {\n            this.valueSetter(this.quillEditor, changes.content.currentValue);\n        }\n    }\n\n    ngAfterViewInit(): void {\n        this.elementRef.nativeElement.insertAdjacentHTML('afterbegin', '<div quill-view-element></div>');\n\n        this.editorElem = this.elementRef.nativeElement.querySelector('[quill-view-element]');\n\n        const Quill: any = window['Quill'];\n\n        this.quillEditor = new Quill(this.editorElem, {\n            debug: false,\n            formats: null,\n            modules: { toolbar: false },\n            readOnly: true,\n            strict: true,\n            theme: 'snow',\n        });\n\n        if (this.content) {\n            this.valueSetter(this.quillEditor, this.content);\n        }\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterViewInit",
                "OnChanges"
            ]
        },
        {
            "name": "EuiFeedbackMessageComponent",
            "id": "component-EuiFeedbackMessageComponent-1965082eda340ce98a9d9e016ec0522cbc52a1d3ab7c74cb73702ec013aaf15355b3e7d9ca4ba31cf380cb1723aa100eed7781c97d3ad0f4332bf5db456f596e",
            "file": "packages/components/eui-feedback-message/eui-feedback-message.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-feedback-message",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-feedback-message.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiSecondary",
                        "euiInfo",
                        "euiWarning",
                        "euiSuccess",
                        "euiDanger",
                        "euiVariant"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "required": false,
                    "name": "isMuted",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2573,
                            "end": 2804,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2574,
                                "end": 2585,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Controls whether the feedback message should be displayed in a muted state.\nWhen true, the message will have reduced visual prominence. The status\nicon won&#39;t show before the message.</p>\n"
                        },
                        {
                            "pos": 2804,
                            "end": 2824,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2805,
                                "end": 2812,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls whether the feedback message should be displayed in a muted state.\nWhen true, the message will have reduced visual prominence. The status\nicon won't show before the message.\n\n",
                    "description": "<p>Controls whether the feedback message should be displayed in a muted state.\nWhen true, the message will have reduced visual prominence. The status\nicon won&#39;t show before the message.</p>\n",
                    "line": 91,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BaseStatesDirective",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Instance of BaseStatesDirective used to manage component states.\nInjected using the inject function.</p>\n",
                    "line": 100,
                    "rawdescription": "\n\nInstance of BaseStatesDirective used to manage component states.\nInjected using the inject function.\n\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "pos": 2904,
                            "end": 3046,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2905,
                                "end": 2916,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Instance of BaseStatesDirective used to manage component states.\nInjected using the inject function.</p>\n"
                        },
                        {
                            "pos": 3046,
                            "end": 3062,
                            "kind": 336,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3047,
                                "end": 3056,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "protected"
                            },
                            "comment": ""
                        }
                    ]
                },
                {
                    "name": "type",
                    "defaultValue": "'MessageFeedback'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Type attribute bound to the host element.\nUsed to identify the component type in the DOM.</p>\n",
                    "line": 81,
                    "rawdescription": "\n\nType attribute bound to the host element.\nUsed to identify the component type in the DOM.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.type'"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ],
                    "jsdoctags": [
                        {
                            "pos": 2341,
                            "end": 2472,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2342,
                                "end": 2353,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Type attribute bound to the host element.\nUsed to identify the component type in the DOM.</p>\n"
                        },
                        {
                            "pos": 2472,
                            "end": 2488,
                            "kind": 336,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2473,
                                "end": 2482,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "protected"
                            },
                            "comment": ""
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.type",
                    "defaultValue": "'MessageFeedback'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2341,
                            "end": 2472,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2342,
                                "end": 2353,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Type attribute bound to the host element.\nUsed to identify the component type in the DOM.</p>\n"
                        },
                        {
                            "pos": 2472,
                            "end": 2488,
                            "kind": 336,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2473,
                                "end": 2482,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "protected"
                            },
                            "comment": ""
                        }
                    ],
                    "rawdescription": "\n\nType attribute bound to the host element.\nUsed to identify the component type in the DOM.\n\n",
                    "description": "<p>Type attribute bound to the host element.\nUsed to identify the component type in the DOM.</p>\n",
                    "line": 81,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1829,
                            "end": 2003,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1830,
                                "end": 1841,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the feedback message component.\nCombines base state classes with muted state if applicable.</p>\n"
                        },
                        {
                            "pos": 2003,
                            "end": 2068,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2004,
                                "end": 2011,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 2012,
                                "end": 2020,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 2013,
                                    "end": 2019,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the feedback message component.\nCombines base state classes with muted state if applicable.\n\n",
                    "description": "<p>Computes and returns the CSS classes for the feedback message component.\nCombines base state classes with muted state if applicable.</p>\n",
                    "line": 67,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_ICON_STATE"
                }
            ],
            "description": "<p>A feedback message component that displays various types of feedback to users.\nSupports different states (primary, secondary, info, etc.) and can be muted.</p>\n<h3>Basic feedback message</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-feedback-message euiSuccess&gt;\n  Operation completed successfully\n&lt;/eui-feedback-message&gt;</code></pre></div><h3>Muted variant</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-feedback-message euiWarning [isMuted]=&quot;true&quot;&gt;\n  This is a subtle warning message\n&lt;/eui-feedback-message&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses semantic color coding with icon indicators for state</li>\n<li>Text content is readable by screen readers</li>\n<li>Sufficient color contrast maintained in all states</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use state inputs (euiSuccess, euiWarning, euiDanger, euiInfo) for semantic meaning</li>\n<li>Muted variant reduces visual prominence while maintaining accessibility</li>\n<li>Icon indicators are hidden when <code>isMuted</code> is true</li>\n</ul>\n",
            "rawdescription": "\n\nA feedback message component that displays various types of feedback to users.\nSupports different states (primary, secondary, info, etc.) and can be muted.\n\n### Basic feedback message\n```html\n<eui-feedback-message euiSuccess>\n  Operation completed successfully\n</eui-feedback-message>\n```\n\n### Muted variant\n```html\n<eui-feedback-message euiWarning [isMuted]=\"true\">\n  This is a subtle warning message\n</eui-feedback-message>\n```\n\n### Accessibility\n- Uses semantic color coding with icon indicators for state\n- Text content is readable by screen readers\n- Sufficient color contrast maintained in all states\n\n### Notes\n- Use state inputs (euiSuccess, euiWarning, euiDanger, euiInfo) for semantic meaning\n- Muted variant reduces visual prominence while maintaining accessibility\n- Icon indicators are hidden when `isMuted` is true\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, Input, booleanAttribute, inject } from '@angular/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_ICON_STATE } from '@eui/components/eui-icon-state';\n\n/**\n * @description\n * A feedback message component that displays various types of feedback to users.\n * Supports different states (primary, secondary, info, etc.) and can be muted.\n *\n * @usageNotes\n * ### Basic feedback message\n * ```html\n * <eui-feedback-message euiSuccess>\n *   Operation completed successfully\n * </eui-feedback-message>\n * ```\n *\n * ### Muted variant\n * ```html\n * <eui-feedback-message euiWarning [isMuted]=\"true\">\n *   This is a subtle warning message\n * </eui-feedback-message>\n * ```\n *\n * ### Accessibility\n * - Uses semantic color coding with icon indicators for state\n * - Text content is readable by screen readers\n * - Sufficient color contrast maintained in all states\n *\n * ### Notes\n * - Use state inputs (euiSuccess, euiWarning, euiDanger, euiInfo) for semantic meaning\n * - Muted variant reduces visual prominence while maintaining accessibility\n * - Icon indicators are hidden when `isMuted` is true\n */\n@Component({\n    // eslint-disable-next-line @angular-eslint/component-selector\n    selector: 'eui-feedback-message',\n    templateUrl: './eui-feedback-message.component.html',\n    styleUrl: './eui-feedback-message.scss',\n    imports: [\n        ...EUI_ICON_STATE,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiPrimary',\n                'euiSecondary',\n                'euiInfo',\n                'euiWarning',\n                'euiSuccess',\n                'euiDanger',\n                'euiVariant',\n            ],\n        },\n    ],\n})\nexport class EuiFeedbackMessageComponent {\n    /**\n     * @description\n     * Computes and returns the CSS classes for the feedback message component.\n     * Combines base state classes with muted state if applicable.\n     *\n     * @returns {string} Space-separated string of CSS class names\n     */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-feedback-message'),\n            this.isMuted ? 'eui-feedback-message--muted' : '',\n        ].join(' ').trim();\n    }\n\n    /**\n     * @description\n     * Type attribute bound to the host element.\n     * Used to identify the component type in the DOM.\n     *\n     * @protected\n     */\n    @HostBinding('attr.type') protected type = 'MessageFeedback';\n\n    /**\n     * @description\n     * Controls whether the feedback message should be displayed in a muted state.\n     * When true, the message will have reduced visual prominence. The status\n     * icon won't show before the message.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isMuted = false;\n\n    /**\n     * @description\n     * Instance of BaseStatesDirective used to manage component states.\n     * Injected using the inject function.\n     *\n     * @protected\n     */\n    protected baseStatesDirective: BaseStatesDirective = inject(BaseStatesDirective);\n}\n",
            "styleUrl": "./eui-feedback-message.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 67,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the feedback message component.\nCombines base state classes with muted state if applicable.\n\n",
                        "description": "<p>Computes and returns the CSS classes for the feedback message component.\nCombines base state classes with muted state if applicable.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 1829,
                                "end": 2003,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 1830,
                                    "end": 1841,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the feedback message component.\nCombines base state classes with muted state if applicable.</p>\n"
                            },
                            {
                                "pos": 2003,
                                "end": 2068,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2004,
                                    "end": 2011,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 2012,
                                    "end": 2020,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 2013,
                                        "end": 2019,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            },
            "templateData": "@if (!isMuted) {\n    <eui-icon-state [euiVariant]=\"baseStatesDirective.euiVariant\" />\n}\n<div class=\"eui-feedback-message__content\">\n    <ng-content></ng-content>\n</div>\n"
        },
        {
            "name": "EuiFieldsetComponent",
            "id": "component-EuiFieldsetComponent-ae4c8f7ce95e2bc0fab18d78358f552f532bda4b5dd947aa40a4bcd70d5c80a3dbd4a3b5def8190479b89f1a720fbaf3cf8e6a4d9d6cb521bfe6282ca6c47c96",
            "file": "packages/components/eui-fieldset/eui-fieldset.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-fieldset",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-fieldset.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiSecondary",
                        "euiSuccess",
                        "euiInfo",
                        "euiWarning",
                        "euiDanger",
                        "euiVariant",
                        "euiHighlighted"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-fieldset'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3925,
                            "end": 3954,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3926,
                                "end": 3933,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-fieldset&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nData attribute used for end-to-end testing identification.\n",
                    "description": "<p>Data attribute used for end-to-end testing identification.</p>\n",
                    "line": 121,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasDefaultIcon",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5162,
                            "end": 5182,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5163,
                                "end": 5170,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nDisplays a default icon in the fieldset header when no custom icon is specified.\nProvides visual consistency across fieldsets.\n",
                    "description": "<p>Displays a default icon in the fieldset header when no custom icon is specified.\nProvides visual consistency across fieldsets.</p>\n",
                    "line": 159,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasLeftExpander",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5875,
                            "end": 5895,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5876,
                                "end": 5883,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nPositions the expand/collapse toggle button on the left side of the header.\nBy default, the expander appears on the right.\n",
                    "description": "<p>Positions the expand/collapse toggle button on the left side of the header.\nBy default, the expander appears on the right.</p>\n",
                    "line": 180,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "iconClass",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCSS class name for a custom icon displayed in the fieldset header.\nAlternative to iconSvgName for using icon fonts or custom icon implementations.\n",
                    "description": "<p>CSS class name for a custom icon displayed in the fieldset header.\nAlternative to iconSvgName for using icon fonts or custom icon implementations.</p>\n",
                    "line": 140,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "iconSvgFillColor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nFill color applied to the SVG icon in the fieldset header.\nAccepts CSS color values to customize icon appearance.\n",
                    "description": "<p>Fill color applied to the SVG icon in the fieldset header.\nAccepts CSS color values to customize icon appearance.</p>\n",
                    "line": 152,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "iconSvgName",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nName of the SVG icon to display in the fieldset header.\nFollows EUI icon naming conventions for consistent visual language.\n",
                    "description": "<p>Name of the SVG icon to display in the fieldset header.\nFollows EUI icon naming conventions for consistent visual language.</p>\n",
                    "line": 146,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUnique identifier for the fieldset element.\nEmitted in the expand event to identify which fieldset was toggled.\nRequired when using expandable fieldsets to track state.\n",
                    "description": "<p>Unique identifier for the fieldset element.\nEmitted in the expand event to identify which fieldset was toggled.\nRequired when using expandable fieldsets to track state.</p>\n",
                    "line": 128,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isExpandable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5423,
                            "end": 5443,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5424,
                                "end": 5431,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables expand/collapse functionality for the fieldset content.\nAdds an interactive toggle button to the header for showing/hiding content.\n",
                    "description": "<p>Enables expand/collapse functionality for the fieldset content.\nAdds an interactive toggle button to the header for showing/hiding content.</p>\n",
                    "line": 166,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isExpanded",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5637,
                            "end": 5656,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5638,
                                "end": 5645,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls the expanded state of the fieldset content.\nOnly effective when isExpandable is true.\n",
                    "description": "<p>Controls the expanded state of the fieldset content.\nOnly effective when isExpandable is true.</p>\n",
                    "line": 173,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isFirst",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6351,
                            "end": 6371,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6352,
                                "end": 6359,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nRemoves top margin when the fieldset is the first in a sequence.\nEnsures proper spacing in stacked fieldset layouts.\n",
                    "description": "<p>Removes top margin when the fieldset is the first in a sequence.\nEnsures proper spacing in stacked fieldset layouts.</p>\n",
                    "line": 194,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isLarge",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6120,
                            "end": 6140,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6121,
                                "end": 6128,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nApplies larger sizing to the fieldset header and spacing.\nUsed to create visual hierarchy or emphasize important sections.\n",
                    "description": "<p>Applies larger sizing to the fieldset header and spacing.\nUsed to create visual hierarchy or emphasize important sections.</p>\n",
                    "line": 187,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nPrimary text displayed in the fieldset header.\nProvides a descriptive title for the grouped content.\n",
                    "description": "<p>Primary text displayed in the fieldset header.\nProvides a descriptive title for the grouped content.</p>\n",
                    "line": 134,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "expand",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the fieldset is expanded or collapsed.\nPayload: string containing the fieldset's id property.\nTriggered by user interaction with the expand/collapse toggle.\n",
                    "description": "<p>Emitted when the fieldset is expanded or collapsed.\nPayload: string containing the fieldset&#39;s id property.\nTriggered by user interaction with the expand/collapse toggle.</p>\n",
                    "line": 201,
                    "type": "EventEmitter<string>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BaseStatesDirective",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 214,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "collapseMenuLabel",
                    "defaultValue": "'Collapse '",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Label for collapse button accessibility</p>\n",
                    "line": 207,
                    "rawdescription": "\nLabel for collapse button accessibility",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "expandMenuLabel",
                    "defaultValue": "'Expand '",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Label for expand button accessibility</p>\n",
                    "line": 204,
                    "rawdescription": "\nLabel for expand button accessibility",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "lazyContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<HTMLElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Template reference for lazy-loaded content</p>\n",
                    "line": 210,
                    "rawdescription": "\nTemplate reference for lazy-loaded content",
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "templates",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiTemplateDirective>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Query list of template directives for content projection</p>\n",
                    "line": 213,
                    "rawdescription": "\nQuery list of template directives for content projection",
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "EuiTemplateDirective"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 216,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onToggle",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 227,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles expand/collapse toggle events\nEmits the fieldset ID when toggled\n",
                    "description": "<p>Handles expand/collapse toggle events\nEmits the fieldset ID when toggled</p>\n"
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nCSS classes applied to the host element",
                    "description": "<p>CSS classes applied to the host element</p>\n",
                    "line": 107,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_ICON_BUTTON_EXPANDER"
                },
                {
                    "name": "EUI_ICON_STATE"
                }
            ],
            "description": "<p><code>eui-fieldset</code> is a container component that groups related form controls or content sections with a labeled border.\n<code>eui-fieldset</code> supports collapsible/expandable behavior, custom icons, and flexible content projection.\nCommonly used to organize complex forms into logical sections or create accordion-style interfaces.\n<code>eui-fieldset</code> Provides visual hierarchy through theming variants and size options.</p>\n<h3>Basic fieldset</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-fieldset label=&quot;Personal Information&quot;&gt;\n  &lt;eui-input-text label=&quot;Name&quot;&gt;&lt;/eui-input-text&gt;\n  &lt;eui-input-text label=&quot;Email&quot;&gt;&lt;/eui-input-text&gt;\n&lt;/eui-fieldset&gt;</code></pre></div><h3>Expandable fieldset</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-fieldset\n  label=&quot;Advanced Options&quot;\n  [isExpandable]=&quot;true&quot;\n  [isExpanded]=&quot;false&quot;\n  (expand)=&quot;onExpand($event)&quot;&gt;\n  &lt;ng-template euiTemplate=&quot;eui-fieldset-content&quot;&gt;\n    &lt;p&gt;Collapsible content here&lt;/p&gt;\n  &lt;/ng-template&gt;\n&lt;/eui-fieldset&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses semantic <code>&lt;fieldset&gt;</code> and <code>&lt;legend&gt;</code> elements for proper form grouping</li>\n<li>Expand/collapse button includes descriptive aria-label</li>\n<li>Keyboard navigation supported for expandable fieldsets</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use <code>isExpandable</code> with lazy-loaded content via <code>euiTemplate</code> for performance</li>\n<li>Apply state variants (euiPrimary, euiSuccess, etc.) for visual emphasis</li>\n<li>Set <code>isFirst</code> to remove top margin in stacked layouts</li>\n</ul>\n",
            "rawdescription": "\n\n`eui-fieldset` is a container component that groups related form controls or content sections with a labeled border.\n`eui-fieldset` supports collapsible/expandable behavior, custom icons, and flexible content projection.\nCommonly used to organize complex forms into logical sections or create accordion-style interfaces.\n`eui-fieldset` Provides visual hierarchy through theming variants and size options.\n\n### Basic fieldset\n```html\n<eui-fieldset label=\"Personal Information\">\n  <eui-input-text label=\"Name\"></eui-input-text>\n  <eui-input-text label=\"Email\"></eui-input-text>\n</eui-fieldset>\n```\n\n### Expandable fieldset\n```html\n<eui-fieldset\n  label=\"Advanced Options\"\n  [isExpandable]=\"true\"\n  [isExpanded]=\"false\"\n  (expand)=\"onExpand($event)\">\n  <ng-template euiTemplate=\"eui-fieldset-content\">\n    <p>Collapsible content here</p>\n  </ng-template>\n</eui-fieldset>\n```\n\n### Accessibility\n- Uses semantic `<fieldset>` and `<legend>` elements for proper form grouping\n- Expand/collapse button includes descriptive aria-label\n- Keyboard navigation supported for expandable fieldsets\n\n### Notes\n- Use `isExpandable` with lazy-loaded content via `euiTemplate` for performance\n- Apply state variants (euiPrimary, euiSuccess, etc.) for visual emphasis\n- Set `isFirst` to remove top margin in stacked layouts\n",
            "type": "component",
            "sourceCode": "import {\n    AfterContentInit,\n    Component,\n    ContentChildren,\n    Directive,\n    EventEmitter,\n    HostBinding,\n    Input,\n    Output,\n    QueryList,\n    TemplateRef,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\nimport { EuiTemplateDirective } from '@eui/components/directives';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_ICON_BUTTON_EXPANDER } from '@eui/components/eui-icon-button-expander';\nimport { EUI_ICON_STATE } from '@eui/components/eui-icon-state';\n\n/**\n * Directive for projecting custom content into the right side of the fieldset label area.\n * Used to add supplementary controls or information aligned to the right of the label text.\n */\n// eslint-disable-next-line\n@Directive({ selector: 'euiFieldsetLabelRightContent' })\nexport class EuiFieldsetLabelRightContentTagDirective {}\n\n/**\n * Directive for projecting additional content below the main fieldset label.\n * Used to add descriptive text, hints, or secondary information in the label section.\n */\n// eslint-disable-next-line\n@Directive({ selector: 'euiFieldsetLabelExtraContent' })\nexport class EuiFieldsetLabelExtraContentTagDirective {}\n\n/**\n * @description\n * `eui-fieldset` is a container component that groups related form controls or content sections with a labeled border.\n * `eui-fieldset` supports collapsible/expandable behavior, custom icons, and flexible content projection.\n * Commonly used to organize complex forms into logical sections or create accordion-style interfaces.\n * `eui-fieldset` Provides visual hierarchy through theming variants and size options.\n *\n * @usageNotes\n * ### Basic fieldset\n * ```html\n * <eui-fieldset label=\"Personal Information\">\n *   <eui-input-text label=\"Name\"></eui-input-text>\n *   <eui-input-text label=\"Email\"></eui-input-text>\n * </eui-fieldset>\n * ```\n *\n * ### Expandable fieldset\n * ```html\n * <eui-fieldset \n *   label=\"Advanced Options\" \n *   [isExpandable]=\"true\" \n *   [isExpanded]=\"false\"\n *   (expand)=\"onExpand($event)\">\n *   <ng-template euiTemplate=\"eui-fieldset-content\">\n *     <p>Collapsible content here</p>\n *   </ng-template>\n * </eui-fieldset>\n * ```\n *\n * ### Accessibility\n * - Uses semantic `<fieldset>` and `<legend>` elements for proper form grouping\n * - Expand/collapse button includes descriptive aria-label\n * - Keyboard navigation supported for expandable fieldsets\n *\n * ### Notes\n * - Use `isExpandable` with lazy-loaded content via `euiTemplate` for performance\n * - Apply state variants (euiPrimary, euiSuccess, etc.) for visual emphasis\n * - Set `isFirst` to remove top margin in stacked layouts\n */\n@Component({\n    selector: 'eui-fieldset',\n    templateUrl: './eui-fieldset.component.html',\n    styleUrl: './eui-fieldset.scss',\n    imports: [\n        NgTemplateOutlet,\n        ...EUI_ICON,\n        ...EUI_ICON_BUTTON_EXPANDER,\n        ...EUI_ICON_STATE,\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 EuiFieldsetComponent implements AfterContentInit {\n    /** CSS classes applied to the host element */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-fieldset'),\n            this.isFirst ? 'eui-fieldset--first' : '',\n            this.isExpandable ? 'eui-fieldset--expandable' : '',\n            this.iconSvgFillColor ? 'eui-fieldset--has-icon-color': '',\n        ].join(' ').trim();\n    }\n\n    /**\n     * Data attribute used for end-to-end testing identification.\n     * @default 'eui-fieldset'\n     */\n    @HostBinding('attr.data-e2e')\n    @Input() e2eAttr = 'eui-fieldset';\n\n    /**\n     * Unique identifier for the fieldset element.\n     * Emitted in the expand event to identify which fieldset was toggled.\n     * Required when using expandable fieldsets to track state.\n     */\n    @Input() id: string;\n\n    /**\n     * Primary text displayed in the fieldset header.\n     * Provides a descriptive title for the grouped content.\n     */\n    @Input() label: string;\n\n    /**\n     * CSS class name for a custom icon displayed in the fieldset header.\n     * Alternative to iconSvgName for using icon fonts or custom icon implementations.\n     */\n    @Input() iconClass: string;\n\n    /**\n     * Name of the SVG icon to display in the fieldset header.\n     * Follows EUI icon naming conventions for consistent visual language.\n     */\n    @Input() iconSvgName: string;\n\n    /**\n     * Fill color applied to the SVG icon in the fieldset header.\n     * Accepts CSS color values to customize icon appearance.\n     */\n    @Input() iconSvgFillColor: string;\n\n    /**\n     * Displays a default icon in the fieldset header when no custom icon is specified.\n     * Provides visual consistency across fieldsets.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasDefaultIcon = false;\n\n    /**\n     * Enables expand/collapse functionality for the fieldset content.\n     * Adds an interactive toggle button to the header for showing/hiding content.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isExpandable = false;\n\n    /**\n     * Controls the expanded state of the fieldset content.\n     * Only effective when isExpandable is true.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isExpanded = true;\n\n    /**\n     * Positions the expand/collapse toggle button on the left side of the header.\n     * By default, the expander appears on the right.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasLeftExpander = false;\n\n    /**\n     * Applies larger sizing to the fieldset header and spacing.\n     * Used to create visual hierarchy or emphasize important sections.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isLarge = false;\n\n    /**\n     * Removes top margin when the fieldset is the first in a sequence.\n     * Ensures proper spacing in stacked fieldset layouts.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isFirst = false;\n\n    /**\n     * Emitted when the fieldset is expanded or collapsed.\n     * Payload: string containing the fieldset's id property.\n     * Triggered by user interaction with the expand/collapse toggle.\n     */\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    /** Template reference for lazy-loaded content */\n    protected lazyContent: TemplateRef<HTMLElement>;\n\n    /** Query list of template directives for content projection */\n    @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n    protected baseStatesDirective: BaseStatesDirective = inject(BaseStatesDirective);\n\n    ngAfterContentInit(): void {\n        const lazyTemplate = this.templates.filter(t => t.name === 'eui-fieldset-content')[0];\n        if (lazyTemplate) {\n            this.lazyContent = lazyTemplate.template;\n        }\n    }\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",
            "styleUrl": "./eui-fieldset.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterContentInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 107,
                        "rawdescription": "\nCSS classes applied to the host element",
                        "description": "<p>CSS classes applied to the host element</p>\n"
                    }
                }
            },
            "templateData": "@if (label) {\n    <div class=\"eui-fieldset__header\">\n        @if (isExpandable && hasLeftExpander) {\n            <eui-icon-button-expander\n                [isExpanded]=\"isExpanded\"\n                (click)=\"onToggle()\"\n                isDirectionForward\n                fillColor=\"secondary\">\n            </eui-icon-button-expander>\n        }        \n        <div class=\"eui-fieldset__header-label\" [class.eui-fieldset__header-label--large]=\"isLarge\">\n            @if (iconSvgName) {\n                <div class=\"eui-fieldset__header-icon\">\n                    <eui-icon-svg [icon]=\"iconSvgName\" [fillColor]=\"iconSvgFillColor\"/>\n                </div>\n            }\n            @if (hasDefaultIcon) {\n                <div class=\"eui-fieldset__header-icon\">\n                    <eui-icon-state [euiVariant]=\"baseStatesDirective.euiVariant\"/>\n                </div>\n            }\n            {{ label }}\n            <ng-content select=\"euiFieldsetLabelExtraContent\"></ng-content>\n        </div>\n        <div class=\"eui-fieldset__header-right-content\">\n            <ng-content select=\"euiFieldsetLabelRightContent\"></ng-content>\n            @if (isExpandable && !hasLeftExpander) {\n                <eui-icon-button-expander\n                    [isExpanded]=\"isExpanded\"\n                    (click)=\"onToggle()\"\n                    isDirectionForward\n                    fillColor=\"secondary\">\n                </eui-icon-button-expander>\n            }\n        </div>\n    </div>\n}\n@if (isExpanded) {\n    <div id=\"fieldset-content\" class=\"eui-fieldset__content\">\n        @if (lazyContent) {\n            <ng-template [ngTemplateOutlet]=\"lazyContent\"></ng-template>\n        } @else {\n            <ng-content></ng-content>\n        }\n    </div>\n}\n"
        },
        {
            "name": "EuiFilePreviewComponent",
            "id": "component-EuiFilePreviewComponent-cdc144ee4518d92a9fb21a73e4391c680e98d102d46480f3691df6fd790e6752022cf317a0c624b83a6ee0704eae42798ac0e6ccefdae190241bb0b62a010c86",
            "file": "packages/components/eui-file-upload/file-preview/file-preview.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-file-preview",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./file-preview.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "file",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThe file to use. Will be a `Blob` for a file to be uploaded, `EuiUploadedFileInterface` for an initial file.\n",
                    "description": "<p>The file to use. Will be a <code>Blob</code> for a file to be uploaded, <code>EuiUploadedFileInterface</code> for an initial file.</p>\n",
                    "line": 50,
                    "type": "Blob | EuiUploadedFileInterface | any",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasPreview",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3637,
                            "end": 3656,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3638,
                                "end": 3645,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether a preview, image or icon, is displayed for a file to upload.\n\n",
                    "description": "<p>Whether a preview, image or icon, is displayed for a file to upload.</p>\n",
                    "line": 112,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasPreviewAsIcon",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4442,
                            "end": 4462,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4443,
                                "end": 4450,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether a preview is displayed as a file format icon.\n\n",
                    "description": "<p>Whether a preview is displayed as a file format icon.</p>\n",
                    "line": 142,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasPreviewAsImage",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4267,
                            "end": 4286,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4268,
                                "end": 4275,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether a preview is displayed as image.\n\n",
                    "description": "<p>Whether a preview is displayed as image.</p>\n",
                    "line": 136,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "index",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nIndex of the file in the list.\n",
                    "description": "<p>Index of the file in the list.</p>\n",
                    "line": 58,
                    "type": "number",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isFilenameDisplayed",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3786,
                            "end": 3805,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3787,
                                "end": 3794,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the filename is displayed.\n\n",
                    "description": "<p>Whether the filename is displayed.</p>\n",
                    "line": 118,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isFileObject",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4824,
                            "end": 4844,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4825,
                                "end": 4832,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the file is `File` or has been provided by the user as initial value.\n\n",
                    "description": "<p>Whether the file is <code>File</code> or has been provided by the user as initial value.</p>\n",
                    "line": 154,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isFilesizeDisplayed",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3944,
                            "end": 3963,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3945,
                                "end": 3952,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the filesize is displayed.\n\n",
                    "description": "<p>Whether the filesize is displayed.</p>\n",
                    "line": 124,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isFiletypeDisplayed",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4103,
                            "end": 4122,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4104,
                                "end": 4111,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the file type is displayed.\n\n",
                    "description": "<p>Whether the file type is displayed.</p>\n",
                    "line": 130,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isItemsClickable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4624,
                            "end": 4644,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4625,
                                "end": 4632,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether items can be clicked. `itemClick` event is emitted.\n\n",
                    "description": "<p>Whether items can be clicked. <code>itemClick</code> event is emitted.</p>\n",
                    "line": 148,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "previewAsIconConfig",
                    "defaultValue": "{\n        avi: 'eui-file-video:eui-file',\n        html: 'eui-file-html:eui-file',\n        htm: 'eui-file-code:eui-file',\n        js: 'eui-file-code:eui-file',\n        json: 'eui-file-code:eui-file',\n        mp3: 'eui-file-audio:eui-file',\n        mp4: 'eui-file-video:eui-file',\n        pdf: 'eui-file-pdf:eui-file',\n        png: 'eui-file-png:eui-file',\n        svg: 'eui-file-svg:eui-file',\n        txt: 'eui-file-txt:eui-file',\n        xml: 'eui-file-code:eui-file',\n        jpeg: 'eui-file-jpg:eui-file',\n        jpg: 'eui-file-jpg:eui-file',\n        zip: 'eui-file-archive:eui-file',\n        doc: 'eui-file-word:eui-file',\n        docx: 'eui-file-word:eui-file',\n        xls: 'eui-file-xls:eui-file',\n        xlsx: 'eui-file-xls:eui-file',\n        ppt: 'eui-file-ppt:eui-file',\n        csv: 'eui-file-csv:eui-file',\n        rtf: 'eui-file-txt:eui-file',\n    }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nObject matching extension and icon.\n",
                    "description": "<p>Object matching extension and icon.</p>\n",
                    "line": 63,
                    "type": "{ avi: string; html: string; htm: string; js: string; json: string; mp3: string; mp4: string; pdf: string; png: string; svg: string; txt: string; xml: string; jpeg: string; jpg: string; zip: string; doc: string; ... 5 more ...; rtf: string; }",
                    "decorators": []
                },
                {
                    "name": "uploadedFileTemplate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nTemplate to use in the list of files.\n",
                    "description": "<p>Template to use in the list of files.</p>\n",
                    "line": 54,
                    "type": "TemplateRef<literal type>",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "itemClick",
                    "defaultValue": "new EventEmitter<Blob | EuiUploadedFileInterface | any>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when a chosen file to upload is clicked.\n",
                    "description": "<p>Event emitted when a chosen file to upload is clicked.</p>\n",
                    "line": 105,
                    "type": "EventEmitter"
                },
                {
                    "name": "removeFromList",
                    "defaultValue": "new EventEmitter<number>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when the remove button is clicked.\n",
                    "description": "<p>Event emitted when the remove button is clicked.</p>\n",
                    "line": 91,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "fileExtension",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 95,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "icon",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 94,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "isLoading",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 97,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "previewData",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 96,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "templates",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiTemplateDirective>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 156,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "EuiTemplateDirective"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "typeFromFileExtension",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 98,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "url",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 93,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 205,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 159,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onItemClick",
                    "args": [
                        {
                            "name": "e",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 224,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nClick item handler.\n",
                    "description": "<p>Click item handler.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 7290,
                                "end": 7291,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "e"
                            },
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 7284,
                                "end": 7289,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The item clicked.</p>\n"
                        }
                    ]
                },
                {
                    "name": "onRemoveFromList",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 216,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRemove from the list handler.\n",
                    "description": "<p>Remove from the list handler.</p>\n",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_LABEL"
                },
                {
                    "name": "EuiFileSizePipe",
                    "type": "pipe"
                }
            ],
            "description": "<p>Internal class used by <code>eui-file-upload</code> to display the files to be uploaded.</p>\n",
            "rawdescription": "\n\nInternal class used by `eui-file-upload` to display the files to be uploaded.\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    OnInit,\n    Input,\n    ChangeDetectionStrategy,\n    ViewEncapsulation,\n    ChangeDetectorRef,\n    Output,\n    EventEmitter,\n    ContentChildren,\n    QueryList,\n    TemplateRef,\n    booleanAttribute,\n    AfterViewInit,\n    inject,\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { EuiTemplateDirective } from '@eui/components/directives';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\n\nimport { EuiUploadedFileInterface } from '../models/uploaded-file.model';\nimport { EuiFileSizePipe } from '../pipes/filesize.pipe';\n\n/**\n * @description\n * Internal class used by `eui-file-upload` to display the files to be uploaded.\n */\n@Component({\n    selector: 'eui-file-preview',\n    templateUrl: './file-preview.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        NgTemplateOutlet,\n        ...EUI_BUTTON,\n        ...EUI_ICON,\n        ...EUI_LABEL,\n        EuiFileSizePipe,\n    ],\n})\nexport class EuiFilePreviewComponent implements OnInit, AfterViewInit {\n    /**\n     * The file to use. Will be a `Blob` for a file to be uploaded, `EuiUploadedFileInterface` for an initial file.\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    @Input() file: Blob | EuiUploadedFileInterface | any;\n    /**\n     * Template to use in the list of files.\n     */\n    @Input() uploadedFileTemplate: TemplateRef<{ $implicit: { file: EuiUploadedFileInterface, index: number, isFileObject: boolean } }>;\n    /**\n     * Index of the file in the list.\n     */\n    @Input() index: number;\n\n    /**\n     * Object matching extension and icon.\n     */\n    @Input() previewAsIconConfig = {\n        avi: 'eui-file-video:eui-file',\n        html: 'eui-file-html:eui-file',\n        htm: 'eui-file-code:eui-file',\n        js: 'eui-file-code:eui-file',\n        json: 'eui-file-code:eui-file',\n        mp3: 'eui-file-audio:eui-file',\n        mp4: 'eui-file-video:eui-file',\n        pdf: 'eui-file-pdf:eui-file',\n        png: 'eui-file-png:eui-file',\n        svg: 'eui-file-svg:eui-file',\n        txt: 'eui-file-txt:eui-file',\n        xml: 'eui-file-code:eui-file',\n        jpeg: 'eui-file-jpg:eui-file',\n        jpg: 'eui-file-jpg:eui-file',\n        zip: 'eui-file-archive:eui-file',\n        doc: 'eui-file-word:eui-file',\n        docx: 'eui-file-word:eui-file',\n        xls: 'eui-file-xls:eui-file',\n        xlsx: 'eui-file-xls:eui-file',\n        ppt: 'eui-file-ppt:eui-file',\n        csv: 'eui-file-csv:eui-file',\n        rtf: 'eui-file-txt:eui-file',\n    };\n\n    /**\n     * Event emitted when the remove button is clicked.\n     */\n    @Output() removeFromList = new EventEmitter<number>();\n\n    public url: string;\n    public icon: string;\n    public fileExtension: string;\n    public previewData: { image: boolean; display: string };\n    public isLoading = false;\n    public typeFromFileExtension: string = null;\n\n    /**\n     * Event emitted when a chosen file to upload is clicked.\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    @Output() itemClick = new EventEmitter<Blob | EuiUploadedFileInterface | any>();\n\n    /**\n     * Whether a preview, image or icon, is displayed for a file to upload.\n     *\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasPreview = true;\n    /**\n     * Whether the filename is displayed.\n     *\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isFilenameDisplayed = true;\n    /**\n     * Whether the filesize is displayed.\n     *\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isFilesizeDisplayed = true;\n    /**\n     * Whether the file type is displayed.\n     *\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isFiletypeDisplayed = true;\n    /**\n     * Whether a preview is displayed as image.\n     *\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasPreviewAsImage = true;\n    /**\n     * Whether a preview is displayed as a file format icon.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasPreviewAsIcon = false;\n    /**\n     * Whether items can be clicked. `itemClick` event is emitted.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isItemsClickable = false;\n    /**\n     * Whether the file is `File` or has been provided by the user as initial value.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isFileObject = false;\n\n    @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n    private cd = inject(ChangeDetectorRef);\n\n    ngOnInit(): void {\n        if (this.hasPreviewAsIcon) {\n            this.hasPreviewAsImage = false;\n        }\n\n        if (this.file instanceof Blob) {\n            const reader = new FileReader();\n            reader.readAsArrayBuffer(this.file as Blob);\n\n            // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n            // eslint-disable-next-line @typescript-eslint/no-explicit-any\n            reader.onload = (event: any): void => {\n                this.url = event.target.result;\n                this.fileExtension = this.getFileExtension(this.file.name);\n                this.icon = this.getIconForMime(this.fileExtension);\n\n                if (this.fileExtension === 'msg') {\n                    this.typeFromFileExtension = 'application/vnd.ms-outlook';\n                }\n\n                const blob = new Blob([reader.result], { type: this.file.type });\n                const imageUrl = URL.createObjectURL(blob);\n\n                this.previewData = this.getPreviewForMime(this.fileExtension, imageUrl);\n\n                this.cd.detectChanges();\n            };\n            reader.onloadstart = (event: ProgressEvent): void => {\n                this.isLoading = true;\n                this.cd.detectChanges();\n            };\n            reader.onloadend = (event: ProgressEvent): void => {\n                this.isLoading = false;\n                this.cd.detectChanges();\n            };\n        } else {\n            this.url = (this.file as EuiUploadedFileInterface).url;\n            this.fileExtension = this.getFileExtension(this.file.name);\n            this.icon = this.getIconForMime(this.fileExtension);\n\n            this.previewData = this.getPreviewForMime(this.fileExtension, this.url);\n\n            this.cd.detectChanges();\n        }\n    }\n\n    ngAfterViewInit(): void {\n        this.templates.forEach((item) => {\n            if (item.getType() === 'uploadedFile') {\n                this.uploadedFileTemplate = item.template;\n            }\n        });\n    }\n\n    /**\n     * Remove from the list handler.\n     */\n    public onRemoveFromList(): void {\n        this.removeFromList.emit(this.index);\n    }\n\n    /**\n     * Click item handler.\n     * @param e The item clicked.\n     */\n    public onItemClick(e: Event): void {\n        this.itemClick.emit(this.file);\n        e.preventDefault();\n    }\n\n    /**\n     * Method returning a file extension.\n     *\n     * @param fileName Filename of the file\n     * @returns the extension as a string\n     */\n    private getFileExtension(fileName: string): string {\n        const ext = fileName.split('.');\n\n        return ext[ext.length - 1];\n    }\n\n    /**\n     * Method that returns the preview for a file.\n     *\n     * @param fileExtension Extension of the file\n     * @param imgUrl URL of the file\n     * @returns The image URL of valid image otherwise an icon of the extension\n     */\n    private getPreviewForMime(fileExtension: string, imgUrl: string): { image: boolean; display: string } {\n        const f = fileExtension.toLowerCase();\n        const image = f === 'jpeg' || f === 'jpg' || f === 'png' || f === 'gif' ? true : false;\n        const display = f === 'jpeg' || f === 'jpg' || f === 'png' || f === 'gif' ? imgUrl : this.getIconForMime(f);\n\n        return { image, display };\n    }\n\n    /**\n     * Method that return the icon for a MIME type.\n     *\n     * @param fileExtension Extension of the file\n     * @returns An icon string\n     */\n    private getIconForMime(fileExtension: string): string {\n        const f = fileExtension.toLowerCase();\n        return !this.previewAsIconConfig[f] ? 'eui-file-empty-o' : this.previewAsIconConfig[f];\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "AfterViewInit"
            ],
            "templateData": "@if (uploadedFileTemplate) {\n    <ng-template\n        [ngTemplateOutlet]=\"uploadedFileTemplate\"\n        [ngTemplateOutletContext]=\"{ $implicit: { file: { id: file.id, name: file.name, url: file.url || previewData?.display, size: file.size, type: file.type }, index, isFileObject } }\" />\n} @else {\n    <div class=\"eui-file-upload__preview\">\n        <div class=\"eui-file-upload__preview--left\">\n            @if (hasPreview && hasPreviewAsImage) {\n                <div class=\"eui-file-upload__preview--left__image\">\n                    @if (url && previewData.image) {\n                        <img [src]=\"previewData.display\" alt=\"File preview image\" />\n                    }\n                    @if (previewData && !previewData.image) {\n                        <eui-icon-svg icon=\"{{ previewData.display }}\" size=\"l\" class=\"eui-u-mr-s\"></eui-icon-svg>\n                    }\n                    @if (isLoading) {\n                        <div class=\"loading-container\">\n                            <eui-icon-svg isLoading size=\"2xl\"></eui-icon-svg>\n                        </div>\n                    }\n                </div>\n            }\n            @if (hasPreview && hasPreviewAsIcon) {\n                <div>\n                    <eui-icon-svg icon=\"{{ icon }}\" size=\"l\" class=\"eui-u-mr-s\"></eui-icon-svg>\n                </div>\n            }\n            @if (isFilenameDisplayed) {\n                <div class=\"eui-file-upload__preview--left__filename eui-u-text-truncate\">\n                    @if (!isItemsClickable) {\n                        {{ file.name }}\n                    }\n                    @if (isItemsClickable) {\n                        <a href=\"#\" (click)=\"onItemClick($event)\" class=\"eui-u-text-link eui-u-text-truncate\">{{ file.name }}</a>\n                    }\n                </div>\n            }\n        </div>\n        <div class=\"eui-file-upload__preview--right\">\n            @if (isFilesizeDisplayed) {\n                <div class=\"eui-u-text-no-wrap\">{{ file.size | filesize }}</div>\n            }\n            @if (isFiletypeDisplayed) {\n                <div>{{ file.type.length > 0 ? file.type : typeFromFileExtension }}</div>\n            }\n            <div>\n                <button euiButton euiDanger euiRounded euiIconButton euiBasicButton type=\"button\" (click)=\"onRemoveFromList()\" attr.aria-label=\"Remove {{ file.name }} from the list\">\n                    <eui-icon-svg icon=\"eui-trash\" />\n                </button>\n            </div>\n        </div>\n    </div>\n}\n"
        },
        {
            "name": "EuiFileUploadComponent",
            "id": "component-EuiFileUploadComponent-c67d5ee9149617eed06058a2a92c5978eff081898f5cfd1c195a284db07578ad9974a36b7eaa764cef197ba94ba05200d75f78ac1b8598760a1b2238c3bae933",
            "file": "packages/components/eui-file-upload/eui-file-upload.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [
                {
                    "name": "EuiFileUploadComponent",
                    "type": "component"
                }
            ],
            "selector": "eui-file-upload",
            "styleUrls": [
                "./eui-file-upload.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-file-upload.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "accept",
                    "defaultValue": "'*'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3577,
                            "end": 3595,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3578,
                                "end": 3585,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;*&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nComma-separated list of allowed file extensions for upload filtering.\nFiles not matching the specified extensions will be rejected.\nUse '*' to allow all file types.\n",
                    "description": "<p>Comma-separated list of allowed file extensions for upload filtering.\nFiles not matching the specified extensions will be rejected.\nUse &#39;*&#39; to allow all file types.</p>\n",
                    "line": 109,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-file-upload'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3024,
                            "end": 3056,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3025,
                                "end": 3032,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-file-upload&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nData attribute used for end-to-end testing identification.\n",
                    "description": "<p>Data attribute used for end-to-end testing identification.</p>\n",
                    "line": 96,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasDragArea",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7828,
                            "end": 7848,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7829,
                                "end": 7836,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables drag-and-drop functionality for file selection.\nDisplays a drop zone area where users can drag files from their file system.\n",
                    "description": "<p>Enables drag-and-drop functionality for file selection.\nDisplays a drop zone area where users can drag files from their file system.</p>\n",
                    "line": 220,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasPreview",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6595,
                            "end": 6614,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6596,
                                "end": 6603,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nDisplays a visual preview for each file in the upload list.\nPreview type is controlled by hasPreviewAsImage and hasPreviewAsIcon properties.\n",
                    "description": "<p>Displays a visual preview for each file in the upload list.\nPreview type is controlled by hasPreviewAsImage and hasPreviewAsIcon properties.</p>\n",
                    "line": 190,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasPreviewAsIcon",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7091,
                            "end": 7111,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7092,
                                "end": 7099,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nRenders file previews as file format icons instead of image thumbnails.\nWhen enabled, automatically sets hasPreviewAsImage to false.\n",
                    "description": "<p>Renders file previews as file format icons instead of image thumbnails.\nWhen enabled, automatically sets hasPreviewAsImage to false.</p>\n",
                    "line": 202,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasPreviewAsImage",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6837,
                            "end": 6856,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6838,
                                "end": 6845,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nRenders file previews as thumbnail images for supported image file types.\nAutomatically disabled when hasPreviewAsIcon is true.\n",
                    "description": "<p>Renders file previews as thumbnail images for supported image file types.\nAutomatically disabled when hasPreviewAsIcon is true.</p>\n",
                    "line": 196,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasProgressBar",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6336,
                            "end": 6355,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6337,
                                "end": 6344,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nDisplays a progress bar indicating upload completion percentage.\nProgress value must be provided via the progress input property.\n",
                    "description": "<p>Displays a progress bar indicating upload completion percentage.\nProgress value must be provided via the progress input property.</p>\n",
                    "line": 184,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasResetButton",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7577,
                            "end": 7596,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7578,
                                "end": 7585,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nDisplays a button to clear all files from the upload queue.\nOnly visible when isMultiple is true and files are present.\n",
                    "description": "<p>Displays a button to clear all files from the upload queue.\nOnly visible when isMultiple is true and files are present.</p>\n",
                    "line": 214,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasTotalSizeDisplayed",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7332,
                            "end": 7351,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7333,
                                "end": 7340,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nShows the total combined size of all files in the upload queue.\nProvides users with visibility into total upload size.\n",
                    "description": "<p>Shows the total combined size of all files in the upload queue.\nProvides users with visibility into total upload size.</p>\n",
                    "line": 208,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isItemsClickable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 8083,
                            "end": 8103,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8084,
                                "end": 8091,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nMakes files in the upload list clickable, emitting itemClick events on interaction.\nUseful for implementing file preview or detail views.\n",
                    "description": "<p>Makes files in the upload list clickable, emitting itemClick events on interaction.\nUseful for implementing file preview or detail views.</p>\n",
                    "line": 226,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isMultiple",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6092,
                            "end": 6111,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6093,
                                "end": 6100,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables selection of multiple files in a single upload operation.\nWhen false, only one file can be selected at a time.\n",
                    "description": "<p>Enables selection of multiple files in a single upload operation.\nWhen false, only one file can be selected at a time.</p>\n",
                    "line": 178,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "maxFiles",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3830,
                            "end": 3849,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3831,
                                "end": 3838,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>null</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nMaximum number of files that can be uploaded simultaneously.\nWhen limit is reached, additional file selection is disabled.\nSet to null or undefined for unlimited files.\n",
                    "description": "<p>Maximum number of files that can be uploaded simultaneously.\nWhen limit is reached, additional file selection is disabled.\nSet to null or undefined for unlimited files.</p>\n",
                    "line": 116,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "progress",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCurrent upload progress percentage displayed in the progress bar.\nOnly effective when hasProgressBar is true. Value should be between 0 and 100.\nMust be updated externally to reflect actual upload progress.\n",
                    "description": "<p>Current upload progress percentage displayed in the progress bar.\nOnly effective when hasProgressBar is true. Value should be between 0 and 100.\nMust be updated externally to reflect actual upload progress.</p>\n",
                    "line": 102,
                    "type": "number",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "fileDrop",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when files are dropped into the drag-and-drop area.\nTriggered after files are processed and added to the upload queue.\nNo payload is emitted.\n",
                    "description": "<p>Emitted when files are dropped into the drag-and-drop area.\nTriggered after files are processed and added to the upload queue.\nNo payload is emitted.</p>\n",
                    "line": 122,
                    "type": "EventEmitter"
                },
                {
                    "name": "itemClick",
                    "defaultValue": "new EventEmitter<Blob | EuiUploadedFileInterface | any>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when a file in the upload list is clicked.\nOnly triggers when isItemsClickable is true.\nPayload: Blob, EuiUploadedFileInterface, or any file object representing the clicked item.\n",
                    "description": "<p>Emitted when a file in the upload list is clicked.\nOnly triggers when isItemsClickable is true.\nPayload: Blob, EuiUploadedFileInterface, or any file object representing the clicked item.</p>\n",
                    "line": 130,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "browseButtonTemplate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<HTMLElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 169,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "dragEntered",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 159,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "fileInputs",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<ElementRef<HTMLInputElement>>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 166,
                    "decorators": [
                        {
                            "name": "ViewChildren",
                            "stringifiedArguments": "'input'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "files",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "File[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 146,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "filesTotalSize",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 147,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "progressBarTemplate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<literal type>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 171,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "randomNumberId",
                    "defaultValue": "Math.floor(Math.random() * 10000)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Random number generated to give an unique id to the field.</p>\n",
                    "line": 151,
                    "rawdescription": "\n\nRandom number generated to give an unique id to the field.\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "resetButtonTemplate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<HTMLElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 170,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "templates",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiTemplateDirective>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>List of templates passed to the component.</p>\n",
                    "line": 164,
                    "rawdescription": "\n\nList of templates passed to the component.\n",
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "EuiTemplateDirective"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "uploadedFiles",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiUploadedFileInterface[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>List of existing files to display in the component.</p>\n",
                    "line": 157,
                    "rawdescription": "\n\nList of existing files to display in the component.\n\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "pos": 5207,
                            "end": 5247,
                            "kind": 345,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5208,
                                "end": 5212,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "type"
                            },
                            "comment": "",
                            "typeExpression": {
                                "pos": 5213,
                                "end": 5241,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 5214,
                                    "end": 5240,
                                    "kind": 189,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "elementType": {
                                        "pos": 5214,
                                        "end": 5238,
                                        "kind": 184,
                                        "id": 0,
                                        "flags": 16777216,
                                        "modifierFlagsCache": 0,
                                        "transformFlags": 1,
                                        "typeName": {
                                            "pos": 5214,
                                            "end": 5238,
                                            "kind": 80,
                                            "id": 0,
                                            "flags": 16777216,
                                            "transformFlags": 0,
                                            "escapedText": "EuiUploadedFileInterface"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "uploadedFileTemplate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<literal type>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 168,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "emitFiles",
                    "args": [
                        {
                            "name": "fileList",
                            "type": "FileList",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 233,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDrag and drop area listener.\n\n",
                    "description": "<p>Drag and drop area listener.</p>\n",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'change', ['$any($event.target).files']"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 8242,
                                "end": 8250,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "fileList"
                            },
                            "type": "FileList",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 8236,
                                "end": 8241,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p><code>FileList</code> containing dropped file and initial file.</p>\n"
                        }
                    ]
                },
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 285,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 279,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onDragEnter",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 305,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onDragLeave",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 311,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onItemClick",
                    "args": [
                        {
                            "name": "e",
                            "type": "Blob | EuiUploadedFileInterface | any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 367,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nClick item handler.\n",
                    "description": "<p>Click item handler.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 12527,
                                "end": 12528,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "e"
                            },
                            "type": "Blob | EuiUploadedFileInterface | any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 12521,
                                "end": 12526,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The item clicked. Will be a <code>Blob</code> for a file to be uploaded, <code>EuiUploadedFileInterface</code> for an initial file.</p>\n"
                        }
                    ]
                },
                {
                    "name": "openBrowseWindow",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 357,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "registerOnChange",
                    "args": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 381,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "registerOnTouched",
                    "args": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 387,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "removeFromList",
                    "args": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 320,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRemove a file from the array of files choosen by the user.\n\n",
                    "description": "<p>Remove a file from the array of files choosen by the user.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 11259,
                                "end": 11264,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "index"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 11253,
                                "end": 11258,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Index of the file to remove in the array.</p>\n"
                        }
                    ]
                },
                {
                    "name": "removeFromUploadedList",
                    "args": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 335,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRemove a file from the array of files provided to the component as existing values.\n\n",
                    "description": "<p>Remove a file from the array of files provided to the component as existing values.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 11727,
                                "end": 11732,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "index"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 11721,
                                "end": 11726,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Index of the file to remove in the array.</p>\n"
                        }
                    ]
                },
                {
                    "name": "resetList",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 349,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nReset the list of files in the component.\n",
                    "description": "<p>Reset the list of files in the component.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "writeValue",
                    "args": [
                        {
                            "name": "value",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 373,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4690,
                            "end": 4743,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4691,
                                "end": 4698,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>A string with all CSS classes applied.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `class` attribute for the host element.\n\n",
                    "description": "<p>Sets the <code>class</code> attribute for the host element.</p>\n",
                    "line": 138,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [
                {
                    "name": "change",
                    "args": [
                        {
                            "name": "fileList",
                            "type": "FileList",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$any($event.target).files"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDrag and drop area listener.\n\n",
                    "description": "<p>Drag and drop area listener.</p>\n",
                    "jsdoctags": [
                        {
                            "pos": 8235,
                            "end": 8309,
                            "kind": 342,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8236,
                                "end": 8241,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p><code>FileList</code> containing dropped file and initial file.</p>\n",
                            "name": {
                                "pos": 8242,
                                "end": 8250,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "fileList"
                            },
                            "isNameFirst": true,
                            "isBracketed": false
                        }
                    ],
                    "line": 233
                }
            ],
            "standalone": false,
            "imports": [
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "TranslateModule",
                    "type": "module"
                },
                {
                    "name": "EuiFilePreviewComponent",
                    "type": "component"
                },
                {
                    "name": "EuiFileUploadProgressComponent",
                    "type": "component"
                },
                {
                    "name": "EuiFileSizePipe",
                    "type": "pipe"
                },
                {
                    "name": "EUI_BUTTON"
                }
            ],
            "description": "<p><code>eui-file-upload</code> component supporting both traditional file selection and drag-and-drop functionality.\nImplements ControlValueAccessor for seamless integration with Angular reactive and template-driven forms.\n<code>eui-file-upload</code> provides file preview, upload progress tracking, file type filtering, and multiple file management.\n<code>eui-file-upload</code> displays uploaded files with customizable templates for previews, buttons, and progress indicators.</p>\n<h3>Basic file upload</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-file-upload\n  [isMultiple]=&quot;true&quot;\n  accept=&quot;.pdf,.doc,.docx&quot;\n  [maxFiles]=&quot;5&quot;&gt;\n&lt;/eui-file-upload&gt;</code></pre></div><h3>With form control</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">fileControl = new FormControl([]);</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-file-upload\n  [formControl]=&quot;fileControl&quot;\n  [hasDragArea]=&quot;true&quot;\n  [progress]=&quot;uploadProgress&quot;&gt;\n&lt;/eui-file-upload&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Native file input is keyboard accessible</li>\n<li>Drag-and-drop area announces state changes to screen readers</li>\n<li>File list items are navigable and removable via keyboard</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use <code>accept</code> to filter file types (e.g., &quot;image/*&quot;, &quot;.pdf&quot;)</li>\n<li>Progress tracking requires external upload logic to update <code>progress</code> input</li>\n<li>Customize UI with templates: uploadedFile, browseButton, resetButton, progressBar</li>\n<li>Set <code>maxFiles</code> to limit simultaneous uploads</li>\n</ul>\n",
            "rawdescription": "\n\n`eui-file-upload` component supporting both traditional file selection and drag-and-drop functionality.\nImplements ControlValueAccessor for seamless integration with Angular reactive and template-driven forms.\n`eui-file-upload` provides file preview, upload progress tracking, file type filtering, and multiple file management.\n`eui-file-upload` displays uploaded files with customizable templates for previews, buttons, and progress indicators.\n\n### Basic file upload\n```html\n<eui-file-upload\n  [isMultiple]=\"true\"\n  accept=\".pdf,.doc,.docx\"\n  [maxFiles]=\"5\">\n</eui-file-upload>\n```\n\n### With form control\n```typescript\nfileControl = new FormControl([]);\n```\n```html\n<eui-file-upload\n  [formControl]=\"fileControl\"\n  [hasDragArea]=\"true\"\n  [progress]=\"uploadProgress\">\n</eui-file-upload>\n```\n\n### Accessibility\n- Native file input is keyboard accessible\n- Drag-and-drop area announces state changes to screen readers\n- File list items are navigable and removable via keyboard\n\n### Notes\n- Use `accept` to filter file types (e.g., \"image/*\", \".pdf\")\n- Progress tracking requires external upload logic to update `progress` input\n- Customize UI with templates: uploadedFile, browseButton, resetButton, progressBar\n- Set `maxFiles` to limit simultaneous uploads\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    ElementRef,\n    HostBinding,\n    HostListener,\n    Input,\n    ViewEncapsulation,\n    OnInit,\n    ViewChildren,\n    QueryList,\n    Output,\n    EventEmitter,\n    booleanAttribute,\n    AfterViewInit,\n    ContentChildren,\n    TemplateRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EuiTemplateDirective } from '@eui/components/directives';\n\nimport { EuiUploadedFileInterface } from './models/uploaded-file.model';\nimport { EuiFilePreviewComponent } from './file-preview/file-preview.component';\nimport { EuiFileUploadProgressComponent } from './progress/eui-file-upload-progress.component';\nimport { EuiFileSizePipe } from './pipes/filesize.pipe';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * @description\n * `eui-file-upload` component supporting both traditional file selection and drag-and-drop functionality.\n * Implements ControlValueAccessor for seamless integration with Angular reactive and template-driven forms.\n * `eui-file-upload` provides file preview, upload progress tracking, file type filtering, and multiple file management.\n * `eui-file-upload` displays uploaded files with customizable templates for previews, buttons, and progress indicators.\n *\n * @usageNotes\n * ### Basic file upload\n * ```html\n * <eui-file-upload \n *   [isMultiple]=\"true\" \n *   accept=\".pdf,.doc,.docx\"\n *   [maxFiles]=\"5\">\n * </eui-file-upload>\n * ```\n *\n * ### With form control\n * ```typescript\n * fileControl = new FormControl([]);\n * ```\n * ```html\n * <eui-file-upload \n *   [formControl]=\"fileControl\"\n *   [hasDragArea]=\"true\"\n *   [progress]=\"uploadProgress\">\n * </eui-file-upload>\n * ```\n *\n * ### Accessibility\n * - Native file input is keyboard accessible\n * - Drag-and-drop area announces state changes to screen readers\n * - File list items are navigable and removable via keyboard\n *\n * ### Notes\n * - Use `accept` to filter file types (e.g., \"image/*\", \".pdf\")\n * - Progress tracking requires external upload logic to update `progress` input\n * - Customize UI with templates: uploadedFile, browseButton, resetButton, progressBar\n * - Set `maxFiles` to limit simultaneous uploads\n */\n@Component({\n    selector: 'eui-file-upload',\n    templateUrl: './eui-file-upload.component.html',\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: EuiFileUploadComponent,\n            multi: true,\n        },\n    ],\n    styleUrls: ['./eui-file-upload.scss'],\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        NgTemplateOutlet,\n        TranslateModule, \n        EuiFilePreviewComponent, \n        EuiFileUploadProgressComponent, \n        EuiFileSizePipe,\n        ...EUI_BUTTON,\n    ],\n})\nexport class EuiFileUploadComponent implements ControlValueAccessor, OnInit, AfterViewInit {\n    /**\n     * Data attribute used for end-to-end testing identification.\n     * @default 'eui-file-upload'\n     */\n    @Input() e2eAttr = 'eui-file-upload';\n    /**\n     * Current upload progress percentage displayed in the progress bar.\n     * Only effective when hasProgressBar is true. Value should be between 0 and 100.\n     * Must be updated externally to reflect actual upload progress.\n     */\n    @Input() progress: number;\n    /**\n     * Comma-separated list of allowed file extensions for upload filtering.\n     * Files not matching the specified extensions will be rejected.\n     * Use '*' to allow all file types.\n     * @default '*'\n     */\n    @Input() accept = '*';\n    /**\n     * Maximum number of files that can be uploaded simultaneously.\n     * When limit is reached, additional file selection is disabled.\n     * Set to null or undefined for unlimited files.\n     * @default null\n     */\n    @Input() maxFiles: number;\n    /**\n     * Emitted when files are dropped into the drag-and-drop area.\n     * Triggered after files are processed and added to the upload queue.\n     * No payload is emitted.\n     */\n    @Output() fileDrop = new EventEmitter();\n    /**\n     * Emitted when a file in the upload list is clicked.\n     * Only triggers when isItemsClickable is true.\n     * Payload: Blob, EuiUploadedFileInterface, or any file object representing the clicked item.\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    @Output() itemClick = new EventEmitter<Blob | EuiUploadedFileInterface | any>();\n\n    /**\n     * Sets the `class` attribute for the host element.\n     *\n     * @returns A string with all CSS classes applied.\n     */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [\n            'eui-file-upload',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    public files: File[] = [];\n    public filesTotalSize = 0;\n    /**\n     * Random number generated to give an unique id to the field.\n     */\n    public randomNumberId = Math.floor(Math.random() * 10000);\n    /**\n     * List of existing files to display in the component.\n     *\n     * @type {EuiUploadedFileInterface[]}\n     */\n    public uploadedFiles: EuiUploadedFileInterface[] = [];\n    // eslint-disable-next-line\n    public dragEntered = false;\n\n    /**\n     * List of templates passed to the component.\n     */\n    @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n    @ViewChildren('input') fileInputs: QueryList<ElementRef<HTMLInputElement>>;\n\n    public uploadedFileTemplate: TemplateRef<{ $implicit: { file: EuiUploadedFileInterface, index: number, isFileObject: boolean } }>;\n    public browseButtonTemplate: TemplateRef<HTMLElement>;\n    public resetButtonTemplate: TemplateRef<HTMLElement>;\n    public progressBarTemplate: TemplateRef<{ $implicit: { progress: number } }>;\n\n    /**\n     * Enables selection of multiple files in a single upload operation.\n     * When false, only one file can be selected at a time.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isMultiple = true;\n    /**\n     * Displays a progress bar indicating upload completion percentage.\n     * Progress value must be provided via the progress input property.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasProgressBar = true;\n    /**\n     * Displays a visual preview for each file in the upload list.\n     * Preview type is controlled by hasPreviewAsImage and hasPreviewAsIcon properties.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasPreview = true;\n    /**\n     * Renders file previews as thumbnail images for supported image file types.\n     * Automatically disabled when hasPreviewAsIcon is true.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasPreviewAsImage = true;\n    /**\n     * Renders file previews as file format icons instead of image thumbnails.\n     * When enabled, automatically sets hasPreviewAsImage to false.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasPreviewAsIcon = false;\n    /**\n     * Shows the total combined size of all files in the upload queue.\n     * Provides users with visibility into total upload size.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasTotalSizeDisplayed = true;\n    /**\n     * Displays a button to clear all files from the upload queue.\n     * Only visible when isMultiple is true and files are present.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasResetButton = true;\n    /**\n     * Enables drag-and-drop functionality for file selection.\n     * Displays a drop zone area where users can drag files from their file system.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasDragArea = false;\n    /**\n     * Makes files in the upload list clickable, emitting itemClick events on interaction.\n     * Useful for implementing file preview or detail views.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isItemsClickable = false;\n\n    /**\n     * Drag and drop area listener.\n     *\n     * @param fileList `FileList` containing dropped file and initial file.\n     */\n    @HostListener('change', ['$any($event.target).files']) emitFiles(fileList: FileList): void {\n        let i = [...this.uploadedFiles, ...this.files].length;\n        for (const property in fileList) {\n            if (fileList[property] && typeof fileList[property] === 'object' && (!this.maxFiles || i < this.maxFiles)) {\n                const fileName = fileList[property].name.split('.');\n                const fileExtension = fileName[fileName.length - 1];\n\n                if (this.accept.indexOf(fileExtension.toLowerCase()) !== -1 || this.accept === '*') {\n                    this.files.push(fileList[property]);\n                }\n\n                i++;\n            }\n\n        }\n\n        this.getTotalSize();\n        // eslint-disable-next-line\n        this.uploadedFiles ? this.onChange([...this.uploadedFiles, ...this.files]) : this.onChange(this.files);\n        if (this.fileInputs) {\n            this.fileInputs.first.nativeElement.value = '';\n            this.fileInputs.last.nativeElement.value = '';\n        }\n\n        this.dragEntered = false;\n        this.fileDrop.emit();\n    }\n\n    /**\n     * Determines whether the reset button should be displayed.\n     *\n     * @returns {boolean} `true` if the reset button should be shown, otherwise `false`.\n     */\n    get showResetBtn(): boolean {\n        return this.hasResetButton && this.isMultiple && (this.files.length > 0 || this.uploadedFiles.length > 0);\n    }\n\n    /**\n     * Determines whether the drop area should be disabled.\n     *\n     * @returns {boolean} `true` if the drop area is disabled, otherwise `false`.\n     */\n    get isDropAreaDisabled(): boolean {\n        return (!this.isMultiple && this.files.length === 1) || [...this.uploadedFiles, ...this.files].length === this.maxFiles;\n    }\n\n    ngOnInit(): void {\n        if (this.hasPreviewAsIcon) {\n            this.hasPreviewAsImage = false;\n        }\n    }\n\n    ngAfterViewInit(): void {\n        // TODO EUI19: Change detection to OnPush to get rid of setTimeout workaround.\n        setTimeout(() => {\n            this.templates.forEach((item) => {\n                if (item.getType() === 'uploadedFile') {\n                    this.uploadedFileTemplate = item.template;\n                }\n                if (item.getType() === 'browseButton') {\n                    this.browseButtonTemplate = item.template;\n                }\n                if (item.getType() === 'resetButton') {\n                    this.resetButtonTemplate = item.template;\n                }\n                if (item.getType() === 'progressBar') {\n                    this.progressBarTemplate = item.template;\n                }\n            });\n        });\n    }\n\n    onDragEnter(): void {\n        if (!this.isDropAreaDisabled) {\n            this.dragEntered = true;\n        }\n    }\n\n    onDragLeave(): void {\n        this.dragEntered = false;\n    }\n\n    /**\n     * Remove a file from the array of files choosen by the user.\n     *\n     * @param index Index of the file to remove in the array.\n     */\n    public removeFromList(index: number): void {\n        this.files = this.files.filter((f, i) => i !== index);\n\n        if (this.files.length === 0) {\n            this.progress = 0;\n        }\n        this.getTotalSize();\n        this.onChange([...this.uploadedFiles, ...this.files]);\n    }\n\n    /**\n     * Remove a file from the array of files provided to the component as existing values.\n     *\n     * @param index Index of the file to remove in the array.\n     */\n    public removeFromUploadedList(index: number): void {\n        this.uploadedFiles = this.uploadedFiles.filter((f, i) => i !== index);\n\n        if (this.files.length === 0) {\n            this.progress = 0;\n        }\n\n        this.getTotalSize();\n        this.onChange([...this.uploadedFiles, ...this.files]);\n    }\n\n    /**\n     * Reset the list of files in the component.\n     */\n    public resetList(): void {\n        this.files = [];\n        this.uploadedFiles = [];\n        this.getTotalSize();\n        this.progress = 0;\n        this.onChange([...this.uploadedFiles, ...this.files]);\n    }\n\n    public openBrowseWindow(): void {\n        this.fileInputs.first.nativeElement.click();\n    }\n\n    /**\n     * Click item handler.\n     * @param e The item clicked. Will be a `Blob` for a file to be uploaded, `EuiUploadedFileInterface` for an initial file.\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    public onItemClick(e: Blob | EuiUploadedFileInterface | any): void {\n        this.itemClick.emit(e);\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    writeValue(value: any): void {\n        this.uploadedFiles = value || [];\n        this.files = [];\n        this.getTotalSize();\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    registerOnChange(fn: any): void {\n        this.onChange = fn;\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    registerOnTouched(fn: any): void {/* Nothing to be Done so far */}\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    private onChange: any = (): void => {/* Nothing to be Done so far */};\n\n    /**\n     * Calculates the total size to be uploaded.\n     */\n    private getTotalSize(): void {\n        this.filesTotalSize = 0;\n        this.files.forEach((f) => {\n            this.filesTotalSize += f.size;\n        });\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@use '../base' as base;\n\n.eui-21 {\n    .eui-file-upload {\n    \n        &__total-size {\n            margin-bottom: 1rem;\n            font: var(--eui-f-m-semi-bold);\n        }\n    \n        &__drop-area {\n            outline: 1px dashed var(--eui-c-primary-base);\n            border-radius: var(--eui-br-s);\n            margin: 0  0 10px 0;\n            padding: 30px;\n            position: relative;\n            -webkit-transition: 0.2s;\n            transition: 0.2s;\n    \n            &--active {\n                background-color: var(--eui-c-active-bg-light);\n                outline: 3px dashed var(--eui-c-primary-base);\n                border-radius: var(--eui-br-s);\n                margin: 0  0 10px 0;\n                padding: 30px;\n                position: relative;\n                -webkit-transition: 0.2s;\n                transition: 0.2s;\n            }\n    \n            &--disabled {\n                opacity: var(--eui-o-75);\n                cursor: not-allowed;\n    \n                .file-input {\n                    cursor: default;\n                }\n            }\n        }\n    \n        &__fake-btn {\n            margin-right: 8px;\n        }\n    \n        &__file-input {\n            height: 100%;\n            left: 0;\n            opacity: 0;\n            position: absolute;\n            top: 0;\n            width: 100%;\n    \n            &:not(:disabled) {\n                cursor: pointer;\n            }\n        }\n    \n        &__simple-input-file {\n            margin-bottom: var(--eui-s-xs);\n    \n            .file-input {\n                display: none;\n            }\n        }\n    \n        &__preview {\n            align-items: center;\n            display: flex;\n            justify-content: space-between;\n            margin: 5px 0;\n    \n            &--left {\n                align-items: center;\n                display: flex;\n                @include base.eui-ellipsis();\n    \n                &__image {\n                    margin-right: var(--eui-s-m);\n    \n                    img {\n                        width: 180px;\n                    }\n    \n                    .loading-container {\n                        text-align: center;\n                        width: 180px;\n                    }\n                }\n    \n                &__filename {\n                    display: block;\n                }\n            }\n    \n            &--right {\n                align-items: center;\n                display: flex;\n                margin-left: auto;\n                gap: var(--eui-s-m);\n            }\n        }\n    \n        &__progress-bar-container {\n            margin-bottom: var(--eui-s-3xs);\n    \n            .progress-bar {\n                background-color: var(--eui-c-primary-base);\n                height: var(--eui-s-3xs);\n            }\n        }\n    }\n}\n",
                    "styleUrl": "./eui-file-upload.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "implements": [
                "ControlValueAccessor",
                "OnInit",
                "AfterViewInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 138,
                        "rawdescription": "\n\nSets the `class` attribute for the host element.\n\n",
                        "description": "<p>Sets the <code>class</code> attribute for the host element.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 4690,
                                "end": 4743,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 4691,
                                    "end": 4698,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>A string with all CSS classes applied.</p>\n"
                            }
                        ]
                    }
                },
                "showResetBtn": {
                    "name": "showResetBtn",
                    "getSignature": {
                        "name": "showResetBtn",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 266,
                        "rawdescription": "\n\nDetermines whether the reset button should be displayed.\n\n",
                        "description": "<p>Determines whether the reset button should be displayed.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 9495,
                                "end": 9582,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 9496,
                                    "end": 9503,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p><code>true</code> if the reset button should be shown, otherwise <code>false</code>.</p>\n",
                                "typeExpression": {
                                    "pos": 9504,
                                    "end": 9513,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 9505,
                                        "end": 9512,
                                        "kind": 136,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                },
                "isDropAreaDisabled": {
                    "name": "isDropAreaDisabled",
                    "getSignature": {
                        "name": "isDropAreaDisabled",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 275,
                        "rawdescription": "\n\nDetermines whether the drop area should be disabled.\n\n",
                        "description": "<p>Determines whether the drop area should be disabled.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 9823,
                                "end": 9903,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 9824,
                                    "end": 9831,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p><code>true</code> if the drop area is disabled, otherwise <code>false</code>.</p>\n",
                                "typeExpression": {
                                    "pos": 9832,
                                    "end": 9841,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 9833,
                                        "end": 9840,
                                        "kind": 136,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            },
            "templateData": "@if (hasDragArea) {\n    <div\n        class=\"eui-file-upload__drop-area\"\n        [class.eui-file-upload__drop-area--active]=\"dragEntered\"\n        [class.eui-file-upload__drop-area--disabled]=\"isDropAreaDisabled\">\n        <button euiButton class=\"eui-file-upload__fake-btn\">{{ 'eui.euifileupload.CHOOSE-FILE' | translate }}</button>\n        <span>{{ 'eui.euifileupload.DRAG-AND-DROP-FILE-HERE' | translate }}</span>\n        <input\n            #input\n            class=\"eui-file-upload__file-input\"\n            attr.aria-label=\"{{ 'eui.euifileupload.CHOOSE-FILE' | translate }} 'or' {{\n                'eui.euifileupload.DRAG-AND-DROP-FILE-HERE' | translate\n            }}\"\n            type=\"file\"\n            accept=\"{{ accept }}\"\n            [attr.disabled]=\"isDropAreaDisabled ? 'disabled' : null\"\n            [multiple]=\"isMultiple\"\n            (dragenter)=\"onDragEnter()\"\n            (dragleave)=\"onDragLeave()\" />\n    </div>\n} @else {\n    <div class=\"eui-file-upload__simple-input-file\">\n        <label for=\"file-{{ randomNumberId }}\">\n            @if (browseButtonTemplate) {\n                <ng-template [ngTemplateOutlet]=\"browseButtonTemplate\"></ng-template>\n            } @else {\n                <button euiButton type=\"button\" (click)=\"openBrowseWindow()\">{{ 'eui.euifileupload.CHOOSE-FILE' | translate }}</button>\n            }\n        </label>\n    \n        @if (isMultiple) {\n            <input\n                #input\n                aria-label=\"Choose Multiple Files\"\n                class=\"file-input\"\n                id=\"file-{{ randomNumberId }}\"\n                type=\"file\"\n                accept=\"{{ accept }}\"\n                multiple />\n        } @else {\n            <input\n                #input\n                aria-label=\"Choose a single file\"\n                class=\"file-input\"\n                id=\"file-{{ randomNumberId }}\"\n                type=\"file\"\n                accept=\"{{ accept }}\" />\n        }\n    </div>\n}\n\n@if (hasProgressBar) {\n    @if (progressBarTemplate) {\n        <ng-template [ngTemplateOutlet]=\"progressBarTemplate\"\n            [ngTemplateOutletContext]=\"{ $implicit: { progress } }\" />\n    } @else {\n        <eui-file-upload-progress [progress]=\"progress\" />\n    }\n}\n\n@for (uploadedFile of uploadedFiles; let i = $index; track $index) {\n    <div>\n        <eui-file-preview\n            [isItemsClickable]=\"isItemsClickable\"\n            [index]=\"i\"\n            [file]=\"uploadedFile\"\n            [hasPreview]=\"hasPreview\"\n            [hasPreviewAsImage]=\"hasPreviewAsImage\"\n            [hasPreviewAsIcon]=\"hasPreviewAsIcon\"\n            [uploadedFileTemplate]=\"uploadedFileTemplate\"\n            (itemClick)=\"onItemClick($event)\"\n            (removeFromList)=\"removeFromUploadedList($event)\">\n        </eui-file-preview>\n    </div>\n}\n\n@for (file of files; let i = $index; track $index) {\n    <div>\n        <eui-file-preview\n            isFileObject\n            [isItemsClickable]=\"isItemsClickable\"\n            [index]=\"i\"\n            [file]=\"file\"\n            [hasPreview]=\"hasPreview\"\n            [hasPreviewAsImage]=\"hasPreviewAsImage\"\n            [hasPreviewAsIcon]=\"hasPreviewAsIcon\"\n            [uploadedFileTemplate]=\"uploadedFileTemplate\"\n            (itemClick)=\"onItemClick($event)\"\n            (removeFromList)=\"removeFromList($event)\">\n        </eui-file-preview>\n    </div>\n}\n\n@if (filesTotalSize && hasTotalSizeDisplayed) {\n    <div class=\"eui-file-upload__total-size\">\n        {{ filesTotalSize | filesize }} {{ 'eui.euifileupload.TOTAL-SIZE' | translate }}\n    </div>\n}\n\n<ng-content />\n\n@if (showResetBtn) {\n    @if (resetButtonTemplate) {\n        <ng-template [ngTemplateOutlet]=\"resetButtonTemplate\" />\n    } @else {\n        <button euiButton type=\"button\" (click)=\"resetList()\">\n            {{ 'eui.euifileupload.RESET-LIST' | translate }}\n        </button>\n    }\n}\n"
        },
        {
            "name": "EuiFileUploadProgressComponent",
            "id": "component-EuiFileUploadProgressComponent-9518bef14fee3c1d456703d9346aadd9ad5561b1f6bb5be1053af05e3dfd42b48efac398cbc926e51beb2e23bc281242185017535e189d05f418d040d8e37d23",
            "file": "packages/components/eui-file-upload/progress/eui-file-upload-progress.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-file-upload-progress",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-file-upload-progress.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "progress",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 829,
                            "end": 845,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 830,
                                "end": 837,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>0</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nCurrent upload progress percentage to display in the progress bar.\nValue should be between 0 and 100, where 0 represents no progress and 100 represents completion.\n",
                    "description": "<p>Current upload progress percentage to display in the progress bar.\nValue should be between 0 and 100, where 0 represents no progress and 100 represents completion.</p>\n",
                    "line": 20,
                    "type": "number",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p><code>eui-file-upload-progress</code> component for displaying file upload completion status.\nRenders a visual indicator showing the percentage of upload progress.\nTypically used internally by <code>eui-file-upload</code> but can be used standalone for custom upload implementations.</p>\n",
            "rawdescription": "\n\n`eui-file-upload-progress` component for displaying file upload completion status.\nRenders a visual indicator showing the percentage of upload progress.\nTypically used internally by `eui-file-upload` but can be used standalone for custom upload implementations.\n",
            "type": "component",
            "sourceCode": "import { Component, Input, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\n\n/**\n * `eui-file-upload-progress` component for displaying file upload completion status.\n * Renders a visual indicator showing the percentage of upload progress.\n * Typically used internally by `eui-file-upload` but can be used standalone for custom upload implementations.\n */\n@Component({\n    selector: 'eui-file-upload-progress',\n    templateUrl: './eui-file-upload-progress.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiFileUploadProgressComponent {\n    /**\n     * Current upload progress percentage to display in the progress bar.\n     * Value should be between 0 and 100, where 0 represents no progress and 100 represents completion.\n     * @default 0\n     */\n    @Input() progress = 0;\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "@if (progress > 0) {\n    <div class=\"eui-file-upload__progress-bar-container\">\n        <div class=\"progress-bar\" [style.width]=\"progress + '%'\"></div>\n    </div>\n    <div>{{ progress }}%</div>\n}\n"
        },
        {
            "name": "EuiFooterComponent",
            "id": "component-EuiFooterComponent-465fc6be555fd89f988b9b97c27e6218c960324e7088126fa7fa25909b21deb8fd9baeb92103e136772fd865104cedd6b588dd8bb20df8021eab24fdc60cb407",
            "file": "packages/components/layout/eui-footer/footer.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-footer",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "euiPrimary",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2400,
                            "end": 2420,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2401,
                                "end": 2408,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nApplies primary theme styling to the footer.\nWhen true, uses primary brand colors and emphasis. When false, uses default neutral styling.\n",
                    "description": "<p>Applies primary theme styling to the footer.\nWhen true, uses primary brand colors and emphasis. When false, uses default neutral styling.</p>\n",
                    "line": 67,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 55,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Standalone footer component for displaying supplementary content, links, and copyright information.\nProvides a flexible container with primary and default styling variants for different visual contexts.\nUnlike eui-app-footer which is part of the application shell, this component can be used independently in any layout.\nContent is projected via ng-content allowing complete customization of footer structure and elements.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Footer in app shell --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-footer&gt;\n    &lt;eui-footer euiPrimary&gt;\n      © 2024 European Commission - &lt;a href=&quot;/privacy&quot;&gt;Privacy&lt;/a&gt; - &lt;a href=&quot;/legal&quot;&gt;Legal Notice&lt;/a&gt;\n    &lt;/eui-footer&gt;\n  &lt;/eui-app-footer&gt;\n&lt;/eui-app&gt;\n\n&lt;!-- Standalone footer in page --&gt;\n&lt;eui-footer&gt;\n  &lt;p&gt;© 2024 My Organization&lt;/p&gt;\n  &lt;nav&gt;\n    &lt;a href=&quot;/about&quot;&gt;About&lt;/a&gt; |\n    &lt;a href=&quot;/contact&quot;&gt;Contact&lt;/a&gt;\n  &lt;/nav&gt;\n&lt;/eui-footer&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Content projection allows flexible accessible structure</li>\n<li>Links within footer are keyboard accessible</li>\n<li>Use semantic HTML elements (nav, p) for proper structure</li>\n<li>Ensure sufficient color contrast in both themes</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Can be used standalone or within eui-app-footer</li>\n<li>euiPrimary applies primary brand styling (default: false)</li>\n<li>Content is projected via ng-content for complete flexibility</li>\n<li>Common content includes copyright, legal links, version info, contact</li>\n<li>Can contain navigation links, text, or custom elements</li>\n<li>Styling adapts to primary or default theme variant</li>\n<li>Independent component, not tied to application shell layout</li>\n</ul>\n",
            "rawdescription": "\n\nStandalone footer component for displaying supplementary content, links, and copyright information.\nProvides a flexible container with primary and default styling variants for different visual contexts.\nUnlike eui-app-footer which is part of the application shell, this component can be used independently in any layout.\nContent is projected via ng-content allowing complete customization of footer structure and elements.\n\n```html\n<!-- Footer in app shell -->\n<eui-app>\n  <eui-app-footer>\n    <eui-footer euiPrimary>\n      © 2024 European Commission - <a href=\"/privacy\">Privacy</a> - <a href=\"/legal\">Legal Notice</a>\n    </eui-footer>\n  </eui-app-footer>\n</eui-app>\n\n<!-- Standalone footer in page -->\n<eui-footer>\n  <p>© 2024 My Organization</p>\n  <nav>\n    <a href=\"/about\">About</a> |\n    <a href=\"/contact\">Contact</a>\n  </nav>\n</eui-footer>\n```\n\n### Accessibility\n- Content projection allows flexible accessible structure\n- Links within footer are keyboard accessible\n- Use semantic HTML elements (nav, p) for proper structure\n- Ensure sufficient color contrast in both themes\n\n### Notes\n- Can be used standalone or within eui-app-footer\n- euiPrimary applies primary brand styling (default: false)\n- Content is projected via ng-content for complete flexibility\n- Common content includes copyright, legal links, version info, contact\n- Can contain navigation links, text, or custom elements\n- Styling adapts to primary or default theme variant\n- Independent component, not tied to application shell layout\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Input, booleanAttribute } from '@angular/core';\n\n/**\n * @description\n * Standalone footer component for displaying supplementary content, links, and copyright information.\n * Provides a flexible container with primary and default styling variants for different visual contexts.\n * Unlike eui-app-footer which is part of the application shell, this component can be used independently in any layout.\n * Content is projected via ng-content allowing complete customization of footer structure and elements.\n * \n * @usageNotes\n * ```html\n * <!-- Footer in app shell -->\n * <eui-app>\n *   <eui-app-footer>\n *     <eui-footer euiPrimary>\n *       © 2024 European Commission - <a href=\"/privacy\">Privacy</a> - <a href=\"/legal\">Legal Notice</a>\n *     </eui-footer>\n *   </eui-app-footer>\n * </eui-app>\n *\n * <!-- Standalone footer in page -->\n * <eui-footer>\n *   <p>© 2024 My Organization</p>\n *   <nav>\n *     <a href=\"/about\">About</a> | \n *     <a href=\"/contact\">Contact</a>\n *   </nav>\n * </eui-footer>\n * ```\n *\n * ### Accessibility\n * - Content projection allows flexible accessible structure\n * - Links within footer are keyboard accessible\n * - Use semantic HTML elements (nav, p) for proper structure\n * - Ensure sufficient color contrast in both themes\n *\n * ### Notes\n * - Can be used standalone or within eui-app-footer\n * - euiPrimary applies primary brand styling (default: false)\n * - Content is projected via ng-content for complete flexibility\n * - Common content includes copyright, legal links, version info, contact\n * - Can contain navigation links, text, or custom elements\n * - Styling adapts to primary or default theme variant\n * - Independent component, not tied to application shell layout\n */\n@Component({\n    selector: 'eui-footer',\n    template: '<ng-content />',\n    changeDetection: ChangeDetectionStrategy.Default,\n    styleUrl: './footer.component.scss',\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiFooterComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-footer',\n            this.euiPrimary ? 'eui-footer--primary': '',\n        ].join(' ').trim();\n    }\n\n    /**\n     * Applies primary theme styling to the footer.\n     * When true, uses primary brand colors and emphasis. When false, uses default neutral styling.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiPrimary = false;\n}\n",
            "styleUrl": "./footer.component.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 55
                    }
                }
            }
        },
        {
            "name": "EuiGrowlComponent",
            "id": "component-EuiGrowlComponent-fc61ddc937f5ab084dacfe391f57bd07a6ab7adbe9b7b1a8a2f00c5e96c06115d6a7b8b174d56ba619f0d397bbf6ea46f768c2e71a4185648bc42e0b8567d848",
            "file": "packages/components/eui-growl/eui-growl.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-growl",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-growl.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "ariaLive",
                    "defaultValue": "'polite'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3208,
                            "end": 3231,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3209,
                                "end": 3216,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;polite&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nARIA live region politeness level controlling how screen readers announce messages.\n'polite' waits for user to finish current activity, 'assertive' interrupts immediately, 'off' disables announcements.\n",
                    "description": "<p>ARIA live region politeness level controlling how screen readers announce messages.\n&#39;polite&#39; waits for user to finish current activity, &#39;assertive&#39; interrupts immediately, &#39;off&#39; disables announcements.</p>\n",
                    "line": 104,
                    "type": "\"off\" | \"polite\" | \"assertive\"",
                    "decorators": []
                },
                {
                    "name": "callback",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5192,
                            "end": 5211,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5193,
                                "end": 5200,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>null</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nOptional callback function executed when a growl message is clicked.\nAllows custom behavior to be triggered on user interaction with notifications.\n",
                    "description": "<p>Optional callback function executed when a growl message is clicked.\nAllows custom behavior to be triggered on user interaction with notifications.</p>\n",
                    "line": 152,
                    "type": "function",
                    "decorators": []
                },
                {
                    "name": "closeAllSticky",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4673,
                            "end": 4693,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4674,
                                "end": 4681,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables display of a close-all button when multiple sticky messages are present.\nProvides users with a quick way to dismiss all persistent notifications at once.\n",
                    "description": "<p>Enables display of a close-all button when multiple sticky messages are present.\nProvides users with a quick way to dismiss all persistent notifications at once.</p>\n",
                    "line": 139,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-growl'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2821,
                            "end": 2847,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2822,
                                "end": 2829,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-growl&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nData attribute used for end-to-end testing identification.\n",
                    "description": "<p>Data attribute used for end-to-end testing identification.</p>\n",
                    "line": 96,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "life",
                    "defaultValue": "3000",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4057,
                            "end": 4076,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4058,
                                "end": 4065,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>3000</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nDuration in milliseconds before non-sticky messages automatically dismiss.\nIndividual messages can override this with their own life property.\n",
                    "description": "<p>Duration in milliseconds before non-sticky messages automatically dismiss.\nIndividual messages can override this with their own life property.</p>\n",
                    "line": 126,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "position",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nScreen position where growl messages appear.\nCommon values include 'top-right', 'top-left', 'bottom-right', 'bottom-left', 'top-center', 'bottom-center'.\nAffects the CSS positioning of the notification container.\n",
                    "description": "<p>Screen position where growl messages appear.\nCommon values include &#39;top-right&#39;, &#39;top-left&#39;, &#39;bottom-right&#39;, &#39;bottom-left&#39;, &#39;top-center&#39;, &#39;bottom-center&#39;.\nAffects the CSS positioning of the notification container.</p>\n",
                    "line": 146,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "sticky",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3801,
                            "end": 3821,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3802,
                                "end": 3809,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nPrevents automatic dismissal of messages, requiring manual user interaction to close.\nWhen true, messages remain visible until explicitly closed by the user.\n",
                    "description": "<p>Prevents automatic dismissal of messages, requiring manual user interaction to close.\nWhen true, messages remain visible until explicitly closed by the user.</p>\n",
                    "line": 119,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "value",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4418,
                            "end": 4435,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4419,
                                "end": 4426,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>[]</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nArray of message objects to display in the growl notification area.\nEach message should conform to the EuiGrowlMessage interface with properties like severity, summary, and detail.\nMessages are automatically managed with lifecycle timeouts based on sticky and life properties.\n",
                    "description": "<p>Array of message objects to display in the growl notification area.\nEach message should conform to the EuiGrowlMessage interface with properties like severity, summary, and detail.\nMessages are automatically managed with lifecycle timeouts based on sticky and life properties.</p>\n",
                    "line": 133,
                    "type": "EuiGrowlMessage[]",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "growlClick",
                    "defaultValue": "new EventEmitter<void>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when a growl message is clicked by the user.\nNo payload is provided.\nTriggers in addition to the callback function if one is defined.\n",
                    "description": "<p>Emitted when a growl message is clicked by the user.\nNo payload is provided.\nTriggers in addition to the callback function if one is defined.</p>\n",
                    "line": 159,
                    "type": "EventEmitter<void>"
                },
                {
                    "name": "growlClose",
                    "defaultValue": "new EventEmitter<void>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when a growl message is closed, either automatically or by user action.\nNo payload is provided.\nUseful for tracking message dismissals or triggering cleanup operations.\n",
                    "description": "<p>Emitted when a growl message is closed, either automatically or by user action.\nNo payload is provided.\nUseful for tracking message dismissals or triggering cleanup operations.</p>\n",
                    "line": 165,
                    "type": "EventEmitter<void>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "contentId",
                    "defaultValue": "'msg-detail'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 86
                },
                {
                    "name": "el",
                    "defaultValue": "inject(ElementRef)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 84
                },
                {
                    "name": "role",
                    "defaultValue": "'status'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 98,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ]
                },
                {
                    "name": "titleId",
                    "defaultValue": "'msg-title'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 85
                }
            ],
            "methodsClass": [
                {
                    "name": "isGrowlMoreThanTwo",
                    "args": [],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 224,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\ncheck whether sticky growls are greater than two\n",
                    "description": "<p>check whether sticky growls are greater than two</p>\n"
                },
                {
                    "name": "ngDoCheck",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 176,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 206,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 214,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'click'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "remove",
                    "args": [
                        {
                            "name": "msg",
                            "type": "EuiGrowlMessage",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 190,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\n",
                    "description": "",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 6487,
                                "end": 6490,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "msg"
                            },
                            "type": "EuiGrowlMessage",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 6481,
                                "end": 6486,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The text message to appear in the container</p>\n"
                        }
                    ]
                },
                {
                    "name": "removeAll",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 199,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRemoves all growl messages from the stack\n",
                    "description": "<p>Removes all growl messages from the stack</p>\n"
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.aria-describedby",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 110,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "attr.aria-labelledby",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 106,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "attr.role",
                    "defaultValue": "'status'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 98,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 89,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [
                {
                    "name": "click",
                    "args": [],
                    "argsDecorator": [],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 214
                }
            ],
            "standalone": false,
            "imports": [
                {
                    "name": "NgClass"
                },
                {
                    "name": "TranslateModule",
                    "type": "module"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_ICON_BUTTON"
                },
                {
                    "name": "EUI_ICON_STATE"
                }
            ],
            "description": "<p>Notification component that displays temporary or persistent messages to users.\nSupports multiple message types (success, info, warning, error) with automatic dismissal or sticky behavior.\nMessages can be positioned in different screen locations and include customizable lifecycle durations.\nImplements ARIA live regions for accessibility, announcing messages to screen readers.\nCommonly used for user feedback, system notifications, and operation status updates.</p>\n<h3>Basic growl notification</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">messages: EuiGrowlMessage[] = [];\n\nshowSuccess() {\n  this.messages.push({\n    severity: &#39;success&#39;,\n    summary: &#39;Success&#39;,\n    detail: &#39;Operation completed&#39;\n  });\n}</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-growl [value]=&quot;messages&quot; position=&quot;top-right&quot;&gt;&lt;/eui-growl&gt;</code></pre></div><h3>Sticky notification</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">this.messages.push({\n  severity: &#39;info&#39;,\n  summary: &#39;Info&#39;,\n  detail: &#39;This message stays until dismissed&#39;,\n  sticky: true\n});</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses ARIA live regions (aria-live=&quot;polite&quot;) for screen reader announcements</li>\n<li>Messages are announced without interrupting user workflow</li>\n<li>Close buttons are keyboard accessible</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Position options: top-right, top-left, bottom-right, bottom-left, top-center, bottom-center</li>\n<li>Non-sticky messages auto-dismiss after <code>life</code> milliseconds (default: 3000)</li>\n<li>Use <code>closeAllSticky</code> to show a clear-all button for multiple sticky messages</li>\n</ul>\n",
            "rawdescription": "\n\nNotification component that displays temporary or persistent messages to users.\nSupports multiple message types (success, info, warning, error) with automatic dismissal or sticky behavior.\nMessages can be positioned in different screen locations and include customizable lifecycle durations.\nImplements ARIA live regions for accessibility, announcing messages to screen readers.\nCommonly used for user feedback, system notifications, and operation status updates.\n\n### Basic growl notification\n```typescript\nmessages: EuiGrowlMessage[] = [];\n\nshowSuccess() {\n  this.messages.push({\n    severity: 'success',\n    summary: 'Success',\n    detail: 'Operation completed'\n  });\n}\n```\n```html\n<eui-growl [value]=\"messages\" position=\"top-right\"></eui-growl>\n```\n\n### Sticky notification\n```typescript\nthis.messages.push({\n  severity: 'info',\n  summary: 'Info',\n  detail: 'This message stays until dismissed',\n  sticky: true\n});\n```\n\n### Accessibility\n- Uses ARIA live regions (aria-live=\"polite\") for screen reader announcements\n- Messages are announced without interrupting user workflow\n- Close buttons are keyboard accessible\n\n### Notes\n- Position options: top-right, top-left, bottom-right, bottom-left, top-center, bottom-center\n- Non-sticky messages auto-dismiss after `life` milliseconds (default: 3000)\n- Use `closeAllSticky` to show a clear-all button for multiple sticky messages\n",
            "type": "component",
            "sourceCode": "import {\n    booleanAttribute,\n    Component,\n    DoCheck,\n    ElementRef,\n    EventEmitter,\n    HostBinding,\n    HostListener,\n    Input,\n    IterableDiffer,\n    IterableDiffers,\n    OnDestroy,\n    Output,\n    ViewEncapsulation,\n    inject,\n    ChangeDetectorRef,\n} from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { NgClass } from '@angular/common';\n\nimport { EuiGrowlMessage } from '@eui/core';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\nimport { EUI_ICON_STATE } from '@eui/components/eui-icon-state';\n\n/**\n * Notification component that displays temporary or persistent messages to users.\n * Supports multiple message types (success, info, warning, error) with automatic dismissal or sticky behavior.\n * Messages can be positioned in different screen locations and include customizable lifecycle durations.\n * Implements ARIA live regions for accessibility, announcing messages to screen readers.\n * Commonly used for user feedback, system notifications, and operation status updates.\n *\n * @usageNotes\n * ### Basic growl notification\n * ```typescript\n * messages: EuiGrowlMessage[] = [];\n * \n * showSuccess() {\n *   this.messages.push({\n *     severity: 'success',\n *     summary: 'Success',\n *     detail: 'Operation completed'\n *   });\n * }\n * ```\n * ```html\n * <eui-growl [value]=\"messages\" position=\"top-right\"></eui-growl>\n * ```\n *\n * ### Sticky notification\n * ```typescript\n * this.messages.push({\n *   severity: 'info',\n *   summary: 'Info',\n *   detail: 'This message stays until dismissed',\n *   sticky: true\n * });\n * ```\n *\n * ### Accessibility\n * - Uses ARIA live regions (aria-live=\"polite\") for screen reader announcements\n * - Messages are announced without interrupting user workflow\n * - Close buttons are keyboard accessible\n *\n * ### Notes\n * - Position options: top-right, top-left, bottom-right, bottom-left, top-center, bottom-center\n * - Non-sticky messages auto-dismiss after `life` milliseconds (default: 3000)\n * - Use `closeAllSticky` to show a clear-all button for multiple sticky messages\n */\n@Component({\n    selector: 'eui-growl',\n    templateUrl: './eui-growl.component.html',\n    styleUrl: './eui-growl.scss',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        NgClass,\n        TranslateModule,\n        ...EUI_ICON,\n        ...EUI_ICON_BUTTON,\n        ...EUI_ICON_STATE,\n    ],\n})\nexport class EuiGrowlComponent implements DoCheck, OnDestroy {\n    el = inject(ElementRef);\n    titleId = 'msg-title';\n    contentId = 'msg-detail';\n\n    @HostBinding('class')\n    get cssClasses(): string {\n        return ['eui-growl', `eui-growl--${this.position}`].join(' ').trim();\n    }\n    /**\n     * Data attribute used for end-to-end testing identification.\n     * @default 'eui-growl'\n     */\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-growl';\n    @HostBinding('attr.role')\n    protected role = 'status';\n    /**\n     * ARIA live region politeness level controlling how screen readers announce messages.\n     * 'polite' waits for user to finish current activity, 'assertive' interrupts immediately, 'off' disables announcements.\n     * @default 'polite'\n     */\n    @HostBinding('attr.aria-live') @Input() ariaLive: 'off' | 'polite' | 'assertive' = 'polite';\n    @HostBinding('attr.aria-labelledby')\n    get ariaLabelledBy(): string {\n        return this.value?.length ? this.titleId : null;\n    }\n    @HostBinding('attr.aria-describedby')\n    get ariaDescribedBy(): string {\n        return this.value?.length ? this.contentId : null;\n    }\n\n    /**\n     * Prevents automatic dismissal of messages, requiring manual user interaction to close.\n     * When true, messages remain visible until explicitly closed by the user.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) sticky = false;\n\n    /**\n     * Duration in milliseconds before non-sticky messages automatically dismiss.\n     * Individual messages can override this with their own life property.\n     * @default 3000\n     */\n    @Input() life = 3000;\n    /**\n     * Array of message objects to display in the growl notification area.\n     * Each message should conform to the EuiGrowlMessage interface with properties like severity, summary, and detail.\n     * Messages are automatically managed with lifecycle timeouts based on sticky and life properties.\n     * @default []\n     */\n    @Input() value: EuiGrowlMessage[] = [];\n    /**\n     * Enables display of a close-all button when multiple sticky messages are present.\n     * Provides users with a quick way to dismiss all persistent notifications at once.\n     * @default false\n     */\n    @Input() closeAllSticky = false;\n\n    /**\n     * Screen position where growl messages appear.\n     * Common values include 'top-right', 'top-left', 'bottom-right', 'bottom-left', 'top-center', 'bottom-center'.\n     * Affects the CSS positioning of the notification container.\n     */\n    @Input() position: string;\n    /**\n     * Optional callback function executed when a growl message is clicked.\n     * Allows custom behavior to be triggered on user interaction with notifications.\n     * @default null\n     */\n    @Input() callback: () => void = null;\n\n    /**\n     * Emitted when a growl message is clicked by the user.\n     * No payload is provided.\n     * Triggers in addition to the callback function if one is defined.\n     */\n    @Output() growlClick: EventEmitter<void> = new EventEmitter<void>();\n    /**\n     * Emitted when a growl message is closed, either automatically or by user action.\n     * No payload is provided.\n     * Useful for tracking message dismissals or triggering cleanup operations.\n     */\n    @Output() growlClose: EventEmitter<void> = new EventEmitter<void>();\n\n    private differ: IterableDiffer<EuiGrowlMessage>;\n    private readonly cdr = inject(ChangeDetectorRef);\n\n    constructor() {\n        const differs = inject(IterableDiffers);\n\n        this.differ = differs.find([]).create(undefined);\n    }\n\n    ngDoCheck(): void {\n        const changes = this.differ.diff(this.value);\n\n        if (changes) {\n            // clear timeout in the queue to avoid memory leak\n            changes.forEachRemovedItem(({ item }) => clearTimeout(item?.timeout));\n            // for newly added items create timeout if they are not sticky\n            changes.forEachAddedItem(({ item }) => this.createRemovalTimeout(item));\n        }\n    }\n\n    /**\n     * @param msg The text message to appear in the container\n     */\n    remove(msg: EuiGrowlMessage): void {\n        this.value.splice(this.findMessageIndex(msg), 1);\n        this.growlClose.emit();\n        this.cdr.markForCheck();\n    }\n\n    /**\n     * Removes all growl messages from the stack\n     */\n    removeAll(): void {\n        if (this.value?.length) {\n            this.value.splice(0, this.value.length);\n            this.cdr.markForCheck();\n        }\n    }\n\n    ngOnDestroy(): void {\n        if (!this.sticky) {\n            // make sure to clear any leftover async Timeout for messages\n            this.value.forEach((v) => clearTimeout(v?.timeout));\n        }\n    }\n\n    @HostListener('click')\n    onClick(): void {\n        if (this.callback) {\n            this.callback();\n        }\n        this.growlClick.emit();\n    }\n\n    /**\n     * check whether sticky growls are greater than two\n     */\n    isGrowlMoreThanTwo(): boolean {\n        return this.value.filter((m) => m.sticky).length > 2;\n    }\n\n    /**\n     * Removes all growl messages from the stack\n     *\n     * @param value\n     */\n    private createRemovalTimeout(value: EuiGrowlMessage): void {\n        // if message it's NOT sticky and there's not any async running timeout\n        if (!value.sticky && !value.timeout) {\n            // if message it's NOT sticky and there's not any async running timeout\n            value.timeout = setTimeout(() => this.remove(value), value.life || this.life) as unknown as number;\n        }\n    }\n\n    /**\n     * Finds UxMessage index of the array otherwise returns -1\n     *\n     * @param msg UxMessage\n     */\n    private findMessageIndex(msg: EuiGrowlMessage): number {\n        return this.value?.length ? this.value.findIndex((value) => value === msg) : -1;\n    }\n}\n",
            "styleUrl": "./eui-growl.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 168
            },
            "extends": [],
            "implements": [
                "DoCheck",
                "OnDestroy"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 89
                    }
                },
                "ariaLabelledBy": {
                    "name": "ariaLabelledBy",
                    "getSignature": {
                        "name": "ariaLabelledBy",
                        "type": "string",
                        "returnType": "string",
                        "line": 106
                    }
                },
                "ariaDescribedBy": {
                    "name": "ariaDescribedBy",
                    "getSignature": {
                        "name": "ariaDescribedBy",
                        "type": "string",
                        "returnType": "string",
                        "line": 110
                    }
                }
            },
            "templateData": "@for (msg of value; track msg) {\n<div\n    class=\"eui-growl-item-container eui-u-anim eui-u-anim--fast\"\n    [ngClass]=\"{\n        'eui-growl-item-container--info eui--info': msg.severity === 'info',\n        'eui-growl-item-container--warning eui--warning': msg.severity === 'warning',\n        'eui-growl-item-container--danger eui--danger': msg.severity === 'danger',\n        'eui-growl-item-container--success eui--success': msg.severity === 'success',\n        'eui-growl-item-container--filled': msg.filled,\n        'eui-growl--sticky': sticky,\n    }\"\n    [class.eui-u-anim--slideInUp]=\"position === 'bottom-left' || position === 'bottom-center' || position === 'bottom-right'\"\n    [class.eui-u-anim--slideInDown]=\"position === 'top-left' || position === 'top-center' || position === 'top-right'\">\n\n    <div class=\"eui-growl-item\">\n        <div class=\"eui-growl-item-summary-wrapper\">\n            <eui-icon-state [euiVariant]=\"msg.severity\" class=\"eui-growl-item-icon\"/>\n            <span [id]=\"titleId\" class=\"eui-growl-item-title\">{{ msg.summary }}</span>\n        </div>\n        <div [id]=\"contentId\" class=\"eui-growl-item-content\" [innerHTML]=\"msg.detail\"></div>\n\n        <eui-icon-button\n            (buttonClick)=\"remove(msg)\"\n            icon=\"eui-close\"\n            fillColor=\"secondary\"\n            euiRounded\n            ariaLabel=\"Close growl icon\"\n            class=\"eui-growl-item-close\">\n        </eui-icon-button>\n    </div>\n\n</div>\n}\n@if (closeAllSticky && isGrowlMoreThanTwo()) {\n<div class=\"eui-growl-item-container eui-u-anim eui-u-anim--fast eui-growl-item-container--secondary\">\n    <div class=\"eui-growl-item\">\n        <div class=\"eui-growl-item-summary-wrapper\">\n            <eui-icon-svg icon=\"eui-checkmark-done\"/>\n            <span class=\"eui-growl-item-title\">{{ 'eui.growl.dismiss-all' | translate }}</span>\n        </div>\n        <eui-icon-button (buttonClick)=\"removeAll()\"\n            icon=\"eui-close\"\n            fillColor=\"secondary\"\n            euiRounded\n            ariaLabel=\"Close growl icon\"\n            class=\"eui-growl-item-close\"/>\n    </div>\n</div>\n}\n"
        },
        {
            "name": "EuiHeaderAppComponent",
            "id": "component-EuiHeaderAppComponent-9e64b7653e2846b43499b3a981eb6301864988d7bd1d99e0b62327abf35373c7899c68dac3ffbf2f096157ee58c3671ec2b4185e106284dace67d2570c035943",
            "file": "packages/components/layout/eui-header/header-app/header-app.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-header-app",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./header-app.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "appName",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3399,
                            "end": 3426,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3400,
                                "end": 3407,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>empty string</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nFull application name displayed in the header.\nUsed as the primary application identifier and fallback for appShortName when not provided.\nSynchronized with EuiAppShellService state for global access.\n",
                    "description": "<p>Full application name displayed in the header.\nUsed as the primary application identifier and fallback for appShortName when not provided.\nSynchronized with EuiAppShellService state for global access.</p>\n",
                    "line": 91,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "appShortName",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3703,
                            "end": 3730,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3704,
                                "end": 3711,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>empty string</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nShortened version of the application name for responsive or compact layouts.\nWhen empty, automatically falls back to appName value.\nUseful for displaying abbreviated names in mobile or collapsed header states.\n",
                    "description": "<p>Shortened version of the application name for responsive or compact layouts.\nWhen empty, automatically falls back to appName value.\nUseful for displaying abbreviated names in mobile or collapsed header states.</p>\n",
                    "line": 99,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "appSubTitle",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4013,
                            "end": 4040,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4014,
                                "end": 4021,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>empty string</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSubtitle or descriptive text displayed below the application name.\nProvides additional context about the application, current section, or user role.\nSynchronized with EuiAppShellService state for global access.\n",
                    "description": "<p>Subtitle or descriptive text displayed below the application name.\nProvides additional context about the application, current section, or user role.\nSynchronized with EuiAppShellService state for global access.</p>\n",
                    "line": 107,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 116,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "cssClass",
                    "defaultValue": "'eui-header-app'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 83,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "customAppName",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiHeaderAppNameComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 110,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "customAppNameLogo",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiHeaderAppNameLogoComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 114,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "customAppSubtitle",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiHeaderAppSubtitleComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 112,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 131,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 127,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 119,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-header-app'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 83,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Application name and subtitle component for header placement, displaying the application title and descriptive text.\nProvides centralized management of application identity with synchronization to EuiAppShellService for global access.\nSupports full application name, shortened name for responsive layouts, and optional subtitle for context.\nAllows custom content projection via child components (EuiHeaderAppNameComponent, EuiHeaderAppSubtitleComponent, EuiHeaderAppNameLogoComponent).\nAutomatically updates application shell state when input values change, enabling reactive UI updates across the application.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Using input properties --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-header&gt;\n    &lt;eui-header&gt;\n      &lt;eui-header-app\n        appName=&quot;MyWorkplace&quot;\n        appShortName=&quot;MWP&quot;\n        appSubTitle=&quot;Dashboard&quot;&gt;\n      &lt;/eui-header-app&gt;\n    &lt;/eui-header&gt;\n  &lt;/eui-app-header&gt;\n&lt;/eui-app&gt;\n\n&lt;!-- Using content projection --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-header&gt;\n    &lt;eui-header&gt;\n      &lt;eui-header-app&gt;\n        &lt;eui-header-app-name&gt;&lt;strong&gt;My&lt;/strong&gt;Workplace&lt;/eui-header-app-name&gt;\n        &lt;eui-header-app-subtitle&gt;Dashboard&lt;/eui-header-app-subtitle&gt;\n      &lt;/eui-header-app&gt;\n    &lt;/eui-header&gt;\n  &lt;/eui-app-header&gt;\n&lt;/eui-app&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Application name provides primary identification context</li>\n<li>Subtitle offers additional contextual information</li>\n<li>Text content is readable by screen readers</li>\n<li>Content projection allows semantic HTML structure</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-header for proper layout</li>\n<li>Two usage modes: input properties or content projection</li>\n<li>appName is the full application name (required)</li>\n<li>appShortName displays in responsive/compact layouts (defaults to appName)</li>\n<li>appSubTitle provides contextual information below name</li>\n<li>Content projection via eui-header-app-name and eui-header-app-subtitle</li>\n<li>Automatically syncs with EuiAppShellService state</li>\n<li>State changes propagate to all subscribed components</li>\n<li>Positioned in header between logo/environment and user profile</li>\n<li>Responsive behavior switches between full and short names</li>\n</ul>\n",
            "rawdescription": "\n\nApplication name and subtitle component for header placement, displaying the application title and descriptive text.\nProvides centralized management of application identity with synchronization to EuiAppShellService for global access.\nSupports full application name, shortened name for responsive layouts, and optional subtitle for context.\nAllows custom content projection via child components (EuiHeaderAppNameComponent, EuiHeaderAppSubtitleComponent, EuiHeaderAppNameLogoComponent).\nAutomatically updates application shell state when input values change, enabling reactive UI updates across the application.\n\n```html\n<!-- Using input properties -->\n<eui-app>\n  <eui-app-header>\n    <eui-header>\n      <eui-header-app\n        appName=\"MyWorkplace\"\n        appShortName=\"MWP\"\n        appSubTitle=\"Dashboard\">\n      </eui-header-app>\n    </eui-header>\n  </eui-app-header>\n</eui-app>\n\n<!-- Using content projection -->\n<eui-app>\n  <eui-app-header>\n    <eui-header>\n      <eui-header-app>\n        <eui-header-app-name><strong>My</strong>Workplace</eui-header-app-name>\n        <eui-header-app-subtitle>Dashboard</eui-header-app-subtitle>\n      </eui-header-app>\n    </eui-header>\n  </eui-app-header>\n</eui-app>\n```\n\n### Accessibility\n- Application name provides primary identification context\n- Subtitle offers additional contextual information\n- Text content is readable by screen readers\n- Content projection allows semantic HTML structure\n\n### Notes\n- Must be used within eui-header for proper layout\n- Two usage modes: input properties or content projection\n- appName is the full application name (required)\n- appShortName displays in responsive/compact layouts (defaults to appName)\n- appSubTitle provides contextual information below name\n- Content projection via eui-header-app-name and eui-header-app-subtitle\n- Automatically syncs with EuiAppShellService state\n- State changes propagate to all subscribed components\n- Positioned in header between logo/environment and user profile\n- Responsive behavior switches between full and short names\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ChangeDetectionStrategy,\n    ViewEncapsulation,\n    OnInit,\n    Input,\n    OnChanges,\n    ContentChild,\n    forwardRef,\n    SimpleChanges,\n    OnDestroy,\n    inject,\n} from '@angular/core';\nimport { EuiAppShellService } from '@eui/core';\nimport { Subscription } from 'rxjs';\nimport { EuiHeaderAppNameComponent } from './header-app-name.component';\nimport { EuiHeaderAppSubtitleComponent } from './header-app-subtitle.component';\nimport { EuiHeaderAppNameLogoComponent } from './header-app-name-logo.component';\n\n/**\n * @description\n * Application name and subtitle component for header placement, displaying the application title and descriptive text.\n * Provides centralized management of application identity with synchronization to EuiAppShellService for global access.\n * Supports full application name, shortened name for responsive layouts, and optional subtitle for context.\n * Allows custom content projection via child components (EuiHeaderAppNameComponent, EuiHeaderAppSubtitleComponent, EuiHeaderAppNameLogoComponent).\n * Automatically updates application shell state when input values change, enabling reactive UI updates across the application.\n * \n * @usageNotes\n * ```html\n * <!-- Using input properties -->\n * <eui-app>\n *   <eui-app-header>\n *     <eui-header>\n *       <eui-header-app\n *         appName=\"MyWorkplace\"\n *         appShortName=\"MWP\"\n *         appSubTitle=\"Dashboard\">\n *       </eui-header-app>\n *     </eui-header>\n *   </eui-app-header>\n * </eui-app>\n *\n * <!-- Using content projection -->\n * <eui-app>\n *   <eui-app-header>\n *     <eui-header>\n *       <eui-header-app>\n *         <eui-header-app-name><strong>My</strong>Workplace</eui-header-app-name>\n *         <eui-header-app-subtitle>Dashboard</eui-header-app-subtitle>\n *       </eui-header-app>\n *     </eui-header>\n *   </eui-app-header>\n * </eui-app>\n * ```\n *\n * ### Accessibility\n * - Application name provides primary identification context\n * - Subtitle offers additional contextual information\n * - Text content is readable by screen readers\n * - Content projection allows semantic HTML structure\n *\n * ### Notes\n * - Must be used within eui-header for proper layout\n * - Two usage modes: input properties or content projection\n * - appName is the full application name (required)\n * - appShortName displays in responsive/compact layouts (defaults to appName)\n * - appSubTitle provides contextual information below name\n * - Content projection via eui-header-app-name and eui-header-app-subtitle\n * - Automatically syncs with EuiAppShellService state\n * - State changes propagate to all subscribed components\n * - Positioned in header between logo/environment and user profile\n * - Responsive behavior switches between full and short names\n */\n@Component({\n    selector: 'eui-header-app',\n    templateUrl: './header-app.component.html',\n    styleUrl: './header-app.component.scss',\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiHeaderAppComponent implements OnInit, OnChanges, OnDestroy {\n    @HostBinding('class') cssClass = 'eui-header-app';\n\n    /**\n     * Full application name displayed in the header.\n     * Used as the primary application identifier and fallback for appShortName when not provided.\n     * Synchronized with EuiAppShellService state for global access.\n     * @default empty string\n     */\n    @Input() appName = '';\n\n    /**\n     * Shortened version of the application name for responsive or compact layouts.\n     * When empty, automatically falls back to appName value.\n     * Useful for displaying abbreviated names in mobile or collapsed header states.\n     * @default empty string\n     */\n    @Input() appShortName = '';\n\n    /**\n     * Subtitle or descriptive text displayed below the application name.\n     * Provides additional context about the application, current section, or user role.\n     * Synchronized with EuiAppShellService state for global access.\n     * @default empty string\n     */\n    @Input() appSubTitle = '';\n\n    @ContentChild(forwardRef(() => EuiHeaderAppNameComponent))\n    customAppName: EuiHeaderAppNameComponent;\n    @ContentChild(forwardRef(() => EuiHeaderAppSubtitleComponent))\n    customAppSubtitle: EuiHeaderAppSubtitleComponent;\n    @ContentChild(forwardRef(() => EuiHeaderAppNameLogoComponent))\n    customAppNameLogo: EuiHeaderAppNameLogoComponent;\n\n    protected asService = inject(EuiAppShellService);\n    private subscriptions: Subscription[] = [];\n\n    ngOnInit(): void {\n        if (this.asService) {\n            this.subscriptions.push(this.asService.getState('appName').subscribe((s: string) => (this.appName = s)));\n            this.subscriptions.push(this.asService.getState('appShortName').subscribe((s: string) => (this.appShortName = s)));\n            this.subscriptions.push(this.asService.getState('appSubTitle').subscribe((s: string) => (this.appSubTitle = s)));\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.subscriptions.forEach((s) => s.unsubscribe());\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes.appName) {\n            this.asService?.setState({\n                ...this.asService.state,\n                appName: changes.appName.currentValue,\n            });\n        }\n        if (changes.appShortName) {\n            let shortName = changes.appShortName.currentValue;\n            shortName = shortName === '' ? this.appName : shortName;\n            this.asService?.setState({\n                ...this.asService.state,\n                appShortName: shortName,\n            });\n        }\n        if (changes.appSubTitle) {\n            this.asService?.setState({\n                ...this.asService.state,\n                appSubTitle: changes.appSubTitle.currentValue,\n            });\n        }\n    }\n}\n\n",
            "styleUrl": "./header-app.component.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnChanges",
                "OnDestroy"
            ],
            "templateData": "@if (customAppName) {\n    <div class=\"eui-header-app__title full\">\n        <ng-content select=\"eui-header-app-name\"></ng-content>\n    </div>\n} @else {\n    @if (appName) {\n        <div class=\"eui-header-app__title full\">\n            {{ appName }}\n        </div>\n    }\n}\n\n@if (customAppSubtitle) {\n    <div class=\"eui-header-app__sub-title\">\n        <ng-content select=\"eui-header-app-subtitle\"></ng-content>\n    </div>\n} @else {\n    @if (appSubTitle) {\n        <div class=\"eui-header-app__sub-title\">{{ appSubTitle }}</div>\n    }\n}\n\n<div class=\"eui-header-app__title short\">\n    {{ appShortName }}\n</div>\n\n@if (customAppNameLogo) {\n    <div class=\"eui-header-app-__title-logo\">\n        <ng-content select=\"eui-header-app-name-logo\"></ng-content>\n    </div>\n}\n"
        },
        {
            "name": "EuiHeaderAppNameComponent",
            "id": "component-EuiHeaderAppNameComponent-8884000abeca25f1ea92dcea18de5394a070acdfc800fbf8781719a3cba62ac2888b68450fec34fc1da44d69d8946a27f35b08e1aa3dd5703dfaeea40647e05e",
            "file": "packages/components/layout/eui-header/header-app/header-app-name.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-header-app-name",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 49,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "string",
                    "defaultValue": "'eui-header-app-name'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 48,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 52,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-header-app-name'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 48,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Custom application name component for use within eui-header-app, allowing HTML content projection for application title.\nAutomatically extracts projected text content and synchronizes it with EuiAppShellService state for global access.\nProvides an alternative to the appName input property when rich HTML formatting or custom elements are needed.\nContent is projected via ng-content allowing flexible name composition with links, icons, or formatted text.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Application name in header --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-header&gt;\n    &lt;eui-header&gt;\n      &lt;eui-header-app&gt;\n        &lt;eui-header-app-name&gt;&lt;strong&gt;My&lt;/strong&gt;Workplace&lt;/eui-header-app-name&gt;\n        &lt;eui-header-app-subtitle&gt;Dashboard&lt;/eui-header-app-subtitle&gt;\n      &lt;/eui-header-app&gt;\n    &lt;/eui-header&gt;\n  &lt;/eui-app-header&gt;\n&lt;/eui-app&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Text content is readable by screen readers</li>\n<li>Provides application identification context</li>\n<li>HTML formatting preserved for visual emphasis</li>\n<li>Text content extracted for global state access</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-header-app for proper layout</li>\n<li>Automatically syncs text content with EuiAppShellService</li>\n<li>Alternative to appName input property on eui-header-app</li>\n<li>Allows rich HTML formatting (bold, links, icons)</li>\n<li>Content is projected via ng-content for flexibility</li>\n<li>Text content extracted and stored in application state</li>\n<li>Typically paired with eui-header-app-subtitle</li>\n</ul>\n",
            "rawdescription": "\n\nCustom application name component for use within eui-header-app, allowing HTML content projection for application title.\nAutomatically extracts projected text content and synchronizes it with EuiAppShellService state for global access.\nProvides an alternative to the appName input property when rich HTML formatting or custom elements are needed.\nContent is projected via ng-content allowing flexible name composition with links, icons, or formatted text.\n\n```html\n<!-- Application name in header -->\n<eui-app>\n  <eui-app-header>\n    <eui-header>\n      <eui-header-app>\n        <eui-header-app-name><strong>My</strong>Workplace</eui-header-app-name>\n        <eui-header-app-subtitle>Dashboard</eui-header-app-subtitle>\n      </eui-header-app>\n    </eui-header>\n  </eui-app-header>\n</eui-app>\n```\n\n### Accessibility\n- Text content is readable by screen readers\n- Provides application identification context\n- HTML formatting preserved for visual emphasis\n- Text content extracted for global state access\n\n### Notes\n- Must be used within eui-header-app for proper layout\n- Automatically syncs text content with EuiAppShellService\n- Alternative to appName input property on eui-header-app\n- Allows rich HTML formatting (bold, links, icons)\n- Content is projected via ng-content for flexibility\n- Text content extracted and stored in application state\n- Typically paired with eui-header-app-subtitle\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, OnInit, ElementRef, inject } from '@angular/core';\nimport { EuiAppShellService } from '@eui/core';\n\n/**\n * @description\n * Custom application name component for use within eui-header-app, allowing HTML content projection for application title.\n * Automatically extracts projected text content and synchronizes it with EuiAppShellService state for global access.\n * Provides an alternative to the appName input property when rich HTML formatting or custom elements are needed.\n * Content is projected via ng-content allowing flexible name composition with links, icons, or formatted text.\n * \n * @usageNotes\n * ```html\n * <!-- Application name in header -->\n * <eui-app>\n *   <eui-app-header>\n *     <eui-header>\n *       <eui-header-app>\n *         <eui-header-app-name><strong>My</strong>Workplace</eui-header-app-name>\n *         <eui-header-app-subtitle>Dashboard</eui-header-app-subtitle>\n *       </eui-header-app>\n *     </eui-header>\n *   </eui-app-header>\n * </eui-app>\n * ```\n *\n * ### Accessibility\n * - Text content is readable by screen readers\n * - Provides application identification context\n * - HTML formatting preserved for visual emphasis\n * - Text content extracted for global state access\n *\n * ### Notes\n * - Must be used within eui-header-app for proper layout\n * - Automatically syncs text content with EuiAppShellService\n * - Alternative to appName input property on eui-header-app\n * - Allows rich HTML formatting (bold, links, icons)\n * - Content is projected via ng-content for flexibility\n * - Text content extracted and stored in application state\n * - Typically paired with eui-header-app-subtitle\n */\n@Component({\n    selector: 'eui-header-app-name',\n    template: '<ng-content />',\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiHeaderAppNameComponent implements OnInit {\n    @HostBinding('class') string = 'eui-header-app-name';\n    protected asService = inject(EuiAppShellService);\n    private elRef = inject(ElementRef);\n\n    ngOnInit(): void {\n        this.asService?.setState({\n            ...this.asService.state,\n            appName: this.elRef.nativeElement.textContent,\n        });\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit"
            ]
        },
        {
            "name": "EuiHeaderAppNameLogoComponent",
            "id": "component-EuiHeaderAppNameLogoComponent-deb713e705ae758ac211869ec7b81a6cc3bc5a846cb02d58ae37506804a53213483d2d9bc09d9bd72904cbf681d9725a4de47cb020c8ae61b55ca76f2a7fc528",
            "file": "packages/components/layout/eui-header/header-app/header-app-name-logo.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-header-app-name-logo",
            "styleUrls": [],
            "styles": [],
            "template": "<img class=\"title-logo-svg\" [src]=\"svgUrl\" alt=\"Application title logo\" />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "homeUrl",
                    "defaultValue": "'..'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1206,
                            "end": 1225,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1207,
                                "end": 1214,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;..&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nURL or route path for the home page navigation when logo is clicked.\nCurrently not implemented in template but reserved for future clickable logo functionality.\n",
                    "description": "<p>URL or route path for the home page navigation when logo is clicked.\nCurrently not implemented in template but reserved for future clickable logo functionality.</p>\n",
                    "line": 26,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "logoFilename",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nFilename of the logo image located in the assets directory.\nCombined with assetsBaseUrl to construct the full image path.\nShould include file extension (e.g., 'my-app-logo.svg').\nRequired for logo display.\n",
                    "description": "<p>Filename of the logo image located in the assets directory.\nCombined with assetsBaseUrl to construct the full image path.\nShould include file extension (e.g., &#39;my-app-logo.svg&#39;).\nRequired for logo display.</p>\n",
                    "line": 34,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "cssClass",
                    "defaultValue": "'eui-header-app-name-logo'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 19,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 39,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-header-app-name-logo'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 19,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Logo component for use within eui-header-app, displaying a small icon or logo next to the application name.\nProvides visual branding alongside the application title with automatic asset path resolution.\nIntegrates with EuiConfig to resolve asset base URL, supporting custom asset locations.\nTypically used for application-specific icons or small logos that complement the main application name.</p>\n",
            "rawdescription": "\n\nLogo component for use within eui-header-app, displaying a small icon or logo next to the application name.\nProvides visual branding alongside the application title with automatic asset path resolution.\nIntegrates with EuiConfig to resolve asset base URL, supporting custom asset locations.\nTypically used for application-specific icons or small logos that complement the main application name.\n",
            "type": "component",
            "sourceCode": "import { Component, ChangeDetectionStrategy, HostBinding, ViewEncapsulation, Input, OnInit, inject } from '@angular/core';\nimport { EuiConfig } from '@eui/core';\nimport { EUI_CONFIG_TOKEN } from '@eui/core';\n\n/**\n * @description\n * Logo component for use within eui-header-app, displaying a small icon or logo next to the application name.\n * Provides visual branding alongside the application title with automatic asset path resolution.\n * Integrates with EuiConfig to resolve asset base URL, supporting custom asset locations.\n * Typically used for application-specific icons or small logos that complement the main application name.\n */\n@Component({\n    selector: 'eui-header-app-name-logo',\n    template: '<img class=\"title-logo-svg\" [src]=\"svgUrl\" alt=\"Application title logo\" />',\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiHeaderAppNameLogoComponent implements OnInit {\n    @HostBinding('class') cssClass = 'eui-header-app-name-logo';\n\n    /**\n     * URL or route path for the home page navigation when logo is clicked.\n     * Currently not implemented in template but reserved for future clickable logo functionality.\n     * @default '..'\n     */\n    @Input() homeUrl = '..';\n\n    /**\n     * Filename of the logo image located in the assets directory.\n     * Combined with assetsBaseUrl to construct the full image path.\n     * Should include file extension (e.g., 'my-app-logo.svg').\n     * Required for logo display.\n     */\n    @Input() logoFilename: string;\n\n    private assetsBaseUrl: string;\n    private config = inject<EuiConfig>(EUI_CONFIG_TOKEN, { optional: true })!;\n\n    ngOnInit(): void {\n        this.assetsBaseUrl = this.config?.appConfig?.global?.eui?.assetsBaseUrl || 'assets';\n    }\n\n    get svgUrl(): string {\n        return `${this.assetsBaseUrl}/${this.logoFilename}`;\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit"
            ],
            "accessors": {
                "svgUrl": {
                    "name": "svgUrl",
                    "getSignature": {
                        "name": "svgUrl",
                        "type": "string",
                        "returnType": "string",
                        "line": 43
                    }
                }
            }
        },
        {
            "name": "EuiHeaderAppSubtitleComponent",
            "id": "component-EuiHeaderAppSubtitleComponent-c9900257450a6b2fe95ba814198ae9618134a965683ccc1922bb23210f292d791bc37162521215c24cf16a2fd0eca6f4c2ba4e8ce40a619cab091a0e15e2dd0c",
            "file": "packages/components/layout/eui-header/header-app/header-app-subtitle.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-header-app-subtitle",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 49,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "string",
                    "defaultValue": "'eui-header-app-subtitle'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 48,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 52,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-header-app-subtitle'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 48,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Custom subtitle component for use within eui-header-app, allowing HTML content projection for application subtitle.\nAutomatically extracts projected content and synchronizes it with EuiAppShellService state for global access.\nProvides an alternative to the appSubTitle input property when rich HTML formatting or custom elements are needed.\nContent is projected via ng-content allowing flexible subtitle composition with links, icons, or formatted text.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Application subtitle in header --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-header&gt;\n    &lt;eui-header&gt;\n      &lt;eui-header-app&gt;\n        &lt;eui-header-app-name&gt;&lt;strong&gt;My&lt;/strong&gt;Workplace&lt;/eui-header-app-name&gt;\n        &lt;eui-header-app-subtitle&gt;Dashboard&lt;/eui-header-app-subtitle&gt;\n      &lt;/eui-header-app&gt;\n    &lt;/eui-header&gt;\n  &lt;/eui-app-header&gt;\n&lt;/eui-app&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Text content is readable by screen readers</li>\n<li>Provides contextual information about current view</li>\n<li>HTML formatting preserved for visual emphasis</li>\n<li>Content extracted for global state access</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-header-app for proper layout</li>\n<li>Automatically syncs HTML content with EuiAppShellService</li>\n<li>Alternative to appSubTitle input property on eui-header-app</li>\n<li>Allows rich HTML formatting (links, icons, emphasis)</li>\n<li>Content is projected via ng-content for flexibility</li>\n<li>HTML content extracted and stored in application state</li>\n<li>Typically paired with eui-header-app-name</li>\n<li>Displays below application name in header</li>\n</ul>\n",
            "rawdescription": "\n\nCustom subtitle component for use within eui-header-app, allowing HTML content projection for application subtitle.\nAutomatically extracts projected content and synchronizes it with EuiAppShellService state for global access.\nProvides an alternative to the appSubTitle input property when rich HTML formatting or custom elements are needed.\nContent is projected via ng-content allowing flexible subtitle composition with links, icons, or formatted text.\n\n```html\n<!-- Application subtitle in header -->\n<eui-app>\n  <eui-app-header>\n    <eui-header>\n      <eui-header-app>\n        <eui-header-app-name><strong>My</strong>Workplace</eui-header-app-name>\n        <eui-header-app-subtitle>Dashboard</eui-header-app-subtitle>\n      </eui-header-app>\n    </eui-header>\n  </eui-app-header>\n</eui-app>\n```\n\n### Accessibility\n- Text content is readable by screen readers\n- Provides contextual information about current view\n- HTML formatting preserved for visual emphasis\n- Content extracted for global state access\n\n### Notes\n- Must be used within eui-header-app for proper layout\n- Automatically syncs HTML content with EuiAppShellService\n- Alternative to appSubTitle input property on eui-header-app\n- Allows rich HTML formatting (links, icons, emphasis)\n- Content is projected via ng-content for flexibility\n- HTML content extracted and stored in application state\n- Typically paired with eui-header-app-name\n- Displays below application name in header\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ViewEncapsulation, OnInit, ElementRef, inject } from '@angular/core';\nimport { EuiAppShellService } from '@eui/core';\n\n/**\n * @description\n * Custom subtitle component for use within eui-header-app, allowing HTML content projection for application subtitle.\n * Automatically extracts projected content and synchronizes it with EuiAppShellService state for global access.\n * Provides an alternative to the appSubTitle input property when rich HTML formatting or custom elements are needed.\n * Content is projected via ng-content allowing flexible subtitle composition with links, icons, or formatted text.\n * \n * @usageNotes\n * ```html\n * <!-- Application subtitle in header -->\n * <eui-app>\n *   <eui-app-header>\n *     <eui-header>\n *       <eui-header-app>\n *         <eui-header-app-name><strong>My</strong>Workplace</eui-header-app-name>\n *         <eui-header-app-subtitle>Dashboard</eui-header-app-subtitle>\n *       </eui-header-app>\n *     </eui-header>\n *   </eui-app-header>\n * </eui-app>\n * ```\n *\n * ### Accessibility\n * - Text content is readable by screen readers\n * - Provides contextual information about current view\n * - HTML formatting preserved for visual emphasis\n * - Content extracted for global state access\n *\n * ### Notes\n * - Must be used within eui-header-app for proper layout\n * - Automatically syncs HTML content with EuiAppShellService\n * - Alternative to appSubTitle input property on eui-header-app\n * - Allows rich HTML formatting (links, icons, emphasis)\n * - Content is projected via ng-content for flexibility\n * - HTML content extracted and stored in application state\n * - Typically paired with eui-header-app-name\n * - Displays below application name in header\n */\n@Component({\n    selector: 'eui-header-app-subtitle',\n    template: '<ng-content />',\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiHeaderAppSubtitleComponent implements OnInit {\n    @HostBinding('class') string = 'eui-header-app-subtitle';\n    protected asService = inject(EuiAppShellService);\n    private elRef = inject(ElementRef);\n\n    ngOnInit(): void {\n        this.asService?.setState({\n            ...this.asService.state,\n            appSubTitle: this.elRef.nativeElement.innerHTML,\n        });\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit"
            ]
        },
        {
            "name": "EuiHeaderComponent",
            "id": "component-EuiHeaderComponent-5f18b96225cd8e1a20ea6ab87aef3d2580a390414aefbb059b149cdc7101ed5fd3dfd4f15f864697ed300139700c81698649a9743aff271da89673e3906ef6d6",
            "file": "packages/components/layout/eui-header/header.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-header",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./header.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "rightContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiHeaderRightContentComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 61,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "EuiHeaderRightContentComponent"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "string",
                    "defaultValue": "'eui-header'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 59,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-header'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 59,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Standalone header component for displaying page-level or section-level headers with branding and navigation.\nProvides a flexible container with support for left and right content areas through content projection.\nUnlike eui-app-header which is part of the application shell, this component can be used independently within page layouts.\nAutomatically detects and positions EuiHeaderRightContentComponent when projected for consistent right-aligned content placement.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Within eui-app-header --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-header&gt;\n    &lt;eui-header&gt;\n      &lt;eui-header-logo&gt;&lt;/eui-header-logo&gt;\n      &lt;eui-header-environment&gt;DEV&lt;/eui-header-environment&gt;\n      &lt;eui-header-app appName=&quot;MyWorkplace&quot;&gt;&lt;/eui-header-app&gt;\n      &lt;eui-header-user-profile&gt;&lt;/eui-header-user-profile&gt;\n    &lt;/eui-header&gt;\n  &lt;/eui-app-header&gt;\n&lt;/eui-app&gt;\n\n&lt;!-- Standalone usage --&gt;\n&lt;eui-header&gt;\n  &lt;h1&gt;Page Title&lt;/h1&gt;\n  &lt;eui-header-right-content&gt;\n    &lt;button euiButton&gt;Action&lt;/button&gt;\n  &lt;/eui-header-right-content&gt;\n&lt;/eui-header&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Provides semantic header structure</li>\n<li>Content should follow proper heading hierarchy</li>\n<li>Interactive elements must be keyboard accessible</li>\n<li>Maintains consistent navigation patterns</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Can be used within eui-app-header or standalone</li>\n<li>Content projected via ng-content</li>\n<li>Automatically detects eui-header-right-content for alignment</li>\n<li>Supports all eui-header-* child components</li>\n<li>Common children: eui-header-logo, eui-header-environment, eui-header-app</li>\n<li>eui-header-user-profile typically positioned at the end</li>\n<li>Flexible layout adapts to projected content</li>\n<li>Use within eui-app-header for application shell integration</li>\n<li>Use standalone for page-level or section headers</li>\n</ul>\n",
            "rawdescription": "\n\nStandalone header component for displaying page-level or section-level headers with branding and navigation.\nProvides a flexible container with support for left and right content areas through content projection.\nUnlike eui-app-header which is part of the application shell, this component can be used independently within page layouts.\nAutomatically detects and positions EuiHeaderRightContentComponent when projected for consistent right-aligned content placement.\n\n```html\n<!-- Within eui-app-header -->\n<eui-app>\n  <eui-app-header>\n    <eui-header>\n      <eui-header-logo></eui-header-logo>\n      <eui-header-environment>DEV</eui-header-environment>\n      <eui-header-app appName=\"MyWorkplace\"></eui-header-app>\n      <eui-header-user-profile></eui-header-user-profile>\n    </eui-header>\n  </eui-app-header>\n</eui-app>\n\n<!-- Standalone usage -->\n<eui-header>\n  <h1>Page Title</h1>\n  <eui-header-right-content>\n    <button euiButton>Action</button>\n  </eui-header-right-content>\n</eui-header>\n```\n\n### Accessibility\n- Provides semantic header structure\n- Content should follow proper heading hierarchy\n- Interactive elements must be keyboard accessible\n- Maintains consistent navigation patterns\n\n### Notes\n- Can be used within eui-app-header or standalone\n- Content projected via ng-content\n- Automatically detects eui-header-right-content for alignment\n- Supports all eui-header-* child components\n- Common children: eui-header-logo, eui-header-environment, eui-header-app\n- eui-header-user-profile typically positioned at the end\n- Flexible layout adapts to projected content\n- Use within eui-app-header for application shell integration\n- Use standalone for page-level or section headers\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ViewEncapsulation, ContentChild } from '@angular/core';\nimport { EuiHeaderRightContentComponent } from './header-right-content/header-right-content.component';\n\n/**\n * @description\n * Standalone header component for displaying page-level or section-level headers with branding and navigation.\n * Provides a flexible container with support for left and right content areas through content projection.\n * Unlike eui-app-header which is part of the application shell, this component can be used independently within page layouts.\n * Automatically detects and positions EuiHeaderRightContentComponent when projected for consistent right-aligned content placement.\n * \n * @usageNotes\n * ```html\n * <!-- Within eui-app-header -->\n * <eui-app>\n *   <eui-app-header>\n *     <eui-header>\n *       <eui-header-logo></eui-header-logo>\n *       <eui-header-environment>DEV</eui-header-environment>\n *       <eui-header-app appName=\"MyWorkplace\"></eui-header-app>\n *       <eui-header-user-profile></eui-header-user-profile>\n *     </eui-header>\n *   </eui-app-header>\n * </eui-app>\n *\n * <!-- Standalone usage -->\n * <eui-header>\n *   <h1>Page Title</h1>\n *   <eui-header-right-content>\n *     <button euiButton>Action</button>\n *   </eui-header-right-content>\n * </eui-header>\n * ```\n *\n * ### Accessibility\n * - Provides semantic header structure\n * - Content should follow proper heading hierarchy\n * - Interactive elements must be keyboard accessible\n * - Maintains consistent navigation patterns\n *\n * ### Notes\n * - Can be used within eui-app-header or standalone\n * - Content projected via ng-content\n * - Automatically detects eui-header-right-content for alignment\n * - Supports all eui-header-* child components\n * - Common children: eui-header-logo, eui-header-environment, eui-header-app\n * - eui-header-user-profile typically positioned at the end\n * - Flexible layout adapts to projected content\n * - Use within eui-app-header for application shell integration\n * - Use standalone for page-level or section headers\n */\n@Component({\n    selector: 'eui-header',\n    templateUrl: './header.component.html',\n    styleUrl: './header.component.scss',\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiHeaderComponent {\n\n    @HostBinding('class') string = 'eui-header';\n\n    @ContentChild(EuiHeaderRightContentComponent) rightContent: EuiHeaderRightContentComponent;\n}\n",
            "styleUrl": "./header.component.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "<div class=\"eui-header-logo-wrapper\">\n    <ng-content select=\"eui-header-logo\"></ng-content>\n    <ng-content select=\"eui-header-environment\"></ng-content>\n</div>\n\n<ng-content select=\"eui-header-app\" />\n\n<div class=\"eui-header-right-content-wrapper\">\n    @if (rightContent) {\n        <ng-content select=\"eui-header-right-content\"></ng-content>\n    } @else {\n        <ng-content select=\"eui-header-user-profile\"></ng-content>\n    }\n</div>\n\n<ng-content select=\"eui-language-selector\" />\n\n<ng-content select=\"eui-header-search\" />\n"
        },
        {
            "name": "EuiHeaderEnvironmentComponent",
            "id": "component-EuiHeaderEnvironmentComponent-1d15967e4e04090ead39b199716ec80871d97f8c0096a52687725c0e189b77d5c146254bf016fde7acb1476fbb542ca064c314d6e39441f6833f978b4f7fe67d",
            "file": "packages/components/layout/eui-header/header-environment/header-environment.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-header-environment",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 50,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "cssClass",
                    "defaultValue": "'eui-header-environment'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 49,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 61,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 53,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-header-environment'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 49,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Environment indicator component for header placement, displaying the current application environment (dev, test, production, etc.).\nProvides visual distinction between different deployment environments to prevent user confusion and accidental actions.\nAutomatically registers with EuiAppShellService to share environment information across the application.\nContent is projected via ng-content allowing custom environment labels and styling.\nTypically displays text like &quot;Development&quot;, &quot;Testing&quot;, &quot;Staging&quot; with distinct background colors.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-app&gt;\n  &lt;eui-app-header&gt;\n    &lt;eui-header&gt;\n      &lt;eui-header-logo&gt;&lt;/eui-header-logo&gt;\n      &lt;eui-header-environment&gt;DEV&lt;/eui-header-environment&gt;\n      &lt;eui-header-app appName=&quot;MyWorkplace&quot;&gt;&lt;/eui-header-app&gt;\n    &lt;/eui-header&gt;\n  &lt;/eui-app-header&gt;\n&lt;/eui-app&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Environment text is readable by screen readers</li>\n<li>Provides critical context about deployment environment</li>\n<li>Visual distinction helps prevent accidental actions in production</li>\n<li>Text content should be concise and clear</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-header for proper layout</li>\n<li>Positioned between logo and application name</li>\n<li>Content projected via ng-content (text or HTML)</li>\n<li>Automatically syncs with EuiAppShellService state</li>\n<li>Environment value extracted from innerHTML on init</li>\n<li>Common values: &quot;DEV&quot;, &quot;TEST&quot;, &quot;ACC&quot;, &quot;PROD&quot;</li>\n<li>Styling typically uses distinct background colors per environment</li>\n<li>Component registers/unregisters with app shell on init/destroy</li>\n</ul>\n",
            "rawdescription": "\n\nEnvironment indicator component for header placement, displaying the current application environment (dev, test, production, etc.).\nProvides visual distinction between different deployment environments to prevent user confusion and accidental actions.\nAutomatically registers with EuiAppShellService to share environment information across the application.\nContent is projected via ng-content allowing custom environment labels and styling.\nTypically displays text like \"Development\", \"Testing\", \"Staging\" with distinct background colors.\n\n```html\n<eui-app>\n  <eui-app-header>\n    <eui-header>\n      <eui-header-logo></eui-header-logo>\n      <eui-header-environment>DEV</eui-header-environment>\n      <eui-header-app appName=\"MyWorkplace\"></eui-header-app>\n    </eui-header>\n  </eui-app-header>\n</eui-app>\n```\n\n### Accessibility\n- Environment text is readable by screen readers\n- Provides critical context about deployment environment\n- Visual distinction helps prevent accidental actions in production\n- Text content should be concise and clear\n\n### Notes\n- Must be used within eui-header for proper layout\n- Positioned between logo and application name\n- Content projected via ng-content (text or HTML)\n- Automatically syncs with EuiAppShellService state\n- Environment value extracted from innerHTML on init\n- Common values: \"DEV\", \"TEST\", \"ACC\", \"PROD\"\n- Styling typically uses distinct background colors per environment\n- Component registers/unregisters with app shell on init/destroy\n",
            "type": "component",
            "sourceCode": "import { Component, ChangeDetectionStrategy, HostBinding, ViewEncapsulation, OnInit, ElementRef, OnDestroy, inject } from '@angular/core';\nimport { EuiAppShellService } from '@eui/core';\n\n/**\n * @description\n * Environment indicator component for header placement, displaying the current application environment (dev, test, production, etc.).\n * Provides visual distinction between different deployment environments to prevent user confusion and accidental actions.\n * Automatically registers with EuiAppShellService to share environment information across the application.\n * Content is projected via ng-content allowing custom environment labels and styling.\n * Typically displays text like \"Development\", \"Testing\", \"Staging\" with distinct background colors.\n * \n * @usageNotes\n * ```html\n * <eui-app>\n *   <eui-app-header>\n *     <eui-header>\n *       <eui-header-logo></eui-header-logo>\n *       <eui-header-environment>DEV</eui-header-environment>\n *       <eui-header-app appName=\"MyWorkplace\"></eui-header-app>\n *     </eui-header>\n *   </eui-app-header>\n * </eui-app>\n * ```\n *\n * ### Accessibility\n * - Environment text is readable by screen readers\n * - Provides critical context about deployment environment\n * - Visual distinction helps prevent accidental actions in production\n * - Text content should be concise and clear\n *\n * ### Notes\n * - Must be used within eui-header for proper layout\n * - Positioned between logo and application name\n * - Content projected via ng-content (text or HTML)\n * - Automatically syncs with EuiAppShellService state\n * - Environment value extracted from innerHTML on init\n * - Common values: \"DEV\", \"TEST\", \"ACC\", \"PROD\"\n * - Styling typically uses distinct background colors per environment\n * - Component registers/unregisters with app shell on init/destroy\n */\n@Component({\n    selector: 'eui-header-environment',\n    template: '<ng-content />',\n    styleUrl: './header-environment.component.scss',\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiHeaderEnvironmentComponent implements OnInit, OnDestroy {\n    @HostBinding('class') cssClass = 'eui-header-environment';\n    protected asService = inject(EuiAppShellService);\n    private elRef = inject(ElementRef);\n\n    ngOnInit(): void {\n        this.asService?.setState({\n            ...this.asService.state,\n            hasHeaderEnvironment: true,\n            environmentValue: this.elRef.nativeElement.innerHTML,\n        });\n    }\n\n    ngOnDestroy(): void {\n        this.asService?.setState({\n            ...this.asService.state,\n            hasHeaderEnvironment: false,\n        });\n    }\n}\n",
            "styleUrl": "./header-environment.component.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy"
            ]
        },
        {
            "name": "EuiHeaderLogoComponent",
            "id": "component-EuiHeaderLogoComponent-99dfc11c2b8c2d6f93c28687c0004ff5b615053424e04da2ab6f007007a1e3e3ca6000f394aa16237683041701560bd67899fe047d323cf0e804db46bc0df5d0",
            "file": "packages/components/layout/eui-header/header-logo/header-logo.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-header-logo",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./header-logo.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "homeUrl",
                    "defaultValue": "'..'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2922,
                            "end": 2941,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2923,
                                "end": 2930,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;..&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nURL or route path for the home page navigation when logo is clicked.\nSupports both relative and absolute paths for Angular routing.\n",
                    "description": "<p>URL or route path for the home page navigation when logo is clicked.\nSupports both relative and absolute paths for Angular routing.</p>\n",
                    "line": 86,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "logoHeight",
                    "defaultValue": "'64px'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3377,
                            "end": 3398,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3378,
                                "end": 3385,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;64px&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nCSS height value for the logo image.\nAccepts any valid CSS height unit (px, rem, %, etc.).\n",
                    "description": "<p>CSS height value for the logo image.\nAccepts any valid CSS height unit (px, rem, %, etc.).</p>\n",
                    "line": 100,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "logoUrl",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom URL path to a logo image file.\nWhen provided, overrides the default ECL logo and uses the specified image for both light and dark themes.\nOptional - defaults to language-specific ECL logos when not provided.\n",
                    "description": "<p>Custom URL path to a logo image file.\nWhen provided, overrides the default ECL logo and uses the specified image for both light and dark themes.\nOptional - defaults to language-specific ECL logos when not provided.</p>\n",
                    "line": 93,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "logoWidth",
                    "defaultValue": "'260px'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3553,
                            "end": 3575,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3554,
                                "end": 3561,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;260px&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nCSS width value for the logo image.\nAccepts any valid CSS width unit (px, rem, %, etc.).\n",
                    "description": "<p>CSS width value for the logo image.\nAccepts any valid CSS width unit (px, rem, %, etc.).</p>\n",
                    "line": 107,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 109,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "cssClass",
                    "defaultValue": "'eui-header-logo'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 79,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "euiThemeService",
                    "defaultValue": "inject(EuiThemeService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 110,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "logoStyle",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 111,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 144,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 116,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-header-logo'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 79,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "RouterLink"
                },
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "TranslateModule",
                    "type": "module"
                }
            ],
            "description": "<p>Logo component for header placement, displaying organization branding with automatic theme and language adaptation.\nProvides clickable logo linking to home page with support for custom or default European Commission logos.\nAutomatically switches between light and dark logo variants based on active theme.\nIntegrates with EuiAppShellService to register logo presence and with translation service for language-specific logos.\nSupports custom logo URLs or defaults to ECL (Europa Component Library) logo assets.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Default EC logo --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-header&gt;\n    &lt;eui-header&gt;\n      &lt;eui-header-logo&gt;&lt;/eui-header-logo&gt;\n      &lt;eui-header-environment&gt;DEV&lt;/eui-header-environment&gt;\n      &lt;eui-header-app appName=&quot;MyWorkplace&quot;&gt;&lt;/eui-header-app&gt;\n    &lt;/eui-header&gt;\n  &lt;/eui-app-header&gt;\n&lt;/eui-app&gt;\n\n&lt;!-- Custom logo --&gt;\n&lt;eui-header-logo\n  logoUrl=&quot;assets/custom-logo.svg&quot;\n  homeUrl=&quot;/home&quot;\n  logoHeight=&quot;48px&quot;\n  logoWidth=&quot;200px&quot;&gt;\n&lt;/eui-header-logo&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Logo is clickable and navigates to home page</li>\n<li>Provides visual branding and orientation</li>\n<li>Alt text provided via translation service</li>\n<li>Keyboard accessible via RouterLink</li>\n<li>Focus visible for keyboard navigation</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-header for proper layout</li>\n<li>Positioned at the start of the header (leftmost)</li>\n<li>Automatically adapts to active theme (light/dark)</li>\n<li>Language-specific logos loaded based on active language</li>\n<li>Default logos from ECL assets (logo-ec--en, logo-ec--fr, etc.)</li>\n<li>Custom logoUrl overrides default ECL logos for both themes</li>\n<li>homeUrl defaults to &#39;..&#39; for parent route navigation</li>\n<li>Logo dimensions customizable via logoHeight and logoWidth</li>\n<li>Registers/unregisters with EuiAppShellService on init/destroy</li>\n<li>SVG format recommended for scalability</li>\n</ul>\n",
            "rawdescription": "\n\nLogo component for header placement, displaying organization branding with automatic theme and language adaptation.\nProvides clickable logo linking to home page with support for custom or default European Commission logos.\nAutomatically switches between light and dark logo variants based on active theme.\nIntegrates with EuiAppShellService to register logo presence and with translation service for language-specific logos.\nSupports custom logo URLs or defaults to ECL (Europa Component Library) logo assets.\n\n```html\n<!-- Default EC logo -->\n<eui-app>\n  <eui-app-header>\n    <eui-header>\n      <eui-header-logo></eui-header-logo>\n      <eui-header-environment>DEV</eui-header-environment>\n      <eui-header-app appName=\"MyWorkplace\"></eui-header-app>\n    </eui-header>\n  </eui-app-header>\n</eui-app>\n\n<!-- Custom logo -->\n<eui-header-logo\n  logoUrl=\"assets/custom-logo.svg\"\n  homeUrl=\"/home\"\n  logoHeight=\"48px\"\n  logoWidth=\"200px\">\n</eui-header-logo>\n```\n\n### Accessibility\n- Logo is clickable and navigates to home page\n- Provides visual branding and orientation\n- Alt text provided via translation service\n- Keyboard accessible via RouterLink\n- Focus visible for keyboard navigation\n\n### Notes\n- Must be used within eui-header for proper layout\n- Positioned at the start of the header (leftmost)\n- Automatically adapts to active theme (light/dark)\n- Language-specific logos loaded based on active language\n- Default logos from ECL assets (logo-ec--en, logo-ec--fr, etc.)\n- Custom logoUrl overrides default ECL logos for both themes\n- homeUrl defaults to '..' for parent route navigation\n- Logo dimensions customizable via logoHeight and logoWidth\n- Registers/unregisters with EuiAppShellService on init/destroy\n- SVG format recommended for scalability\n",
            "type": "component",
            "sourceCode": "import { AsyncPipe } from '@angular/common';\nimport {\n    Component,\n    HostBinding,\n    ViewEncapsulation,\n    Input,\n    OnInit,\n    OnDestroy,\n    inject,\n} from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { EuiAppShellService, EuiThemeService } from '@eui/core';\nimport { EuiConfig } from '@eui/core';\nimport { EUI_CONFIG_TOKEN } from '@eui/core';\n\n/**\n * @description\n * Logo component for header placement, displaying organization branding with automatic theme and language adaptation.\n * Provides clickable logo linking to home page with support for custom or default European Commission logos.\n * Automatically switches between light and dark logo variants based on active theme.\n * Integrates with EuiAppShellService to register logo presence and with translation service for language-specific logos.\n * Supports custom logo URLs or defaults to ECL (Europa Component Library) logo assets.\n * \n * @usageNotes\n * ```html\n * <!-- Default EC logo -->\n * <eui-app>\n *   <eui-app-header>\n *     <eui-header>\n *       <eui-header-logo></eui-header-logo>\n *       <eui-header-environment>DEV</eui-header-environment>\n *       <eui-header-app appName=\"MyWorkplace\"></eui-header-app>\n *     </eui-header>\n *   </eui-app-header>\n * </eui-app>\n *\n * <!-- Custom logo -->\n * <eui-header-logo\n *   logoUrl=\"assets/custom-logo.svg\"\n *   homeUrl=\"/home\"\n *   logoHeight=\"48px\"\n *   logoWidth=\"200px\">\n * </eui-header-logo>\n * ```\n *\n * ### Accessibility\n * - Logo is clickable and navigates to home page\n * - Provides visual branding and orientation\n * - Alt text provided via translation service\n * - Keyboard accessible via RouterLink\n * - Focus visible for keyboard navigation\n *\n * ### Notes\n * - Must be used within eui-header for proper layout\n * - Positioned at the start of the header (leftmost)\n * - Automatically adapts to active theme (light/dark)\n * - Language-specific logos loaded based on active language\n * - Default logos from ECL assets (logo-ec--en, logo-ec--fr, etc.)\n * - Custom logoUrl overrides default ECL logos for both themes\n * - homeUrl defaults to '..' for parent route navigation\n * - Logo dimensions customizable via logoHeight and logoWidth\n * - Registers/unregisters with EuiAppShellService on init/destroy\n * - SVG format recommended for scalability\n */\n@Component({\n    selector: 'eui-header-logo',\n    templateUrl: './header-logo.component.html',\n    styleUrl: './header-logo.component.scss',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        RouterLink,\n        AsyncPipe,\n        TranslateModule,\n    ],\n})\nexport class EuiHeaderLogoComponent implements OnInit, OnDestroy {\n    @HostBinding('class') cssClass = 'eui-header-logo';\n\n    /**\n     * URL or route path for the home page navigation when logo is clicked.\n     * Supports both relative and absolute paths for Angular routing.\n     * @default '..'\n     */\n    @Input() homeUrl = '..';\n\n    /**\n     * Custom URL path to a logo image file.\n     * When provided, overrides the default ECL logo and uses the specified image for both light and dark themes.\n     * Optional - defaults to language-specific ECL logos when not provided.\n     */\n    @Input() logoUrl: string;\n\n    /**\n     * CSS height value for the logo image.\n     * Accepts any valid CSS height unit (px, rem, %, etc.).\n     * @default '64px'\n     */\n    @Input() logoHeight = '64px'\n\n    /**\n     * CSS width value for the logo image.\n     * Accepts any valid CSS width unit (px, rem, %, etc.).\n     * @default '260px'\n     */\n    @Input() logoWidth = '260px';    \n\n    protected asService = inject(EuiAppShellService);\n    protected euiThemeService = inject(EuiThemeService);\n    protected logoStyle;\n    private logo: string;\n    private assetsBaseUrl: string;\n    private config = inject<EuiConfig>(EUI_CONFIG_TOKEN, { optional: true })!;\n\n    ngOnInit(): void {\n        this.asService?.setState({\n            ...this.asService.state,\n            hasHeaderLogo: true,\n        });\n        this.asService?.getState('activeLanguage').subscribe((activeLanguage) => {\n            this.logo = 'logo-ec--' + activeLanguage;\n        });\n        this.assetsBaseUrl = this.config?.appConfig?.global?.eui?.assetsBaseUrl || 'assets';\n        this.logoStyle = `width:${this.logoWidth}; height:${this.logoHeight};`;\n    }\n\n    get svgUrl(): string {\n        if (this.logoUrl) {\n            return this.logoUrl;\n        } else {\n            return `${this.assetsBaseUrl}/ecl/ec/logo/positive/${this.logo}.svg`;\n        }\n    }\n\n    get svgUrlDark(): string {\n        if (this.logoUrl) {\n            return this.logoUrl;\n        } else {\n            return `${this.assetsBaseUrl}/ecl/ec/logo/negative/${this.logo}.svg`;\n        }   \n    }\n\n    ngOnDestroy(): void {\n        this.asService?.setState({\n            ...this.asService.state,\n            hasHeaderLogo: false,\n        });\n    }\n}\n",
            "styleUrl": "./header-logo.component.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy"
            ],
            "accessors": {
                "svgUrl": {
                    "name": "svgUrl",
                    "getSignature": {
                        "name": "svgUrl",
                        "type": "string",
                        "returnType": "string",
                        "line": 128
                    }
                },
                "svgUrlDark": {
                    "name": "svgUrlDark",
                    "getSignature": {
                        "name": "svgUrlDark",
                        "type": "string",
                        "returnType": "string",
                        "line": 136
                    }
                }
            },
            "templateData": "@if ((euiThemeService.state$ | async).theme.isDark) {\n    <img class=\"eui-header-logo__image\" [src]=\"svgUrlDark\" [routerLink]=\"homeUrl\" [style]=\"logoStyle\" alt=\"{{ 'eui.header.LOGO' | translate }}\" />\n\n} @else {\n    <img class=\"eui-header-logo__image\" [src]=\"svgUrl\" [routerLink]=\"homeUrl\" [style]=\"logoStyle\" alt=\"{{ 'eui.header.LOGO' | translate }}\" />\n}\n"
        },
        {
            "name": "EuiHeaderRightContentComponent",
            "id": "component-EuiHeaderRightContentComponent-53c27ace304678990f781c3cbe734629e0f80fa7ebdb9054008ffcfa79927c66a345bfb23f0904aa80a91c563106b6406a649550125326bb00eda2bde1b5c898",
            "file": "packages/components/layout/eui-header/header-right-content/header-right-content.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-header-right-content",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "cssClass",
                    "defaultValue": "'eui-header-right-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 48,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-header-right-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 48,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Container component for right-aligned content within eui-header, typically containing user profile, notifications, or action buttons.\nAutomatically positioned to the right side of the header with appropriate spacing and alignment.\nDetected by parent EuiHeaderComponent via content projection to ensure proper layout structure.\nContent is projected via ng-content allowing flexible composition of header actions and utilities.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-app&gt;\n  &lt;eui-app-header&gt;\n    &lt;eui-header&gt;\n      &lt;eui-header-logo&gt;&lt;/eui-header-logo&gt;\n      &lt;eui-header-app appName=&quot;MyWorkplace&quot;&gt;&lt;/eui-header-app&gt;\n      &lt;eui-header-right-content&gt;\n        &lt;button euiButton&gt;Action&lt;/button&gt;\n      &lt;/eui-header-right-content&gt;\n    &lt;/eui-header&gt;\n  &lt;/eui-app-header&gt;\n&lt;/eui-app&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Right-aligned positioning provides consistent layout</li>\n<li>Content should follow proper semantic structure</li>\n<li>Interactive elements must be keyboard accessible</li>\n<li>Maintains visual hierarchy in header</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-header for proper layout</li>\n<li>Positioned at the end of the header (rightmost)</li>\n<li>Content projected via ng-content</li>\n<li>Typically contains buttons, icons, or user profile</li>\n<li>Alternative to eui-header-user-profile for custom content</li>\n<li>Automatically detected by parent EuiHeaderComponent</li>\n<li>Provides flexible container for header actions</li>\n<li>Common use: custom action buttons or utility controls</li>\n</ul>\n",
            "rawdescription": "\n\nContainer component for right-aligned content within eui-header, typically containing user profile, notifications, or action buttons.\nAutomatically positioned to the right side of the header with appropriate spacing and alignment.\nDetected by parent EuiHeaderComponent via content projection to ensure proper layout structure.\nContent is projected via ng-content allowing flexible composition of header actions and utilities.\n\n```html\n<eui-app>\n  <eui-app-header>\n    <eui-header>\n      <eui-header-logo></eui-header-logo>\n      <eui-header-app appName=\"MyWorkplace\"></eui-header-app>\n      <eui-header-right-content>\n        <button euiButton>Action</button>\n      </eui-header-right-content>\n    </eui-header>\n  </eui-app-header>\n</eui-app>\n```\n\n### Accessibility\n- Right-aligned positioning provides consistent layout\n- Content should follow proper semantic structure\n- Interactive elements must be keyboard accessible\n- Maintains visual hierarchy in header\n\n### Notes\n- Must be used within eui-header for proper layout\n- Positioned at the end of the header (rightmost)\n- Content projected via ng-content\n- Typically contains buttons, icons, or user profile\n- Alternative to eui-header-user-profile for custom content\n- Automatically detected by parent EuiHeaderComponent\n- Provides flexible container for header actions\n- Common use: custom action buttons or utility controls\n",
            "type": "component",
            "sourceCode": "import { Component, ChangeDetectionStrategy, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n * @description\n * Container component for right-aligned content within eui-header, typically containing user profile, notifications, or action buttons.\n * Automatically positioned to the right side of the header with appropriate spacing and alignment.\n * Detected by parent EuiHeaderComponent via content projection to ensure proper layout structure.\n * Content is projected via ng-content allowing flexible composition of header actions and utilities.\n * \n * @usageNotes\n * ```html\n * <eui-app>\n *   <eui-app-header>\n *     <eui-header>\n *       <eui-header-logo></eui-header-logo>\n *       <eui-header-app appName=\"MyWorkplace\"></eui-header-app>\n *       <eui-header-right-content>\n *         <button euiButton>Action</button>\n *       </eui-header-right-content>\n *     </eui-header>\n *   </eui-app-header>\n * </eui-app>\n * ```\n *\n * ### Accessibility\n * - Right-aligned positioning provides consistent layout\n * - Content should follow proper semantic structure\n * - Interactive elements must be keyboard accessible\n * - Maintains visual hierarchy in header\n *\n * ### Notes\n * - Must be used within eui-header for proper layout\n * - Positioned at the end of the header (rightmost)\n * - Content projected via ng-content\n * - Typically contains buttons, icons, or user profile\n * - Alternative to eui-header-user-profile for custom content\n * - Automatically detected by parent EuiHeaderComponent\n * - Provides flexible container for header actions\n * - Common use: custom action buttons or utility controls\n */\n@Component({\n    selector: 'eui-header-right-content',\n    template: '<ng-content />',\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiHeaderRightContentComponent {\n    @HostBinding('class') cssClass = 'eui-header-right-content';\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiHeaderSearchComponent",
            "id": "component-EuiHeaderSearchComponent-8476bc11ac8b0306d0252188765e710e943a605a0455a57265d0e7f79eb88b1282ae13d52122ec2220f69d76f88df7e73fce7f040ceae2955d60aa6c8cf957bc",
            "file": "packages/components/layout/eui-header/header-search/header-search.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-header-search",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./header-search.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "placeholder",
                    "defaultValue": "'Search'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2792,
                            "end": 2815,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2793,
                                "end": 2800,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;Search&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nPlaceholder text displayed in the search input field when empty.\nProvides hint text to guide users on what they can search for.\n",
                    "description": "<p>Placeholder text displayed in the search input field when empty.\nProvides hint text to guide users on what they can search for.</p>\n",
                    "line": 84,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "searchClick",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the user initiates a search by clicking the search button or submitting the form.\nPayload: string - the current value of the search input field\nTriggered on search button click or form submission.\n",
                    "description": "<p>Emitted when the user initiates a search by clicking the search button or submitting the form.\nPayload: string - the current value of the search input field\nTriggered on search button click or form submission.</p>\n",
                    "line": 91,
                    "type": "EventEmitter<string>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "cssClass",
                    "defaultValue": "'eui-header-search'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 77,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "inputValue",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 93,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onSearch",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 95,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-header-search'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 77,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "FormsModule",
                    "type": "module"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_INPUT_TEXT"
                },
                {
                    "name": "EUI_INPUT_BUTTON"
                }
            ],
            "description": "<p>Search input component designed for header placement, providing a compact search interface with submit button.\nCombines text input with search icon button for initiating search operations from the application header.\nEmits search events with the current input value when user clicks the search button or submits the form.\nIntegrates with EUI input and button components for consistent styling and behavior.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-app&gt;\n  &lt;eui-app-header&gt;\n    &lt;eui-header&gt;\n      &lt;eui-header-logo&gt;&lt;/eui-header-logo&gt;\n      &lt;eui-header-search\n        placeholder=&quot;Search documents...&quot;\n        (searchClick)=&quot;onSearch($event)&quot;&gt;\n      &lt;/eui-header-search&gt;\n    &lt;/eui-header&gt;\n  &lt;/eui-app-header&gt;\n&lt;/eui-app&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">onSearch(searchTerm: string): void {\n  console.log(&#39;Searching for:&#39;, searchTerm);\n}</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Search input is keyboard accessible</li>\n<li>Placeholder provides context for screen readers</li>\n<li>Submit button accessible via keyboard (Enter key)</li>\n<li>Focus management follows standard input behavior</li>\n<li>Search icon provides visual affordance</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-header for proper layout</li>\n<li>Positioned in header content area</li>\n<li>Combines input field with search button</li>\n<li>searchClick event emits current input value</li>\n<li>Triggered by button click or form submission</li>\n<li>placeholder defaults to &#39;Search&#39;</li>\n<li>Input value managed internally via FormsModule</li>\n<li>Integrates EUI input-text and button components</li>\n<li>Compact design suitable for header placement</li>\n</ul>\n",
            "rawdescription": "\n\nSearch input component designed for header placement, providing a compact search interface with submit button.\nCombines text input with search icon button for initiating search operations from the application header.\nEmits search events with the current input value when user clicks the search button or submits the form.\nIntegrates with EUI input and button components for consistent styling and behavior.\n\n```html\n<eui-app>\n  <eui-app-header>\n    <eui-header>\n      <eui-header-logo></eui-header-logo>\n      <eui-header-search\n        placeholder=\"Search documents...\"\n        (searchClick)=\"onSearch($event)\">\n      </eui-header-search>\n    </eui-header>\n  </eui-app-header>\n</eui-app>\n```\n```typescript\nonSearch(searchTerm: string): void {\n  console.log('Searching for:', searchTerm);\n}\n```\n\n### Accessibility\n- Search input is keyboard accessible\n- Placeholder provides context for screen readers\n- Submit button accessible via keyboard (Enter key)\n- Focus management follows standard input behavior\n- Search icon provides visual affordance\n\n### Notes\n- Must be used within eui-header for proper layout\n- Positioned in header content area\n- Combines input field with search button\n- searchClick event emits current input value\n- Triggered by button click or form submission\n- placeholder defaults to 'Search'\n- Input value managed internally via FormsModule\n- Integrates EUI input-text and button components\n- Compact design suitable for header placement\n",
            "type": "component",
            "sourceCode": "import { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport {\n    Component,\n    ChangeDetectionStrategy,\n    HostBinding,\n    ViewEncapsulation,\n    Input,\n    EventEmitter,\n    Output,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_INPUT_BUTTON } from '@eui/components/eui-input-button';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\n\n/**\n * @description\n * Search input component designed for header placement, providing a compact search interface with submit button.\n * Combines text input with search icon button for initiating search operations from the application header.\n * Emits search events with the current input value when user clicks the search button or submits the form.\n * Integrates with EUI input and button components for consistent styling and behavior.\n * \n * @usageNotes\n * ```html\n * <eui-app>\n *   <eui-app-header>\n *     <eui-header>\n *       <eui-header-logo></eui-header-logo>\n *       <eui-header-search\n *         placeholder=\"Search documents...\"\n *         (searchClick)=\"onSearch($event)\">\n *       </eui-header-search>\n *     </eui-header>\n *   </eui-app-header>\n * </eui-app>\n * ```\n * ```typescript\n * onSearch(searchTerm: string): void {\n *   console.log('Searching for:', searchTerm);\n * }\n * ```\n *\n * ### Accessibility\n * - Search input is keyboard accessible\n * - Placeholder provides context for screen readers\n * - Submit button accessible via keyboard (Enter key)\n * - Focus management follows standard input behavior\n * - Search icon provides visual affordance\n *\n * ### Notes\n * - Must be used within eui-header for proper layout\n * - Positioned in header content area\n * - Combines input field with search button\n * - searchClick event emits current input value\n * - Triggered by button click or form submission\n * - placeholder defaults to 'Search'\n * - Input value managed internally via FormsModule\n * - Integrates EUI input-text and button components\n * - Compact design suitable for header placement\n */\n@Component({\n    selector: 'eui-header-search',\n    templateUrl: './header-search.component.html',\n    styleUrl: './header-search.component.scss',\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        FormsModule,\n        ...EUI_ICON,\n        ...EUI_BUTTON,\n        ...EUI_INPUT_TEXT,\n        ...EUI_INPUT_BUTTON,\n    ],\n})\nexport class EuiHeaderSearchComponent {\n    @HostBinding('class') cssClass = 'eui-header-search';\n\n    /**\n     * Placeholder text displayed in the search input field when empty.\n     * Provides hint text to guide users on what they can search for.\n     * @default 'Search'\n     */\n    @Input() placeholder = 'Search';\n\n    /**\n     * Emitted when the user initiates a search by clicking the search button or submitting the form.\n     * Payload: string - the current value of the search input field\n     * Triggered on search button click or form submission.\n     */\n    @Output() searchClick: EventEmitter<string> = new EventEmitter();\n\n    protected inputValue: string;\n\n    onSearch(): void {\n        this.searchClick.emit(this.inputValue);\n    }\n}\n",
            "styleUrl": "./header-search.component.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "<eui-input-button>\n    <input euiInputText\n        [euiClearable]=\"true\"\n        (input)=\"onSearch()\"\n        placeholder=\"Search...\"\n        aria-label=\"Search\"/>\n    <button euiButton aria-label=\"Search Icon\">\n        <eui-icon-svg icon=\"eui-search\"/>\n    </button>\n</eui-input-button>\n"
        },
        {
            "name": "EuiHeaderUserProfileComponent",
            "id": "component-EuiHeaderUserProfileComponent-bb6a7176939384ed576033c4d34eeb1ef784b110d3e1bdaf3658d8edcb77a00d7d489f04aeba64c10717c21864f5f5359294a93ba7dae7904f9a3ab5d96b124b",
            "file": "packages/components/layout/eui-header/header-user-profile/header-user-profile.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-header-user-profile",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./header-user-profile.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "avatarUrl",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nURL path to the user's avatar image.\nWhen provided, displays the image instead of initials or default avatar.\nOptional.\n",
                    "description": "<p>URL path to the user&#39;s avatar image.\nWhen provided, displays the image instead of initials or default avatar.\nOptional.</p>\n",
                    "line": 137,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasTabNavigation",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4345,
                            "end": 4365,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4346,
                                "end": 4353,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables keyboard tab navigation to the user profile component.\nWhen true, makes the profile element focusable and accessible via keyboard.\n",
                    "description": "<p>Enables keyboard tab navigation to the user profile component.\nWhen true, makes the profile element focusable and accessible via keyboard.</p>\n",
                    "line": 116,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasWelcomeLabel",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3819,
                            "end": 3838,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3820,
                                "end": 3827,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls visibility of the welcome label text.\nWhen false, hides the welcome message prefix and shows only the username.\n",
                    "description": "<p>Controls visibility of the welcome label text.\nWhen false, hides the welcome message prefix and shows only the username.</p>\n",
                    "line": 102,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "impersonateLabel",
                    "defaultValue": "'acting as'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4833,
                            "end": 4859,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4834,
                                "end": 4841,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;acting as&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nText label displayed when user is impersonating another user.\nShows between the actual user and impersonated user names, typically \"acting as\".\n",
                    "description": "<p>Text label displayed when user is impersonating another user.\nShows between the actual user and impersonated user names, typically &quot;acting as&quot;.</p>\n",
                    "line": 130,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowAvatarInitials",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4079,
                            "end": 4099,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4080,
                                "end": 4087,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nDisplays user initials in the avatar when no avatar image is provided.\nWhen true, shows first letters of user's name as avatar placeholder.\n",
                    "description": "<p>Displays user initials in the avatar when no avatar image is provided.\nWhen true, shows first letters of user&#39;s name as avatar placeholder.</p>\n",
                    "line": 109,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowUserInfos",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3578,
                            "end": 3597,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3579,
                                "end": 3586,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls visibility of user information text (name, email, etc.).\nWhen false, hides textual user details and shows only the avatar.\n",
                    "description": "<p>Controls visibility of user information text (name, email, etc.).\nWhen false, hides textual user details and shows only the avatar.</p>\n",
                    "line": 95,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "subInfos",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nAdditional user information text displayed below the main user name.\nTypically used for role, department, or secondary identification.\nOptional.\n",
                    "description": "<p>Additional user information text displayed below the main user name.\nTypically used for role, department, or secondary identification.\nOptional.</p>\n",
                    "line": 144,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "welcomeLabel",
                    "defaultValue": "'Welcome'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4593,
                            "end": 4617,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4594,
                                "end": 4601,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;Welcome&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nText label displayed before the username in the welcome message.\nTypically used for greeting text like \"Welcome\" or \"Hello\".\n",
                    "description": "<p>Text label displayed before the username in the welcome message.\nTypically used for greeting text like &quot;Welcome&quot; or &quot;Hello&quot;.</p>\n",
                    "line": 123,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "cssClass",
                    "defaultValue": "'eui-header-user-profile'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 83,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "hasMenu",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 146,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "hasMenuContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiUserProfileMenuComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 86,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "undefined, {descendants: true}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "userProfile",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiUserProfileComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 88,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'userProfile'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "closeUserProfileDropdown",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 153,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nProgrammatically closes the user profile dropdown menu if currently open.\nMust be called after ngAfterViewInit lifecycle hook to ensure userProfile component is initialized.\nUseful for closing the menu in response to external events or navigation changes.\n",
                    "description": "<p>Programmatically closes the user profile dropdown menu if currently open.\nMust be called after ngAfterViewInit lifecycle hook to ensure userProfile component is initialized.\nUseful for closing the menu in response to external events or navigation changes.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 157,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-header-user-profile'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 83,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_USER_PROFILE"
                }
            ],
            "description": "<p>User profile component designed for header placement, displaying user information with optional dropdown menu.\nProvides visual representation of the logged-in user with avatar, name, welcome message, and impersonation indicators.\nIntegrates with EuiUserProfileComponent and EuiUserProfileMenuComponent for dropdown menu functionality.\nSupports customization of avatar display, user information visibility, and welcome message text.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-app&gt;\n  &lt;eui-app-header&gt;\n    &lt;eui-header&gt;\n      &lt;eui-header-logo&gt;&lt;/eui-header-logo&gt;\n      &lt;eui-header-app appName=&quot;MyWorkplace&quot;&gt;&lt;/eui-header-app&gt;\n      &lt;eui-header-user-profile\n        avatarUrl=&quot;assets/avatar.jpg&quot;\n        welcomeLabel=&quot;Welcome&quot;\n        [isShowUserInfos]=&quot;true&quot;&gt;\n        &lt;eui-user-profile-menu&gt;\n          &lt;eui-user-profile-menu-item (click)=&quot;onProfile()&quot;&gt;\n            My Profile\n          &lt;/eui-user-profile-menu-item&gt;\n          &lt;eui-user-profile-menu-item (click)=&quot;onSignOut()&quot;&gt;\n            Sign Out\n          &lt;/eui-user-profile-menu-item&gt;\n        &lt;/eui-user-profile-menu&gt;\n      &lt;/eui-header-user-profile&gt;\n    &lt;/eui-header&gt;\n  &lt;/eui-app-header&gt;\n&lt;/eui-app&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Avatar provides visual user identification</li>\n<li>Dropdown menu keyboard accessible when hasTabNavigation enabled</li>\n<li>Welcome message readable by screen readers</li>\n<li>Menu items must be keyboard navigable</li>\n<li>Focus management for dropdown interactions</li>\n<li>Impersonation status clearly indicated</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-header for proper layout</li>\n<li>Positioned at the end of the header (rightmost)</li>\n<li>Wraps EuiUserProfileComponent with header-specific styling</li>\n<li>Menu content via eui-user-profile-menu child component</li>\n<li>isShowUserInfos controls text visibility (default: true)</li>\n<li>hasWelcomeLabel controls welcome message (default: true)</li>\n<li>isShowAvatarInitials shows user initials when no avatar (default: false)</li>\n<li>hasTabNavigation enables keyboard focus (default: false)</li>\n<li>avatarUrl for custom avatar image</li>\n<li>subInfos for additional user details (role, department)</li>\n<li>impersonateLabel for impersonation scenarios</li>\n<li>closeUserProfileDropdown() method to programmatically close menu</li>\n<li>Automatically detects menu content via ContentChildren</li>\n</ul>\n",
            "rawdescription": "\n\nUser profile component designed for header placement, displaying user information with optional dropdown menu.\nProvides visual representation of the logged-in user with avatar, name, welcome message, and impersonation indicators.\nIntegrates with EuiUserProfileComponent and EuiUserProfileMenuComponent for dropdown menu functionality.\nSupports customization of avatar display, user information visibility, and welcome message text.\n\n```html\n<eui-app>\n  <eui-app-header>\n    <eui-header>\n      <eui-header-logo></eui-header-logo>\n      <eui-header-app appName=\"MyWorkplace\"></eui-header-app>\n      <eui-header-user-profile\n        avatarUrl=\"assets/avatar.jpg\"\n        welcomeLabel=\"Welcome\"\n        [isShowUserInfos]=\"true\">\n        <eui-user-profile-menu>\n          <eui-user-profile-menu-item (click)=\"onProfile()\">\n            My Profile\n          </eui-user-profile-menu-item>\n          <eui-user-profile-menu-item (click)=\"onSignOut()\">\n            Sign Out\n          </eui-user-profile-menu-item>\n        </eui-user-profile-menu>\n      </eui-header-user-profile>\n    </eui-header>\n  </eui-app-header>\n</eui-app>\n```\n\n### Accessibility\n- Avatar provides visual user identification\n- Dropdown menu keyboard accessible when hasTabNavigation enabled\n- Welcome message readable by screen readers\n- Menu items must be keyboard navigable\n- Focus management for dropdown interactions\n- Impersonation status clearly indicated\n\n### Notes\n- Must be used within eui-header for proper layout\n- Positioned at the end of the header (rightmost)\n- Wraps EuiUserProfileComponent with header-specific styling\n- Menu content via eui-user-profile-menu child component\n- isShowUserInfos controls text visibility (default: true)\n- hasWelcomeLabel controls welcome message (default: true)\n- isShowAvatarInitials shows user initials when no avatar (default: false)\n- hasTabNavigation enables keyboard focus (default: false)\n- avatarUrl for custom avatar image\n- subInfos for additional user details (role, department)\n- impersonateLabel for impersonation scenarios\n- closeUserProfileDropdown() method to programmatically close menu\n- Automatically detects menu content via ContentChildren\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    ChangeDetectionStrategy,\n    HostBinding,\n    ViewEncapsulation,\n    Input,\n    forwardRef,\n    QueryList,\n    ContentChildren,\n    ViewChild,\n    booleanAttribute,\n    AfterContentInit,\n    AfterViewInit,\n} from '@angular/core';\nimport { EuiUserProfileMenuComponent, EuiUserProfileComponent, EUI_USER_PROFILE } from '@eui/components/eui-user-profile';\n\n/**\n * @description\n * User profile component designed for header placement, displaying user information with optional dropdown menu.\n * Provides visual representation of the logged-in user with avatar, name, welcome message, and impersonation indicators.\n * Integrates with EuiUserProfileComponent and EuiUserProfileMenuComponent for dropdown menu functionality.\n * Supports customization of avatar display, user information visibility, and welcome message text.\n * \n * @usageNotes\n * ```html\n * <eui-app>\n *   <eui-app-header>\n *     <eui-header>\n *       <eui-header-logo></eui-header-logo>\n *       <eui-header-app appName=\"MyWorkplace\"></eui-header-app>\n *       <eui-header-user-profile\n *         avatarUrl=\"assets/avatar.jpg\"\n *         welcomeLabel=\"Welcome\"\n *         [isShowUserInfos]=\"true\">\n *         <eui-user-profile-menu>\n *           <eui-user-profile-menu-item (click)=\"onProfile()\">\n *             My Profile\n *           </eui-user-profile-menu-item>\n *           <eui-user-profile-menu-item (click)=\"onSignOut()\">\n *             Sign Out\n *           </eui-user-profile-menu-item>\n *         </eui-user-profile-menu>\n *       </eui-header-user-profile>\n *     </eui-header>\n *   </eui-app-header>\n * </eui-app>\n * ```\n *\n * ### Accessibility\n * - Avatar provides visual user identification\n * - Dropdown menu keyboard accessible when hasTabNavigation enabled\n * - Welcome message readable by screen readers\n * - Menu items must be keyboard navigable\n * - Focus management for dropdown interactions\n * - Impersonation status clearly indicated\n *\n * ### Notes\n * - Must be used within eui-header for proper layout\n * - Positioned at the end of the header (rightmost)\n * - Wraps EuiUserProfileComponent with header-specific styling\n * - Menu content via eui-user-profile-menu child component\n * - isShowUserInfos controls text visibility (default: true)\n * - hasWelcomeLabel controls welcome message (default: true)\n * - isShowAvatarInitials shows user initials when no avatar (default: false)\n * - hasTabNavigation enables keyboard focus (default: false)\n * - avatarUrl for custom avatar image\n * - subInfos for additional user details (role, department)\n * - impersonateLabel for impersonation scenarios\n * - closeUserProfileDropdown() method to programmatically close menu\n * - Automatically detects menu content via ContentChildren\n */\n@Component({\n    selector: 'eui-header-user-profile',\n    templateUrl: './header-user-profile.component.html',\n    styleUrl: './header-user-profile.component.scss',\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        ...EUI_USER_PROFILE,\n    ],\n})\nexport class EuiHeaderUserProfileComponent implements AfterContentInit {\n    @HostBinding('class') cssClass = 'eui-header-user-profile';\n\n    @ContentChildren(forwardRef(() => EuiUserProfileMenuComponent), { descendants: true })\n    hasMenuContent: QueryList<EuiUserProfileMenuComponent>;\n\n    @ViewChild('userProfile') userProfile: EuiUserProfileComponent;\n\n    /**\n     * Controls visibility of user information text (name, email, etc.).\n     * When false, hides textual user details and shows only the avatar.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isShowUserInfos = true;\n\n    /**\n     * Controls visibility of the welcome label text.\n     * When false, hides the welcome message prefix and shows only the username.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasWelcomeLabel = true;\n\n    /**\n     * Displays user initials in the avatar when no avatar image is provided.\n     * When true, shows first letters of user's name as avatar placeholder.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isShowAvatarInitials = false;\n\n    /**\n     * Enables keyboard tab navigation to the user profile component.\n     * When true, makes the profile element focusable and accessible via keyboard.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasTabNavigation = false;\n\n    /**\n     * Text label displayed before the username in the welcome message.\n     * Typically used for greeting text like \"Welcome\" or \"Hello\".\n     * @default 'Welcome'\n     */\n    @Input() welcomeLabel = 'Welcome';\n\n    /**\n     * Text label displayed when user is impersonating another user.\n     * Shows between the actual user and impersonated user names, typically \"acting as\".\n     * @default 'acting as'\n     */\n    @Input() impersonateLabel = 'acting as';\n\n    /**\n     * URL path to the user's avatar image.\n     * When provided, displays the image instead of initials or default avatar.\n     * Optional.\n     */\n    @Input() avatarUrl: string;\n\n    /**\n     * Additional user information text displayed below the main user name.\n     * Typically used for role, department, or secondary identification.\n     * Optional.\n     */\n    @Input() subInfos: string;\n\n    protected hasMenu = false;\n\n    /**\n     * Programmatically closes the user profile dropdown menu if currently open.\n     * Must be called after ngAfterViewInit lifecycle hook to ensure userProfile component is initialized.\n     * Useful for closing the menu in response to external events or navigation changes.\n     */\n    public closeUserProfileDropdown(): void {\n        this.userProfile.closeDropdown();\n    }\n\n    ngAfterContentInit(): void {\n        this.hasMenu = this.hasMenuContent.length !== 0;\n    }\n\n    // ngAfterViewInit(): void {\n    //     // Pass the reference to the userProfile component to each menu component\n    //     if (this.userProfile && this.hasMenuContent) {\n    //         this.hasMenuContent.forEach(menu => {\n    //             // Ensure the menu has a reference to the userProfile component\n    //             menu.parent = this.userProfile;\n    //             /**\n    //              * Subscribe to the parent component to handle any necessary logic While the ngAfterViewInit of\n    //              * EuiUserProfileComponent has been called before the parent injection did not exist.\n    //              *\n    //              * Thus, we need to manually subscribe to the parent component after the view has been initialized,\n    //              * and we manually set the parent property before subscribing.\n    //              */\n    //             menu.subscribeToParent();\n    //         });\n    //     }\n    // }\n}\n",
            "styleUrl": "./header-user-profile.component.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterContentInit"
            ],
            "templateData": "<eui-user-profile\n    [hasWelcomeLabel]=\"hasWelcomeLabel\"\n    [welcomeLabel]=\"welcomeLabel\"\n    [impersonateLabel]=\"impersonateLabel\"\n    [avatarUrl]=\"avatarUrl\"\n    [isShowUserInfos]=\"isShowUserInfos\"\n    [isShowAvatarInitials]=\"isShowAvatarInitials\"\n    [hasTabNavigation]=\"hasTabNavigation\"\n    [subInfos]=\"subInfos\"\n    [hasMenu]=\"hasMenu\"\n    isHeaderUserProfile\n    #userProfile>\n    <ng-content select=\"eui-user-profile-menu\" />\n</eui-user-profile>\n"
        },
        {
            "name": "EuiHelperTextComponent",
            "id": "component-EuiHelperTextComponent-a490dd81ce852c6e77e6c18d4ca9f64a13239704fc4a7d144764da76cc1a2b4bf70453c49680480639b6b4e74e09081cb35fe288a6fd281d57e4111390c690ab",
            "file": "packages/components/eui-helper-text/eui-helper-text.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-helper-text",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "type",
                    "defaultValue": "'MessageFeedback'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Type attribute bound to the host element.\nUsed to identify the component type in the DOM.</p>\n",
                    "line": 52,
                    "rawdescription": "\n\nType attribute bound to the host element.\nUsed to identify the component type in the DOM.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.type'"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1456,
                            "end": 1587,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1457,
                                "end": 1468,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Type attribute bound to the host element.\nUsed to identify the component type in the DOM.</p>\n"
                        },
                        {
                            "pos": 1587,
                            "end": 1603,
                            "kind": 336,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1588,
                                "end": 1597,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "protected"
                            },
                            "comment": ""
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.type",
                    "defaultValue": "'MessageFeedback'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1456,
                            "end": 1587,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1457,
                                "end": 1468,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Type attribute bound to the host element.\nUsed to identify the component type in the DOM.</p>\n"
                        },
                        {
                            "pos": 1587,
                            "end": 1603,
                            "kind": 336,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1588,
                                "end": 1597,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "protected"
                            },
                            "comment": ""
                        }
                    ],
                    "rawdescription": "\n\nType attribute bound to the host element.\nUsed to identify the component type in the DOM.\n\n",
                    "description": "<p>Type attribute bound to the host element.\nUsed to identify the component type in the DOM.</p>\n",
                    "line": 52,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1094,
                            "end": 1268,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1095,
                                "end": 1106,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the feedback message component.\nCombines base state classes with muted state if applicable.</p>\n"
                        },
                        {
                            "pos": 1268,
                            "end": 1333,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1269,
                                "end": 1276,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 1277,
                                "end": 1285,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 1278,
                                    "end": 1284,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the feedback message component.\nCombines base state classes with muted state if applicable.\n\n",
                    "description": "<p>Computes and returns the CSS classes for the feedback message component.\nCombines base state classes with muted state if applicable.</p>\n",
                    "line": 41,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>A helper text component that provides supplementary information for form fields or UI elements.\nDisplays descriptive text to guide users in completing forms or understanding interface elements.</p>\n<h3>Basic helper text</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-label&gt;Password&lt;/eui-label&gt;\n&lt;eui-input-text type=&quot;password&quot;&gt;&lt;/eui-input-text&gt;\n&lt;eui-helper-text&gt;Must be at least 8 characters&lt;/eui-helper-text&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Should be associated with form controls using aria-describedby</li>\n<li>Provides context without being intrusive</li>\n<li>Text is readable by screen readers</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use for hints, format requirements, or additional context</li>\n<li>Keep text concise and actionable</li>\n<li>Combine with eui-feedback-message for validation errors</li>\n</ul>\n",
            "rawdescription": "\n\nA helper text component that provides supplementary information for form fields or UI elements.\nDisplays descriptive text to guide users in completing forms or understanding interface elements.\n\n### Basic helper text\n```html\n<eui-label>Password</eui-label>\n<eui-input-text type=\"password\"></eui-input-text>\n<eui-helper-text>Must be at least 8 characters</eui-helper-text>\n```\n\n### Accessibility\n- Should be associated with form controls using aria-describedby\n- Provides context without being intrusive\n- Text is readable by screen readers\n\n### Notes\n- Use for hints, format requirements, or additional context\n- Keep text concise and actionable\n- Combine with eui-feedback-message for validation errors\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * A helper text component that provides supplementary information for form fields or UI elements.\n * Displays descriptive text to guide users in completing forms or understanding interface elements.\n *\n * @usageNotes\n * ### Basic helper text\n * ```html\n * <eui-label>Password</eui-label>\n * <eui-input-text type=\"password\"></eui-input-text>\n * <eui-helper-text>Must be at least 8 characters</eui-helper-text>\n * ```\n *\n * ### Accessibility\n * - Should be associated with form controls using aria-describedby\n * - Provides context without being intrusive\n * - Text is readable by screen readers\n *\n * ### Notes\n * - Use for hints, format requirements, or additional context\n * - Keep text concise and actionable\n * - Combine with eui-feedback-message for validation errors\n */\n@Component({\n    // eslint-disable-next-line @angular-eslint/component-selector\n    selector: 'eui-helper-text',\n    template: '<ng-content/>',\n    styleUrl: './eui-helper-text.scss',\n})\nexport class EuiHelperTextComponent {\n    /**\n     * @description\n     * Computes and returns the CSS classes for the feedback message component.\n     * Combines base state classes with muted state if applicable.\n     *\n     * @returns {string} Space-separated string of CSS class names\n     */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return 'eui-helper-text';\n    }\n\n    /**\n     * @description\n     * Type attribute bound to the host element.\n     * Used to identify the component type in the DOM.\n     *\n     * @protected\n     */\n    @HostBinding('attr.type') protected type = 'MessageFeedback';\n}\n",
            "styleUrl": "./eui-helper-text.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 41,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the feedback message component.\nCombines base state classes with muted state if applicable.\n\n",
                        "description": "<p>Computes and returns the CSS classes for the feedback message component.\nCombines base state classes with muted state if applicable.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 1094,
                                "end": 1268,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 1095,
                                    "end": 1106,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the feedback message component.\nCombines base state classes with muted state if applicable.</p>\n"
                            },
                            {
                                "pos": 1268,
                                "end": 1333,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 1269,
                                    "end": 1276,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 1277,
                                    "end": 1285,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 1278,
                                        "end": 1284,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            }
        },
        {
            "name": "EuiIconButtonComponent",
            "id": "component-EuiIconButtonComponent-7007a795b8b8c5185042df4e85478ea3c07b36353e06e2978a6785485ba3e42cc179c346720b81614a1f36f3a01709d69921aad43195581b9ad9e06083f849a9",
            "file": "packages/components/eui-icon-button/eui-icon-button.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-icon-button",
            "styleUrls": [
                "./eui-icon-button.component.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-icon-button.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiSecondary",
                        "euiSuccess",
                        "euiInfo",
                        "euiWarning",
                        "euiDanger",
                        "euiVariant",
                        "euiSizeS"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "ariaLabel",
                    "defaultValue": "'eUI Icon button'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3180,
                            "end": 3212,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3181,
                                "end": 3188,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eUI Icon button&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nAccessible label for screen readers describing the button's purpose.\n",
                    "description": "<p>Accessible label for screen readers describing the button&#39;s purpose.</p>\n",
                    "line": 100,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisables the button, preventing interaction and applying disabled styling. Default: false\n",
                    "description": "<p>Disables the button, preventing interaction and applying disabled styling. Default: false</p>\n",
                    "line": 135,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiRounded",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nApplies rounded corners to the button shape instead of default square corners. Default: false\n",
                    "description": "<p>Applies rounded corners to the button shape instead of default square corners. Default: false</p>\n",
                    "line": 130,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "fillColor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCSS color value to apply as the icon fill color. Overrides default theme colors.\n",
                    "description": "<p>CSS color value to apply as the icon fill color. Overrides default theme colors.</p>\n",
                    "line": 89,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasFocusHoverBg",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nApplies background color change on focus and hover states. Automatically disabled when hasFocusHoverColor is true. Default: true\n",
                    "description": "<p>Applies background color change on focus and hover states. Automatically disabled when hasFocusHoverColor is true. Default: true</p>\n",
                    "line": 125,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasFocusHoverColor",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nApplies color change on focus and hover states instead of background change. Mutually exclusive with hasFocusHoverBg. Default: false\n",
                    "description": "<p>Applies color change on focus and hover states instead of background change. Mutually exclusive with hasFocusHoverBg. Default: false</p>\n",
                    "line": 120,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasNoPadding",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRemoves internal padding from the button, allowing the icon to fill the entire button area. Default: false\n",
                    "description": "<p>Removes internal padding from the button, allowing the icon to fill the entire button area. Default: false</p>\n",
                    "line": 110,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasOverflowHover",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEnables hover state that expands beyond the button boundaries, typically used in dense layouts. Default: false\n",
                    "description": "<p>Enables hover state that expands beyond the button boundaries, typically used in dense layouts. Default: false</p>\n",
                    "line": 115,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "icon",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThe name of the icon to display from the eUI icon library.\n",
                    "description": "<p>The name of the icon to display from the eUI icon library.</p>\n",
                    "line": 79,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "iconUrl",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nURL path to a custom icon image. Used when displaying icons not available in the eUI icon library.\n",
                    "description": "<p>URL path to a custom icon image. Used when displaying icons not available in the eUI icon library.</p>\n",
                    "line": 84,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "size",
                    "defaultValue": "'m'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nControls the icon dimensions. Default: 'm'\n",
                    "description": "<p>Controls the icon dimensions. Default: &#39;m&#39;</p>\n",
                    "line": 94,
                    "type": "\"2xs\" | \"xs\" | \"s\" | \"m\" | \"l\" | \"xl\" | \"2xl\" | \"3xl\" | \"4xl\"",
                    "decorators": []
                },
                {
                    "name": "tabindex",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nTab order position for keyboard navigation. Set to -1 to remove from tab sequence. Default: 0\n",
                    "description": "<p>Tab order position for keyboard navigation. Set to -1 to remove from tab sequence. Default: 0</p>\n",
                    "line": 105,
                    "type": "number",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "buttonClick",
                    "defaultValue": "new EventEmitter<Event>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the button is clicked. Payload contains the native click Event object.\n",
                    "description": "<p>Emitted when the button is clicked. Payload contains the native click Event object.</p>\n",
                    "line": 140,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 141,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 147,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onClick",
                    "args": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 143,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 62,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "<p>A clickable button component that displays only an icon without text. Provides visual feedback states and supports various sizing and styling options. Commonly used in toolbars, navigation bars, and compact UI layouts where space is limited.</p>\n<h3>Basic icon button</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-icon-button\n  icon=&quot;edit&quot;\n  ariaLabel=&quot;Edit item&quot;\n  (buttonClick)=&quot;onEdit()&quot;&gt;\n&lt;/eui-icon-button&gt;</code></pre></div><h3>With state variant</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-icon-button\n  icon=&quot;delete&quot;\n  euiDanger\n  size=&quot;l&quot;\n  ariaLabel=&quot;Delete item&quot;&gt;\n&lt;/eui-icon-button&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Always provide descriptive <code>ariaLabel</code> for screen readers</li>\n<li>Button is keyboard accessible via Tab and Enter/Space</li>\n<li>Focus states are clearly visible</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use <code>hasNoPadding</code> for compact layouts or icon-only toolbars</li>\n<li>Apply <code>euiRounded</code> for circular button shape</li>\n<li>Set <code>euiDisabled</code> to prevent interaction</li>\n<li>Choose between <code>hasFocusHoverColor</code> and <code>hasFocusHoverBg</code> for hover effects</li>\n</ul>\n",
            "rawdescription": "\n\nA clickable button component that displays only an icon without text. Provides visual feedback states and supports various sizing and styling options. Commonly used in toolbars, navigation bars, and compact UI layouts where space is limited.\n\n### Basic icon button\n```html\n<eui-icon-button\n  icon=\"edit\"\n  ariaLabel=\"Edit item\"\n  (buttonClick)=\"onEdit()\">\n</eui-icon-button>\n```\n\n### With state variant\n```html\n<eui-icon-button\n  icon=\"delete\"\n  euiDanger\n  size=\"l\"\n  ariaLabel=\"Delete item\">\n</eui-icon-button>\n```\n\n### Accessibility\n- Always provide descriptive `ariaLabel` for screen readers\n- Button is keyboard accessible via Tab and Enter/Space\n- Focus states are clearly visible\n\n### Notes\n- Use `hasNoPadding` for compact layouts or icon-only toolbars\n- Apply `euiRounded` for circular button shape\n- Set `euiDisabled` to prevent interaction\n- Choose between `hasFocusHoverColor` and `hasFocusHoverBg` for hover effects\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, Input, Output, EventEmitter, booleanAttribute, OnInit, inject } from '@angular/core';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n/**\n * A clickable button component that displays only an icon without text. Provides visual feedback states and supports various sizing and styling options. Commonly used in toolbars, navigation bars, and compact UI layouts where space is limited.\n *\n * @usageNotes\n * ### Basic icon button\n * ```html\n * <eui-icon-button \n *   icon=\"edit\" \n *   ariaLabel=\"Edit item\"\n *   (buttonClick)=\"onEdit()\">\n * </eui-icon-button>\n * ```\n *\n * ### With state variant\n * ```html\n * <eui-icon-button \n *   icon=\"delete\" \n *   euiDanger\n *   size=\"l\"\n *   ariaLabel=\"Delete item\">\n * </eui-icon-button>\n * ```\n *\n * ### Accessibility\n * - Always provide descriptive `ariaLabel` for screen readers\n * - Button is keyboard accessible via Tab and Enter/Space\n * - Focus states are clearly visible\n *\n * ### Notes\n * - Use `hasNoPadding` for compact layouts or icon-only toolbars\n * - Apply `euiRounded` for circular button shape\n * - Set `euiDisabled` to prevent interaction\n * - Choose between `hasFocusHoverColor` and `hasFocusHoverBg` for hover effects\n */\n@Component({\n    selector: 'eui-icon-button',\n    templateUrl: './eui-icon-button.component.html',\n    styleUrls: [ './eui-icon-button.component.scss' ],\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            ],\n        },\n    ],\n    imports: [ ...EUI_ICON ],\n})\nexport class EuiIconButtonComponent implements OnInit {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-icon-button'),\n            this.hasNoPadding ? 'eui-icon-button--has-no-padding': '',\n            this.hasOverflowHover ? 'eui-icon-button--has-overflow-hover': '',\n            this.hasFocusHoverColor ? 'eui-icon-button--has-focus-hover-color': '',\n            this.hasFocusHoverBg ? 'eui-icon-button--has-focus-hover-bg': '',\n            this.euiRounded ? 'eui-icon-button--rounded': '',\n            this.euiDisabled ? 'eui-icon-button--disabled': '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * The name of the icon to display from the eUI icon library.\n     */\n    @Input() icon: string;\n\n    /**\n     * URL path to a custom icon image. Used when displaying icons not available in the eUI icon library.\n     */\n    @Input() iconUrl: string;\n\n    /**\n     * CSS color value to apply as the icon fill color. Overrides default theme colors.\n     */\n    @Input() fillColor: string;\n\n    /**\n     * Controls the icon dimensions. Default: 'm'\n     */\n    @Input() size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl' = 'm';\n\n    /**\n     * Accessible label for screen readers describing the button's purpose.\n     * @default 'eUI Icon button'\n     */\n    @Input() ariaLabel = 'eUI Icon button';\n\n    /**\n     * Tab order position for keyboard navigation. Set to -1 to remove from tab sequence. Default: 0\n     */\n    @Input() tabindex = 0;\n\n    /**\n     * Removes internal padding from the button, allowing the icon to fill the entire button area. Default: false\n     */\n    @Input({ transform: booleanAttribute }) hasNoPadding = false;\n\n    /**\n     * Enables hover state that expands beyond the button boundaries, typically used in dense layouts. Default: false\n     */\n    @Input({ transform: booleanAttribute }) hasOverflowHover = false;\n\n    /**\n     * Applies color change on focus and hover states instead of background change. Mutually exclusive with hasFocusHoverBg. Default: false\n     */\n    @Input({ transform: booleanAttribute }) hasFocusHoverColor = false;\n\n    /**\n     * Applies background color change on focus and hover states. Automatically disabled when hasFocusHoverColor is true. Default: true\n     */\n    @Input({ transform: booleanAttribute }) hasFocusHoverBg = true;\n\n    /**\n     * Applies rounded corners to the button shape instead of default square corners. Default: false\n     */\n    @Input({ transform: booleanAttribute }) euiRounded = false;\n\n    /**\n     * Disables the button, preventing interaction and applying disabled styling. Default: false\n     */\n    @Input({ transform: booleanAttribute }) euiDisabled = false;\n\n    /**\n     * Emitted when the button is clicked. Payload contains the native click Event object.\n     */\n    @Output() buttonClick = new EventEmitter<Event>();\n    protected baseStatesDirective = inject(BaseStatesDirective);\n\n    onClick(event: Event): void {\n        this.buttonClick.emit(event);\n    }\n\n    ngOnInit(): void {\n        if (this.hasFocusHoverColor) {\n            this.hasFocusHoverBg = false;\n        }\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@use '../base' as base;\n\n.eui-21 {\n    // VARS DEFS\n    // ---------\n    :host.eui-icon-button {\n        --_hover-color: var(--eui-c-secondary-surface-light-hover);\n        --_color: var(--eui-c-secondary);\n    }\n    :host.eui-icon-button--primary {\n        --_hover-color: var(--eui-c-primary-surface-light-hover);\n        --_color: var(--eui-c-primary);\n    }\n    :host.eui-icon-button--secondary {\n        --_hover-color: var(--eui-c-secondary-surface-light-hover);\n        --_color: var(--eui-c-secondary);\n    }\n    :host.eui-icon-button--info {\n        --_hover-color: var(--eui-c-info-surface-light-hover);\n        --_color: var(--eui-c-info);\n    }\n    :host.eui-icon-button--success {\n        --_hover-color: var(--eui-c-success-surface-light-hover);\n        --_color: var(--eui-c-success);\n    }\n    :host.eui-icon-button--warning {\n        --_hover-color: var(--eui-c-warning-surface-light-hover);\n        --_color: var(--eui-c-warning);\n    }\n    :host.eui-icon-button--danger {\n        --_hover-color: var(--eui-c-danger-surface-light-hover);\n        --_color: var(--eui-c-danger);\n    }\n\n    :host.eui-icon-button {\n        display: inline-flex;\n\n        .eui-icon-button__button {\n            background-color: transparent;\n            border: var(--eui-bw-none);\n            cursor: pointer;\n            align-items: center;\n            display: flex;\n            justify-content: center;\n            position: relative;\n            padding: var(--eui-s-xs);\n\n            @include base.eui-accessible-focus-visible;\n\n            ::ng-deep .eui-icon-svg {\n                svg {\n                    fill: var(--_color);\n                    color: var(--_color);\n                }\n            }\n        }\n    }\n\n    :host.eui-icon-button--size-s {\n        .eui-icon-button__button {\n            padding: var(--eui-s-3xs);\n        }\n    }\n\n    :host.eui-icon-button--has-focus-hover-bg {\n        .eui-icon-button__button:hover {\n            background-color: var(--_hover-color);\n        }\n    }\n\n    :host.eui-icon-button--has-no-padding {\n        .eui-icon-button__button {\n            padding: 0;\n        }\n    }\n\n    :host.eui-icon-button--has-focus-hover-color {\n        .eui-icon-button__button {\n            opacity: var(--eui-o-75);\n        }\n        .eui-icon-button__button:hover {\n            opacity: var(--eui-o-100);\n        }\n    }\n\n    :host.eui-icon-button--rounded {\n        .eui-icon-button__button {\n            border-radius: var(--eui-br-max);\n        }\n    }\n\n    :host.eui-icon-button--disabled {\n        cursor: not-allowed;\n\n        .eui-icon-button__button {\n            pointer-events: none;\n            @include base.eui-disabled();\n        }\n    }\n\n\n    :host.eui-icon-button--has-overflow-hover {\n        position: relative;\n\n        .eui-icon-button__button {\n            padding: 0;\n        }\n    }\n\n    :host.eui-icon-button--has-overflow-hover:hover:before {\n        background-color: var(--_hover-color);\n        content: \"\";\n        display: block;\n        height: var(--eui-s-3xl);\n        left: 50%;\n        position: absolute;\n        top: 50%;\n        transform: translate(-50%, -50%);\n        width: var(--eui-s-3xl);\n    }\n\n    :host.eui-icon-button--rounded.eui-icon-button--has-overflow-hover:hover:before {\n        border-radius: var(--eui-br-max);\n    }\n}\n",
                    "styleUrl": "./eui-icon-button.component.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 62
                    }
                }
            },
            "templateData": "<button class=\"eui-icon-button__button\"\n    type=\"button\"\n    (click)=\"onClick($event)\"\n    [attr.aria-label]=\"ariaLabel\"\n    [attr.tabindex]=\"tabindex\">\n    <eui-icon-svg [icon]=\"icon\" [iconUrl]=\"iconUrl\" [fillColor]=\"fillColor\" [size]=\"size\" class=\"eui-icon-button__button-icon\">\n        <ng-content select=\"eui-badge\"></ng-content>\n    </eui-icon-svg>\n</button>\n"
        },
        {
            "name": "EuiIconButtonExpanderComponent",
            "id": "component-EuiIconButtonExpanderComponent-678ee0cc6b0f3e9d7bac0102bca80fa15967c555d044288c25d4c5cf5cff82ff0748cfe4bbc3ec511b770be649c42c1cec8aeaea7b2fbe702d15054a249355a3",
            "file": "packages/components/eui-icon-button-expander/eui-icon-button-expander.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-icon-button-expander",
            "styleUrls": [
                "./eui-icon-button-expander.component.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-icon-button-expander.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "ariaLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nAccessible label for screen readers describing the button's purpose.\n",
                    "description": "<p>Accessible label for screen readers describing the button&#39;s purpose.</p>\n",
                    "line": 67,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisables the button interaction when true. Default is false.\n",
                    "description": "<p>Disables the button interaction when true. Default is false.</p>\n",
                    "line": 83,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "fillColor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThe fill color of the icon. Accepts any valid CSS color value.\n",
                    "description": "<p>The fill color of the icon. Accepts any valid CSS color value.</p>\n",
                    "line": 57,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isDirectionForward",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nControls the rotation direction of the icon. When true, the icon points forward (right) when collapsed; when false, it points downward when collapsed. Default is false.\n",
                    "description": "<p>Controls the rotation direction of the icon. When true, the icon points forward (right) when collapsed; when false, it points downward when collapsed. Default is false.</p>\n",
                    "line": 77,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isExpanded",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nControls the visual state of the expander icon. When true, the icon rotates to indicate expanded state. Default is false.\n",
                    "description": "<p>Controls the visual state of the expander icon. When true, the icon rotates to indicate expanded state. Default is false.</p>\n",
                    "line": 72,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "size",
                    "defaultValue": "'m'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThe size of the icon button. Default is 'm'.\n",
                    "description": "<p>The size of the icon button. Default is &#39;m&#39;.</p>\n",
                    "line": 62,
                    "type": "\"2xs\" | \"xs\" | \"s\" | \"m\" | \"l\" | \"xl\" | \"2xl\" | \"3xl\" | \"4xl\"",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "buttonClick",
                    "defaultValue": "new EventEmitter<Event>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the button is clicked. Payload is the native click Event.\n",
                    "description": "<p>Emitted when the button is clicked. Payload is the native click Event.</p>\n",
                    "line": 88,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "onClick",
                    "args": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 90,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 47,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "<p>A button component that displays an icon indicating expandable/collapsible state, typically used for accordion panels, tree nodes, or disclosure widgets.\nThe icon rotates based on the expanded state and can be oriented in forward or reverse direction.</p>\n<h3>Basic expander button</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-icon-button-expander\n  [isExpanded]=&quot;expanded&quot;\n  ariaLabel=&quot;Toggle section&quot;\n  (buttonClick)=&quot;expanded = !expanded&quot;&gt;\n&lt;/eui-icon-button-expander&gt;</code></pre></div><h3>Forward direction (horizontal expansion)</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-icon-button-expander\n  [isExpanded]=&quot;sidebarOpen&quot;\n  [isDirectionForward]=&quot;true&quot;\n  ariaLabel=&quot;Toggle sidebar&quot;&gt;\n&lt;/eui-icon-button-expander&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Provide descriptive <code>ariaLabel</code> indicating expand/collapse action</li>\n<li>Visual rotation clearly indicates state change</li>\n<li>Keyboard accessible via Tab and Enter/Space</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Default direction is downward (for vertical expansion)</li>\n<li>Set <code>isDirectionForward=&quot;true&quot;</code> for horizontal/sidebar expansion</li>\n<li>Icon automatically rotates based on <code>isExpanded</code> state</li>\n<li>Commonly paired with eui-fieldset or custom collapsible sections</li>\n</ul>\n",
            "rawdescription": "\n\nA button component that displays an icon indicating expandable/collapsible state, typically used for accordion panels, tree nodes, or disclosure widgets.\nThe icon rotates based on the expanded state and can be oriented in forward or reverse direction.\n\n### Basic expander button\n```html\n<eui-icon-button-expander\n  [isExpanded]=\"expanded\"\n  ariaLabel=\"Toggle section\"\n  (buttonClick)=\"expanded = !expanded\">\n</eui-icon-button-expander>\n```\n\n### Forward direction (horizontal expansion)\n```html\n<eui-icon-button-expander\n  [isExpanded]=\"sidebarOpen\"\n  [isDirectionForward]=\"true\"\n  ariaLabel=\"Toggle sidebar\">\n</eui-icon-button-expander>\n```\n\n### Accessibility\n- Provide descriptive `ariaLabel` indicating expand/collapse action\n- Visual rotation clearly indicates state change\n- Keyboard accessible via Tab and Enter/Space\n\n### Notes\n- Default direction is downward (for vertical expansion)\n- Set `isDirectionForward=\"true\"` for horizontal/sidebar expansion\n- Icon automatically rotates based on `isExpanded` state\n- Commonly paired with eui-fieldset or custom collapsible sections\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, Input, Output, EventEmitter, booleanAttribute, ChangeDetectionStrategy } from '@angular/core';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\n/**\n * A button component that displays an icon indicating expandable/collapsible state, typically used for accordion panels, tree nodes, or disclosure widgets.\n * The icon rotates based on the expanded state and can be oriented in forward or reverse direction.\n *\n * @usageNotes\n * ### Basic expander button\n * ```html\n * <eui-icon-button-expander \n *   [isExpanded]=\"expanded\"\n *   ariaLabel=\"Toggle section\"\n *   (buttonClick)=\"expanded = !expanded\">\n * </eui-icon-button-expander>\n * ```\n *\n * ### Forward direction (horizontal expansion)\n * ```html\n * <eui-icon-button-expander \n *   [isExpanded]=\"sidebarOpen\"\n *   [isDirectionForward]=\"true\"\n *   ariaLabel=\"Toggle sidebar\">\n * </eui-icon-button-expander>\n * ```\n *\n * ### Accessibility\n * - Provide descriptive `ariaLabel` indicating expand/collapse action\n * - Visual rotation clearly indicates state change\n * - Keyboard accessible via Tab and Enter/Space\n *\n * ### Notes\n * - Default direction is downward (for vertical expansion)\n * - Set `isDirectionForward=\"true\"` for horizontal/sidebar expansion\n * - Icon automatically rotates based on `isExpanded` state\n * - Commonly paired with eui-fieldset or custom collapsible sections\n */\n@Component({\n    selector: 'eui-icon-button-expander',\n    templateUrl: './eui-icon-button-expander.component.html',\n    styleUrls: [ './eui-icon-button-expander.component.scss' ],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [ ...EUI_ICON ],\n})\nexport class EuiIconButtonExpanderComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-icon-button-expander',\n            this.isDirectionForward ? 'eui-icon-button-expander--direction-forward': '',\n        ].join(' ').trim();\n    }\n\n    /**\n     * The fill color of the icon. Accepts any valid CSS color value.\n     */\n    @Input() fillColor: string;\n\n    /**\n     * The size of the icon button. Default is 'm'.\n     */\n    @Input() size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl' = 'm';\n\n    /**\n     * Accessible label for screen readers describing the button's purpose.\n     */\n    @Input() ariaLabel: string;\n\n    /**\n     * Controls the visual state of the expander icon. When true, the icon rotates to indicate expanded state. Default is false.\n     */\n    @Input({ transform: booleanAttribute }) isExpanded = false;\n\n    /**\n     * Controls the rotation direction of the icon. When true, the icon points forward (right) when collapsed; when false, it points downward when collapsed. Default is false.\n     */\n    @Input({ transform: booleanAttribute }) isDirectionForward = false;\n\n    // TODO handle disabled attr (see button implementation)\n    /**\n     * Disables the button interaction when true. Default is false.\n     */\n    @Input({ transform: booleanAttribute }) euiDisabled = false;\n\n    /**\n     * Emitted when the button is clicked. Payload is the native click Event.\n     */\n    @Output() buttonClick = new EventEmitter<Event>();\n\n    onClick(event: Event): void {\n        this.buttonClick.emit(event);\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@use '../base' as base;\n\n:host.eui-icon-button-expander {\n    display: inline-flex;\n    border-radius: var(--eui-br-max);\n\n    &:hover {\n        background-color: var(--eui-c-secondary-surface-light-hover);\n    }\n}\n\n.eui-icon-button-expander {\n    &-toggle {\n        background-color: transparent;\n        border: var(--eui-bw-none);\n        border-radius: var(--eui-br-max);\n        cursor: pointer;\n        padding: var(--eui-s-3xs);\n        align-items: center;\n        display: flex;\n        justify-content: center;\n        position: relative;\n        transition: all 0.2s linear !important;\n\n        @include base.eui-accessible-focus(-2px);\n    }\n\n    &-toggle--expanded {\n        transform: rotate(180deg);\n    }\n}\n\n:host.eui-icon-button-expander--direction-forward {\n    .eui-icon-button-expander-toggle--expanded {\n        transform: rotate(90deg);\n    }\n}\n",
                    "styleUrl": "./eui-icon-button-expander.component.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 47
                    }
                }
            },
            "templateData": "<button\n    type=\"button\"\n    class=\"eui-icon-button-expander-toggle\"\n    [class.eui-icon-button-expander-toggle--expanded]=\"isExpanded\"\n    [attr.aria-label]=\"isExpanded ? 'expanded' : 'collapsed'\"\n    [attr.aria-expanded]=\"isExpanded\"\n    (click)=\"onClick($event)\">\n    @if (fillColor) {\n        @if (isDirectionForward) {\n            <eui-icon-svg icon=\"eui-chevron-right\" fillColor=\"{{fillColor}}\" size=\"{{size}}\"></eui-icon-svg>\n        } @else {\n            <eui-icon-svg icon=\"eui-chevron-down\" fillColor=\"{{fillColor}}\" size=\"{{size}}\"></eui-icon-svg>\n        }\n\n    } @else {\n        @if (isDirectionForward) {\n            <eui-icon-svg icon=\"eui-chevron-right\" size=\"{{size}}\"></eui-icon-svg>\n        } @else {\n            <eui-icon-svg icon=\"eui-chevron-down\" size=\"{{size}}\"></eui-icon-svg>\n        }\n    }\n</button>\n"
        },
        {
            "name": "EuiIconColorComponent",
            "id": "component-EuiIconColorComponent-f72dd4bf40018d70e770a1113065fac0ae4aaa509b297d1783ced58979f46d734d5809df93dc039563171ccf4bee3ab8cbb4ff0a669eb36fac671e58d027fa80",
            "file": "packages/components/eui-icon-color/eui-icon-color.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-icon-colored, span[euiIconColored], [euiIconColored]",
            "styleUrls": [],
            "styles": [],
            "template": "<span [class]=\"iconClass\">\n    @for (pathNumber of paths; track pathNumber) {\n        <span class=\"path{{ pathNumber }}\"></span>\n    }\n</span>\n",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "iconClass",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCSS class name corresponding to the colored icon to display. Must match an icon class from the eUI colored icon set.\n",
                    "description": "<p>CSS class name corresponding to the colored icon to display. Must match an icon class from the eUI colored icon set.</p>\n",
                    "line": 45,
                    "type": "any",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "paths",
                    "defaultValue": "[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 35,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "getCssClasses",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 47,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 38,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Renders multi-colored icons using layered path elements with individual color styling.\nSupports icons with up to 20 distinct color paths, commonly used for brand logos and complex iconography.</p>\n<h3>Basic colored icon</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-icon-colored iconClass=&quot;icon-brand-logo&quot;&gt;&lt;/eui-icon-colored&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Ensure sufficient color contrast for all icon paths</li>\n<li>Provide alternative text or labels when icon conveys meaning</li>\n<li>Consider monochrome fallback for accessibility modes</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Icon classes must be defined in your icon font or CSS</li>\n<li>Each path element receives a <code>.path{n}</code> class for individual styling</li>\n<li>Best suited for brand logos and multi-color illustrations</li>\n<li>For simple icons, use eui-icon-svg instead</li>\n</ul>\n",
            "rawdescription": "\n\nRenders multi-colored icons using layered path elements with individual color styling.\nSupports icons with up to 20 distinct color paths, commonly used for brand logos and complex iconography.\n\n### Basic colored icon\n```html\n<eui-icon-colored iconClass=\"icon-brand-logo\"></eui-icon-colored>\n```\n\n### Accessibility\n- Ensure sufficient color contrast for all icon paths\n- Provide alternative text or labels when icon conveys meaning\n- Consider monochrome fallback for accessibility modes\n\n### Notes\n- Icon classes must be defined in your icon font or CSS\n- Each path element receives a `.path{n}` class for individual styling\n- Best suited for brand logos and multi-color illustrations\n- For simple icons, use eui-icon-svg instead\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, Input } from '@angular/core';\n\n/**\n * Renders multi-colored icons using layered path elements with individual color styling.\n * Supports icons with up to 20 distinct color paths, commonly used for brand logos and complex iconography.\n *\n * @usageNotes\n * ### Basic colored icon\n * ```html\n * <eui-icon-colored iconClass=\"icon-brand-logo\"></eui-icon-colored>\n * ```\n *\n * ### Accessibility\n * - Ensure sufficient color contrast for all icon paths\n * - Provide alternative text or labels when icon conveys meaning\n * - Consider monochrome fallback for accessibility modes\n *\n * ### Notes\n * - Icon classes must be defined in your icon font or CSS\n * - Each path element receives a `.path{n}` class for individual styling\n * - Best suited for brand logos and multi-color illustrations\n * - For simple icons, use eui-icon-svg instead\n */\n@Component({\n    selector: 'eui-icon-colored, span[euiIconColored], [euiIconColored]',\n    template: `\n        <span [class]=\"iconClass\">\n            @for (pathNumber of paths; track pathNumber) {\n                <span class=\"path{{ pathNumber }}\"></span>\n            }\n        </span>\n    `,\n})\nexport class EuiIconColorComponent {\n    public paths = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20];\n\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return this.getCssClasses();\n    }\n\n    /**\n     * CSS class name corresponding to the colored icon to display. Must match an icon class from the eUI colored icon set.\n     */\n    @Input() iconClass;\n\n    getCssClasses(): string {\n        return ['eui-icon eui-icon-color', this.iconClass ? this.iconClass : ''].join(' ').trim();\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 38
                    }
                }
            }
        },
        {
            "name": "EuiIconInputComponent",
            "id": "component-EuiIconInputComponent-9a89ee7461d30390413e3d2f5088ea568a5edd25717b037f6403fd708745aee0181ac1552be53a3628671604415f7deef678936fac625c5921a2e94fe2eb5b30",
            "file": "packages/components/eui-icon-input/eui-icon-input.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-icon-input",
            "styleUrls": [
                "./eui-icon-input.component.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-icon-input.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "euiIconPositionEnd",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2105,
                            "end": 2181,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2106,
                                "end": 2113,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false. When true, overrides euiIconPositionStart positioning.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nPositions the icon at the end (right in LTR layouts) of the input field.\n",
                    "description": "<p>Positions the icon at the end (right in LTR layouts) of the input field.</p>\n",
                    "line": 63,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiIconPositionStart",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1828,
                            "end": 1933,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1829,
                                "end": 1836,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true. Mutually exclusive with euiIconPositionEnd when both are true, end takes precedence.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nPositions the icon at the start (left in LTR layouts) of the input field.\n",
                    "description": "<p>Positions the icon at the start (left in LTR layouts) of the input field.</p>\n",
                    "line": 57,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 43,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Container component that positions an icon relative to an input field.\nSupports icon placement at the start (left) or end (right) of the input.\nTypically used to enhance form inputs with visual indicators like search icons, validation states, or action triggers.</p>\n<h3>Icon at start of input</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-icon-input [euiIconPositionStart]=&quot;true&quot;&gt;\n  &lt;eui-icon-svg icon=&quot;search&quot;&gt;&lt;/eui-icon-svg&gt;\n  &lt;input euiInputText placeholder=&quot;Search...&quot; /&gt;\n&lt;/eui-icon-input&gt;</code></pre></div><h3>Icon at end of input</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-icon-input [euiIconPositionEnd]=&quot;true&quot;&gt;\n  &lt;input euiInputText type=&quot;password&quot; /&gt;\n  &lt;eui-icon-svg icon=&quot;visibility&quot;&gt;&lt;/eui-icon-svg&gt;\n&lt;/eui-icon-input&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Icon should be decorative or have proper aria-label</li>\n<li>Input field maintains full keyboard accessibility</li>\n<li>Ensure sufficient touch target size for mobile</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Default position is start (left in LTR)</li>\n<li>When both positions are true, end takes precedence</li>\n<li>Icon is automatically sized and positioned</li>\n<li>Works with all eui-input-text variants</li>\n</ul>\n",
            "rawdescription": "\n\nContainer component that positions an icon relative to an input field.\nSupports icon placement at the start (left) or end (right) of the input.\nTypically used to enhance form inputs with visual indicators like search icons, validation states, or action triggers.\n\n### Icon at start of input\n```html\n<eui-icon-input [euiIconPositionStart]=\"true\">\n  <eui-icon-svg icon=\"search\"></eui-icon-svg>\n  <input euiInputText placeholder=\"Search...\" />\n</eui-icon-input>\n```\n\n### Icon at end of input\n```html\n<eui-icon-input [euiIconPositionEnd]=\"true\">\n  <input euiInputText type=\"password\" />\n  <eui-icon-svg icon=\"visibility\"></eui-icon-svg>\n</eui-icon-input>\n```\n\n### Accessibility\n- Icon should be decorative or have proper aria-label\n- Input field maintains full keyboard accessibility\n- Ensure sufficient touch target size for mobile\n\n### Notes\n- Default position is start (left in LTR)\n- When both positions are true, end takes precedence\n- Icon is automatically sized and positioned\n- Works with all eui-input-text variants\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, Input, booleanAttribute } from '@angular/core';\n\n/**\n * Container component that positions an icon relative to an input field.\n * Supports icon placement at the start (left) or end (right) of the input.\n * Typically used to enhance form inputs with visual indicators like search icons, validation states, or action triggers.\n *\n * @usageNotes\n * ### Icon at start of input\n * ```html\n * <eui-icon-input [euiIconPositionStart]=\"true\">\n *   <eui-icon-svg icon=\"search\"></eui-icon-svg>\n *   <input euiInputText placeholder=\"Search...\" />\n * </eui-icon-input>\n * ```\n *\n * ### Icon at end of input\n * ```html\n * <eui-icon-input [euiIconPositionEnd]=\"true\">\n *   <input euiInputText type=\"password\" />\n *   <eui-icon-svg icon=\"visibility\"></eui-icon-svg>\n * </eui-icon-input>\n * ```\n *\n * ### Accessibility\n * - Icon should be decorative or have proper aria-label\n * - Input field maintains full keyboard accessibility\n * - Ensure sufficient touch target size for mobile\n *\n * ### Notes\n * - Default position is start (left in LTR)\n * - When both positions are true, end takes precedence\n * - Icon is automatically sized and positioned\n * - Works with all eui-input-text variants\n */\n@Component({\n    selector: 'eui-icon-input',\n    templateUrl: './eui-icon-input.component.html',\n    styleUrls: [ './eui-icon-input.component.scss' ],\n})\nexport class EuiIconInputComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-icon-input',\n            this.euiIconPositionStart && !this.euiIconPositionEnd ? 'eui-icon-input--start' : '',\n            this.euiIconPositionEnd ? 'eui-icon-input--end' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * Positions the icon at the start (left in LTR layouts) of the input field.\n     * @default true. Mutually exclusive with euiIconPositionEnd when both are true, end takes precedence.\n     */\n    @Input({ transform: booleanAttribute }) euiIconPositionStart = true;\n\n    /**\n     * Positions the icon at the end (right in LTR layouts) of the input field.\n     * @default false. When true, overrides euiIconPositionStart positioning.\n     */\n    @Input({ transform: booleanAttribute }) euiIconPositionEnd = false;\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@use '../base' as base;\n\n.eui-21 {\n    :host.eui-icon-input {\n        display: flex;\n        width: 100%;\n\n        .eui-icon-input-wrapper {\n            display: flex;\n            width: 100%;\n            position: relative;\n        }\n\n        .eui-icon-input__content {\n            display: flex;\n            width: 100%;\n        }\n\n        .eui-icon-input__icon {\n            position: absolute;\n        }\n    }\n\n    :host.eui-icon-input.eui-icon-input--end {\n        ::ng-deep .eui-input-text {\n            padding-right: var(--eui-s-5xl);\n        }\n        \n        .eui-icon-input__content {\n            ::ng-deep .eui-icon-svg.eui-input-text--clearable-icon {\n                right: var(--eui-s-5xl);\n            }\n        }\n\n        .eui-icon-input__icon {\n            right: var(--eui-s-s);\n            top: calc(var(--eui-s-m) / 16 * 10);\n        }\n    }\n\n    :host.eui-icon-input.eui-icon-input--start {\n        ::ng-deep .eui-input-text {\n            padding-left: var(--eui-s-5xl);\n        }\n\n        .eui-icon-input__icon {\n            left: var(--eui-s-xs);\n            top: var(--eui-s-xs);\n        }\n    }\n}\n",
                    "styleUrl": "./eui-icon-input.component.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 43
                    }
                }
            },
            "templateData": "<span class=\"eui-icon-input-wrapper\">\n    <span class=\"eui-icon-input__content\">\n        <ng-content></ng-content>\n    </span>\n    <span class=\"eui-icon-input__icon\">\n        <ng-content select=\"eui-icon-svg\"></ng-content>\n        <ng-content select=\"eui-button\"></ng-content>\n    </span>\n</span>\n"
        },
        {
            "name": "EuiIconStateComponent",
            "id": "component-EuiIconStateComponent-24ce4ce6c2dc4622872f1a1d8e3591e8b58e1a93f400ac37bdf58354dff7449ce20f27d7d9079f9d470c3cc1da43b9fc2d32ebd8a68c9f827982ff4bfbde5c02",
            "file": "packages/components/eui-icon-state/eui-icon-state.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-icon-state",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-icon-state.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiSuccess",
                        "euiInfo",
                        "euiWarning",
                        "euiDanger",
                        "euiVariant"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "ariaLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nAccessible label for screen readers describing the icon's purpose or meaning.\nRequired for accessibility when the icon conveys semantic information.\n",
                    "description": "<p>Accessible label for screen readers describing the icon&#39;s purpose or meaning.\nRequired for accessibility when the icon conveys semantic information.</p>\n",
                    "line": 79,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "size",
                    "defaultValue": "'m'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2094,
                            "end": 2112,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2095,
                                "end": 2102,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;m&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls the rendered size of the icon.\n",
                    "description": "<p>Controls the rendered size of the icon.</p>\n",
                    "line": 73,
                    "type": "\"2xs\" | \"xs\" | \"s\" | \"m\" | \"l\" | \"xl\" | \"2xl\" | \"3xl\" | \"4xl\"",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 80
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 63,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "<p>Displays an icon with semantic state styling (primary, success, info, warning, danger).\nCombines icon rendering with state-based color variants for status indicators, alerts, and contextual UI elements.\nInherits state inputs from BaseStatesDirective for consistent theming across the application.</p>\n<h3>Success state icon</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-icon-state\n  euiSuccess\n  size=&quot;m&quot;\n  ariaLabel=&quot;Success&quot;&gt;\n&lt;/eui-icon-state&gt;</code></pre></div><h3>Warning indicator</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-icon-state\n  euiWarning\n  size=&quot;l&quot;\n  ariaLabel=&quot;Warning: Action required&quot;&gt;\n&lt;/eui-icon-state&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Always provide descriptive <code>ariaLabel</code> for meaningful icons</li>\n<li>Color is not the only indicator (icon shape also conveys meaning)</li>\n<li>Sufficient contrast maintained in all state variants</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>State variants: euiPrimary, euiSuccess, euiInfo, euiWarning, euiDanger</li>\n<li>Icon automatically matches the state color</li>\n<li>Use in feedback messages, form validation, and status displays</li>\n<li>Combine with text labels for clarity</li>\n</ul>\n",
            "rawdescription": "\n\nDisplays an icon with semantic state styling (primary, success, info, warning, danger).\nCombines icon rendering with state-based color variants for status indicators, alerts, and contextual UI elements.\nInherits state inputs from BaseStatesDirective for consistent theming across the application.\n\n### Success state icon\n```html\n<eui-icon-state\n  euiSuccess\n  size=\"m\"\n  ariaLabel=\"Success\">\n</eui-icon-state>\n```\n\n### Warning indicator\n```html\n<eui-icon-state\n  euiWarning\n  size=\"l\"\n  ariaLabel=\"Warning: Action required\">\n</eui-icon-state>\n```\n\n### Accessibility\n- Always provide descriptive `ariaLabel` for meaningful icons\n- Color is not the only indicator (icon shape also conveys meaning)\n- Sufficient contrast maintained in all state variants\n\n### Notes\n- State variants: euiPrimary, euiSuccess, euiInfo, euiWarning, euiDanger\n- Icon automatically matches the state color\n- Use in feedback messages, form validation, and status displays\n- Combine with text labels for clarity\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, Input, OnChanges, SimpleChanges, inject } from '@angular/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\n/**\n * Displays an icon with semantic state styling (primary, success, info, warning, danger).\n * Combines icon rendering with state-based color variants for status indicators, alerts, and contextual UI elements.\n * Inherits state inputs from BaseStatesDirective for consistent theming across the application.\n *\n * @usageNotes\n * ### Success state icon\n * ```html\n * <eui-icon-state \n *   euiSuccess \n *   size=\"m\" \n *   ariaLabel=\"Success\">\n * </eui-icon-state>\n * ```\n *\n * ### Warning indicator\n * ```html\n * <eui-icon-state \n *   euiWarning \n *   size=\"l\"\n *   ariaLabel=\"Warning: Action required\">\n * </eui-icon-state>\n * ```\n *\n * ### Accessibility\n * - Always provide descriptive `ariaLabel` for meaningful icons\n * - Color is not the only indicator (icon shape also conveys meaning)\n * - Sufficient contrast maintained in all state variants\n *\n * ### Notes\n * - State variants: euiPrimary, euiSuccess, euiInfo, euiWarning, euiDanger\n * - Icon automatically matches the state color\n * - Use in feedback messages, form validation, and status displays\n * - Combine with text labels for clarity\n */\n@Component({\n    selector: 'eui-icon-state',\n    templateUrl: './eui-icon-state.component.html',\n    styleUrl: './eui-icon-state.component.scss',\n    imports: [\n        ...EUI_ICON,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiPrimary',\n                'euiSuccess',\n                'euiInfo',\n                'euiWarning',\n                'euiDanger',\n                'euiVariant',\n            ],\n        },\n    ],\n})\nexport class EuiIconStateComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-icon-state'),\n        ].join(' ').trim();\n    }\n\n    /**\n     * Controls the rendered size of the icon.\n     * @default 'm'\n     */\n    @Input() size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl' = 'm';\n\n    /**\n     * Accessible label for screen readers describing the icon's purpose or meaning.\n     * Required for accessibility when the icon conveys semantic information.\n     */\n    @Input() ariaLabel: string;\n    baseStatesDirective = inject(BaseStatesDirective);\n}\n",
            "styleUrl": "./eui-icon-state.component.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 63
                    }
                }
            },
            "templateData": "@if (baseStatesDirective.euiSuccess) {\n    <eui-icon-svg icon=\"eui-state-success\" aria-label=\"eUI success icon\" size=\"{{size}}\" />\n} @else if (baseStatesDirective.euiWarning) {\n    <eui-icon-svg icon=\"eui-state-warning\" aria-label=\"eUI warning icon\" size=\"{{size}}\" />\n} @else if (baseStatesDirective.euiDanger) {\n    <eui-icon-svg icon=\"eui-state-danger\" aria-label=\"eUI danger icon\" size=\"{{size}}\" />\n} @else if (baseStatesDirective.euiPrimary) {\n    <eui-icon-svg icon=\"eui-state-primary\" aria-label=\"eUI primary icon\" size=\"{{size}}\" />\n} @else if (baseStatesDirective.euiSecondary) {\n    <eui-icon-svg icon=\"eui-state-primary\" aria-label=\"eUI secondary icon\" size=\"{{size}}\" />\n} @else if (baseStatesDirective.euiInfo) {\n    <eui-icon-svg icon=\"eui-state-info\" aria-label=\"eUI info icon\" size=\"{{size}}\" />\n}\n"
        },
        {
            "name": "EuiIconSvgComponent",
            "id": "component-EuiIconSvgComponent-cf93dd834bb1f7865e58abe69367defff1e8bfdb30fbfc1ee0728d5208dba293e707b771fb311da7e77a1a4a7c7339daddbb7a52011296d5ca6cc9e8ecf3a7de",
            "file": "packages/components/eui-icon/eui-icon-svg.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]",
            "styleUrls": [
                "./styles/_index.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-icon-svg.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "ariaHidden",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4975,
                            "end": 4994,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4976,
                                "end": 4983,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nHides the icon from assistive technologies when purely decorative.\nSet to false when icon conveys meaningful information requiring announcement.\n",
                    "description": "<p>Hides the icon from assistive technologies when purely decorative.\nSet to false when icon conveys meaningful information requiring announcement.</p>\n",
                    "line": 149,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "ariaLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4611,
                            "end": 4632,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4612,
                                "end": 4619,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;Icon&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nAccessible label for screen readers describing the icon's purpose.\nProvides semantic meaning when icon conveys information beyond decoration.\n",
                    "description": "<p>Accessible label for screen readers describing the icon&#39;s purpose.\nProvides semantic meaning when icon conveys information beyond decoration.</p>\n",
                    "line": 138,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiEnd",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6185,
                            "end": 6205,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6186,
                                "end": 6193,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nPositions the icon at the end (right in LTR, left in RTL) of its container.\nCommonly used for trailing icons in buttons or list items.\n",
                    "description": "<p>Positions the icon at the end (right in LTR, left in RTL) of its container.\nCommonly used for trailing icons in buttons or list items.</p>\n",
                    "line": 180,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiStart",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5936,
                            "end": 5956,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5937,
                                "end": 5944,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nPositions the icon at the start (left in LTR, right in RTL) of its container.\nCommonly used for leading icons in buttons or list items.\n",
                    "description": "<p>Positions the icon at the start (left in LTR, right in RTL) of its container.\nCommonly used for leading icons in buttons or list items.</p>\n",
                    "line": 174,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "fillColor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nFill color for the SVG icon using EUI color token names.\nApplies CSS custom property in format '--eui-c-{fillColor}'.\nAffects both fill and color properties for comprehensive icon styling.\n",
                    "description": "<p>Fill color for the SVG icon using EUI color token names.\nApplies CSS custom property in format &#39;--eui-c-{fillColor}&#39;.\nAffects both fill and color properties for comprehensive icon styling.</p>\n",
                    "line": 81,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "focusable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5216,
                            "end": 5236,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5217,
                                "end": 5224,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nMakes the icon focusable via keyboard navigation.\nEnables tab-stop behavior for interactive icon elements.\n",
                    "description": "<p>Makes the icon focusable via keyboard navigation.\nEnables tab-stop behavior for interactive icon elements.</p>\n",
                    "line": 156,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "icon",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nName of the icon to display, optionally including the icon set using 'iconName:setName' format.\nWhen format includes colon separator, automatically splits into icon and set properties.\nRequired for icon display unless iconUrl is provided.\n",
                    "description": "<p>Name of the icon to display, optionally including the icon set using &#39;iconName:setName&#39; format.\nWhen format includes colon separator, automatically splits into icon and set properties.\nRequired for icon display unless iconUrl is provided.</p>\n",
                    "line": 75,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "iconUrl",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDirect URL to an SVG icon file, bypassing the icon set resolution.\nUseful for loading custom or external icons not in configured icon sets.\n",
                    "description": "<p>Direct URL to an SVG icon file, bypassing the icon set resolution.\nUseful for loading custom or external icons not in configured icon sets.</p>\n",
                    "line": 105,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isInputIcon",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5683,
                            "end": 5703,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5684,
                                "end": 5691,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nApplies styling specific to icons used within input fields.\nAdjusts positioning and spacing for input-embedded icons.\n",
                    "description": "<p>Applies styling specific to icons used within input fields.\nAdjusts positioning and spacing for input-embedded icons.</p>\n",
                    "line": 168,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isLoading",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5450,
                            "end": 5470,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5451,
                                "end": 5458,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nDisplays a loading animation or state on the icon.\nApplies 'eui-icon-svg--loading' class for loading-specific styling.\n",
                    "description": "<p>Displays a loading animation or state on the icon.\nApplies &#39;eui-icon-svg--loading&#39; class for loading-specific styling.</p>\n",
                    "line": 162,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "set",
                    "defaultValue": "'eui'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2768,
                            "end": 2788,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2769,
                                "end": 2776,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIcon set library to load the icon from.\nDetermines the source directory for icon SVG files.\n",
                    "description": "<p>Icon set library to load the icon from.\nDetermines the source directory for icon SVG files.</p>\n",
                    "line": 87,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "size",
                    "defaultValue": "'m'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3054,
                            "end": 3072,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3055,
                                "end": 3062,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;m&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSize variant for the icon using predefined scale or custom value.\nPredefined sizes: '2xs', 'xs', 's', 'm', 'l', 'xl', '2xl', '3xl', '4xl'.\nCustom string values can be provided for non-standard sizing.\n",
                    "description": "<p>Size variant for the icon using predefined scale or custom value.\nPredefined sizes: &#39;2xs&#39;, &#39;xs&#39;, &#39;s&#39;, &#39;m&#39;, &#39;l&#39;, &#39;xl&#39;, &#39;2xl&#39;, &#39;3xl&#39;, &#39;4xl&#39;.\nCustom string values can be provided for non-standard sizing.</p>\n",
                    "line": 94,
                    "type": "\"2xs\" | \"xs\" | \"s\" | \"m\" | \"l\" | \"xl\" | \"2xl\" | \"3xl\" | \"4xl\" | string",
                    "decorators": []
                },
                {
                    "name": "style",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3323,
                            "end": 3340,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3324,
                                "end": 3331,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nCustom inline CSS styles applied directly to the icon element.\nAllows for additional styling beyond component properties.\n",
                    "description": "<p>Custom inline CSS styles applied directly to the icon element.\nAllows for additional styling beyond component properties.</p>\n",
                    "line": 100,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "transform",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3756,
                            "end": 3773,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3757,
                                "end": 3764,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nCSS transform class modifier applied to the icon.\nCommon values include rotation or flip transformations.\nApplied as 'eui-icon-svg--{transform}' class.\n",
                    "description": "<p>CSS transform class modifier applied to the icon.\nCommon values include rotation or flip transformations.\nApplied as &#39;eui-icon-svg--{transform}&#39; class.</p>\n",
                    "line": 112,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "ariaRole",
                    "defaultValue": "'img'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 68,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "assetsBaseUrl",
                    "defaultValue": "'assets'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 141,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "iconName",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 140,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "iconStyle",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 142,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 218,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "c",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 193,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "c",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 183,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'img'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 68,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 115,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p><code>eui-icon-svg</code> component for displaying scalable vector graphics from icon sets.\nSupports multiple icon libraries, customizable sizing, colors, and transformations.\nIcons can be loaded from configured asset paths or specified URLs.\nProvides accessibility features including ARIA labels and role attributes.\nCommonly used throughout the application for consistent iconography in buttons, menus, and UI elements.</p>\n<h3>Basic icon</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-icon-svg icon=&quot;check&quot; size=&quot;m&quot;&gt;&lt;/eui-icon-svg&gt;</code></pre></div><h3>Icon with color</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-icon-svg\n  icon=&quot;warning&quot;\n  fillColor=&quot;warning&quot;\n  size=&quot;l&quot;\n  ariaLabel=&quot;Warning indicator&quot;&gt;\n&lt;/eui-icon-svg&gt;</code></pre></div><h3>Custom icon from URL</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-icon-svg\n  [iconUrl]=&quot;&#39;/assets/custom-icon.svg&#39;&quot;\n  size=&quot;xl&quot;&gt;\n&lt;/eui-icon-svg&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Set <code>ariaHidden=&quot;false&quot;</code> and provide <code>ariaLabel</code> for meaningful icons</li>\n<li>Decorative icons should keep <code>ariaHidden=&quot;true&quot;</code> (default)</li>\n<li>Use <code>focusable=&quot;true&quot;</code> only for interactive icon elements</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Icon sets are configured via EUI_CONFIG_TOKEN</li>\n<li>Use colon notation for specific sets: <code>icon=&quot;check:material&quot;</code></li>\n<li>Size tokens: 2xs, xs, s, m, l, xl, 2xl, 3xl, 4xl</li>\n<li>Apply <code>transform</code> for rotations (e.g., &quot;rotate-90&quot;, &quot;flip-horizontal&quot;)</li>\n</ul>\n",
            "rawdescription": "\n\n`eui-icon-svg` component for displaying scalable vector graphics from icon sets.\nSupports multiple icon libraries, customizable sizing, colors, and transformations.\nIcons can be loaded from configured asset paths or specified URLs.\nProvides accessibility features including ARIA labels and role attributes.\nCommonly used throughout the application for consistent iconography in buttons, menus, and UI elements.\n\n### Basic icon\n```html\n<eui-icon-svg icon=\"check\" size=\"m\"></eui-icon-svg>\n```\n\n### Icon with color\n```html\n<eui-icon-svg\n  icon=\"warning\"\n  fillColor=\"warning\"\n  size=\"l\"\n  ariaLabel=\"Warning indicator\">\n</eui-icon-svg>\n```\n\n### Custom icon from URL\n```html\n<eui-icon-svg\n  [iconUrl]=\"'/assets/custom-icon.svg'\"\n  size=\"xl\">\n</eui-icon-svg>\n```\n\n### Accessibility\n- Set `ariaHidden=\"false\"` and provide `ariaLabel` for meaningful icons\n- Decorative icons should keep `ariaHidden=\"true\"` (default)\n- Use `focusable=\"true\"` only for interactive icon elements\n\n### Notes\n- Icon sets are configured via EUI_CONFIG_TOKEN\n- Use colon notation for specific sets: `icon=\"check:material\"`\n- Size tokens: 2xs, xs, s, m, l, xl, 2xl, 3xl, 4xl\n- Apply `transform` for rotations (e.g., \"rotate-90\", \"flip-horizontal\")\n",
            "type": "component",
            "sourceCode": "import {\n    ChangeDetectionStrategy,\n    Component,\n    Input,\n    HostBinding,\n    OnInit,\n    ViewEncapsulation,\n    OnChanges,\n    SimpleChanges,\n    AfterContentInit,\n    inject,\n    booleanAttribute,\n} from '@angular/core';\nimport { EUI_CONFIG_TOKEN } from '@eui/core';\nimport { EuiConfig } from '@eui/core';\n\n/**\n * @description\n * `eui-icon-svg` component for displaying scalable vector graphics from icon sets.\n * Supports multiple icon libraries, customizable sizing, colors, and transformations.\n * Icons can be loaded from configured asset paths or specified URLs.\n * Provides accessibility features including ARIA labels and role attributes.\n * Commonly used throughout the application for consistent iconography in buttons, menus, and UI elements.\n *\n * @usageNotes\n * ### Basic icon\n * ```html\n * <eui-icon-svg icon=\"check\" size=\"m\"></eui-icon-svg>\n * ```\n *\n * ### Icon with color\n * ```html\n * <eui-icon-svg \n *   icon=\"warning\" \n *   fillColor=\"warning\" \n *   size=\"l\"\n *   ariaLabel=\"Warning indicator\">\n * </eui-icon-svg>\n * ```\n *\n * ### Custom icon from URL\n * ```html\n * <eui-icon-svg \n *   [iconUrl]=\"'/assets/custom-icon.svg'\" \n *   size=\"xl\">\n * </eui-icon-svg>\n * ```\n *\n * ### Accessibility\n * - Set `ariaHidden=\"false\"` and provide `ariaLabel` for meaningful icons\n * - Decorative icons should keep `ariaHidden=\"true\"` (default)\n * - Use `focusable=\"true\"` only for interactive icon elements\n *\n * ### Notes\n * - Icon sets are configured via EUI_CONFIG_TOKEN\n * - Use colon notation for specific sets: `icon=\"check:material\"`\n * - Size tokens: 2xs, xs, s, m, l, xl, 2xl, 3xl, 4xl\n * - Apply `transform` for rotations (e.g., \"rotate-90\", \"flip-horizontal\")\n */\n@Component({\n    selector: 'eui-icon-svg, span[euiIconSvg], i[euiIconSvg]',\n    templateUrl: './eui-icon-svg.component.html',\n    styleUrls: ['./styles/_index.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiIconSvgComponent implements AfterContentInit, OnChanges, OnInit {\n    @HostBinding('attr.role') ariaRole = 'img';\n\n    /**\n     * Name of the icon to display, optionally including the icon set using 'iconName:setName' format.\n     * When format includes colon separator, automatically splits into icon and set properties.\n     * Required for icon display unless iconUrl is provided.\n     */\n    @Input() icon: string;\n    /**\n     * Fill color for the SVG icon using EUI color token names.\n     * Applies CSS custom property in format '--eui-c-{fillColor}'.\n     * Affects both fill and color properties for comprehensive icon styling.\n     */\n    @Input() fillColor: string;\n    /**\n     * Icon set library to load the icon from.\n     * Determines the source directory for icon SVG files.\n     * @default 'eui'\n     */\n    @Input() set = 'eui';\n    /**\n     * Size variant for the icon using predefined scale or custom value.\n     * Predefined sizes: '2xs', 'xs', 's', 'm', 'l', 'xl', '2xl', '3xl', '4xl'.\n     * Custom string values can be provided for non-standard sizing.\n     * @default 'm'\n     */\n    @Input() size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl' | string = 'm';\n    /**\n     * Custom inline CSS styles applied directly to the icon element.\n     * Allows for additional styling beyond component properties.\n     * @default ''\n     */\n    @Input() style = '';\n    /**\n     * Direct URL to an SVG icon file, bypassing the icon set resolution.\n     * Useful for loading custom or external icons not in configured icon sets.\n     */\n    @Input() iconUrl: string;\n    /**\n     * CSS transform class modifier applied to the icon.\n     * Common values include rotation or flip transformations.\n     * Applied as 'eui-icon-svg--{transform}' class.\n     * @default ''\n     */\n    @Input() transform = '';\n\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [\n            // Always refer to the baseStatesDirective\n            'eui-icon-svg',\n            `eui-icon-svg--size-${this.size}`,\n            this.transform ? `eui-icon-svg--${this.transform}` : '',\n\n            // own cmp state => reflected with the scss states\n            this.euiStart ? 'eui-icon-svg--start' : '',\n            this.euiEnd ? 'eui-icon-svg--end' : '',\n            this.isInputIcon ? 'eui-icon-svg--input-icon': '',\n            this.isLoading ? 'eui-icon-svg--loading': '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * Accessible label for screen readers describing the icon's purpose.\n     * Provides semantic meaning when icon conveys information beyond decoration.\n     * @default 'Icon'\n     */\n    @HostBinding('attr.aria-label')\n    @Input() ariaLabel: string;\n\n    public iconName: string;\n    public assetsBaseUrl = 'assets';\n    public iconStyle: string;\n\n    /**\n     * Hides the icon from assistive technologies when purely decorative.\n     * Set to false when icon conveys meaningful information requiring announcement.\n     * @default true\n     */\n    @HostBinding() @Input({ transform: booleanAttribute }) ariaHidden = true;\n    \n    /**\n     * Makes the icon focusable via keyboard navigation.\n     * Enables tab-stop behavior for interactive icon elements.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) focusable = false;\n    /**\n     * Displays a loading animation or state on the icon.\n     * Applies 'eui-icon-svg--loading' class for loading-specific styling.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isLoading = false;\n    /**\n     * Applies styling specific to icons used within input fields.\n     * Adjusts positioning and spacing for input-embedded icons.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isInputIcon = false;\n    /**\n     * Positions the icon at the start (left in LTR, right in RTL) of its container.\n     * Commonly used for leading icons in buttons or list items.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiStart = false;\n    /**\n     * Positions the icon at the end (right in LTR, left in RTL) of its container.\n     * Commonly used for trailing icons in buttons or list items.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiEnd = false;\n    private config = inject<EuiConfig>(EUI_CONFIG_TOKEN, { optional: true })!;\n\n    ngOnInit(): void {\n        const assetsBaseUrl = this.config?.appConfig?.global?.eui?.assetsBaseUrl;\n        if (assetsBaseUrl) {\n            this.assetsBaseUrl = this.config.appConfig.global.eui.assetsBaseUrl;\n        }\n        if (!this.size || this.size === '') {\n            this.size = 'm';\n        }\n    }\n\n    ngOnChanges(c: SimpleChanges): void {\n        if (c && c.set) {\n            if (c.set.currentValue !== c.set.previousValue) {\n                this._setIconAndSet();\n            }\n        }\n\n        if (c && c.icon) {\n            if (c.icon.currentValue !== c.icon.previousValue) {\n                this._setIconAndSet();\n            }\n        }\n\n        if (c && c.size) {\n            if (c.size.currentValue !== c.size.previousValue) {\n                this._setStyle();\n            }\n        }\n        if (c && c.fillColor) {\n            if (c.fillColor.currentValue !== c.fillColor.previousValue) {\n                this._setStyle();\n            }\n        }\n    }\n\n    ngAfterContentInit(): void {\n        this._setIconAndSet();\n        this._setStyle();\n    }\n\n    private _setIconAndSet(): void {\n        if (this.icon && this.icon.indexOf(':') > -1) {\n            const iconSet = this.icon.split(':');\n            this.icon = iconSet[0];\n            this.set = iconSet[1];\n        }\n\n        if (!this.set || this.set === '') {\n            this.set = 'eui';\n        } else {\n            this.iconName = this.icon;\n        }\n\n        if (this.set === 'ion-filled' || this.set === 'ion-outline') {\n            if (this.set === 'ion-filled') {\n                this.iconName = `${this.icon}-filled`;\n            }\n            if (this.set === 'ion-outline') {\n                this.iconName = `${this.icon}-outline`;\n            }            \n        }\n    }\n\n    private _setStyle(): void {\n        let fill = '';\n        if (this.fillColor) {\n            fill = `fill: var(--eui-c-${this.fillColor}); color: var(--eui-c-${this.fillColor});`;\n        }\n        // const height = `height: var(--eui-is-${this.size});`;\n        // const width = `width: var(--eui-is-${this.size});`;\n        // this.iconStyle = `${fill} ${height} ${width}`;\n        this.iconStyle = `${fill}`;\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@forward 'icon-svg';\n@forward 'icon-svg-socials';\n@forward 'icon-states';\n@forward 'icon-states-sizes';\n",
                    "styleUrl": "./styles/_index.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterContentInit",
                "OnChanges",
                "OnInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 115
                    }
                }
            },
            "templateData": "@if (icon && !iconUrl && !isLoading) {\n    <svg\n        class=\"eui-sprite-{{icon}}\"\n        [class.eui-icon-svg--loading]=\"isLoading\"\n        [attr.aria-hidden]=\"ariaRole === 'button' ? true : ariaHidden\"\n        [attr.role]=\"ariaRole === 'button' ? null : 'img'\"\n        [attr.focusable]=\"focusable\"\n        attr.style=\"{{iconStyle}}\">\n        <use [attr.href]=\"assetsBaseUrl + '/icons/sprites/' + set + '.svg#' + iconName\"></use>\n    </svg>\n    <ng-content />\n}\n\n@if (iconUrl) {\n    <svg class=\"eui-icon-svg\"\n         attr.style=\"{{iconStyle}} {{style}}\"\n         [attr.aria-hidden]=\"ariaHidden\"\n         [attr.role]=\"'img'\"\n         [attr.focusable]=\"focusable\">\n        <image [attr.href]=\"iconUrl\" [class]=\"'eui-icon-svg'\" attr.style=\"{{iconStyle}} {{style}}\"></image>\n    </svg>\n}\n"
        },
        {
            "name": "EuiIconToggleComponent",
            "id": "component-EuiIconToggleComponent-545a139ec8775b987ed74d8f3dd9154e078d68c386f704a31791f9a2136703aa2897b3c30195d3e05675532cdfd6742d781df1910f01833b7cbf308b9023469b",
            "file": "packages/components/eui-icon-toggle/eui-icon-toggle.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-icon-toggle",
            "styleUrls": [
                "./eui-icon-toggle.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-icon-toggle.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "ariaLabel",
                    "defaultValue": "'Toggle icon'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3654,
                            "end": 3682,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3655,
                                "end": 3662,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;Toggle icon&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nAccessible label for screen readers.\n",
                    "description": "<p>Accessible label for screen readers.</p>\n",
                    "line": 133,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-icon-toggle'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3150,
                            "end": 3182,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3151,
                                "end": 3158,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-icon-toggle&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nData attribute for e2e testing.\n",
                    "description": "<p>Data attribute for e2e testing.</p>\n",
                    "line": 112,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "iconSvgFillColorOff",
                    "defaultValue": "'neutral'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4304,
                            "end": 4328,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4305,
                                "end": 4312,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;neutral&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nColor of the icon when toggle is in the OFF state.\n",
                    "description": "<p>Color of the icon when toggle is in the OFF state.</p>\n",
                    "line": 161,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "iconSvgFillColorOn",
                    "defaultValue": "'accent'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4160,
                            "end": 4183,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4161,
                                "end": 4168,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;accent&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nColor of the icon when toggle is in the ON state.\n",
                    "description": "<p>Color of the icon when toggle is in the ON state.</p>\n",
                    "line": 155,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "iconSvgNameOff",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nIcon to display when toggle is in the OFF state.\n",
                    "description": "<p>Icon to display when toggle is in the OFF state.</p>\n",
                    "line": 149,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "iconSvgNameOn",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nIcon to display when toggle is in the ON state.\n",
                    "description": "<p>Icon to display when toggle is in the ON state.</p>\n",
                    "line": 144,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "iconSvgSize",
                    "defaultValue": "'m'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3816,
                            "end": 3834,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3817,
                                "end": 3824,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;m&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSize of the icon (s, m, l, xl).\n",
                    "description": "<p>Size of the icon (s, m, l, xl).</p>\n",
                    "line": 139,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "id",
                    "defaultValue": "`eui-icon-toggle-${uniqueId()}`",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3321,
                            "end": 3364,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3322,
                                "end": 3329,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-icon-toggle-{uniqueId}&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nUnique identifier for the component.\n",
                    "description": "<p>Unique identifier for the component.</p>\n",
                    "line": 119,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isChecked",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2685,
                            "end": 2705,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2686,
                                "end": 2693,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the toggle is in the checked/on state.\nBound to aria-checked attribute for accessibility.\n",
                    "description": "<p>Whether the toggle is in the checked/on state.\nBound to aria-checked attribute for accessibility.</p>\n",
                    "line": 97,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isReadOnly",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2969,
                            "end": 2993,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2970,
                                "end": 2977,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>undefined</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the toggle is read-only (cannot be interacted with).\nWhen true, tabindex is set to -1 and clicking will not change state.\n",
                    "description": "<p>Whether the toggle is read-only (cannot be interacted with).\nWhen true, tabindex is set to -1 and clicking will not change state.</p>\n",
                    "line": 105,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "keyboardAccessKey",
                    "defaultValue": "'i'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2463,
                            "end": 2481,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2464,
                                "end": 2471,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;i&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nKeyboard shortcut key.\n",
                    "description": "<p>Keyboard shortcut key.</p>\n",
                    "line": 89,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "tabindex",
                    "defaultValue": "'0'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3510,
                            "end": 3528,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3511,
                                "end": 3518,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;0&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nTab order value for keyboard navigation.\n",
                    "description": "<p>Tab order value for keyboard navigation.</p>\n",
                    "line": 126,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "toggle",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when the toggle state changes.\nEmits the new state (true = checked, false = unchecked).\n",
                    "description": "<p>Event emitted when the toggle state changes.\nEmits the new state (true = checked, false = unchecked).</p>\n",
                    "line": 168,
                    "type": "EventEmitter<boolean>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "iconSvgFillColor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 171,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "iconSvgName",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 170,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "role",
                    "defaultValue": "'switch'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 82,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 194,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nInitializes the component after content has been set.\nSets the appropriate icon based on the current toggle state.\nSets the aria-label if none was provided.\n",
                    "description": "<p>Initializes the component after content has been set.\nSets the appropriate icon based on the current toggle state.\nSets the aria-label if none was provided.</p>\n"
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 179,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles changes to input properties.\nUpdates the tabindex when the component becomes read-only.\n\n",
                    "description": "<p>Handles changes to input properties.\nUpdates the tabindex when the component becomes read-only.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 4840,
                                "end": 4847,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "changes"
                            },
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 4818,
                                "end": 4823,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Object containing changed properties</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 4824,
                                "end": 4839,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 4825,
                                    "end": 4838,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 4825,
                                        "end": 4838,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "SimpleChanges"
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "onClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 206,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHost listener that handles click events on the component.\nTriggers the toggle action if the component is not read-only.\n",
                    "description": "<p>Host listener that handles click events on the component.\nTriggers the toggle action if the component is not read-only.</p>\n",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'click'"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ]
                },
                {
                    "name": "onKeydown",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 217,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHost listener that handles keyboard events.\nTriggers the toggle action on Enter or Space key press.\n\n",
                    "description": "<p>Host listener that handles keyboard events.\nTriggers the toggle action on Enter or Space key press.</p>\n",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'keydown', ['$event']"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 5948,
                                "end": 5953,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 5926,
                                "end": 5931,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The keyboard event</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 5932,
                                "end": 5947,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 5933,
                                    "end": 5946,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 5933,
                                        "end": 5946,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "KeyboardEvent"
                                    }
                                }
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'switch'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 82,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 76,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [
                {
                    "name": "click",
                    "args": [],
                    "argsDecorator": [],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHost listener that handles click events on the component.\nTriggers the toggle action if the component is not read-only.\n",
                    "description": "<p>Host listener that handles click events on the component.\nTriggers the toggle action if the component is not read-only.</p>\n",
                    "line": 206
                },
                {
                    "name": "keydown",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$event"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHost listener that handles keyboard events.\nTriggers the toggle action on Enter or Space key press.\n\n",
                    "description": "<p>Host listener that handles keyboard events.\nTriggers the toggle action on Enter or Space key press.</p>\n",
                    "jsdoctags": [
                        {
                            "pos": 5925,
                            "end": 5980,
                            "kind": 342,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5926,
                                "end": 5931,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The keyboard event</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 5932,
                                "end": 5947,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 5933,
                                    "end": 5946,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 5933,
                                        "end": 5946,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "KeyboardEvent"
                                    }
                                }
                            },
                            "name": {
                                "pos": 5948,
                                "end": 5953,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "isNameFirst": false,
                            "isBracketed": false
                        }
                    ],
                    "line": 217
                }
            ],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "<p>Component that provides a toggleable icon button with accessibility support.\nFunctions as a switch control that can be toggled between on/off states,\ndisplaying different icons based on the current state.</p>\n<p>This component handles keyboard navigation, focus management, and proper\nARIA attributes for accessibility compliance.</p>\n<h3>Basic toggle</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">isFavorite = false;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-icon-toggle\n  [(isChecked)]=&quot;isFavorite&quot;\n  iconSvgNameOn=&quot;star-filled&quot;\n  iconSvgNameOff=&quot;star-outline&quot;\n  ariaLabel=&quot;Toggle favorite&quot;\n  (toggle)=&quot;onToggle($event)&quot;&gt;\n&lt;/eui-icon-toggle&gt;</code></pre></div><h3>With custom colors</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-icon-toggle\n  [isChecked]=&quot;enabled&quot;\n  iconSvgNameOn=&quot;visibility&quot;\n  iconSvgNameOff=&quot;visibility-off&quot;\n  iconSvgFillColorOn=&quot;success&quot;\n  iconSvgFillColorOff=&quot;neutral&quot;\n  ariaLabel=&quot;Toggle visibility&quot;&gt;\n&lt;/eui-icon-toggle&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Implements ARIA switch role with aria-checked state</li>\n<li>Keyboard accessible via Tab, Enter, and Space keys</li>\n<li>Provides keyboard shortcut via accesskey attribute</li>\n<li>Screen readers announce state changes</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use distinct icons for on/off states for clarity</li>\n<li>Set <code>isReadOnly</code> to prevent interaction while maintaining visual state</li>\n<li>Default colors: accent (on), neutral (off)</li>\n<li>Emits toggle event with boolean state on change</li>\n</ul>\n",
            "rawdescription": "\n\nComponent that provides a toggleable icon button with accessibility support.\nFunctions as a switch control that can be toggled between on/off states,\ndisplaying different icons based on the current state.\n\nThis component handles keyboard navigation, focus management, and proper\nARIA attributes for accessibility compliance.\n\n### Basic toggle\n```typescript\nisFavorite = false;\n```\n```html\n<eui-icon-toggle\n  [(isChecked)]=\"isFavorite\"\n  iconSvgNameOn=\"star-filled\"\n  iconSvgNameOff=\"star-outline\"\n  ariaLabel=\"Toggle favorite\"\n  (toggle)=\"onToggle($event)\">\n</eui-icon-toggle>\n```\n\n### With custom colors\n```html\n<eui-icon-toggle\n  [isChecked]=\"enabled\"\n  iconSvgNameOn=\"visibility\"\n  iconSvgNameOff=\"visibility-off\"\n  iconSvgFillColorOn=\"success\"\n  iconSvgFillColorOff=\"neutral\"\n  ariaLabel=\"Toggle visibility\">\n</eui-icon-toggle>\n```\n\n### Accessibility\n- Implements ARIA switch role with aria-checked state\n- Keyboard accessible via Tab, Enter, and Space keys\n- Provides keyboard shortcut via accesskey attribute\n- Screen readers announce state changes\n\n### Notes\n- Use distinct icons for on/off states for clarity\n- Set `isReadOnly` to prevent interaction while maintaining visual state\n- Default colors: accent (on), neutral (off)\n- Emits toggle event with boolean state on change\n",
            "type": "component",
            "sourceCode": "import {\n    AfterContentInit,\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    HostBinding,\n    HostListener,\n    Input,\n    OnChanges,\n    Output,\n    SimpleChanges,\n    booleanAttribute,\n} from '@angular/core';\n\nimport { uniqueId } from '@eui/core';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\n/**\n * Component that provides a toggleable icon button with accessibility support.\n * Functions as a switch control that can be toggled between on/off states,\n * displaying different icons based on the current state.\n *\n * This component handles keyboard navigation, focus management, and proper\n * ARIA attributes for accessibility compliance.\n *\n * @usageNotes\n * ### Basic toggle\n * ```typescript\n * isFavorite = false;\n * ```\n * ```html\n * <eui-icon-toggle\n *   [(isChecked)]=\"isFavorite\"\n *   iconSvgNameOn=\"star-filled\"\n *   iconSvgNameOff=\"star-outline\"\n *   ariaLabel=\"Toggle favorite\"\n *   (toggle)=\"onToggle($event)\">\n * </eui-icon-toggle>\n * ```\n *\n * ### With custom colors\n * ```html\n * <eui-icon-toggle\n *   [isChecked]=\"enabled\"\n *   iconSvgNameOn=\"visibility\"\n *   iconSvgNameOff=\"visibility-off\"\n *   iconSvgFillColorOn=\"success\"\n *   iconSvgFillColorOff=\"neutral\"\n *   ariaLabel=\"Toggle visibility\">\n * </eui-icon-toggle>\n * ```\n *\n * ### Accessibility\n * - Implements ARIA switch role with aria-checked state\n * - Keyboard accessible via Tab, Enter, and Space keys\n * - Provides keyboard shortcut via accesskey attribute\n * - Screen readers announce state changes\n *\n * ### Notes\n * - Use distinct icons for on/off states for clarity\n * - Set `isReadOnly` to prevent interaction while maintaining visual state\n * - Default colors: accent (on), neutral (off)\n * - Emits toggle event with boolean state on change\n */\n@Component({\n    selector: 'eui-icon-toggle',\n    templateUrl: './eui-icon-toggle.component.html',\n    styleUrls: ['./eui-icon-toggle.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        ...EUI_ICON,\n    ],\n})\nexport class EuiIconToggleComponent implements AfterContentInit, OnChanges {\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return ['eui-icon-toggle',\n            this.isChecked ? 'eui-icon-toggle--default-on' : 'eui-icon-toggle--default-off',\n            this.isReadOnly ? 'eui-icon-toggle--readonly': '',\n        ].join(' ').trim();\n    }\n    @HostBinding('attr.role') role = 'switch';\n    \n    /**\n     * Keyboard shortcut key.\n     * @default 'i'\n     */\n    @HostBinding('attr.accesskey')\n    @Input() keyboardAccessKey = 'i';\n\n    /**\n     * Whether the toggle is in the checked/on state.\n     * Bound to aria-checked attribute for accessibility.\n     * @default false\n     */\n    @HostBinding('attr.aria-checked')\n    @Input({ transform: booleanAttribute }) isChecked = false;\n\n    /**\n     * Whether the toggle is read-only (cannot be interacted with).\n     * When true, tabindex is set to -1 and clicking will not change state.\n     * @default undefined\n     */\n    @HostBinding('attr.readonly')\n    @Input({ transform: booleanAttribute }) isReadOnly: boolean;\n\n    /**\n     * Data attribute for e2e testing.\n     * @default 'eui-icon-toggle'\n     */\n    @HostBinding('attr.data-e2e')\n    @Input() e2eAttr = 'eui-icon-toggle';\n\n    /**\n     * Unique identifier for the component.\n     * @default 'eui-icon-toggle-{uniqueId}'\n     */\n    @HostBinding('attr.id')\n    @Input() id = `eui-icon-toggle-${uniqueId()}`;\n\n    /**\n     * Tab order value for keyboard navigation.\n     * @default '0'\n     */\n    @HostBinding('attr.tabindex')\n    @Input() tabindex = '0';\n\n    /**\n     * Accessible label for screen readers.\n     * @default 'Toggle icon'\n     */\n    @HostBinding('attr.aria-label')\n    @Input() ariaLabel = 'Toggle icon';\n\n    /**\n     * Size of the icon (s, m, l, xl).\n     * @default 'm'\n     */\n    @Input() iconSvgSize = 'm';\n\n    /**\n     * Icon to display when toggle is in the ON state.\n     */\n    @Input() iconSvgNameOn: string;\n\n    /**\n     * Icon to display when toggle is in the OFF state.\n     */\n    @Input() iconSvgNameOff: string;\n\n    /**\n     * Color of the icon when toggle is in the ON state.\n     * @default 'accent'\n     */\n    @Input() iconSvgFillColorOn = 'accent';\n\n    /**\n     * Color of the icon when toggle is in the OFF state.\n     * @default 'neutral'\n     */\n    @Input() iconSvgFillColorOff = 'neutral';\n\n    /**\n     * Event emitted when the toggle state changes.\n     * Emits the new state (true = checked, false = unchecked).\n     */\n    // eslint-disable-next-line\n    @Output() toggle: EventEmitter<boolean> = new EventEmitter();\n\n    protected iconSvgName: string;\n    protected iconSvgFillColor: string;\n\n    /**\n     * Handles changes to input properties.\n     * Updates the tabindex when the component becomes read-only.\n     *\n     * @param {SimpleChanges} changes - Object containing changed properties\n     */\n    ngOnChanges(changes: SimpleChanges): void {\n       if (changes?.isReadOnly && changes?.isReadOnly.currentValue === true) {\n            this.tabindex = '-1';\n        }\n\n       if(changes.isChecked) {\n            this._setIconClass();\n       }\n    }\n\n    /**\n     * Initializes the component after content has been set.\n     * Sets the appropriate icon based on the current toggle state.\n     * Sets the aria-label if none was provided.\n     */\n    ngAfterContentInit(): void {\n        this._setIconClass();\n        if (!this.ariaLabel || this.ariaLabel === '') {\n            this.ariaLabel = this.iconSvgName ? this.iconSvgName : '';\n        }\n    }\n\n    /**\n     * Host listener that handles click events on the component.\n     * Triggers the toggle action if the component is not read-only.\n     */\n    @HostListener('click')\n    protected onClick(): void {\n        this._toggle();\n    }\n\n    /**\n     * Host listener that handles keyboard events.\n     * Triggers the toggle action on Enter or Space key press.\n     *\n     * @param {KeyboardEvent} event - The keyboard event\n     */\n    @HostListener('keydown', ['$event'])\n    protected onKeydown(event: KeyboardEvent): void {\n        switch (event.code) {\n            case 'Enter':\n            case 'Space':\n                event.preventDefault();\n                event.stopPropagation();\n                this._toggle();\n                break;\n        }\n    }\n\n    private _toggle(): void {\n        if (!this.isReadOnly) {\n            this.isChecked = !this.isChecked;\n            this._setIconClass();\n            this.toggle.emit(this.isChecked);\n        }\n    }\n\n    private _setIconClass(): void {\n        if (this.isChecked) {\n            this.iconSvgName = this.iconSvgNameOn;\n            this.iconSvgFillColor = this.iconSvgFillColorOn;\n        } else {\n            this.iconSvgName = this.iconSvgNameOff;\n            this.iconSvgFillColor = this.iconSvgFillColorOff;\n        }\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@use '../base' as base;\n\n.eui-21 {\n    :host.eui-icon-toggle {\n        display: inline-flex;\n        position: relative;\n        cursor: pointer;\n        padding: calc(var(--eui-s-xs) - 1px) calc(var(--eui-s-xs) - 1px);\n        @include base.eui-accessible-focus-visible-rounded();\n    }\n\n    :host.eui-icon-toggle:hover {\n        background-color: var(--eui-c-secondary-surface-light-hover);\n        border-radius: var(--eui-br-max);\n    }\n\n    :host.eui-icon-toggle--default-on {\n        color: var(--eui-c-primary);\n    }\n\n    // :host.eui-icon-toggle--default-off {\n    //     color: var(--eui-c-secondary-surface-light);\n    // }\n\n    :host.eui-icon-toggle--checked {\n        color: var(--eui-c-primary);\n    }\n\n    :host.eui-icon-toggle--readonly {\n        cursor: auto;\n    }\n}\n",
                    "styleUrl": "./eui-icon-toggle.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterContentInit",
                "OnChanges"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 76
                    }
                }
            },
            "templateData": "<eui-icon-svg [icon]=\"iconSvgName\" [fillColor]=\"iconSvgFillColor\" [size]=\"iconSvgSize\" />\n"
        },
        {
            "name": "EuiInputButtonComponent",
            "id": "component-EuiInputButtonComponent-eb261c724129ffbfc00d6228ed506f2fb7881a55ceeb0fc7c862830f2aa9c61f969628975bb4d04e906d65a6c54e0df6ac541723196442baf9a38f527e200ec2",
            "file": "packages/components/eui-input-button/eui-input-button.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-input-button",
            "styleUrls": [
                "./eui-input-button.component.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-input-button.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "euiButtonPositionEnd",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nPositions the button at the end (right in LTR, left in RTL) of the input field.\nIgnored when euiButtonPositionStart is true. Defaults to true.\n",
                    "description": "<p>Positions the button at the end (right in LTR, left in RTL) of the input field.\nIgnored when euiButtonPositionStart is true. Defaults to true.</p>\n",
                    "line": 64,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiButtonPositionStart",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nPositions the button at the start (left in LTR, right in RTL) of the input field.\nWhen true, overrides euiButtonPositionEnd. Defaults to false.\n",
                    "description": "<p>Positions the button at the start (left in LTR, right in RTL) of the input field.\nWhen true, overrides euiButtonPositionEnd. Defaults to false.</p>\n",
                    "line": 58,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 44,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>A layout component that positions button elements relative to input fields.\nEnables the creation of input groups with leading or trailing action buttons,\ncommonly used for search inputs, password visibility toggles, or clear actions.</p>\n<h3>Button at end of input (default)</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-input-button&gt;\n  &lt;input euiInputText placeholder=&quot;Search...&quot; /&gt;\n  &lt;button euiButton euiPrimary&gt;Search&lt;/button&gt;\n&lt;/eui-input-button&gt;</code></pre></div><h3>Button at start of input</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-input-button [euiButtonPositionStart]=&quot;true&quot;&gt;\n  &lt;button euiIconButton icon=&quot;filter&quot; ariaLabel=&quot;Filter&quot;&gt;&lt;/button&gt;\n  &lt;input euiInputText placeholder=&quot;Filter results...&quot; /&gt;\n&lt;/eui-input-button&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Button and input maintain separate focus states</li>\n<li>Ensure button has descriptive label or aria-label</li>\n<li>Tab order follows visual layout</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Default position is end (right in LTR)</li>\n<li>When <code>euiButtonPositionStart</code> is true, it overrides end positioning</li>\n<li>Works with all button variants (euiButton, euiIconButton)</li>\n<li>Commonly used for search, clear, and submit actions</li>\n</ul>\n",
            "rawdescription": "\n\nA layout component that positions button elements relative to input fields.\nEnables the creation of input groups with leading or trailing action buttons,\ncommonly used for search inputs, password visibility toggles, or clear actions.\n\n### Button at end of input (default)\n```html\n<eui-input-button>\n  <input euiInputText placeholder=\"Search...\" />\n  <button euiButton euiPrimary>Search</button>\n</eui-input-button>\n```\n\n### Button at start of input\n```html\n<eui-input-button [euiButtonPositionStart]=\"true\">\n  <button euiIconButton icon=\"filter\" ariaLabel=\"Filter\"></button>\n  <input euiInputText placeholder=\"Filter results...\" />\n</eui-input-button>\n```\n\n### Accessibility\n- Button and input maintain separate focus states\n- Ensure button has descriptive label or aria-label\n- Tab order follows visual layout\n\n### Notes\n- Default position is end (right in LTR)\n- When `euiButtonPositionStart` is true, it overrides end positioning\n- Works with all button variants (euiButton, euiIconButton)\n- Commonly used for search, clear, and submit actions\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding, Input, booleanAttribute } from '@angular/core';\n\n/**\n * A layout component that positions button elements relative to input fields.\n * Enables the creation of input groups with leading or trailing action buttons,\n * commonly used for search inputs, password visibility toggles, or clear actions.\n *\n * @usageNotes\n * ### Button at end of input (default)\n * ```html\n * <eui-input-button>\n *   <input euiInputText placeholder=\"Search...\" />\n *   <button euiButton euiPrimary>Search</button>\n * </eui-input-button>\n * ```\n *\n * ### Button at start of input\n * ```html\n * <eui-input-button [euiButtonPositionStart]=\"true\">\n *   <button euiIconButton icon=\"filter\" ariaLabel=\"Filter\"></button>\n *   <input euiInputText placeholder=\"Filter results...\" />\n * </eui-input-button>\n * ```\n *\n * ### Accessibility\n * - Button and input maintain separate focus states\n * - Ensure button has descriptive label or aria-label\n * - Tab order follows visual layout\n *\n * ### Notes\n * - Default position is end (right in LTR)\n * - When `euiButtonPositionStart` is true, it overrides end positioning\n * - Works with all button variants (euiButton, euiIconButton)\n * - Commonly used for search, clear, and submit actions\n */\n@Component({\n    selector: 'eui-input-button',\n    templateUrl: './eui-input-button.component.html',\n    styleUrls: [ './eui-input-button.component.scss' ],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiInputButtonComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-input-button',\n            this.euiButtonPositionEnd && !this.euiButtonPositionStart ? 'eui-input-button--end' : '',\n            this.euiButtonPositionStart ? 'eui-input-button--start' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * Positions the button at the start (left in LTR, right in RTL) of the input field.\n     * When true, overrides euiButtonPositionEnd. Defaults to false.\n     */\n    @Input({ transform: booleanAttribute }) euiButtonPositionStart = false;\n    \n    /**\n     * Positions the button at the end (right in LTR, left in RTL) of the input field.\n     * Ignored when euiButtonPositionStart is true. Defaults to true.\n     */\n    @Input({ transform: booleanAttribute }) euiButtonPositionEnd = true;\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@use '../base' as base;\n\n.eui-21 {\n    :host {\n        display: flex;\n        width: 100%;\n        border-radius: var(--eui-br-s);\n\n        ::ng-deep .eui-button {\n            border: 1px solid var(--eui-c-secondary-border);\n            background-color: var(--eui-c-surface-container);\n            position: relative;\n        }\n    }\n\n    :host.eui-input-button--start {\n        flex-direction: row-reverse;\n\n        ::ng-deep .eui-button {\n            border-right: none;\n            border-top-right-radius: 0;\n            border-bottom-right-radius: 0;     \n\n            &::after {\n                background-color: var(--eui-c-secondary-border);\n                content: \"\";\n                display: block;\n                height: 1.75rem;\n                right: -1px;\n                position: absolute;\n                top: var(--eui-s-2xs);\n                width: 1px;                \n            }            \n        }   \n        \n        ::ng-deep .eui-input-text {\n            border-left: none;\n            border-top-left-radius: 0;\n            border-bottom-left-radius: 0;\n        }        \n    }\n\n    :host.eui-input-button--end {\n        ::ng-deep .eui-button {\n            border-left: none;\n            border-top-left-radius: 0;\n            border-bottom-left-radius: 0;          \n\n            &::before {\n                background-color: var(--eui-c-secondary-border);\n                content: \"\";\n                display: block;\n                height: 1.75rem;\n                left: -1px;\n                position: absolute;\n                top: var(--eui-s-2xs);\n                width: 1px;                \n            }            \n        }\n\n        ::ng-deep .eui-input-text {\n            border-right: none;\n            border-top-right-radius: 0;\n            border-bottom-right-radius: 0;\n        }        \n    }\n}\n",
                    "styleUrl": "./eui-input-button.component.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 44
                    }
                }
            },
            "templateData": "<ng-content />\n<ng-content select=\"button\"/>"
        },
        {
            "name": "EuiInputCheckboxComponent",
            "id": "component-EuiInputCheckboxComponent-d2f95fa9369e7b84cbb021178a93b46ca546d1042dc4c172d6177953edad8c2561f660f427a33ec1a3a0004428c32a0aaa210a3a257009bd71bf3b7505970d8b",
            "file": "packages/components/eui-input-checkbox/eui-input-checkbox.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "input[euiInputCheckBox]",
            "styleUrls": [
                "./eui-input-checkbox.scss"
            ],
            "styles": [],
            "template": "",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "checked",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4234,
                            "end": 4267,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4235,
                                "end": 4243,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "property"
                            },
                            "comment": "<p>{boolean} checked</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls the checked state of the checkbox.\n\n",
                    "description": "<p>Controls the checked state of the checkbox.</p>\n",
                    "line": 132,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "indeterminate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3077,
                            "end": 3116,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3078,
                                "end": 3086,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "property"
                            },
                            "comment": "<p>{boolean} indeterminate</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls the indeterminate (mixed) state of the checkbox.\nWhen true, the checkbox appears in an indeterminate state.\nThis state is automatically cleared when the checkbox is clicked.\n\n",
                    "description": "<p>Controls the indeterminate (mixed) state of the checkbox.\nWhen true, the checkbox appears in an indeterminate state.\nThis state is automatically cleared when the checkbox is clicked.</p>\n",
                    "line": 91,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "isInvalid",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3664,
                            "end": 3699,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3665,
                                "end": 3673,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "property"
                            },
                            "comment": "<p>{boolean} isInvalid</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls the invalid state of the checkbox. Used for displaying validation errors.\n\n",
                    "description": "<p>Controls the invalid state of the checkbox. Used for displaying validation errors.</p>\n",
                    "line": 111,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "disabled",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 32,
                    "type": "boolean",
                    "decorators": [],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "required": false,
                    "name": "euiDanger",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 28,
                    "type": "boolean",
                    "decorators": [],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "required": false,
                    "name": "euiDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 27,
                    "type": "boolean",
                    "decorators": [],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "placeholder",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 55,
                    "type": "string | null",
                    "decorators": [],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "readonly",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 46,
                    "type": "any",
                    "decorators": [],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                }
            ],
            "outputsClass": [
                {
                    "name": "indeterminateChange",
                    "defaultValue": "new EventEmitter<boolean>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitter that fires when the indeterminate state changes.\n\n",
                    "description": "<p>Event emitter that fires when the indeterminate state changes.</p>\n",
                    "jsdoctags": [
                        {
                            "pos": 2681,
                            "end": 2715,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2682,
                                "end": 2687,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "comment": "<p>indeterminateChange</p>\n"
                        },
                        {
                            "pos": 2715,
                            "end": 2750,
                            "kind": 345,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2716,
                                "end": 2720,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "type"
                            },
                            "comment": "",
                            "typeExpression": {
                                "pos": 2721,
                                "end": 2744,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 2722,
                                    "end": 2743,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 2722,
                                        "end": 2734,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "EventEmitter"
                                    },
                                    "typeArguments": [
                                        {
                                            "pos": 2735,
                                            "end": 2742,
                                            "kind": 136,
                                            "id": 0,
                                            "flags": 16777216,
                                            "transformFlags": 1
                                        }
                                    ]
                                }
                            }
                        }
                    ],
                    "line": 81,
                    "type": "EventEmitter<boolean>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "_checked",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 153,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "_elementRef",
                    "defaultValue": "inject<ElementRef<HTMLInputElement>>(ElementRef)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef<HTMLInputElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 151,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_isInvalid",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 121,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "_renderer",
                    "defaultValue": "inject(Renderer2)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Renderer2",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 152,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "ngControl",
                    "defaultValue": "inject(NgControl, { optional: true, self: true })!",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 150,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "onBlur",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 288,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "onChange",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 282,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "type",
                    "defaultValue": "'checkbox'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 123,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.type'"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ]
                },
                {
                    "name": "_disabled",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 62,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 66,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_placeholder",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 64,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_readonly",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 63,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_statusListener",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Subscription",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 65,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_viewContainerRef",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ViewContainerRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 67,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "control",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "NgControl",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 68,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "injector",
                    "defaultValue": "inject(Injector)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 71,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                }
            ],
            "methodsClass": [
                {
                    "name": "ngDoCheck",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 191,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nLifecycle hook that performs custom change detection.\nUpdates invalid state based on control status.\n",
                    "description": "<p>Lifecycle hook that performs custom change detection.\nUpdates invalid state based on control status.</p>\n"
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 203,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nLifecycle hook that is called when data-bound properties change.\nHandles changes to checked and readonly states.\n\n",
                    "description": "<p>Lifecycle hook that is called when data-bound properties change.\nHandles changes to checked and readonly states.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 6593,
                                "end": 6600,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "changes"
                            },
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 6571,
                                "end": 6576,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Object containing changed properties</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 6577,
                                "end": 6592,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 6578,
                                    "end": 6591,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 6578,
                                        "end": 6591,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "SimpleChanges"
                                    }
                                }
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 174,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nLifecycle hook that is called after data-bound properties are initialized.\nSets the default control value if needed.\n",
                    "description": "<p>Lifecycle hook that is called after data-bound properties are initialized.\nSets the default control value if needed.</p>\n",
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "onChanged",
                    "args": [
                        {
                            "name": "checked",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 256,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent handler for checkbox change events.\n\n",
                    "description": "<p>Event handler for checkbox change events.</p>\n",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'change', ['$any($event.target).checked']"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 8498,
                                "end": 8505,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "checked"
                            },
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 8482,
                                "end": 8487,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The new checked state</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 8488,
                                "end": 8497,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 8489,
                                    "end": 8496,
                                    "kind": 136,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "onSpacePressed",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 275,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent handler for space key press.\nPrevents space key action when checkbox is readonly.\n\n",
                    "description": "<p>Event handler for space key press.\nPrevents space key action when checkbox is readonly.</p>\n",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'keydown.space', ['$any($event)']"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 9155,
                                "end": 9160,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 9133,
                                "end": 9138,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The keyboard event</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 9139,
                                "end": 9154,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 9140,
                                    "end": 9153,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 9140,
                                        "end": 9153,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "KeyboardEvent"
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "registerOnChange",
                    "args": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 235,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "registerOnTouched",
                    "args": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 241,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "setDisabledState",
                    "args": [
                        {
                            "name": "isDisabled",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": true,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 245,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "isDisabled",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "setInvalid",
                    "args": [
                        {
                            "name": "state",
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 298,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the invalid state of the checkbox.\n\n",
                    "description": "<p>Sets the invalid state of the checkbox.</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 9893,
                                "end": 9898,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "state"
                            },
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 9881,
                                "end": 9886,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The invalid state to set (true/false)</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 9887,
                                "end": 9892,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 9888,
                                    "end": 9891,
                                    "kind": 133,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "setInvalid",
                    "args": [
                        {
                            "name": "state",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 308,
                    "deprecated": true,
                    "deprecationMessage": "Use the boolean version instead",
                    "rawdescription": "\n\nSets the invalid state of the checkbox.\n\n",
                    "description": "<p>Sets the invalid state of the checkbox.</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 10141,
                                "end": 10146,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "state"
                            },
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 10135,
                                "end": 10140,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The invalid state to set (true/false)</li>\n</ul>\n"
                        }
                    ]
                },
                {
                    "name": "writeValue",
                    "args": [
                        {
                            "name": "obj",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 228,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nImplements ControlValueAccessor writeValue method.\nUpdates the checked state of the checkbox.\n\n",
                    "description": "<p>Implements ControlValueAccessor writeValue method.\nUpdates the checked state of the checkbox.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 7566,
                                "end": 7569,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "obj"
                            },
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 7550,
                                "end": 7555,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The value to write</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 7556,
                                "end": 7565,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 7557,
                                    "end": 7564,
                                    "kind": 136,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "getCssClasses",
                    "args": [
                        {
                            "name": "rootClass",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 112,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "rootClass",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "getPlaceholderAttribute",
                    "args": [],
                    "optional": false,
                    "returnType": "string | undefined",
                    "typeParameters": [],
                    "line": 120,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 98,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "setIdAttribute",
                    "args": [
                        {
                            "name": "value",
                            "type": "string | null",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "null"
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 144,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "string | null",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "null",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "setPlaceholderAttribute",
                    "args": [
                        {
                            "name": "value",
                            "type": "string | null",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 135,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "string | null",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.aria-label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4605,
                            "end": 4639,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4606,
                                "end": 4614,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "property"
                            },
                            "comment": "<p>{string} ariaLabel</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nAttaches an aria-label attribute based on the checked state.\n\n",
                    "description": "<p>Attaches an aria-label attribute based on the checked state.</p>\n",
                    "line": 146,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "attr.type",
                    "defaultValue": "'checkbox'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 123,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2327,
                            "end": 2386,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2328,
                                "end": 2335,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated list of CSS classes</p>\n",
                            "typeExpression": {
                                "pos": 2336,
                                "end": 2344,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 2337,
                                    "end": 2343,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nGets the CSS classes for the checkbox component.\nCombines base classes with validation state classes.\n\n",
                    "description": "<p>Gets the CSS classes for the checkbox component.\nCombines base classes with validation state classes.</p>\n",
                    "line": 72,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [
                {
                    "name": "change",
                    "args": [
                        {
                            "name": "checked",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$any($event.target).checked"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent handler for checkbox change events.\n\n",
                    "description": "<p>Event handler for checkbox change events.</p>\n",
                    "jsdoctags": [
                        {
                            "pos": 8481,
                            "end": 8537,
                            "kind": 342,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8482,
                                "end": 8487,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The new checked state</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 8488,
                                "end": 8497,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 8489,
                                    "end": 8496,
                                    "kind": 136,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            },
                            "name": {
                                "pos": 8498,
                                "end": 8505,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "checked"
                            },
                            "isNameFirst": false,
                            "isBracketed": false
                        },
                        {
                            "pos": 8537,
                            "end": 8553,
                            "kind": 336,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8538,
                                "end": 8547,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "protected"
                            },
                            "comment": ""
                        }
                    ],
                    "line": 256
                },
                {
                    "name": "keydown.space",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$any($event)"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent handler for space key press.\nPrevents space key action when checkbox is readonly.\n\n",
                    "description": "<p>Event handler for space key press.\nPrevents space key action when checkbox is readonly.</p>\n",
                    "jsdoctags": [
                        {
                            "pos": 9132,
                            "end": 9189,
                            "kind": 342,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 9133,
                                "end": 9138,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The keyboard event</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 9139,
                                "end": 9154,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 9140,
                                    "end": 9153,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 9140,
                                        "end": 9153,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "KeyboardEvent"
                                    }
                                }
                            },
                            "name": {
                                "pos": 9155,
                                "end": 9160,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "isNameFirst": false,
                            "isBracketed": false
                        },
                        {
                            "pos": 9189,
                            "end": 9205,
                            "kind": 336,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 9190,
                                "end": 9199,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "protected"
                            },
                            "comment": ""
                        }
                    ],
                    "line": 275
                }
            ],
            "standalone": false,
            "imports": [],
            "description": "<p>Checkbox input field that allows users to select or deselect a boolean value.\nSupports standard checked state, disabled and readonly modes, validation feedback, and an optional indeterminate (mixed) state.</p>\n<p>Angular component that provides a custom checkbox input implementation.\nExtends {@link InputDirective} and implements form control functionality.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;input euiInputCheckBox id=&quot;terms&quot; [(ngModel)]=&quot;acceptTerms&quot; /&gt;\n&lt;label for=&quot;terms&quot;&gt;I accept the terms and conditions&lt;/label&gt;</code></pre></div><h3>With Indeterminate State</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">&lt;input euiInputCheckBox [indeterminate]=&quot;someItemsSelected&quot; /&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Always associate checkbox with a label using <code>for</code> attribute or wrap in <code>&lt;label&gt;</code></li>\n<li>Component automatically provides <code>aria-label</code> based on checked state</li>\n<li>Supports keyboard interaction (Space key to toggle)</li>\n<li>Use <code>isInvalid</code> to communicate validation errors to screen readers</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Indeterminate state is automatically cleared when checkbox is clicked</li>\n<li>Works seamlessly with Angular Forms (both template-driven and reactive)</li>\n<li>Readonly state prevents interaction but maintains visual appearance</li>\n</ul>\n",
            "rawdescription": "\n\nCheckbox input field that allows users to select or deselect a boolean value.\nSupports standard checked state, disabled and readonly modes, validation feedback, and an optional indeterminate (mixed) state.\n\nAngular component that provides a custom checkbox input implementation.\nExtends {@link InputDirective} and implements form control functionality.\n\n### Basic Usage\n```html\n<input euiInputCheckBox id=\"terms\" [(ngModel)]=\"acceptTerms\" />\n<label for=\"terms\">I accept the terms and conditions</label>\n```\n\n### With Indeterminate State\n```typescript\n<input euiInputCheckBox [indeterminate]=\"someItemsSelected\" />\n```\n\n### Accessibility\n- Always associate checkbox with a label using `for` attribute or wrap in `<label>`\n- Component automatically provides `aria-label` based on checked state\n- Supports keyboard interaction (Space key to toggle)\n- Use `isInvalid` to communicate validation errors to screen readers\n\n### Notes\n- Indeterminate state is automatically cleared when checkbox is clicked\n- Works seamlessly with Angular Forms (both template-driven and reactive)\n- Readonly state prevents interaction but maintains visual appearance\n\n",
            "type": "component",
            "sourceCode": "import {\n    DoCheck,\n    ElementRef,\n    HostBinding,\n    Input,\n    OnChanges,\n    Renderer2,\n    SimpleChanges,\n    OnInit,\n    HostListener,\n    Component,\n    Output,\n    EventEmitter,\n    inject,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { InputDirective } from '@eui/components/shared';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\n/**\n * @description\n * Checkbox input field that allows users to select or deselect a boolean value.\n * Supports standard checked state, disabled and readonly modes, validation feedback, and an optional indeterminate (mixed) state.\n * \n * Angular component that provides a custom checkbox input implementation.\n * Extends {@link InputDirective} and implements form control functionality.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <input euiInputCheckBox id=\"terms\" [(ngModel)]=\"acceptTerms\" />\n * <label for=\"terms\">I accept the terms and conditions</label>\n * ```\n *\n * ### With Indeterminate State\n * ```typescript\n * <input euiInputCheckBox [indeterminate]=\"someItemsSelected\" />\n * ```\n *\n * ### Accessibility\n * - Always associate checkbox with a label using `for` attribute or wrap in `<label>`\n * - Component automatically provides `aria-label` based on checked state\n * - Supports keyboard interaction (Space key to toggle)\n * - Use `isInvalid` to communicate validation errors to screen readers\n *\n * ### Notes\n * - Indeterminate state is automatically cleared when checkbox is clicked\n * - Works seamlessly with Angular Forms (both template-driven and reactive)\n * - Readonly state prevents interaction but maintains visual appearance\n *\n * @component\n * @selector input[euiInputCheckBox]\n * @implements {@link OnInit}\n * @implements {@link DoCheck}\n * @implements {@link OnChanges}\n * @implements {@link ControlValueAccessor}\n */\n@Component({\n    // eslint-disable-next-line @angular-eslint/component-selector\n    selector: 'input[euiInputCheckBox]',\n    styleUrls: ['./eui-input-checkbox.scss'],\n    template: '',\n})\nexport class EuiInputCheckboxComponent extends InputDirective implements OnInit, DoCheck, OnChanges, ControlValueAccessor {\n    /**\n     * Gets the CSS classes for the checkbox component.\n     * Combines base classes with validation state classes.\n     *\n     * @returns {string} Space-separated list of CSS classes\n     */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [this.getCssClasses('eui-input-checkbox'), this._isInvalid ? 'eui-input-checkbox--invalid' : ''].join(' ').trim();\n    }\n    /**\n     * Event emitter that fires when the indeterminate state changes.\n     *\n     * @event indeterminateChange\n     * @type {EventEmitter<boolean>}\n     */\n    @Output() readonly indeterminateChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n    /**\n     * Controls the indeterminate (mixed) state of the checkbox.\n     * When true, the checkbox appears in an indeterminate state.\n     * This state is automatically cleared when the checkbox is clicked.\n     *\n     * @property {boolean} indeterminate\n     */\n    @Input()\n    get indeterminate(): boolean {\n        return this._indeterminate;\n    }\n    set indeterminate(value: BooleanInput) {\n        const changed = value != this._indeterminate;\n        this._indeterminate = coerceBooleanProperty(value);\n\n        if (changed) {\n            this.indeterminateChange.emit(this._indeterminate);\n        }\n\n        this._syncIndeterminate(this._checked ? false : this._indeterminate);\n    }\n\n    /**\n     * Controls the invalid state of the checkbox. Used for displaying validation errors.\n     *\n     * @property {boolean} isInvalid\n     */\n    @Input()\n    public get isInvalid(): boolean {\n        return this._isInvalid || null;\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    public set isInvalid(state: any) {\n        this.setInvalid(state);\n    }\n\n    protected _isInvalid: boolean;\n\n    @HostBinding('attr.type') protected type = 'checkbox';\n\n    /**\n     * Controls the checked state of the checkbox.\n     *\n     * @property {boolean} checked\n     */\n    @HostBinding('attr.checked')\n    @Input()\n    public get checked(): boolean {\n        return this._checked;\n    }\n\n    public set checked(value: BooleanInput) {\n        this._checked = coerceBooleanProperty(value) ? true : undefined;\n    }\n\n    /**\n     * Attaches an aria-label attribute based on the checked state.\n     *\n     * @property {string} ariaLabel\n     */\n    @HostBinding('attr.aria-label')\n    public get ariaLabel(): string {\n        return this._checked ? 'Input Checked' : 'Input Unchecked';\n    }\n\n    protected ngControl = inject(NgControl, { optional: true, self: true })!;\n    protected _elementRef: ElementRef<HTMLInputElement> = inject<ElementRef<HTMLInputElement>>(ElementRef);\n    protected _renderer: Renderer2 = inject(Renderer2);\n    protected _checked: boolean;\n    private _indeterminate = false;\n\n    constructor() {\n        super();\n\n        // if there's no id attribute set one\n        if (!this._elementRef.nativeElement.id) {\n            this.setIdAttribute();\n        }\n\n        // register control valueAccessor\n        if (this.ngControl) {\n            this.ngControl.valueAccessor = this;\n        }\n    }\n\n    /**\n     * Lifecycle hook that is called after data-bound properties are initialized.\n     * Sets the default control value if needed.\n     */\n    ngOnInit(): void {\n        super.ngOnInit();\n\n        // in case control value is null set the default one (isChecked) and sync Control State\n        if (this.ngControl?.control?.value === null) {\n            this.ngControl.control.setValue(this._checked, { emitModelToViewChange: false });\n            // changing Model Expression after view checked, so detect changes\n            // TODO: check why although it's checked .checked returns false\n            // this.ngControl.viewToModelUpdate(this._checked);\n            // this._cd.detectChanges();\n        }\n    }\n\n    /**\n     * Lifecycle hook that performs custom change detection.\n     * Updates invalid state based on control status.\n     */\n    ngDoCheck(): void {\n        if (this.ngControl) {\n            this._isInvalid = this.ngControl.invalid && this.ngControl.touched;\n        }\n    }\n\n    /**\n     * Lifecycle hook that is called when data-bound properties change.\n     * Handles changes to checked and readonly states.\n     *\n     * @param {SimpleChanges} changes - Object containing changed properties\n     */\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes['checked']) {\n            const currentValue = coerceBooleanProperty(changes['checked']?.currentValue);\n            if (currentValue !== this?.ngControl?.control?.value) {\n                this._checked = currentValue;\n                this._elementRef.nativeElement.checked = currentValue;\n            }\n        }\n\n        if (changes['readonly']) {\n            const readonly = coerceBooleanProperty(changes['readonly']?.currentValue);\n            if (readonly) {\n                this._renderer.setAttribute(this._elementRef.nativeElement, 'readonly', null);\n            } else {\n                this._renderer.removeAttribute(this._elementRef.nativeElement, 'readonly');\n            }\n        }\n    }\n\n    /**\n     * Implements ControlValueAccessor writeValue method.\n     * Updates the checked state of the checkbox.\n     *\n     * @param {boolean} obj - The value to write\n     */\n    writeValue(obj: boolean): void {\n        this._checked = coerceBooleanProperty(obj) ? true : undefined;\n        this._elementRef.nativeElement.checked = this._checked ? true : undefined;\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    registerOnChange(fn: any): void {\n        this.onChange = fn;\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    registerOnTouched(fn: any): void {\n        this.onBlur = fn;\n    }\n\n    setDisabledState?(isDisabled: boolean): void {\n        this.disabled = isDisabled;\n    }\n\n    /**\n     * Event handler for checkbox change events.\n     *\n     * @param {boolean} checked - The new checked state\n     * @protected\n     */\n    @HostListener('change', ['$any($event.target).checked'])\n    protected onChanged(checked: boolean): void {\n        if (checked) {\n            this._renderer.setAttribute(this._elementRef.nativeElement, 'checked', 'true');\n            this._checked = true;\n        } else {\n            this._renderer.removeAttribute(this._elementRef.nativeElement, 'checked');\n            this._checked = undefined;\n        }\n        this.onChange(checked);\n    }\n\n    /**\n     * Event handler for space key press.\n     * Prevents space key action when checkbox is readonly.\n     *\n     * @param {KeyboardEvent} event - The keyboard event\n     * @protected\n     */\n    @HostListener('keydown.space', ['$any($event)'])\n    protected onSpacePressed(event: KeyboardEvent): void {\n        if (this.readonly) {\n            event.preventDefault();\n            event.stopPropagation();\n        }\n    }\n\n    protected onChange = <T>(_: T): void => {\n        /* Nothing to be Done so far */\n    };\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    protected onBlur = (_: any): void => {\n        /* Nothing to be Done so far */\n    };\n\n    /**\n     * Sets the invalid state of the checkbox.\n     *\n     * @param {any} state - The invalid state to set (true/false)\n     * @protected\n     */\n    protected setInvalid(state?: boolean): void;\n    /**\n     * Sets the invalid state of the checkbox.\n     *\n     * @deprecated Use the boolean version instead\n     * @param state - The invalid state to set (true/false)\n     * @protected\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    protected setInvalid(state?: any): void {\n        // in case it's controlled by NgControl override\n        this._isInvalid = this.control ? this.control.invalid && this.control.touched : coerceBooleanProperty(state);\n    }\n\n    /**\n     * Sets the indeterminate state of the checkbox. This is also known as \"mixed\" mode and can be used to\n     * represent a checkbox with three states, e.g. a checkbox that represents a nested list of\n     * check-able items.\n     *\n     * @param value\n     */\n    private _syncIndeterminate(value: boolean): void {\n        if (this._elementRef) {\n            this._elementRef.nativeElement.indeterminate = value;\n        }\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@use '../base' as base;\n\n\n/////////////////////////////////////////////\n// DEFAULT CHECKBOX STYLED FOR EUI COMPS ONLY\n/////////////////////////////////////////////\n.eui-21 {\n    :host.eui-input-checkbox:not(.cdk-visually-hidden) {\n    \n        // Default user-agent checkbox customization & alignements\n        appearance: inherit;\n        align-items: center;\n        border-radius: var(--eui-br-xs); // DS21 aligned\n        cursor: pointer;\n        display: inline-flex;\n        flex-direction: row;\n        flex-shrink: 0;\n        height: var(--eui-s-xl);        // DS21 aligned\n        justify-content: center;\n        margin-right: var(--eui-s-s);   // DS aligned\n        position: relative;\n        vertical-align: middle;\n        width: var(--eui-s-xl);         // DS21 aligned\n    \n        // UNCHECKED (default)\n        accent-color: var(--eui-c-white);\n        background: var(--eui-c-surface-container);\n        border: var(--eui-bw-xs) solid var(--eui-c-secondary-border);    // DS21 aligned\n    \n        ::ng-deep ~.eui-label,\n        ::ng-deep ~label {\n            display: inline-flex;\n            cursor: pointer;\n            font: var(--eui-f-m);\n            margin-right: var(--eui-s-m);    // DS aligned\n            white-space: inherit;\n        }\n    \n        // CHECKED\n        &:checked {\n            background: var(--eui-c-primary-surface);                   // DS21 aligned\n            border: var(--eui-bw-xs) solid var(--eui-c-primary-base);   // DS21 aligned\n    \n            &::before {\n                @include base.pseudoSvgIconCheckmarkWhite();\n                height: var(--eui-s-l);     // DS21 aligned\n                width: var(--eui-s-l);      // DS21 aligned\n            }\n        }\n    \n        // INDETERMINATE\n        &:indeterminate {\n            background: var(--eui-c-primary-surface);                   // DS21 aligned\n            border: var(--eui-bw-xs) solid var(--eui-c-primary-base);   // DS21 aligned\n    \n            &::before {\n                @include base.pseudoSvgIconRemoveWhite();\n                height: var(--eui-s-l);\n                width: var(--eui-s-l);\n            }\n        }\n    \n        // DISABLED\n        &:disabled:not([readonly]) {\n            background: var(--eui-c-disabled-bg);\n            opacity:var(--eui-o-50);       // DS21 aligned\n            \n            pointer-events: none;\n            user-select: none;\n    \n            &:checked {\n                &::before {\n                    @include base.pseudoSvgIconCheckmarkBlack();\n                    background-color: var(--eui-c-text);\n                    height: var(--eui-s-l);\n                    width: var(--eui-s-l);\n                }\n            }\n    \n            + ::ng-deep label {\n                pointer-events: none;\n            }\n        }\n    \n        // READONLY\n        &[readonly] {\n            // opacity: var(--eui-o-75);   // DS21 aligned\n            pointer-events: none;\n            user-select: none;\n    \n            &:checked {\n                // background: var(--eui-c-primary-surface);\n                background: var(--eui-c-secondary-surface);\n                // border: var(--eui-bw-xs) solid var(--eui-c-primary-base);\n                border: var(--eui-bw-xs) solid var(--eui-c-secondary-base);\n    \n                &::before {\n                    @include base.pseudoSvgIconCheckmarkWhite();\n                    height: var(--eui-s-l);\n                    width: var(--eui-s-l);\n                }\n            }\n    \n            + ::ng-deep label {\n                align-items: center;\n                pointer-events: none;\n            }\n        }\n    \n        // INVALID\n        &.eui-input-checkbox--invalid:not(:disabled):not([readonly]),\n        &.eui-input-checkbox--danger:not(:disabled):not([readonly]) {\n            // UNCHECKED default\n            accent-color: var(--eui-c-danger-surface);\n            appearance: inherit;\n            background-color: var(--eui-c-surface-container);\n            border: var(--eui-bw-xs) solid var(--eui-c-danger-base);\n    \n            &:checked {\n                background: var(--eui-c-danger-surface);\n    \n                &::before {\n                    @include base.pseudoSvgIconCheckmarkWhite();\n                    height: var(--eui-s-l);\n                    width: var(--eui-s-l);\n                }\n            }\n        }\n    \n        // ACCESSIBILITY\n        @include base.eui-accessible-focus-ring();\n\n        &.eui-input-checkbox--invalid:not([readonly]),\n        &.eui-input-checkbox--danger:not([readonly]) {\n            outline-color: var(--eui-c-danger-border-light) !important;\n        }\n    }\n}\n\n",
                    "styleUrl": "./eui-input-checkbox.scss"
                }
            ],
            "stylesData": "",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 154
            },
            "extends": [
                "InputDirective"
            ],
            "implements": [
                "OnInit",
                "DoCheck",
                "OnChanges",
                "ControlValueAccessor"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 72,
                        "rawdescription": "\n\nGets the CSS classes for the checkbox component.\nCombines base classes with validation state classes.\n\n",
                        "description": "<p>Gets the CSS classes for the checkbox component.\nCombines base classes with validation state classes.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 2327,
                                "end": 2386,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2328,
                                    "end": 2335,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated list of CSS classes</p>\n",
                                "typeExpression": {
                                    "pos": 2336,
                                    "end": 2344,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 2337,
                                        "end": 2343,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                },
                "indeterminate": {
                    "name": "indeterminate",
                    "setSignature": {
                        "name": "indeterminate",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 94,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "indeterminate",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 91,
                        "rawdescription": "\n\nControls the indeterminate (mixed) state of the checkbox.\nWhen true, the checkbox appears in an indeterminate state.\nThis state is automatically cleared when the checkbox is clicked.\n\n",
                        "description": "<p>Controls the indeterminate (mixed) state of the checkbox.\nWhen true, the checkbox appears in an indeterminate state.\nThis state is automatically cleared when the checkbox is clicked.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 3077,
                                "end": 3116,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 3078,
                                    "end": 3086,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "property"
                                },
                                "comment": "<p>{boolean} indeterminate</p>\n"
                            }
                        ]
                    }
                },
                "isInvalid": {
                    "name": "isInvalid",
                    "setSignature": {
                        "name": "isInvalid",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "state",
                                "type": "any",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 117,
                        "jsdoctags": [
                            {
                                "name": "state",
                                "type": "any",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "isInvalid",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 111,
                        "rawdescription": "\n\nControls the invalid state of the checkbox. Used for displaying validation errors.\n\n",
                        "description": "<p>Controls the invalid state of the checkbox. Used for displaying validation errors.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 3664,
                                "end": 3699,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 3665,
                                    "end": 3673,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "property"
                                },
                                "comment": "<p>{boolean} isInvalid</p>\n"
                            }
                        ]
                    }
                },
                "checked": {
                    "name": "checked",
                    "setSignature": {
                        "name": "checked",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 136,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "checked",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 132,
                        "rawdescription": "\n\nControls the checked state of the checkbox.\n\n",
                        "description": "<p>Controls the checked state of the checkbox.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 4234,
                                "end": 4267,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 4235,
                                    "end": 4243,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "property"
                                },
                                "comment": "<p>{boolean} checked</p>\n"
                            }
                        ]
                    }
                },
                "ariaLabel": {
                    "name": "ariaLabel",
                    "getSignature": {
                        "name": "ariaLabel",
                        "type": "string",
                        "returnType": "string",
                        "line": 146,
                        "rawdescription": "\n\nAttaches an aria-label attribute based on the checked state.\n\n",
                        "description": "<p>Attaches an aria-label attribute based on the checked state.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 4605,
                                "end": 4639,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 4606,
                                    "end": 4614,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "property"
                                },
                                "comment": "<p>{string} ariaLabel</p>\n"
                            }
                        ]
                    }
                }
            }
        },
        {
            "name": "EuiInputGroupAddOnComponent",
            "id": "component-EuiInputGroupAddOnComponent-e68a652b098a7486f99b8b33eb588c88eb2fc412dd927e7a02c9c27b91879bb86a77d207022eda2e0279c791dcd472ff238a6b040d733bc3f150bdc4313c5cc0",
            "file": "packages/components/eui-input-group/eui-input-group-addon.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "div[euiInputGroupAddOn], eui-input-group-addon",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-input-group-addon'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1015,
                            "end": 1151,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1016,
                                "end": 1027,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Input property for setting the data-e2e attribute value.\nUsed for end-to-end testing purposes.</p>\n"
                        },
                        {
                            "pos": 1151,
                            "end": 1189,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1152,
                                "end": 1159,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-input-group-addon&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nInput property for setting the data-e2e attribute value.\nUsed for end-to-end testing purposes.\n\n",
                    "description": "<p>Input property for setting the data-e2e attribute value.\nUsed for end-to-end testing purposes.</p>\n",
                    "line": 39,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 47,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>A component that serves as a container for input group add-on items.\nCan be used either as an attribute selector on a div or as a custom element.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;div euiInputGroupAddOn&gt;\n  &lt;div euiInputGroupAddOnItem&gt;€&lt;/div&gt;\n  &lt;input euiInputText type=&quot;number&quot; /&gt;\n&lt;/div&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Add-on items should have appropriate ARIA labels when they convey meaning</li>\n<li>Ensure add-on content is announced to screen readers if it provides context</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Used to group prefix/suffix elements with input controls</li>\n<li>Provides consistent styling for input decorations</li>\n</ul>\n",
            "rawdescription": "\n\nA component that serves as a container for input group add-on items.\nCan be used either as an attribute selector on a div or as a custom element.\n\n### Basic Usage\n```html\n<div euiInputGroupAddOn>\n  <div euiInputGroupAddOnItem>€</div>\n  <input euiInputText type=\"number\" />\n</div>\n```\n\n### Accessibility\n- Add-on items should have appropriate ARIA labels when they convey meaning\n- Ensure add-on content is announced to screen readers if it provides context\n\n### Notes\n- Used to group prefix/suffix elements with input controls\n- Provides consistent styling for input decorations\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, Input } from '@angular/core';\n\n/**\n * @description\n * A component that serves as a container for input group add-on items.\n * Can be used either as an attribute selector on a div or as a custom element.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <div euiInputGroupAddOn>\n *   <div euiInputGroupAddOnItem>€</div>\n *   <input euiInputText type=\"number\" />\n * </div>\n * ```\n *\n * ### Accessibility\n * - Add-on items should have appropriate ARIA labels when they convey meaning\n * - Ensure add-on content is announced to screen readers if it provides context\n *\n * ### Notes\n * - Used to group prefix/suffix elements with input controls\n * - Provides consistent styling for input decorations\n */\n@Component({\n    // eslint-disable-next-line @angular-eslint/component-selector\n    selector: 'div[euiInputGroupAddOn], eui-input-group-addon',\n    styleUrl: './eui-input-group-addon.scss',\n    template: '<ng-content/>',\n})\nexport class EuiInputGroupAddOnComponent {\n    /**\n     * @description\n     * Input property for setting the data-e2e attribute value.\n     * Used for end-to-end testing purposes.\n     *\n     * @default 'eui-input-group-addon'\n     */\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-input-group-addon';/**\n     * @description\n     * Getter that returns the CSS class for the component.\n     * Bound to the host element's class attribute.\n     *\n     * @returns {string} The CSS class name\n     */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return 'eui-input-group-addon';\n    }\n}\n",
            "styleUrl": "./eui-input-group-addon.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 47
                    }
                }
            }
        },
        {
            "name": "EuiInputGroupAddOnItemComponent",
            "id": "component-EuiInputGroupAddOnItemComponent-d0cf6fc22ac69dc7a9dd78ee9d3d1dd653ad00e5618cc57ba16349dd55041bae485641d8dfca8fad75463163fd8d22a6534d12c2cf5b54bb8a5145f65b4022da",
            "file": "packages/components/eui-input-group/eui-input-group-addon-item.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "div[euiInputGroupAddOnItem], eui-input-group-addon-item",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-input-group-addon-item'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1010,
                            "end": 1146,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1011,
                                "end": 1022,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Input property for setting the data-e2e attribute value.\nUsed for end-to-end testing purposes.</p>\n"
                        },
                        {
                            "pos": 1146,
                            "end": 1189,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1147,
                                "end": 1154,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-input-group-addon-item&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nInput property for setting the data-e2e attribute value.\nUsed for end-to-end testing purposes.\n\n",
                    "description": "<p>Input property for setting the data-e2e attribute value.\nUsed for end-to-end testing purposes.</p>\n",
                    "line": 39,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1290,
                            "end": 1429,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1291,
                                "end": 1302,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Getter that returns the CSS class for the component.\nBound to the host element&#39;s class attribute.</p>\n"
                        },
                        {
                            "pos": 1429,
                            "end": 1471,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1430,
                                "end": 1437,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>The CSS class name</p>\n",
                            "typeExpression": {
                                "pos": 1438,
                                "end": 1446,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 1439,
                                    "end": 1445,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nGetter that returns the CSS class for the component.\nBound to the host element's class attribute.\n\n",
                    "description": "<p>Getter that returns the CSS class for the component.\nBound to the host element&#39;s class attribute.</p>\n",
                    "line": 48,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>A component that represents an individual item within an input group add-on.\nCan be used either as an attribute selector on a div or as a custom element.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;div euiInputGroupAddOn&gt;\n  &lt;div euiInputGroupAddOnItem&gt;https://&lt;/div&gt;\n  &lt;input euiInputText placeholder=&quot;example.com&quot; /&gt;\n&lt;/div&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Decorative items should have <code>aria-hidden=&quot;true&quot;</code></li>\n<li>Meaningful items should be properly labeled for screen readers</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Typically contains text, icons, or buttons</li>\n<li>Must be used within <code>euiInputGroupAddOn</code> container</li>\n</ul>\n",
            "rawdescription": "\n\nA component that represents an individual item within an input group add-on.\nCan be used either as an attribute selector on a div or as a custom element.\n\n### Basic Usage\n```html\n<div euiInputGroupAddOn>\n  <div euiInputGroupAddOnItem>https://</div>\n  <input euiInputText placeholder=\"example.com\" />\n</div>\n```\n\n### Accessibility\n- Decorative items should have `aria-hidden=\"true\"`\n- Meaningful items should be properly labeled for screen readers\n\n### Notes\n- Typically contains text, icons, or buttons\n- Must be used within `euiInputGroupAddOn` container\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, Input } from '@angular/core';\n\n/**\n * @description\n * A component that represents an individual item within an input group add-on.\n * Can be used either as an attribute selector on a div or as a custom element.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <div euiInputGroupAddOn>\n *   <div euiInputGroupAddOnItem>https://</div>\n *   <input euiInputText placeholder=\"example.com\" />\n * </div>\n * ```\n *\n * ### Accessibility\n * - Decorative items should have `aria-hidden=\"true\"`\n * - Meaningful items should be properly labeled for screen readers\n *\n * ### Notes\n * - Typically contains text, icons, or buttons\n * - Must be used within `euiInputGroupAddOn` container\n */\n@Component({\n    // eslint-disable-next-line @angular-eslint/component-selector\n    selector: 'div[euiInputGroupAddOnItem], eui-input-group-addon-item',\n    styleUrl: './eui-input-group-addon-item.scss',\n    template: '<ng-content/>',\n})\nexport class EuiInputGroupAddOnItemComponent {\n    /**\n     * @description\n     * Input property for setting the data-e2e attribute value.\n     * Used for end-to-end testing purposes.\n     *\n     * @default 'eui-input-group-addon-item'\n     */\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-input-group-addon-item';\n    /**\n     * @description\n     * Getter that returns the CSS class for the component.\n     * Bound to the host element's class attribute.\n     *\n     * @returns {string} The CSS class name\n     */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return 'eui-input-group-addon-item';\n    }\n}\n",
            "styleUrl": "./eui-input-group-addon-item.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 48,
                        "rawdescription": "\n\nGetter that returns the CSS class for the component.\nBound to the host element's class attribute.\n\n",
                        "description": "<p>Getter that returns the CSS class for the component.\nBound to the host element&#39;s class attribute.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 1290,
                                "end": 1429,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 1291,
                                    "end": 1302,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Getter that returns the CSS class for the component.\nBound to the host element&#39;s class attribute.</p>\n"
                            },
                            {
                                "pos": 1429,
                                "end": 1471,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 1430,
                                    "end": 1437,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>The CSS class name</p>\n",
                                "typeExpression": {
                                    "pos": 1438,
                                    "end": 1446,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 1439,
                                        "end": 1445,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            }
        },
        {
            "name": "EuiInputGroupComponent",
            "id": "component-EuiInputGroupComponent-4f1601e1266bdc7c0b4b8305d4a63d503055291382fd82e3e266a2c4f0bcad3471b99f54615483349a55a243be57d984901b7a8e4d8ad925e653f154985d89c6",
            "file": "packages/components/eui-input-group/eui-input-group.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "div[euiInputGroup]",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiSizeS",
                        "euiSizeVariant"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-input-group'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1836,
                            "end": 1972,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1837,
                                "end": 1848,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Input property for setting the data-e2e attribute value.\nUsed for end-to-end testing purposes.</p>\n"
                        },
                        {
                            "pos": 1972,
                            "end": 2004,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1973,
                                "end": 1980,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-input-group&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nInput property for setting the data-e2e attribute value.\nUsed for end-to-end testing purposes.\n\n",
                    "description": "<p>Input property for setting the data-e2e attribute value.\nUsed for end-to-end testing purposes.</p>\n",
                    "line": 61,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BaseStatesDirective",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 86,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "type",
                    "defaultValue": "'inputGroup'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Protected property that defines the type of the input group.\nBound to the host element&#39;s type attribute.</p>\n",
                    "line": 84,
                    "rawdescription": "\n\nProtected property that defines the type of the input group.\nBound to the host element's type attribute.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.type'"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ],
                    "jsdoctags": [
                        {
                            "pos": 2480,
                            "end": 2626,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2481,
                                "end": 2492,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Protected property that defines the type of the input group.\nBound to the host element&#39;s type attribute.</p>\n"
                        },
                        {
                            "pos": 2626,
                            "end": 2644,
                            "kind": 336,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2627,
                                "end": 2636,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "protected"
                            },
                            "comment": ""
                        },
                        {
                            "pos": 2644,
                            "end": 2671,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2645,
                                "end": 2652,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;inputGroup&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.type",
                    "defaultValue": "'inputGroup'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2480,
                            "end": 2626,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2481,
                                "end": 2492,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Protected property that defines the type of the input group.\nBound to the host element&#39;s type attribute.</p>\n"
                        },
                        {
                            "pos": 2626,
                            "end": 2644,
                            "kind": 336,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2627,
                                "end": 2636,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "protected"
                            },
                            "comment": ""
                        },
                        {
                            "pos": 2644,
                            "end": 2671,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2645,
                                "end": 2652,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;inputGroup&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nProtected property that defines the type of the input group.\nBound to the host element's type attribute.\n\n",
                    "description": "<p>Protected property that defines the type of the input group.\nBound to the host element&#39;s type attribute.</p>\n",
                    "line": 84,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2094,
                            "end": 2233,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2095,
                                "end": 2106,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Getter that returns the CSS class for the component.\nBound to the host element&#39;s class attribute.</p>\n"
                        },
                        {
                            "pos": 2233,
                            "end": 2275,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2234,
                                "end": 2241,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>The CSS class name</p>\n",
                            "typeExpression": {
                                "pos": 2242,
                                "end": 2250,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 2243,
                                    "end": 2249,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nGetter that returns the CSS class for the component.\nBound to the host element's class attribute.\n\n",
                    "description": "<p>Getter that returns the CSS class for the component.\nBound to the host element&#39;s class attribute.</p>\n",
                    "line": 70,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Container component used to group input-related elements such as labels, inputs, and validation messages.\n<code>euiInputGroup</code> provides a consistent layout and styling for form controls and is required to ensure proper visual and functional integration of EUI input components.\nThis component can only be used as an attribute selector on a <code>div</code> element.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;div euiInputGroup&gt;\n  &lt;label euiLabel for=&quot;email&quot;&gt;Email&lt;/label&gt;\n  &lt;input euiInputText id=&quot;email&quot; type=&quot;email&quot; /&gt;\n&lt;/div&gt;</code></pre></div><h3>With Validation Message</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;div euiInputGroup&gt;\n  &lt;label euiLabel for=&quot;password&quot;&gt;Password&lt;/label&gt;\n  &lt;input euiInputText id=&quot;password&quot; type=&quot;password&quot; [isInvalid]=&quot;hasError&quot; /&gt;\n  &lt;span euiLabel euiDanger *ngIf=&quot;hasError&quot;&gt;Password is required&lt;/span&gt;\n&lt;/div&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Groups related form elements for better screen reader navigation</li>\n<li>Maintains proper label-input associations</li>\n<li>Ensures validation messages are announced to assistive technologies</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used as attribute on <code>div</code> element only</li>\n<li>Provides consistent spacing and layout for form controls</li>\n<li>Supports size variants through <code>euiSizeS</code> input</li>\n</ul>\n",
            "rawdescription": "\n\nContainer component used to group input-related elements such as labels, inputs, and validation messages.\n`euiInputGroup` provides a consistent layout and styling for form controls and is required to ensure proper visual and functional integration of EUI input components.\nThis component can only be used as an attribute selector on a `div` element.\n\n### Basic Usage\n```html\n<div euiInputGroup>\n  <label euiLabel for=\"email\">Email</label>\n  <input euiInputText id=\"email\" type=\"email\" />\n</div>\n```\n\n### With Validation Message\n```html\n<div euiInputGroup>\n  <label euiLabel for=\"password\">Password</label>\n  <input euiInputText id=\"password\" type=\"password\" [isInvalid]=\"hasError\" />\n  <span euiLabel euiDanger *ngIf=\"hasError\">Password is required</span>\n</div>\n```\n\n### Accessibility\n- Groups related form elements for better screen reader navigation\n- Maintains proper label-input associations\n- Ensures validation messages are announced to assistive technologies\n\n### Notes\n- Must be used as attribute on `div` element only\n- Provides consistent spacing and layout for form controls\n- Supports size variants through `euiSizeS` input\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, inject, Input } from '@angular/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n/**\n * @description\n * Container component used to group input-related elements such as labels, inputs, and validation messages.\n * `euiInputGroup` provides a consistent layout and styling for form controls and is required to ensure proper visual and functional integration of EUI input components.\n * This component can only be used as an attribute selector on a `div` element.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <div euiInputGroup>\n *   <label euiLabel for=\"email\">Email</label>\n *   <input euiInputText id=\"email\" type=\"email\" />\n * </div>\n * ```\n *\n * ### With Validation Message\n * ```html\n * <div euiInputGroup>\n *   <label euiLabel for=\"password\">Password</label>\n *   <input euiInputText id=\"password\" type=\"password\" [isInvalid]=\"hasError\" />\n *   <span euiLabel euiDanger *ngIf=\"hasError\">Password is required</span>\n * </div>\n * ```\n *\n * ### Accessibility\n * - Groups related form elements for better screen reader navigation\n * - Maintains proper label-input associations\n * - Ensures validation messages are announced to assistive technologies\n *\n * ### Notes\n * - Must be used as attribute on `div` element only\n * - Provides consistent spacing and layout for form controls\n * - Supports size variants through `euiSizeS` input\n */\n@Component({\n    // eslint-disable-next-line @angular-eslint/component-selector\n    selector: 'div[euiInputGroup]',\n    styleUrl: './eui-input-group.scss',\n    template: '<ng-content/>',\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSizeS',\n                'euiSizeVariant',\n            ],\n        },\n    ],    \n})\nexport class EuiInputGroupComponent {\n    /**\n     * @description\n     * Input property for setting the data-e2e attribute value.\n     * Used for end-to-end testing purposes.\n     *\n     * @default 'eui-input-group'\n     */\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-input-group';\n    /**\n     * @description\n     * Getter that returns the CSS class for the component.\n     * Bound to the host element's class attribute.\n     *\n     * @returns {string} The CSS class name\n     */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-input-group'),\n        ].join(' ').trim();\n    }\n\n    /**\n     * @description\n     * Protected property that defines the type of the input group.\n     * Bound to the host element's type attribute.\n     *\n     * @protected\n     * @default 'inputGroup'\n     */\n    @HostBinding('attr.type') protected type = 'inputGroup';\n\n    public baseStatesDirective: BaseStatesDirective = inject(BaseStatesDirective);\n}\n",
            "styleUrl": "./eui-input-group.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 70,
                        "rawdescription": "\n\nGetter that returns the CSS class for the component.\nBound to the host element's class attribute.\n\n",
                        "description": "<p>Getter that returns the CSS class for the component.\nBound to the host element&#39;s class attribute.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 2094,
                                "end": 2233,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2095,
                                    "end": 2106,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Getter that returns the CSS class for the component.\nBound to the host element&#39;s class attribute.</p>\n"
                            },
                            {
                                "pos": 2233,
                                "end": 2275,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2234,
                                    "end": 2241,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>The CSS class name</p>\n",
                                "typeExpression": {
                                    "pos": 2242,
                                    "end": 2250,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 2243,
                                        "end": 2249,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            }
        },
        {
            "name": "EuiInputNumberComponent",
            "id": "component-EuiInputNumberComponent-a65d8229df08120f4293d4860fe2c155cb1c83c38d5ff82c5b01aaa9912bb5074fb668829cd28dfd2ebbb4e0e8962000ba1faf90c942b0d3469b61fcb29f1762",
            "file": "packages/components/eui-input-number/eui-input-number.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "host": {},
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "input[euiInputNumber]",
            "styleUrls": [
                "./eui-input-number.scss"
            ],
            "styles": [],
            "template": "",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "EuiClearableDirective",
                    "inputs": [
                        "euiClearable",
                        "readonly",
                        "disabled"
                    ],
                    "outputs": []
                },
                {
                    "name": "EuiLoadingDirective",
                    "inputs": [
                        "euiLoading",
                        "readonly"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "digits",
                    "defaultValue": "undefined, { transform: numberAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number, NumberInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>determines how many digits to show before the decimal point</p>\n",
                    "line": 197,
                    "rawdescription": "\n\ndetermines how many digits to show before the decimal point\n",
                    "required": false
                },
                {
                    "name": "fillFraction",
                    "defaultValue": "undefined, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean, BooleanInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>fills the decimal part with zeros in case it&#39;s less than the fractionDigits</p>\n",
                    "line": 201,
                    "rawdescription": "\n\nfills the decimal part with zeros in case it's less than the fractionDigits\n",
                    "required": false
                },
                {
                    "name": "fractionDigits",
                    "defaultValue": "0, { transform: (v: unknown) => numberAttribute(v, 0) }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number, NumberInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p> determines how many digits to show after the decimal point\n @default 0</p>\n",
                    "line": 193,
                    "rawdescription": "\n\n determines how many digits to show after the decimal point\n @default 0\n",
                    "jsdoctags": [
                        {
                            "pos": 7055,
                            "end": 7071,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7056,
                                "end": 7063,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>0</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "isInvalid",
                    "defaultValue": "undefined, { transform: this.invalidTransform }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean, BooleanInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 179,
                    "required": false
                },
                {
                    "name": "leadingZero",
                    "defaultValue": "0, { transform: (v: unknown) => numberAttribute(v, 0) }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number, NumberInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Adds leading zero to a number. Formatting will not work.\n     e.g. with leadingZero=3 input number 5 =&gt; 005</p>\n",
                    "line": 178,
                    "rawdescription": "\n\nAdds leading zero to a number. Formatting will not work.\n     e.g. with leadingZero=3 input number 5 => 005\n",
                    "jsdoctags": [
                        {
                            "pos": 6485,
                            "end": 6501,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6486,
                                "end": 6493,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>0</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "max",
                    "defaultValue": "undefined, { transform: numberAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number, NumberInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The maximum number can be entered. Blocks user&#39;s input if not in range.</p>\n",
                    "line": 172,
                    "rawdescription": "\n\nThe maximum number can be entered. Blocks user's input if not in range.\n",
                    "required": false
                },
                {
                    "name": "min",
                    "defaultValue": "undefined, { transform: numberAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number, NumberInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The minimum number can be entered. Blocks user&#39;s input if not in range.</p>\n",
                    "line": 168,
                    "rawdescription": "\n\nThe minimum number can be entered. Blocks user's input if not in range.\n",
                    "required": false
                },
                {
                    "name": "noFormat",
                    "defaultValue": "undefined, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean, BooleanInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Disables the number formatting. It will be treated as a plain number.\nWill do a thousand grouping of number.</p>\n",
                    "line": 210,
                    "rawdescription": "\n\nDisables the number formatting. It will be treated as a plain number.\nWill do a thousand grouping of number.\n",
                    "required": false
                },
                {
                    "name": "roundUp",
                    "defaultValue": "undefined, { transform: numberAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number, NumberInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>rounds a number with more than two decimals UP</p>\n",
                    "line": 205,
                    "rawdescription": "\n\nrounds a number with more than two decimals UP\n",
                    "required": false
                },
                {
                    "name": "value",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The value of the input element.</p>\n",
                    "line": 219,
                    "rawdescription": "\n\nThe value of the input element.\n",
                    "required": false
                },
                {
                    "name": "disabled",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 32,
                    "type": "boolean",
                    "decorators": [],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "required": false,
                    "name": "euiDanger",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 28,
                    "type": "boolean",
                    "decorators": [],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "required": false,
                    "name": "euiDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 27,
                    "type": "boolean",
                    "decorators": [],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "placeholder",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 55,
                    "type": "string | null",
                    "decorators": [],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "readonly",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 46,
                    "type": "any",
                    "decorators": [],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "_elementRef",
                    "defaultValue": "inject(ElementRef)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 226,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_renderer",
                    "defaultValue": "inject(Renderer2)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Renderer2",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 227,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "cleaveInstance",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "CleaveInstance",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>holds an instance of cleave.js</p>\n",
                    "line": 224,
                    "rawdescription": "\n\nholds an instance of cleave.js\n"
                },
                {
                    "name": "onChange",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 374
                },
                {
                    "name": "onChangeCallback",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 220,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "onTouched",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "function",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 384
                },
                {
                    "name": "type",
                    "defaultValue": "'eui-number'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The type of the input element.</p>\n",
                    "line": 215,
                    "rawdescription": "\n\nThe type of the input element.\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "pos": 7975,
                            "end": 8002,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7976,
                                "end": 7983,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-number&#39;</p>\n"
                        }
                    ]
                },
                {
                    "name": "_disabled",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 62,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 66,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_placeholder",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 64,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_readonly",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 63,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_statusListener",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Subscription",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 65,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_viewContainerRef",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ViewContainerRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 67,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "control",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "NgControl",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 68,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "injector",
                    "defaultValue": "inject(Injector)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 71,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                }
            ],
            "methodsClass": [
                {
                    "name": "ngDoCheck",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 300,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 310,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 366,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 270,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "onFocusout",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 453,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'focusout'"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ]
                },
                {
                    "name": "onKeyDown",
                    "args": [
                        {
                            "name": "e",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 410,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'keydown', ['$event']"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "e",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onPaste",
                    "args": [
                        {
                            "name": "event",
                            "type": "ClipboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 388,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "ClipboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "setPlaceholderAttribute",
                    "args": [
                        {
                            "name": "value",
                            "type": "string | number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 481,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUpdates the placeholder value based on current number format and given value.\nIf value passed contains characters it doesn't format placeholder.\n",
                    "description": "<p>Updates the placeholder value based on current number format and given value.\nIf value passed contains characters it doesn&#39;t format placeholder.</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "string | number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "getCssClasses",
                    "args": [
                        {
                            "name": "rootClass",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 112,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "rootClass",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "getPlaceholderAttribute",
                    "args": [],
                    "optional": false,
                    "returnType": "string | undefined",
                    "typeParameters": [],
                    "line": 120,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "setIdAttribute",
                    "args": [
                        {
                            "name": "value",
                            "type": "string | null",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "null"
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 144,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "string | null",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "null",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCSS classes to be added to the host element.\n",
                    "description": "<p>CSS classes to be added to the host element.</p>\n",
                    "line": 185,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [
                {
                    "name": "focusout",
                    "args": [],
                    "argsDecorator": [],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 453
                },
                {
                    "name": "keydown",
                    "args": [
                        {
                            "name": "e",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$event"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 410
                }
            ],
            "standalone": false,
            "imports": [],
            "description": "<p>Input number component that allows the user to enter a number. It supports number\nformatting and validation. It uses Cleave.js to format the number. It depends on\nthe {@link LocaleService} to get the current locale and format the number accordingly.</p>\n<p>It supports the following attributes:</p>\n<ul>\n<li>{@link min}: The minimum number can be entered. Blocks user&#39;s input if not in range.</li>\n<li>{@link max}: The maximum number can be entered. Blocks user&#39;s input if not in range.</li>\n<li>{@link leadingZero}: Adds leading zero to a number. Formatting will not work.</li>\n<li>{@link isInvalid}: Sets the invalid state of the input element.</li>\n<li>{@link fractionDigits}: Determines how many digits to show after the decimal point.</li>\n<li>{@link digits}: Determines how many digits to show before the decimal point.</li>\n<li>{@link fillFraction}: Fills the decimal part with zeros in case it&#39;s less than the fractionDigits.</li>\n<li>{@link roundUp}: Rounds a number with more than two decimals UP.</li>\n<li>{@link noFormat}: Disables the number formatting. It will be treated as a plain number.</li>\n<li>{@link value}: The value of the input element.</li>\n<li>{@link placeholder}: The placeholder value of the input element.</li>\n<li>{@link euiClearable}: Adds a clear button to the input element.</li>\n<li>{@link euiLoading}: Adds a loading spinner to the input element.</li>\n<li>{@link readonly}: Disables the input element.</li>\n<li>{@link disabled}: Disables the input element.</li>\n<li>{@link euiDanger}: Sets the invalid state of the input element.</li>\n<li>{@link euiSuccess}: Sets the success state of the input element.</li>\n<li>{@link euiWarning}: Sets the warning state of the input element.</li>\n<li>{@link euiInfo}: Sets the info state of the input element.</li>\n<li>{@link euiPrimary}: Sets the primary state of the input element.</li>\n<li>{@link euiSecondary}: Sets the secondary state of the input element.</li>\n</ul>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;input euiInputNumber [(ngModel)]=&quot;amount&quot; [fractionDigits]=&quot;2&quot; /&gt;</code></pre></div><h3>With Min/Max Range</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;input euiInputNumber [min]=&quot;0&quot; [max]=&quot;100&quot; [(ngModel)]=&quot;percentage&quot; /&gt;</code></pre></div><h3>Currency Format</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;input euiInputNumber [fractionDigits]=&quot;2&quot; [fillFraction]=&quot;true&quot; placeholder=&quot;0.00&quot; /&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use associated <code>&lt;label&gt;</code> with <code>for</code> attribute</li>\n<li>Invalid state is communicated via <code>aria-invalid</code></li>\n<li>Min/max constraints are enforced during input</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Automatically formats numbers based on current locale</li>\n<li>Supports large numbers as strings to avoid precision loss</li>\n<li>Use <code>fillFraction</code> for consistent decimal display (e.g., currency)</li>\n<li><code>roundUp</code> parameter controls decimal rounding behavior</li>\n</ul>\n",
            "rawdescription": "\n\nInput number component that allows the user to enter a number. It supports number\nformatting and validation. It uses Cleave.js to format the number. It depends on\nthe {@link LocaleService} to get the current locale and format the number accordingly.\n\nIt supports the following attributes:\n- {@link min}: The minimum number can be entered. Blocks user's input if not in range.\n- {@link max}: The maximum number can be entered. Blocks user's input if not in range.\n- {@link leadingZero}: Adds leading zero to a number. Formatting will not work.\n- {@link isInvalid}: Sets the invalid state of the input element.\n- {@link fractionDigits}: Determines how many digits to show after the decimal point.\n- {@link digits}: Determines how many digits to show before the decimal point.\n- {@link fillFraction}: Fills the decimal part with zeros in case it's less than the fractionDigits.\n- {@link roundUp}: Rounds a number with more than two decimals UP.\n- {@link noFormat}: Disables the number formatting. It will be treated as a plain number.\n- {@link value}: The value of the input element.\n- {@link placeholder}: The placeholder value of the input element.\n- {@link euiClearable}: Adds a clear button to the input element.\n- {@link euiLoading}: Adds a loading spinner to the input element.\n- {@link readonly}: Disables the input element.\n- {@link disabled}: Disables the input element.\n- {@link euiDanger}: Sets the invalid state of the input element.\n- {@link euiSuccess}: Sets the success state of the input element.\n- {@link euiWarning}: Sets the warning state of the input element.\n- {@link euiInfo}: Sets the info state of the input element.\n- {@link euiPrimary}: Sets the primary state of the input element.\n- {@link euiSecondary}: Sets the secondary state of the input element.\n\n### Basic Usage\n```html\n<input euiInputNumber [(ngModel)]=\"amount\" [fractionDigits]=\"2\" />\n```\n\n### With Min/Max Range\n```html\n<input euiInputNumber [min]=\"0\" [max]=\"100\" [(ngModel)]=\"percentage\" />\n```\n\n### Currency Format\n```html\n<input euiInputNumber [fractionDigits]=\"2\" [fillFraction]=\"true\" placeholder=\"0.00\" />\n```\n\n### Accessibility\n- Use associated `<label>` with `for` attribute\n- Invalid state is communicated via `aria-invalid`\n- Min/max constraints are enforced during input\n\n### Notes\n- Automatically formats numbers based on current locale\n- Supports large numbers as strings to avoid precision loss\n- Use `fillFraction` for consistent decimal display (e.g., currency)\n- `roundUp` parameter controls decimal rounding behavior\n",
            "type": "component",
            "sourceCode": "import {\n    booleanAttribute,\n    Component,\n    computed,\n    DoCheck,\n    effect,\n    ElementRef,\n    HostBinding,\n    HostListener,\n    inject,\n    input,\n    InputSignal,\n    LOCALE_ID,\n    numberAttribute,\n    OnChanges,\n    OnDestroy,\n    OnInit,\n    PLATFORM_ID,\n    Renderer2,\n    Signal,\n    signal,\n    SimpleChanges,\n} from '@angular/core';\nimport { LocaleService, LocaleState, injectOptional } from '@eui/core';\nimport { BooleanInput, coerceBooleanProperty, NumberInput } from '@angular/cdk/coercion';\nimport { type CleaveOptions } from 'cleave.js/options';\nimport Cleave from 'cleave.js';\nimport { CleaveEventOnChange } from './models/cleave-event-onchange.model';\nimport { InputDirective } from '@eui/components/shared';\nimport { DOCUMENT, isPlatformBrowser, isPlatformServer } from '@angular/common';\nimport { EuiClearableDirective, EuiLoadingDirective } from '@eui/components/directives';\nimport { NgControl } from '@angular/forms';\n\nexport interface CleaveInstance extends Cleave {\n    initSwapHiddenInput?: () => void;\n    initNumeralFormatter?: () => void;\n    initTimeFormatter?: () => void;\n    initDateFormatter?: () => void;\n    initPhoneFormatter?: () => void;\n    updateCreditCardPropsByValue?: () => void;\n    updateValueState?: () => void;\n    callOnValueChanged?: () => void;\n    onChange?: (event?: Event) => void;\n    onCut?: (event?: Event) => void;\n    onFocus?: (event?: Event) => void;\n    onCopy?: (event?: Event) => void;\n    onKeyDown?: (event?: Event) => void;\n    onChangeListener?: (event?: Event) => void;\n    onKeyDownListener?: (event?: Event) => void;\n    onFocusListener?: (event?: Event) => void;\n    onCutListener?: (event?: Event) => void;\n    onCopyListener?: (event?: Event) => void;\n}\n\n/**\n * Get the decimal separator based on the locale\n *\n * @param locale value of the locale based on ISO 639-1\n */\nfunction getDecimal(locale: string): string {\n    return getLocaleConfig(locale).decimal;\n}\n\n/**\n * Get the group separator based on the locale\n *\n * @param locale value of the locale based on ISO 639-1\n */\nfunction getGroup(locale: string): string {\n    return getLocaleConfig(locale).group;\n}\n\n/**\n * Returns the decimal and group separators for a given locale\n *\n * @param locale value of the locale based on ISO 639-1\n */\nfunction getLocaleConfig(locale: string): { group: string; decimal: string } {\n    const parts = new Intl.NumberFormat(locale, { useGrouping: true }).formatToParts(10000.1);\n\n    return {\n        group: parts.find(p => p.type === 'group')?.value || '',\n        decimal: parts.find(p => p.type === 'decimal')?.value || '.',\n    };\n}\n\n/**\n * @description\n * Input number component that allows the user to enter a number. It supports number\n * formatting and validation. It uses Cleave.js to format the number. It depends on\n * the {@link LocaleService} to get the current locale and format the number accordingly.\n *\n * It supports the following attributes:\n * - {@link min}: The minimum number can be entered. Blocks user's input if not in range.\n * - {@link max}: The maximum number can be entered. Blocks user's input if not in range.\n * - {@link leadingZero}: Adds leading zero to a number. Formatting will not work.\n * - {@link isInvalid}: Sets the invalid state of the input element.\n * - {@link fractionDigits}: Determines how many digits to show after the decimal point.\n * - {@link digits}: Determines how many digits to show before the decimal point.\n * - {@link fillFraction}: Fills the decimal part with zeros in case it's less than the fractionDigits.\n * - {@link roundUp}: Rounds a number with more than two decimals UP.\n * - {@link noFormat}: Disables the number formatting. It will be treated as a plain number.\n * - {@link value}: The value of the input element.\n * - {@link placeholder}: The placeholder value of the input element.\n * - {@link euiClearable}: Adds a clear button to the input element.\n * - {@link euiLoading}: Adds a loading spinner to the input element.\n * - {@link readonly}: Disables the input element.\n * - {@link disabled}: Disables the input element.\n * - {@link euiDanger}: Sets the invalid state of the input element.\n * - {@link euiSuccess}: Sets the success state of the input element.\n * - {@link euiWarning}: Sets the warning state of the input element.\n * - {@link euiInfo}: Sets the info state of the input element.\n * - {@link euiPrimary}: Sets the primary state of the input element.\n * - {@link euiSecondary}: Sets the secondary state of the input element.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <input euiInputNumber [(ngModel)]=\"amount\" [fractionDigits]=\"2\" />\n * ```\n *\n * ### With Min/Max Range\n * ```html\n * <input euiInputNumber [min]=\"0\" [max]=\"100\" [(ngModel)]=\"percentage\" />\n * ```\n *\n * ### Currency Format\n * ```html\n * <input euiInputNumber [fractionDigits]=\"2\" [fillFraction]=\"true\" placeholder=\"0.00\" />\n * ```\n *\n * ### Accessibility\n * - Use associated `<label>` with `for` attribute\n * - Invalid state is communicated via `aria-invalid`\n * - Min/max constraints are enforced during input\n *\n * ### Notes\n * - Automatically formats numbers based on current locale\n * - Supports large numbers as strings to avoid precision loss\n * - Use `fillFraction` for consistent decimal display (e.g., currency)\n * - `roundUp` parameter controls decimal rounding behavior\n */\n@Component({\n    // eslint-disable-next-line @angular-eslint/component-selector\n    selector: 'input[euiInputNumber]',\n    styleUrls: ['./eui-input-number.scss'],\n    template: '',\n    hostDirectives: [\n        {\n            directive: EuiClearableDirective,\n            inputs: ['euiClearable', 'readonly', 'disabled'],\n        },\n        {\n            directive: EuiLoadingDirective,\n            inputs: ['euiLoading', 'readonly'],\n        },\n    ],\n    host: {\n        '(blur)': 'onTouched()',\n\t\t'[attr.type]': 'type',\n\t\t'(paste)': 'onPaste($event)',\n    },\n})\nexport class EuiInputNumberComponent extends InputDirective implements OnInit, OnDestroy, DoCheck, OnChanges {\n    /**\n     * The minimum number can be entered. Blocks user's input if not in range.\n     */\n    min = input<number, NumberInput>(undefined, { transform: numberAttribute });\n    /**\n     * The maximum number can be entered. Blocks user's input if not in range.\n     */\n    max = input<number, NumberInput>(undefined, { transform: numberAttribute });\n    /**\n     * Adds leading zero to a number. Formatting will not work.\n     *      e.g. with leadingZero=3 input number 5 => 005\n     * @default 0\n     */\n    leadingZero  = input<number, NumberInput>(0, { transform: (v: unknown) => numberAttribute(v, 0) });\n    isInvalid = input<boolean, BooleanInput>(undefined, { transform: this.invalidTransform });\n\n    /**\n     * CSS classes to be added to the host element.\n     */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [super.getCssClasses('eui-input-number'), this._isInvalid() ? 'eui-input-number--invalid' : ''].join(' ').trim();\n    }\n\n    /**\n     *  determines how many digits to show after the decimal point\n     *  @default 0\n     */\n    fractionDigits = input<number, NumberInput>(0, { transform: (v: unknown) => numberAttribute(v, 0) });\n    /**\n     * determines how many digits to show before the decimal point\n     */\n    digits = input<number, NumberInput>(undefined, { transform: numberAttribute });\n    /**\n     * fills the decimal part with zeros in case it's less than the fractionDigits\n     */\n    fillFraction = input<boolean, BooleanInput>(undefined, { transform: booleanAttribute });\n    /**\n     * rounds a number with more than two decimals UP\n     */\n    roundUp = input<number, NumberInput>(undefined, { transform: numberAttribute });\n    /**\n     * Disables the number formatting. It will be treated as a plain number.\n     * Will do a thousand grouping of number.\n     */\n    noFormat = input<boolean, BooleanInput>(undefined, { transform: booleanAttribute });\n    /**\n     * The type of the input element.\n     * @default 'eui-number'\n     */\n\tprotected type = 'eui-number';\n    /**\n     * The value of the input element.\n     */\n    value: InputSignal<string> = input();\n    public onChangeCallback: <T>(_: T) => void;\n    /**\n     * holds an instance of cleave.js\n     */\n    cleaveInstance: CleaveInstance;\n\n    protected _elementRef: ElementRef = inject(ElementRef);\n    protected _renderer: Renderer2 = inject(Renderer2);\n    /**\n     * holds an instance of cleave options for the Cleave instance\n     */\n    private options: CleaveOptions;\n    /**\n     * Signal that tracks the invalid state of the associated form control.\n     * Used to reactively update the component's visual state when the form control's validity changes.\n     * @internal\n     */\n    private controlInvalid = signal(false);\n    /**\n     * Signal that tracks whether the associated form control has been touched.\n     * Used to determine when to show validation messages.\n     * Initialized with the control's touched state if available.\n     * @internal\n     */\n    private controlTouched = signal(this.control?.touched);\n    /** @internal */\n    private _isInvalid: Signal<boolean> = signal(false);\n    private localeService = injectOptional(LocaleService);\n    private locale_id = inject(LOCALE_ID);\n    private document = inject<Document>(DOCUMENT);\n    private platformId = inject(PLATFORM_ID);\n\n    constructor() {\n        super();\n        const locale_id = this.locale_id;\n\n        // set default options\n        this.options = {\n            numeral: true,\n            delimiter: getGroup(locale_id || 'en'),\n            numeralDecimalMark: getDecimal(locale_id || 'en'),\n            numeralDecimalScale: this.fractionDigits(),\n            numeralIntegerScale: this.digits(),\n        };\n\n        effect(() => {\n            this.euiDanger = this._isInvalid();\n        });\n    }\n\n    ngOnInit(): void {\n        super.ngOnInit();\n\n        this.control = this.injector.get(NgControl, undefined, { optional: true });\n\n        // instantiate cleave\n        if (!this.control) {\n            this.initCleave();\n        }\n\n        // subscribe to localization service and listen for locale change. De-construction of locale should happen here!\n        this.localeService?.getState().subscribe((state: LocaleState) => {\n            this.options = this.getCleaveOptsBasedOnLocale(state?.id);\n\n            // update the options on the cleave instance\n            this.updateOptions(true);\n        });\n\n        this._renderer.setProperty(this._elementRef.nativeElement, 'rootClassName', 'eui-input-number');\n\n        this._isInvalid = computed(() => {\n            const controlTouched = this.controlTouched();\n            const controlInvalid = this.controlInvalid();\n            const isInvalid = this.isInvalid();\n            // Check if the control is invalid and touched\n            return this.control ? controlInvalid && controlTouched : isInvalid;\n        });\n\n    }\n\n    ngDoCheck(): void {\n        if (!this.control) {\n            this.control = this.injector.get(NgControl, undefined, { optional: true });\n        }\n        if(this.control) {\n            this.controlInvalid.set(this.control.invalid);\n            this.controlTouched.set(this.control.touched);\n        }\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (Object.hasOwn(changes, 'value')) {\n            this._elementRef.nativeElement.value = this.value();\n            if (this.cleaveInstance) {\n                this.cleaveInstance.setRawValue(this.value());\n            }\n        }\n        if (Object.hasOwn(changes, 'fractionDigits')) {\n            this.options = { ...this.options, numeralDecimalScale: this.fractionDigits() };\n            this.updateOptions();\n        }\n        if (Object.hasOwn(changes, 'noFormat')) {\n            this.options = { ...this.options, numeralThousandsGroupStyle: this.noFormat() ? 'none' : 'thousand' };\n            this.updateOptions();\n        }\n        if (Object.hasOwn(changes, 'fillFraction') && this.cleaveInstance) {\n            this.applyFractionFill(this.cleaveInstance.getRawValue());\n        }\n        if (Object.hasOwn(changes, 'digits')) {\n            this.options = { ...this.options, numeralIntegerScale: this.digits() };\n            this.updateOptions();\n        }\n        if (Object.hasOwn(changes, 'min')) {\n            if (changes['min'].currentValue >= 0) {\n                if (this.cleaveInstance) {\n                    // take care of the sign symbol\n                    this.cleaveInstance.setRawValue(Math.abs(Number(this.cleaveInstance.getRawValue())).toString());\n                }\n            }\n        }\n        if (Object.hasOwn(changes, 'max')) {\n            // check if current value is in range\n            if (this.cleaveInstance) {\n                const number = Number(this.cleaveInstance.getRawValue());\n                if (number > this.max()) {\n                    this.cleaveInstance.setRawValue(this.max().toString());\n                }\n            }\n        }\n        if (Object.hasOwn(changes, 'roundUp')) {\n            if (changes['roundUp'].currentValue > 0) {\n                if (this.cleaveInstance) {\n                    let number = this.parseNumber(this.cleaveInstance.getRawValue(), false, false);\n                    number = this.decimalAdjust(number, this.roundUp());\n                    this.cleaveInstance.setRawValue(number.toString());\n                }\n            }\n        }\n        if (Object.hasOwn(changes, 'placeholder')) {\n            // parse number\n            const number = this.parseNumber(changes['placeholder'].currentValue?.toString() || undefined);\n            // set placeholder in case none is provided\n            this.setPlaceholderAttribute(!this.isItaNumber(number.toString()) ? changes['placeholder'].currentValue : number);\n        }\n    }\n\n    ngOnDestroy(): void {\n        super.ngOnDestroy();\n        // destroy cleave instance\n        if (this.cleaveInstance) {\n            this.cleaveInstance.destroy();\n        }\n    }\n\n    onChange: <T>(_: T) => void = <T>(_: T): void => {\n        if (this.control && (_ !== null || _ !== undefined)) {\n            // parse number\n            // const value = Number(_);\n            // run on next MicroTask to avoid NG0100 error TODO: deeper investigation\n            // Promise.resolve().then(() => this.control.viewToModelUpdate(value));\n            // in case control is FormControl\n            // this.control?.control.setValue(isNaN(value) ? null : value, { emitEvent: false, emitModelToViewChange: false });\n        }\n    };\n    onTouched: () => void = (): void => {\n        this.control?.control.markAsTouched();\n    };\n\n    onPaste(event: ClipboardEvent): void {\n        // get the value from clipboard\n        const value = (event.clipboardData || window['clipboardData']).getData('text');\n        // in case round UP is enabled\n        if (this.roundUp() > 0) {\n            const div = this.document.createElement('input');\n            // create a clone of cleaveInstance\n            const cloneInstance: CleaveInstance = new Cleave(div, { ...this.options, numeralDecimalScale: 8 });\n            cloneInstance.setRawValue(value.toString());\n            let number = this.parseNumber(cloneInstance.getRawValue(), false, false);\n            number = this.decimalAdjust(number, this.roundUp());\n            if (this.isItaNumber(number.toString())) {\n                // TODO: investigate in the future how can this be avoided\n                setTimeout(() => {\n                    this.cleaveInstance.setRawValue(number.toString());\n                    // this.writeValue(number.toString());\n                }, 0);\n            }\n        }\n    }\n\n    @HostListener('keydown', ['$event'])\n    protected onKeyDown(e: KeyboardEvent): void {\n        // check if it's a single symbol and not Special like (Ctrl, backspace etc.)\n        if (e?.key?.length <= 1 && !e.ctrlKey && !e.altKey && !e.metaKey) {\n            // stop event propagation if key pressed is not a number or locale character or minus sign\n            if (\n                Number.isNaN(Number.parseInt(e.key, 10)) &&\n                this.isMinusAllowed(e.key) &&\n                e.key !== getDecimal(this.localeService?.currentLocale || this.locale_id)\n            ) {\n                e.stopPropagation();\n                e.preventDefault();\n                // stop event propagation if key pressed exceeds the min/max value range\n            } else if (!Number.isNaN(Number.parseInt(e.key, 10)) && this.isOutSideRange(e)) {\n                e.stopPropagation();\n                e.preventDefault();\n            } else if (this.isOutSideRange(e)) {\n                e.stopPropagation();\n                e.preventDefault();\n            }\n        }\n\n        // protect decimal symbol deletion in case fillFraction is on\n        if (e.key === 'Delete' || e.key === 'Backspace') {\n            const element = this._elementRef.nativeElement;\n            // position of caret\n            const pos = element.selectionStart;\n            // get character about to be deleted\n            const char = element.value.charAt(pos - 1);\n            // in case the char is the decimal symbol prevent deletion and move caret in front\n            if (this.fillFraction() &&\n                char === getDecimal(this.localeService?.currentLocale || this.locale_id)) {\n                e.stopPropagation();\n                e.preventDefault();\n                element.setSelectionRange(pos - 1, pos - 1);\n            } else if (this.isOutSideRange(e)) {\n                // don't allow insertion that will put number out of range\n                e.stopPropagation();\n                e.preventDefault();\n            }\n        }\n    }\n\n    @HostListener('focusout')\n    protected onFocusout(): void {\n        // in case fillFraction feature is on and there's no integer part add leading 0\n        if (this.fillFraction() && this.cleaveInstance.getRawValue().match(/^\\.[0-9]+/g)) {\n            this.cleaveInstance.setRawValue('0' + this.cleaveInstance.getRawValue());\n        }\n\n        // in case round UP is enabled\n        if (this.roundUp() > 0) {\n            const number = this.parseNumber(this.cleaveInstance.getRawValue(), false, false);\n            this.cleaveInstance.setRawValue(this.decimalAdjust(number, this.roundUp()).toString());\n        }\n\n        // in case min is set and value is less than min reset to the min value\n        if (this.min() !== null && this.min() !== undefined && Number.parseFloat(this.cleaveInstance.getRawValue()) < this.min()) {\n            this.cleaveInstance.setRawValue(this.min().toString());\n        }\n\n        // in case max is set and value is greater than max reset to the max value\n        if (this.max() !== null && this.max() !== undefined && Number.parseFloat(this.cleaveInstance.getRawValue()) > this.max()) {\n            this.cleaveInstance.setRawValue(this.max().toString());\n        }\n    }\n\n    /**\n     * @Override setPlaceholder setPlaceholderAttribute of InputDirective\n     * Updates the placeholder value based on current number format and given value.\n     * If value passed contains characters it doesn't format placeholder.\n     * */\n    protected setPlaceholderAttribute(value: string | number): void {\n        // if value is a number, format the value based on current number format\n        if (typeof value === 'number' && !isNaN(value) && isPlatformBrowser(this.platformId)) {\n            const div = this.document.createElement('input');\n            // create a clone of cleaveInstance\n            const cloneInstance: CleaveInstance = new Cleave(div, this.options);\n            // BEWARE: by the time your setRawValue cleave options have changed thus number formatting\n            cloneInstance.setRawValue(value.toString());\n            // set the value with current format as placeholder\n            super.setPlaceholderAttribute(cloneInstance.getFormattedValue());\n        } else if (typeof value === 'string') {\n            super.setPlaceholderAttribute(value.toString());\n        } else if (isNaN(value)) {\n            value = this._elementRef.nativeElement.placeholder;\n            super.setPlaceholderAttribute(value.toString());\n        }\n    }\n\n    /**\n     * instantiate Cleave.js\n     */\n    private initCleave<T, P>(onChangeCallback?: (obj: T) => P): void {\n        if(isPlatformServer(this.platformId)) {\n            // in case it's not a browser environment\n            return;\n        }\n        // change the cleave prototype function to intercept onCut callback\n        // and allow based on the event bubbling and disabled state\n        // TIP: change behavior of onCut to stop in case bubble is canceled\n        // TODO: See relevant issue https://github.com/nosir/cleave.js/issues/675\n        const _onCut = Cleave.prototype['onCut'];\n        Cleave.prototype['onCut'] = function (e: Event): void {\n            /* eslint-enable no-invalid-this */\n            // Check if the event is composed and stopPropagation hasn't been called\n            if (!e.composed && !e.defaultPrevented && !this.element.disabled) {\n                _onCut.call(this, e);\n            }\n            /* eslint-disable no-invalid-this */\n        };\n\n        // in case options is undefined\n        const opts: CleaveOptions = { ...this.options };\n\n        // set the onValue change listener to keep the value at readOnly element in sync\n        opts.onValueChanged = onChangeCallback || this.onValueChanged.bind(this);\n\n        // in case round UP is enabled\n        if (this.roundUp() > 0) {\n            const number = this.parseNumber(this._elementRef.nativeElement.value);\n            this._elementRef.nativeElement.value = this.decimalAdjust(number, this.roundUp());\n        }\n\n        // create the Cleave instance with the new or updated options\n        this.cleaveInstance = new Cleave(this._elementRef.nativeElement, opts);\n    }\n\n    /**\n     * Updates the cleave options by destroying the current instance and creating another one while keeping the previous\n     * value.\n     */\n    private updateOptions(localeUpdated = false): void {\n        if (this.cleaveInstance) {\n            // the value before destroying cleave instance\n            const previousValue = this.cleaveInstance.getRawValue();\n\n            // update the Cleave instance with the new or updated options\n            this.cleaveInstance.properties = {\n                ...this.cleaveInstance.properties,\n                ...this.options,\n                initValue: previousValue,\n            };\n\n            // init number formatter with updated options\n            this.cleaveInstance.initNumeralFormatter();\n\n            // In case previous settings where numeralDecimalMark='.' with value 1000.99, and they changed to\n            // numeralDecimalMark=','; set initValue to 1000.99 or even 1000,99 will not be reflected and cleave will\n            // remove the decimal part. Set of the value after initialization causes reformat of number and works.\n            this.cleaveInstance.setRawValue(previousValue);\n\n            // parse number\n            const number = this.parseNumber(this._elementRef.nativeElement.placeholder || undefined, localeUpdated);\n            // set placeholder in case none is provided\n            this.setPlaceholderAttribute(number);\n        }\n    }\n\n    /**\n     * Callback function of the Cleave instance that is invoked when value is changed.\n     *\n     * @param event type of CleaveEventOnChange\n     */\n    private onValueChanged(event: CleaveEventOnChange): void {\n        const { target } = event;\n\n        if (this.fillFraction()) {\n            this.applyFractionFill(target.rawValue);\n        }\n        this.onChange(this.parseNumber(target.rawValue, false, false));\n        // fill leading zero\n        if (this.leadingZero()) {\n            const size = this.leadingZero() > this.digits() && this.digits() > 0 ? this.digits() : this.leadingZero();\n            this._elementRef.nativeElement.value = this.padZero(event.target.rawValue, size);\n        }\n    }\n\n    /**\n     * responsible to extract all locale information needed to build CleaveOptions related to number format.\n     *\n     * @param id The id of the locale\n     */\n    private getCleaveOptsBasedOnLocale(id: string): CleaveOptions {\n        if (!id || id === '') {\n            throw new Error('Locale id cannot be empty or undefined');\n        }\n        const opts: CleaveOptions = {\n            numeral: true,\n            delimiter: getGroup(id),\n            numeralDecimalMark: getDecimal(id),\n            numeralDecimalScale: this.fractionDigits(),\n            numeralIntegerScale: this.digits(),\n            numeralThousandsGroupStyle: this.noFormat() ? 'none' : 'thousand', // TODO: implement based on locale\n        };\n\n        return { ...this.options, ...opts };\n    }\n\n    /**\n     * Applies the fill of decimal part with zeros in case decimal part of given number has\n     * size less than the max fraction digits.\n     *\n     * @param number\n     * @param cleaveInstance\n     * @private\n     */\n    private applyFractionFill(number: string, cleaveInstance: CleaveInstance = this.cleaveInstance): void {\n        // if fill fraction is enabled and there's cleave instance\n        if (this.fillFraction()) {\n            if (this.cleaveInstance) {\n                number = number?.toString();\n                if (number === '' || !number) {\n                    return;\n                }\n                const hasDecimal = number.split('.').length > 1;\n                // in case there's already decimal point in number\n                if (hasDecimal) {\n                    const decimalSize = number.split('.')[1].length;\n                    // if size of decimal part of number is less than the max fraction digits\n                    if (decimalSize < this.fractionDigits()) {\n                        number = number + new Array(this.fractionDigits() - decimalSize).fill(0).join('');\n                        const pos = this._elementRef.nativeElement.selectionStart;\n                        cleaveInstance.setRawValue(number);\n                        this._elementRef.nativeElement.setSelectionRange(pos, pos);\n                    }\n                    // in case there's not, force it by filling it as much zero as the fraction digits\n                } else if (this.fractionDigits() > 0) {\n                    number = `${number}.${new Array(this.fractionDigits()).fill(0).join('')}`;\n                    const pos = this._elementRef.nativeElement.selectionStart;\n                    cleaveInstance.setRawValue(number);\n                    this._elementRef.nativeElement.setSelectionRange(pos, pos);\n                }\n            }\n        }\n    }\n\n    /**\n     * Parses a given formatted number and returns it as a number.\n     *\n     * @param value The formatted number you want to parse e.g. 111,888.22\n     * @param userPrevLocaleState Use previous locale state to parse the value. By default, is false\n     * @param replaceSymbol Replace the decimal symbol with a dot. By default, is false\n     * @private\n     */\n    private parseNumber(value: string, userPrevLocaleState = false, replaceSymbol = true): number | string {\n        // locale state\n        const locale = userPrevLocaleState ? this.localeService?.previousLocale : this.localeService?.currentLocale || this.locale_id || 'en';\n        // get decimal and group symbols\n        const decimalSymbol = getDecimal(locale);\n        const groupSymbol = getGroup(locale);\n        // replace symbols to parse number\n        const parsedNumber = value?.split(groupSymbol).join('').split(decimalSymbol).join('.');\n        return this.parseBigNumber(replaceSymbol ? parsedNumber : value);\n    }\n\n    /**\n     * Pad leading zero to the number\n     *\n     * @param num The number to add leading zero to\n     * @param size Number of number's leading zero\n     * @private\n     */\n    private padZero(num: string, size: number): string {\n        num = num.toString();\n        // get integer and decimal part\n        // eslint-disable-next-line prefer-const\n        let [integer, decimal] = num.split('.');\n        while (integer.length < size) {\n            integer = '0' + integer;\n        }\n        return decimal ? `${integer}.${decimal}` : integer;\n    }\n\n    /**\n     * checks whether the min symbol is allowed. It is allowed when minus symbol\n     * provided and min input is undefined or min provided and is negative.\n     *\n     * @param key The key string coming from an event\n     */\n    private isMinusAllowed(key: string): boolean {\n        return !this.min() || this.min() < 0 ? key !== '-' : true;\n    }\n\n    /**\n     * check whether the key entered is inside the min and\n     * max range. Returns true if it's out of range.\n     *\n     * @param e A keyboard event\n     */\n    private isOutSideRange(e: KeyboardEvent): boolean {\n        if (!this.cleaveInstance) {\n            return false;\n        }\n        // get caret position\n        const pos = e.target['selectionStart'];\n        // get caret position (in case there's text selected)\n        const endPos = e.target['selectionEnd'];\n        // get current value (formatted)\n        let value = e.target['value'];\n        // remove key from value\n        if (e.key === 'Delete' || e.key === 'Backspace') {\n            // check if there's selection of text to be removed\n            if (pos !== endPos) {\n                value = e.target['value'].substring(0, pos) + e.target['value'].substring(endPos, e.target['value'].length);\n            } else {\n                value = e.target['value'].substring(0, pos - 1) + e.target['value'].substring(endPos, e.target['value'].length);\n            }\n        } else {\n            // add key to the value\n            value = [value.slice(0, pos), e.key, value.slice(endPos)].join('');\n        }\n\n        // create a Cleave instance to extract the number from formatted value\n        const cleave: CleaveInstance = new Cleave(this.document.createElement('input'), { ...this.options });\n        cleave.setRawValue(value);\n        const number = Number(cleave.getRawValue());\n        // destroy cleave instance\n        cleave.destroy();\n        return !isNaN(number) &&\n            this.min() >= 0 ? (this.isDefined(this.max()) && this.max() < number) : (this.min() > number || this.max() < number) &&\n            this.max() <= 0 ? (this.isDefined(this.min()) && this.min() > number) : (this.min() > number || this.max() < number);\n    }\n\n    /**\n     * Decimal adjustment of a number.\n     *\n     * @param value The number or string representation of a number.\n     * @param exp   The exponent (the 10 logarithm of the adjustment base).\n     * @returns The adjusted value.\n     */\n    private decimalAdjust(value: number | string, exp: number): string {\n        // Ensure exp is a number\n        exp = +Number(exp);\n\n        // Convert input to string if it's a number\n        const valueStr = typeof value === 'number' ? value.toString() : String(value);\n\n        // Handle empty or invalid inputs\n        if (!valueStr || isNaN(Number(valueStr))) {\n            return '';\n        }\n\n        try {\n            // Check if the value is negative\n            const isNegative = valueStr.startsWith('-');\n            // Get the absolute value string\n            const absoluteValueStr = isNegative ? valueStr.substring(1) : valueStr;\n\n            // Split the number into integer and decimal parts\n            const parts = absoluteValueStr.split('.');\n            let integerPart = parts[0] || '0';  // Default to '0' if empty\n            let decimalPart = parts.length > 1 ? parts[1] : '';\n\n            // If there's no decimal part and exp > 0, we should add zeros\n            if (decimalPart === '' && exp > 0) {\n                decimalPart = '0'.repeat(exp);\n            }\n\n            // Pad decimal part with zeros if needed\n            if (decimalPart.length < exp) {\n                decimalPart = decimalPart.padEnd(exp, '0');\n            }\n\n            // Determine if we need to round up\n            let roundUp = false;\n            if (decimalPart.length > exp) {\n                const nextDigit = parseInt(decimalPart.charAt(exp), 10);\n                roundUp = nextDigit >= 5;\n            }\n\n            // Trim the decimal part to the required precision\n            decimalPart = decimalPart.substring(0, exp);\n\n            // Handle rounding\n            if (roundUp) {\n                if (exp === 0) {\n                    // If exp is 0, we need to round the integer part\n                    integerPart = (BigInt(integerPart) + 1n).toString();\n                } else {\n                    // Create a number from the decimal part\n                    let decimalNum = parseInt(decimalPart, 10);\n\n                    // Add 1 to the decimal part\n                    decimalNum += 1;\n\n                    // Check if we need to carry over to the integer part\n                    if (decimalNum.toString().length > exp) {\n                        integerPart = (BigInt(integerPart) + 1n).toString();\n                        decimalNum = 0;\n                    }\n\n                    // Convert back to string and pad with leading zeros if needed\n                    decimalPart = decimalNum.toString().padStart(exp, '0');\n                }\n            }\n\n            // Combine the parts\n            let result: string;\n            if (exp > 0) {\n                // Remove trailing zeros if they're not significant\n                let trimmedDecimalPart = decimalPart;\n                while (trimmedDecimalPart.length > 0 && trimmedDecimalPart.charAt(trimmedDecimalPart.length - 1) === '0') {\n                    trimmedDecimalPart = trimmedDecimalPart.substring(0, trimmedDecimalPart.length - 1);\n                }\n\n                result = trimmedDecimalPart.length > 0 ? `${integerPart}.${trimmedDecimalPart}` : integerPart;\n            } else {\n                result = integerPart;\n            }\n\n            // Restore the negative sign if needed\n            return isNegative ? '-' + result : result;\n        } catch (error) {\n            console.error('Error in decimalAdjust:', error);\n            // If there's an error, return a formatted original value or '0'\n            return valueStr || '0';\n        }\n    }\n\n    /**\n     * Checks whether a value is defined or not\n     *\n     * @param value\n     */\n    private isDefined(value: number): boolean {\n        return value !== undefined && value !== null;\n    }\n\n    /**\n     * Check if the value is a valid number. Take into account the Big numbers\n     * more than 16 digits. Check if string contains only digits and dots.\n     * The number value must not be formatted.\n     * @param value the value to check\n     * @private\n     */\n    private isItaNumber(value: string): boolean {\n        const length = value?.split('.')[0].length\n        return length > 15 ? /^\\d+(\\.\\d+)?$/.test(value) : !isNaN(Number(value));\n    }\n\n    /**\n     * Parse the value to a number. For large numbers, the value is a string.\n     * The number value must not be formatted.\n     * @param value the value to parse\n     * @private\n     */\n    private parseBigNumber(value: string): number | string {\n        // for large numbers, the value is a string\n        const length = value?.split('.')[0].length\n        return length > 15 ? value : Number.parseFloat(value);\n    }\n\n    /**\n     * @description\n     * Transforms the invalid state input to a boolean value\n     *\n     * @param state\n     * @private\n     */\n    private invalidTransform(state: BooleanInput): boolean {\n        // in case it's controlled by NgControl override\n        const value = coerceBooleanProperty(state);\n\n        // set BaseDirective Attribute\n        this.euiDanger = value;\n\n        return value;\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@use '../base' as base;\n\n.eui-21 {\n    :host.eui-input-number {\n        @include base.eui-ellipsis();\n        @include base.eui-input();\n    \n        &[readonly] {\n            pointer-events: auto;\n        }\n    }\n}\n",
                    "styleUrl": "./eui-input-number.scss"
                }
            ],
            "stylesData": "",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 250
            },
            "extends": [
                "InputDirective"
            ],
            "implements": [
                "OnInit",
                "OnDestroy",
                "DoCheck",
                "OnChanges"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 185,
                        "rawdescription": "\n\nCSS classes to be added to the host element.\n",
                        "description": "<p>CSS classes to be added to the host element.</p>\n"
                    }
                }
            }
        },
        {
            "name": "EuiInputRadioComponent",
            "id": "component-EuiInputRadioComponent-d90f4522ecc98ef08fd4026f78e3d683cfbe20d2eb2c610eb8b2fda8f990bae800e61c5e47d8d012c145b912641b43327882ac8f4cacbfe227154aca6a1c2620",
            "file": "packages/components/eui-input-radio/eui-input-radio.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "input[euiInputRadio]",
            "styleUrls": [
                "./eui-input-radio.scss"
            ],
            "styles": [],
            "template": "",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "checked",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5122,
                            "end": 5186,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5123,
                                "end": 5131,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "property"
                            },
                            "comment": "<p>{any} defaultChecked - The default checked state</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nGets or sets the default checked state of the radio input.\nThis is different from the current checked state and represents the initial value.\n\n",
                    "description": "<p>Gets or sets the default checked state of the radio input.\nThis is different from the current checked state and represents the initial value.</p>\n",
                    "line": 151,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "isInvalid",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4186,
                            "end": 4260,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4187,
                                "end": 4195,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "property"
                            },
                            "comment": "<p>{boolean} isInvalid - The invalid state of the radio input</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nGets or sets whether the radio input is in an invalid state.\nThis can be set manually or will be automatically set when used with form validation.\n\n",
                    "description": "<p>Gets or sets whether the radio input is in an invalid state.\nThis can be set manually or will be automatically set when used with form validation.</p>\n",
                    "line": 122,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "value",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6091,
                            "end": 6163,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6092,
                                "end": 6100,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "property"
                            },
                            "comment": "<p>{any} value - The value associated with this radio input</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nGets or sets the value of the radio input.\nThe value can be of any type and will be used when the radio is selected in a form group.\n\n",
                    "description": "<p>Gets or sets the value of the radio input.\nThe value can be of any type and will be used when the radio is selected in a form group.</p>\n",
                    "line": 178,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "disabled",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 32,
                    "type": "boolean",
                    "decorators": [],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "required": false,
                    "name": "euiDanger",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 28,
                    "type": "boolean",
                    "decorators": [],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "required": false,
                    "name": "euiDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 27,
                    "type": "boolean",
                    "decorators": [],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "placeholder",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 55,
                    "type": "string | null",
                    "decorators": [],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "readonly",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 46,
                    "type": "any",
                    "decorators": [],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "_defaultChecked",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 158,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "_elementRef",
                    "defaultValue": "inject<ElementRef<HTMLInputElement>>(ElementRef)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef<HTMLInputElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 189,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_isInvalid",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 128,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "_renderer",
                    "defaultValue": "inject(Renderer2)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Renderer2",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 190,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "ngControl",
                    "defaultValue": "inject(NgControl, { optional: true, self: true })!",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 188,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "onChange",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 353,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "onTouched",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 358,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "type",
                    "defaultValue": "'radio'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 140,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.type'"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ]
                },
                {
                    "name": "_disabled",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 62,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 66,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_placeholder",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 64,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_readonly",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 63,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_statusListener",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Subscription",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 65,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_viewContainerRef",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ViewContainerRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 67,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "control",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "NgControl",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 68,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "injector",
                    "defaultValue": "inject(Injector)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 71,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                }
            ],
            "methodsClass": [
                {
                    "name": "ngDoCheck",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 236,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nPerforms change detection and updates invalid state based on form control status.\n",
                    "description": "<p>Performs change detection and updates invalid state based on form control status.</p>\n"
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 248,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles changes to component inputs. Specifically, handles changes to\nreadonly and invalid states.\n\n",
                    "description": "<p>Handles changes to component inputs. Specifically, handles changes to\nreadonly and invalid states.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 8669,
                                "end": 8676,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "changes"
                            },
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 8647,
                                "end": 8652,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Object containing changed properties</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 8653,
                                "end": 8668,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 8654,
                                    "end": 8667,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 8654,
                                        "end": 8667,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "SimpleChanges"
                                    }
                                }
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 213,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nInitializes the component.\nSets up form control validation status subscription and handles initial state.\n",
                    "description": "<p>Initializes the component.\nSets up form control validation status subscription and handles initial state.</p>\n",
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "onCheckedChanged",
                    "args": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 317,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles change events on the radio input.\nUpdates the model value when the radio selection changes.\n\n",
                    "description": "<p>Handles change events on the radio input.\nUpdates the model value when the radio selection changes.</p>\n",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'change', ['$any($event)']"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 11184,
                                "end": 11189,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 11170,
                                "end": 11175,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The change event</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 11176,
                                "end": 11183,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 11177,
                                    "end": 11182,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 11177,
                                        "end": 11182,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "Event"
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "onSpacePressed",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 331,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles space key press events. Prevents selection changes when the input\nis readonly.\n\n",
                    "description": "<p>Handles space key press events. Prevents selection changes when the input\nis readonly.</p>\n",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'keydown.space', ['$any($event)']"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 11649,
                                "end": 11654,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 11627,
                                "end": 11632,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The keyboard event</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 11633,
                                "end": 11648,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 11634,
                                    "end": 11647,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 11634,
                                        "end": 11647,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "KeyboardEvent"
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "registerOnChange",
                    "args": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 286,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRegisters a callback function that is called when the control's value changes.\n\n",
                    "description": "<p>Registers a callback function that is called when the control&#39;s value changes.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 10072,
                                "end": 10074,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "fn"
                            },
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 10055,
                                "end": 10060,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The callback function</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 10061,
                                "end": 10071,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 10062,
                                    "end": 10070,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 10062,
                                        "end": 10070,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "Function"
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "registerOnTouched",
                    "args": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 297,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRegisters a callback function that is called when the control is touched.\n\n",
                    "description": "<p>Registers a callback function that is called when the control is touched.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 10488,
                                "end": 10490,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "fn"
                            },
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 10471,
                                "end": 10476,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The callback function</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 10477,
                                "end": 10487,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 10478,
                                    "end": 10486,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 10478,
                                        "end": 10486,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "Function"
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "setDisabledState",
                    "args": [
                        {
                            "name": "isDisabled",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": true,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 306,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the disabled state of the radio input.\n\n",
                    "description": "<p>Sets the disabled state of the radio input.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 10875,
                                "end": 10885,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "isDisabled"
                            },
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 10859,
                                "end": 10864,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Whether the radio input should be disabled</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 10865,
                                "end": 10874,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 10866,
                                    "end": 10873,
                                    "kind": 136,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "setInvalid",
                    "args": [
                        {
                            "name": "state",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 344,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the invalid state of the radio input.\nUpdates both the internal state and the visual appearance.\n\n",
                    "description": "<p>Sets the invalid state of the radio input.\nUpdates both the internal state and the visual appearance.</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 12070,
                                "end": 12075,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "state"
                            },
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 12054,
                                "end": 12059,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The invalid state to set</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 12060,
                                "end": 12069,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 12061,
                                    "end": 12068,
                                    "kind": 136,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "writeValue",
                    "args": [
                        {
                            "name": "obj",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 274,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nImplements ControlValueAccessor.writeValue.\nUpdates the checked state based on the form control value.\n\n",
                    "description": "<p>Implements ControlValueAccessor.writeValue.\nUpdates the checked state based on the form control value.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 9720,
                                "end": 9723,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "obj"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 9705,
                                "end": 9710,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The value to write</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 9711,
                                "end": 9719,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 9712,
                                    "end": 9718,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "getCssClasses",
                    "args": [
                        {
                            "name": "rootClass",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 112,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "rootClass",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "getPlaceholderAttribute",
                    "args": [],
                    "optional": false,
                    "returnType": "string | undefined",
                    "typeParameters": [],
                    "line": 120,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 98,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "setIdAttribute",
                    "args": [
                        {
                            "name": "value",
                            "type": "string | null",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "null"
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 144,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "string | null",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "null",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "setPlaceholderAttribute",
                    "args": [
                        {
                            "name": "value",
                            "type": "string | null",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 135,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "string | null",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.type",
                    "defaultValue": "'radio'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 140,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4635,
                            "end": 4694,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4636,
                                "end": 4643,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated list of CSS classes</p>\n",
                            "typeExpression": {
                                "pos": 4644,
                                "end": 4652,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 4645,
                                    "end": 4651,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nGets the CSS classes for the radio input component.\nCombines base classes with invalid state modifier if applicable.\n\n",
                    "description": "<p>Gets the CSS classes for the radio input component.\nCombines base classes with invalid state modifier if applicable.</p>\n",
                    "line": 137,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [
                {
                    "name": "change",
                    "args": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$any($event)"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles change events on the radio input.\nUpdates the model value when the radio selection changes.\n\n",
                    "description": "<p>Handles change events on the radio input.\nUpdates the model value when the radio selection changes.</p>\n",
                    "jsdoctags": [
                        {
                            "pos": 11169,
                            "end": 11214,
                            "kind": 342,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 11170,
                                "end": 11175,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The change event</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 11176,
                                "end": 11183,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 11177,
                                    "end": 11182,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 11177,
                                        "end": 11182,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "Event"
                                    }
                                }
                            },
                            "name": {
                                "pos": 11184,
                                "end": 11189,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "isNameFirst": false,
                            "isBracketed": false
                        }
                    ],
                    "line": 317
                },
                {
                    "name": "keydown.space",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$any($event)"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles space key press events. Prevents selection changes when the input\nis readonly.\n\n",
                    "description": "<p>Handles space key press events. Prevents selection changes when the input\nis readonly.</p>\n",
                    "jsdoctags": [
                        {
                            "pos": 11626,
                            "end": 11681,
                            "kind": 342,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 11627,
                                "end": 11632,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The keyboard event</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 11633,
                                "end": 11648,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 11634,
                                    "end": 11647,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 11634,
                                        "end": 11647,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "KeyboardEvent"
                                    }
                                }
                            },
                            "name": {
                                "pos": 11649,
                                "end": 11654,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "isNameFirst": false,
                            "isBracketed": false
                        }
                    ],
                    "line": 331
                }
            ],
            "standalone": false,
            "imports": [],
            "description": "<p>Radio input component for selecting a single value from a set of mutually exclusive options.\nIntegrates with Angular forms (both reactive and template-driven) and provides custom EUI styling.\nImplements ControlValueAccessor for seamless form integration with validation states and error handling.\nAutomatically manages checked state, value binding, and form control synchronization.\nMust be applied as an attribute directive to native HTML radio input elements.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Template-driven forms --&gt;\n&lt;div&gt;\n  &lt;input euiInputRadio type=&quot;radio&quot; name=&quot;size&quot; value=&quot;small&quot; [(ngModel)]=&quot;selectedSize&quot; id=&quot;size-small&quot; /&gt;\n  &lt;label for=&quot;size-small&quot;&gt;Small&lt;/label&gt;\n&lt;/div&gt;\n&lt;div&gt;\n  &lt;input euiInputRadio type=&quot;radio&quot; name=&quot;size&quot; value=&quot;medium&quot; [(ngModel)]=&quot;selectedSize&quot; id=&quot;size-medium&quot; /&gt;\n  &lt;label for=&quot;size-medium&quot;&gt;Medium&lt;/label&gt;\n&lt;/div&gt;\n&lt;div&gt;\n  &lt;input euiInputRadio type=&quot;radio&quot; name=&quot;size&quot; value=&quot;large&quot; [(ngModel)]=&quot;selectedSize&quot; id=&quot;size-large&quot; /&gt;\n  &lt;label for=&quot;size-large&quot;&gt;Large&lt;/label&gt;\n&lt;/div&gt;</code></pre></div><h3>Reactive Forms</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;form [formGroup]=&quot;myForm&quot;&gt;\n  &lt;div&gt;\n    &lt;input euiInputRadio type=&quot;radio&quot; formControlName=&quot;plan&quot; value=&quot;basic&quot; id=&quot;plan-basic&quot; /&gt;\n    &lt;label for=&quot;plan-basic&quot;&gt;Basic Plan&lt;/label&gt;\n  &lt;/div&gt;\n  &lt;div&gt;\n    &lt;input euiInputRadio type=&quot;radio&quot; formControlName=&quot;plan&quot; value=&quot;premium&quot; id=&quot;plan-premium&quot; /&gt;\n    &lt;label for=&quot;plan-premium&quot;&gt;Premium Plan&lt;/label&gt;\n  &lt;/div&gt;\n&lt;/form&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">myForm = this.fb.group({\n  plan: [&#39;basic&#39;, Validators.required]\n});</code></pre></div><h3>With Validation</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;form [formGroup]=&quot;form&quot;&gt;\n  &lt;div&gt;\n    &lt;input euiInputRadio type=&quot;radio&quot; formControlName=&quot;option&quot; value=&quot;yes&quot; id=&quot;opt-yes&quot; /&gt;\n    &lt;label for=&quot;opt-yes&quot;&gt;Yes&lt;/label&gt;\n  &lt;/div&gt;\n  &lt;div&gt;\n    &lt;input euiInputRadio type=&quot;radio&quot; formControlName=&quot;option&quot; value=&quot;no&quot; id=&quot;opt-no&quot; /&gt;\n    &lt;label for=&quot;opt-no&quot;&gt;No&lt;/label&gt;\n  &lt;/div&gt;\n  &lt;div *ngIf=&quot;form.get(&#39;option&#39;)?.invalid &amp;&amp; form.get(&#39;option&#39;)?.touched&quot; class=&quot;error&quot;&gt;\n    Please select an option\n  &lt;/div&gt;\n&lt;/form&gt;</code></pre></div><h3>Disabled State</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;input euiInputRadio type=&quot;radio&quot; name=&quot;status&quot; value=&quot;active&quot; [disabled]=&quot;true&quot; id=&quot;status-active&quot; /&gt;\n&lt;label for=&quot;status-active&quot;&gt;Active (disabled)&lt;/label&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Always associate radio inputs with labels using for/id attributes</li>\n<li>Group related radio buttons with the same name attribute</li>\n<li>Use fieldset and legend for radio button groups</li>\n<li>Provide clear, descriptive labels for each option</li>\n<li>Invalid state automatically applies aria-invalid</li>\n<li>Keyboard navigation: Tab to focus, Space to select</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Radio buttons with the same name are mutually exclusive</li>\n<li>Automatically generates unique IDs if not provided</li>\n<li>Invalid state styling applied when form control is invalid</li>\n<li>Supports readonly mode to prevent changes</li>\n<li>Value can be string, number, or boolean</li>\n<li>Integrates with Angular form validation</li>\n<li>Use with eui-label components for consistent styling</li>\n</ul>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;input euiInputRadio type=&quot;radio&quot; name=&quot;option&quot; value=&quot;1&quot; [(ngModel)]=&quot;selected&quot; id=&quot;opt-1&quot; /&gt;\n&lt;label for=&quot;opt-1&quot;&gt;Option 1&lt;/label&gt;</code></pre></div>",
            "rawdescription": "\n\nRadio input component for selecting a single value from a set of mutually exclusive options.\nIntegrates with Angular forms (both reactive and template-driven) and provides custom EUI styling.\nImplements ControlValueAccessor for seamless form integration with validation states and error handling.\nAutomatically manages checked state, value binding, and form control synchronization.\nMust be applied as an attribute directive to native HTML radio input elements.\n\n### Basic Usage\n```html\n<!-- Template-driven forms -->\n<div>\n  <input euiInputRadio type=\"radio\" name=\"size\" value=\"small\" [(ngModel)]=\"selectedSize\" id=\"size-small\" />\n  <label for=\"size-small\">Small</label>\n</div>\n<div>\n  <input euiInputRadio type=\"radio\" name=\"size\" value=\"medium\" [(ngModel)]=\"selectedSize\" id=\"size-medium\" />\n  <label for=\"size-medium\">Medium</label>\n</div>\n<div>\n  <input euiInputRadio type=\"radio\" name=\"size\" value=\"large\" [(ngModel)]=\"selectedSize\" id=\"size-large\" />\n  <label for=\"size-large\">Large</label>\n</div>\n```\n\n### Reactive Forms\n```html\n<form [formGroup]=\"myForm\">\n  <div>\n    <input euiInputRadio type=\"radio\" formControlName=\"plan\" value=\"basic\" id=\"plan-basic\" />\n    <label for=\"plan-basic\">Basic Plan</label>\n  </div>\n  <div>\n    <input euiInputRadio type=\"radio\" formControlName=\"plan\" value=\"premium\" id=\"plan-premium\" />\n    <label for=\"plan-premium\">Premium Plan</label>\n  </div>\n</form>\n```\n\n```typescript\nmyForm = this.fb.group({\n  plan: ['basic', Validators.required]\n});\n```\n\n### With Validation\n```html\n<form [formGroup]=\"form\">\n  <div>\n    <input euiInputRadio type=\"radio\" formControlName=\"option\" value=\"yes\" id=\"opt-yes\" />\n    <label for=\"opt-yes\">Yes</label>\n  </div>\n  <div>\n    <input euiInputRadio type=\"radio\" formControlName=\"option\" value=\"no\" id=\"opt-no\" />\n    <label for=\"opt-no\">No</label>\n  </div>\n  <div *ngIf=\"form.get('option')?.invalid && form.get('option')?.touched\" class=\"error\">\n    Please select an option\n  </div>\n</form>\n```\n\n### Disabled State\n```html\n<input euiInputRadio type=\"radio\" name=\"status\" value=\"active\" [disabled]=\"true\" id=\"status-active\" />\n<label for=\"status-active\">Active (disabled)</label>\n```\n\n### Accessibility\n- Always associate radio inputs with labels using for/id attributes\n- Group related radio buttons with the same name attribute\n- Use fieldset and legend for radio button groups\n- Provide clear, descriptive labels for each option\n- Invalid state automatically applies aria-invalid\n- Keyboard navigation: Tab to focus, Space to select\n\n### Notes\n- Radio buttons with the same name are mutually exclusive\n- Automatically generates unique IDs if not provided\n- Invalid state styling applied when form control is invalid\n- Supports readonly mode to prevent changes\n- Value can be string, number, or boolean\n- Integrates with Angular form validation\n- Use with eui-label components for consistent styling\n\n```html\n<input euiInputRadio type=\"radio\" name=\"option\" value=\"1\" [(ngModel)]=\"selected\" id=\"opt-1\" />\n<label for=\"opt-1\">Option 1</label>\n```",
            "type": "component",
            "sourceCode": "import {\n    DoCheck,\n    ElementRef,\n    HostBinding,\n    Input,\n    OnChanges,\n    Renderer2,\n    SimpleChanges,\n    OnInit,\n    Component,\n    HostListener,\n    inject,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { InputDirective } from '@eui/components/shared';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\n/**\n * @description\n * Radio input component for selecting a single value from a set of mutually exclusive options.\n * Integrates with Angular forms (both reactive and template-driven) and provides custom EUI styling.\n * Implements ControlValueAccessor for seamless form integration with validation states and error handling.\n * Automatically manages checked state, value binding, and form control synchronization.\n * Must be applied as an attribute directive to native HTML radio input elements.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <!-- Template-driven forms -->\n * <div>\n *   <input euiInputRadio type=\"radio\" name=\"size\" value=\"small\" [(ngModel)]=\"selectedSize\" id=\"size-small\" />\n *   <label for=\"size-small\">Small</label>\n * </div>\n * <div>\n *   <input euiInputRadio type=\"radio\" name=\"size\" value=\"medium\" [(ngModel)]=\"selectedSize\" id=\"size-medium\" />\n *   <label for=\"size-medium\">Medium</label>\n * </div>\n * <div>\n *   <input euiInputRadio type=\"radio\" name=\"size\" value=\"large\" [(ngModel)]=\"selectedSize\" id=\"size-large\" />\n *   <label for=\"size-large\">Large</label>\n * </div>\n * ```\n *\n * ### Reactive Forms\n * ```html\n * <form [formGroup]=\"myForm\">\n *   <div>\n *     <input euiInputRadio type=\"radio\" formControlName=\"plan\" value=\"basic\" id=\"plan-basic\" />\n *     <label for=\"plan-basic\">Basic Plan</label>\n *   </div>\n *   <div>\n *     <input euiInputRadio type=\"radio\" formControlName=\"plan\" value=\"premium\" id=\"plan-premium\" />\n *     <label for=\"plan-premium\">Premium Plan</label>\n *   </div>\n * </form>\n * ```\n *\n * ```typescript\n * myForm = this.fb.group({\n *   plan: ['basic', Validators.required]\n * });\n * ```\n *\n * ### With Validation\n * ```html\n * <form [formGroup]=\"form\">\n *   <div>\n *     <input euiInputRadio type=\"radio\" formControlName=\"option\" value=\"yes\" id=\"opt-yes\" />\n *     <label for=\"opt-yes\">Yes</label>\n *   </div>\n *   <div>\n *     <input euiInputRadio type=\"radio\" formControlName=\"option\" value=\"no\" id=\"opt-no\" />\n *     <label for=\"opt-no\">No</label>\n *   </div>\n *   <div *ngIf=\"form.get('option')?.invalid && form.get('option')?.touched\" class=\"error\">\n *     Please select an option\n *   </div>\n * </form>\n * ```\n *\n * ### Disabled State\n * ```html\n * <input euiInputRadio type=\"radio\" name=\"status\" value=\"active\" [disabled]=\"true\" id=\"status-active\" />\n * <label for=\"status-active\">Active (disabled)</label>\n * ```\n *\n * ### Accessibility\n * - Always associate radio inputs with labels using for/id attributes\n * - Group related radio buttons with the same name attribute\n * - Use fieldset and legend for radio button groups\n * - Provide clear, descriptive labels for each option\n * - Invalid state automatically applies aria-invalid\n * - Keyboard navigation: Tab to focus, Space to select\n *\n * ### Notes\n * - Radio buttons with the same name are mutually exclusive\n * - Automatically generates unique IDs if not provided\n * - Invalid state styling applied when form control is invalid\n * - Supports readonly mode to prevent changes\n * - Value can be string, number, or boolean\n * - Integrates with Angular form validation\n * - Use with eui-label components for consistent styling\n *\n * @example\n * <input euiInputRadio type=\"radio\" name=\"option\" value=\"1\" [(ngModel)]=\"selected\" id=\"opt-1\" />\n * <label for=\"opt-1\">Option 1</label>\n */\n@Component({\n    // eslint-disable-next-line @angular-eslint/component-selector\n    selector: 'input[euiInputRadio]',\n    styleUrls: ['./eui-input-radio.scss'],\n    template: '',\n})\nexport class EuiInputRadioComponent extends InputDirective implements OnInit, DoCheck, OnChanges, ControlValueAccessor {\n    /**\n     * Gets or sets whether the radio input is in an invalid state.\n     * This can be set manually or will be automatically set when used with form validation.\n     *\n     * @property {boolean} isInvalid - The invalid state of the radio input\n     */\n    @Input()\n    public get isInvalid(): boolean {\n        return this._isInvalid || null;\n    }\n    public set isInvalid(state: BooleanInput) {\n        this.setInvalid(state);\n    }\n    protected _isInvalid: boolean;\n\n    /**\n     * Gets the CSS classes for the radio input component.\n     * Combines base classes with invalid state modifier if applicable.\n     *\n     * @returns {string} Space-separated list of CSS classes\n     */\n    @HostBinding('class')\n    public get class(): string {\n        return [super.getCssClasses('eui-input-radio'), this._isInvalid ? 'eui-input-radio--invalid' : ''].join(' ').trim();\n    }\n    @HostBinding('attr.type') protected type = 'radio';\n\n    /**\n     * Gets or sets the default checked state of the radio input.\n     * This is different from the current checked state and represents the initial value.\n     *\n     * @property {any} defaultChecked - The default checked state\n     */\n    @HostBinding('attr.checked')\n    @Input('checked')\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    public get defaultChecked(): any {\n        return this._defaultChecked ? '' : null;\n    }\n    public set defaultChecked(value: BooleanInput) {\n        this._defaultChecked = coerceBooleanProperty(value);\n\t\tthis._renderer.setProperty(this._elementRef.nativeElement, 'checked', this._defaultChecked);\n    }\n    protected _defaultChecked: boolean;\n\n    /**\n     * Gets whether the radio input is currently selected.\n     *\n     * @returns {boolean} True if the radio input is selected, false otherwise\n     */\n    public get selected(): boolean {\n        return this._elementRef?.nativeElement.checked;\n    }\n\n    /**\n     * Gets or sets the value of the radio input.\n     * The value can be of any type and will be used when the radio is selected in a form group.\n     *\n     * @property {any} value - The value associated with this radio input\n     */\n    @Input()\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    get value(): any {\n        return this._value;\n    }\n    set value(value) {\n        this._value = value;\n        if (typeof value === 'number' || typeof value === 'boolean' || !!value) {\n            this._elementRef.nativeElement.value = this._value;\n        }\n    }\n    private _value;\n    protected ngControl = inject(NgControl, { optional: true, self: true })!;\n    protected _elementRef: ElementRef<HTMLInputElement> = inject<ElementRef<HTMLInputElement>>(ElementRef);\n    protected _renderer: Renderer2 = inject(Renderer2);\n\n    constructor() {\n        super();\n\n        // Firefox fix: set type to radio before first ngDoCheck runs\n        this._elementRef.nativeElement.type = 'radio';\n\n        // if there's no id attribute set one\n        if (!this._elementRef.nativeElement.id) {\n            this.setIdAttribute();\n        }\n\n        // register control valueAccessor\n        if (this.ngControl) {\n            this.ngControl.valueAccessor = this;\n        }\n    }\n\n    /**\n     * Initializes the component.\n     * Sets up form control validation status subscription and handles initial state.\n     */\n    ngOnInit(): void {\n        super.ngOnInit();\n\n        // in case control value is null set the default one (isChecked) and sync Control State\n        // if (this.ngControl?.control?.value === null) {\n        // this.ngControl.control.setValue('', { emitModelToViewChange: false });\n        // changing Model Expression after view checked, so detect changes\n        // TODO: check why although it's checked .checked returns false\n        // this.ngControl.viewToModelUpdate(this._checked);\n        // this._cd.detectChanges();\n        // }\n\n        if (this.ngControl) {\n            this.ngControl.statusChanges.subscribe((status) => {\n                this.isInvalid = status === 'INVALID';\n                this.euiDanger = this.isInvalid;\n            });\n        }\n    }\n\n    /**\n     * Performs change detection and updates invalid state based on form control status.\n     */\n    ngDoCheck(): void {\n        if (this.ngControl) {\n            this.isInvalid = this.ngControl.invalid && this.ngControl.touched;\n        }\n    }\n\n    /**\n     * Handles changes to component inputs. Specifically, handles changes to\n     * readonly and invalid states.\n     *\n     * @param {SimpleChanges} changes - Object containing changed properties\n     */\n    ngOnChanges(changes: SimpleChanges): void {\n        // when readonly changes hide other radio (input+label)\n        if (changes['readonly']) {\n            const readonly = coerceBooleanProperty(changes['readonly']?.currentValue);\n            if (readonly) {\n                this._renderer.setAttribute(this._elementRef.nativeElement, 'readonly', null);\n            } else {\n                this._renderer.removeAttribute(this._elementRef.nativeElement, 'readonly');\n            }\n        }\n\n        if (changes['isInvalid']) {\n            if (changes['isInvalid'].currentValue) {\n                this._renderer.addClass(this._elementRef.nativeElement, 'eui-input-radio--invalid');\n            } else {\n                this._renderer.removeClass(this._elementRef.nativeElement, 'eui-input-radio--invalid');\n            }\n        }\n    }\n\n    /**\n     * Implements ControlValueAccessor.writeValue.\n     * Updates the checked state based on the form control value.\n     *\n     * @param {string} obj - The value to write\n     */\n    writeValue(obj: string): void {\n        // set checked state based if the radio value matches the control's one\n        this._elementRef.nativeElement.checked = this._value === obj;\n    }\n\n    /**\n     * Registers a callback function that is called when the control's value changes.\n     *\n     * @param {Function} fn - The callback function\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    registerOnChange(fn: any): void {\n        this.onChange = fn;\n    }\n\n    /**\n     * Registers a callback function that is called when the control is touched.\n     *\n     * @param {Function} fn - The callback function\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    registerOnTouched(fn: any): void {\n        this.onTouched = fn;\n    }\n\n    /**\n     * Sets the disabled state of the radio input.\n     *\n     * @param {boolean} isDisabled - Whether the radio input should be disabled\n     */\n    setDisabledState?(isDisabled: boolean): void {\n        this.disabled = isDisabled;\n    }\n\n    /**\n     * Handles change events on the radio input.\n     * Updates the model value when the radio selection changes.\n     *\n     * @param {Event} event - The change event\n     */\n    @HostListener('change', ['$any($event)'])\n\tprotected onCheckedChanged(event: Event): void {\n\t\tconst target = event.target as HTMLInputElement;\n\t\tthis._defaultChecked = target.checked;\n\t\tthis.onChange(target.value === 'on' ? null : target.value);\n\t\tthis.onTouched(target.value);\n\t}\n\n    /**\n     * Handles space key press events. Prevents selection changes when the input\n     * is readonly.\n     *\n     * @param {KeyboardEvent} event - The keyboard event\n     */\n    @HostListener('keydown.space', ['$any($event)'])\n    protected onSpacePressed(event: KeyboardEvent): void {\n        if (this.readonly) {\n            event.preventDefault();\n            event.stopPropagation();\n        }\n    }\n\n    /**\n     * Sets the invalid state of the radio input.\n     * Updates both the internal state and the visual appearance.\n     *\n     * @param {boolean} state - The invalid state to set\n     */\n    protected setInvalid(state): void {\n        // in case it's controlled by NgControl override\n        this._isInvalid = this.control ? this.control.invalid && this.control.touched : coerceBooleanProperty(state);\n\n        // set BaseDirective Attribute\n        this.euiDanger = this._isInvalid;\n    }\n\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    protected onChange = (_): void => {\n        /* Nothing to be Done so far */\n    };\n\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    protected onTouched = (_): void => {\n        /* Nothing to be Done so far */\n    };\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@use '../base' as base;\n\n////////////////////////////////////////////\n// DEFAULT RADIO STYLED FOR EUI COMPS ONLY\n////////////////////////////////////////////\n.eui-21 {\n    :host.eui-input-radio:not(.cdk-visually-hidden) {\n        // Default user-agent checkbox customization & alignements\n        appearance: inherit;\n        align-items: center;\n        border-radius: var(--eui-br-max);\n        cursor: pointer;\n        display: inline-flex;\n        flex-shrink: 0;\n        height: var(--eui-s-xl);        // 24px DS aligned\n        justify-content: center;\n        margin-right: var(--eui-s-s);   // DS aligned\n        position: relative;\n        vertical-align: middle;\n        width: var(--eui-s-xl);         // 24px DS aligned\n    \n        // UNCHECKED (default)\n        accent-color: var(--eui-c-white);\n        background: var(--eui-c-surface-container);\n        border: var(--eui-bw-xs) solid var(--eui-c-secondary-border);    // DS21 aligned\n    \n        ::ng-deep ~.eui-label,\n        ::ng-deep ~label {\n            display: inline-flex;\n            cursor: pointer;\n            font: var(--eui-f-m);\n            margin-right: var(--eui-s-m);    // DS aligned\n            white-space: inherit;\n        }\n    \n        // CHECKED\n        &:checked {\n            background: var(--eui-c-surface-container);\n            border: var(--eui-bw-xs) solid var(--eui-c-primary-base);  // DS21 aligned\n    \n            &::before {\n                @include base.pseudoSvgIconEllipsePrimary();\n                height: var(--eui-s-m); // DS21 aligned - inner ellipse icon is reduced\n                width: var(--eui-s-m); // DS21 aligned - inner ellipse icon is reduced\n            }\n        }\n    \n        // DISABLED\n        &:disabled:not([readonly]) {\n            background: var(--eui-c-disabled-bg);\n            opacity:var(--eui-o-50);       // DS21 aligned\n            pointer-events: none;\n            user-select: none;\n    \n            &:checked {\n                &::before {\n                    @include base.pseudoSvgIconEllipsePrimary();\n                    height: var(--eui-s-m);\n                    width: var(--eui-s-m);\n                }\n            }\n    \n            + ::ng-deep label {\n                pointer-events: none;\n            }\n        }\n    \n        // READONLY - No display unless checked\n        &[readonly] {\n            display: none;\n            pointer-events: none;\n            user-select: none;\n    \n            + ::ng-deep label,\n            + ::ng-deep .eui-label {\n                display: none;\n            }\n    \n            // Checked\n            &:checked {\n                display: none;\n            }\n    \n            &:checked + ::ng-deep label,\n            &:checked + ::ng-deep .eui-label {\n                align-items: center;\n                display: inline-flex;\n                // min-height: calc(var(--eui-s-5xl) + var(--eui-s-3xs));  // Harmonize size (44px)\n                pointer-events: none;\n                position: initial;\n            }\n        }\n    \n        // INVALID\n        &.eui-input-radio--invalid,\n        &.eui-input-radio--danger {\n            border: var(--eui-bw-xs) solid var(--eui-c-danger) !important;\n    \n            &:checked {\n                &::before {\n                    @include base.pseudoSvgIconEllipseDanger();\n                    height: var(--eui-s-m); // DS21 aligned - inner ellipse icon is reduced\n                    width: var(--eui-s-m); // DS21 aligned - inner ellipse icon is reduced\n                }\n            }\n        }\n    \n        // ACCESSIBILITY\n        @include base.eui-accessible-focus-ring-rounded();\n\n        &.eui-input-radio--invalid:not([readonly]),\n        &.eui-input-radio--danger:not([readonly]) {\n            outline-color: var(--eui-c-danger-border-light) !important;\n        }\n    }\n}\n",
                    "styleUrl": "./eui-input-radio.scss"
                }
            ],
            "stylesData": "",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 190
            },
            "extends": [
                "InputDirective"
            ],
            "implements": [
                "OnInit",
                "DoCheck",
                "OnChanges",
                "ControlValueAccessor"
            ],
            "accessors": {
                "isInvalid": {
                    "name": "isInvalid",
                    "setSignature": {
                        "name": "isInvalid",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "state",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 125,
                        "jsdoctags": [
                            {
                                "name": "state",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "isInvalid",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 122,
                        "rawdescription": "\n\nGets or sets whether the radio input is in an invalid state.\nThis can be set manually or will be automatically set when used with form validation.\n\n",
                        "description": "<p>Gets or sets whether the radio input is in an invalid state.\nThis can be set manually or will be automatically set when used with form validation.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 4186,
                                "end": 4260,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 4187,
                                    "end": 4195,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "property"
                                },
                                "comment": "<p>{boolean} isInvalid - The invalid state of the radio input</p>\n"
                            }
                        ]
                    }
                },
                "class": {
                    "name": "class",
                    "getSignature": {
                        "name": "class",
                        "type": "string",
                        "returnType": "string",
                        "line": 137,
                        "rawdescription": "\n\nGets the CSS classes for the radio input component.\nCombines base classes with invalid state modifier if applicable.\n\n",
                        "description": "<p>Gets the CSS classes for the radio input component.\nCombines base classes with invalid state modifier if applicable.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 4635,
                                "end": 4694,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 4636,
                                    "end": 4643,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated list of CSS classes</p>\n",
                                "typeExpression": {
                                    "pos": 4644,
                                    "end": 4652,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 4645,
                                        "end": 4651,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                },
                "defaultChecked": {
                    "name": "defaultChecked",
                    "setSignature": {
                        "name": "defaultChecked",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 154,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "defaultChecked",
                        "type": "any",
                        "returnType": "any",
                        "line": 151,
                        "rawdescription": "\n\nGets or sets the default checked state of the radio input.\nThis is different from the current checked state and represents the initial value.\n\n",
                        "description": "<p>Gets or sets the default checked state of the radio input.\nThis is different from the current checked state and represents the initial value.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 5122,
                                "end": 5186,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 5123,
                                    "end": 5131,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "property"
                                },
                                "comment": "<p>{any} defaultChecked - The default checked state</p>\n"
                            }
                        ]
                    }
                },
                "selected": {
                    "name": "selected",
                    "getSignature": {
                        "name": "selected",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 165,
                        "rawdescription": "\n\nGets whether the radio input is currently selected.\n\n",
                        "description": "<p>Gets whether the radio input is currently selected.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 5742,
                                "end": 5819,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 5743,
                                    "end": 5750,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>True if the radio input is selected, false otherwise</p>\n",
                                "typeExpression": {
                                    "pos": 5751,
                                    "end": 5760,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 5752,
                                        "end": 5759,
                                        "kind": 136,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                },
                "value": {
                    "name": "value",
                    "setSignature": {
                        "name": "value",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "unknown",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 181,
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "unknown",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "value",
                        "type": "any",
                        "returnType": "any",
                        "line": 178,
                        "rawdescription": "\n\nGets or sets the value of the radio input.\nThe value can be of any type and will be used when the radio is selected in a form group.\n\n",
                        "description": "<p>Gets or sets the value of the radio input.\nThe value can be of any type and will be used when the radio is selected in a form group.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 6091,
                                "end": 6163,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 6092,
                                    "end": 6100,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "property"
                                },
                                "comment": "<p>{any} value - The value associated with this radio input</p>\n"
                            }
                        ]
                    }
                }
            }
        },
        {
            "name": "EuiInputTextComponent",
            "id": "component-EuiInputTextComponent-9cd6cd3a31d900ef0c49ac17f588b0e1e13e3f3f8bb6b9bf07abe53c659df2397c8c5fec1fd4d683fefc5275437544072dfcb792fb11e7df64eb940c35db76f4",
            "file": "packages/components/eui-input-text/eui-input-text.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "host": {},
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "input[euiInputText]",
            "styleUrls": [
                "./eui-input-text.scss"
            ],
            "styles": [],
            "template": "",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "EuiClearableDirective",
                    "inputs": [
                        "euiClearable",
                        "readonly",
                        "disabled"
                    ],
                    "outputs": []
                },
                {
                    "name": "EuiLoadingDirective",
                    "inputs": [
                        "euiLoading",
                        "readonly"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "isInvalid",
                    "defaultValue": "null, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean, BooleanInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Gets or sets the invalid state of the input\nWhen used with NgControl, this state is automatically managed based on control state</p>\n",
                    "line": 87,
                    "rawdescription": "\n\nGets or sets the invalid state of the input\nWhen used with NgControl, this state is automatically managed based on control state\n\n",
                    "jsdoctags": [
                        {
                            "pos": 2233,
                            "end": 2403,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2234,
                                "end": 2245,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Gets or sets the invalid state of the input\nWhen used with NgControl, this state is automatically managed based on control state</p>\n"
                        },
                        {
                            "pos": 2403,
                            "end": 2449,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2404,
                                "end": 2411,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Current invalid state</p>\n",
                            "typeExpression": {
                                "pos": 2412,
                                "end": 2421,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 2413,
                                    "end": 2420,
                                    "kind": 136,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "required": false
                },
                {
                    "name": "disabled",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 32,
                    "type": "boolean",
                    "decorators": [],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "required": false,
                    "name": "euiDanger",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 28,
                    "type": "boolean",
                    "decorators": [],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "required": false,
                    "name": "euiDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 27,
                    "type": "boolean",
                    "decorators": [],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "placeholder",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 55,
                    "type": "string | null",
                    "decorators": [],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "readonly",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 46,
                    "type": "any",
                    "decorators": [],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "_elementRef",
                    "defaultValue": "inject(ElementRef)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 95,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_renderer",
                    "defaultValue": "inject(Renderer2)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Renderer2",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 96,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "control",
                    "defaultValue": "inject(NgControl, { optional: true, self: true })!",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 94,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_disabled",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 62,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 66,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_placeholder",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 64,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_readonly",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 63,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_statusListener",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Subscription",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 65,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "_viewContainerRef",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ViewContainerRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 67,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "injector",
                    "defaultValue": "inject(Injector)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 71,
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                }
            ],
            "methodsClass": [
                {
                    "name": "ngDoCheck",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 126,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nChecks and updates the invalid state when using NgControl\n",
                    "description": "<p>Checks and updates the invalid state when using NgControl</p>\n",
                    "jsdoctags": []
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 118,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCleans up component resources\n",
                    "description": "<p>Cleans up component resources</p>\n",
                    "jsdoctags": [],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 109,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nInitializes the component and sets the root class name\n",
                    "description": "<p>Initializes the component and sets the root class name</p>\n",
                    "jsdoctags": [],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "getCssClasses",
                    "args": [
                        {
                            "name": "rootClass",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 112,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "rootClass",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "getPlaceholderAttribute",
                    "args": [],
                    "optional": false,
                    "returnType": "string | undefined",
                    "typeParameters": [],
                    "line": 120,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 104,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "setIdAttribute",
                    "args": [
                        {
                            "name": "value",
                            "type": "string | null",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "null"
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 144,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "string | null",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "null",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                },
                {
                    "name": "setPlaceholderAttribute",
                    "args": [
                        {
                            "name": "value",
                            "type": "string | null",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 135,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "string | null",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ],
                    "inheritance": {
                        "file": "InputDirective"
                    }
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>A custom input text component that extends InputDirective and provides additional functionality\nsuch as validation states, clearable input, and loading states.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;input euiInputText [(ngModel)]=&quot;username&quot; placeholder=&quot;Enter username&quot; /&gt;</code></pre></div><h3>With Clearable Button</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;input euiInputText [euiClearable]=&quot;true&quot; [(ngModel)]=&quot;searchTerm&quot; /&gt;</code></pre></div><h3>With Loading State</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;input euiInputText [euiLoading]=&quot;isSearching&quot; [(ngModel)]=&quot;query&quot; /&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use associated <code>&lt;label&gt;</code> with <code>for</code> attribute</li>\n<li>Invalid state is communicated via visual styling and <code>aria-invalid</code></li>\n<li>Clearable button has appropriate ARIA label</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Supports all standard HTML input attributes</li>\n<li>Works with Angular Forms (template-driven and reactive)</li>\n<li>Validation state automatically syncs with form control</li>\n</ul>\n",
            "rawdescription": "\n\nA custom input text component that extends InputDirective and provides additional functionality\nsuch as validation states, clearable input, and loading states.\n\n### Basic Usage\n```html\n<input euiInputText [(ngModel)]=\"username\" placeholder=\"Enter username\" />\n```\n\n### With Clearable Button\n```html\n<input euiInputText [euiClearable]=\"true\" [(ngModel)]=\"searchTerm\" />\n```\n\n### With Loading State\n```html\n<input euiInputText [euiLoading]=\"isSearching\" [(ngModel)]=\"query\" />\n```\n\n### Accessibility\n- Use associated `<label>` with `for` attribute\n- Invalid state is communicated via visual styling and `aria-invalid`\n- Clearable button has appropriate ARIA label\n\n### Notes\n- Supports all standard HTML input attributes\n- Works with Angular Forms (template-driven and reactive)\n- Validation state automatically syncs with form control\n",
            "type": "component",
            "sourceCode": "import {\n\tComponent,\n\tDoCheck,\n\tElementRef,\n\tOnDestroy,\n\tOnInit,\n\tRenderer2,\n\tinject,\n\tinput,\n\tbooleanAttribute,\n\teffect,\n\tlinkedSignal,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { InputDirective } from '@eui/components/shared';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { EuiClearableDirective, EuiLoadingDirective } from '@eui/components/directives';\n\n/**\n * @description\n * A custom input text component that extends InputDirective and provides additional functionality\n * such as validation states, clearable input, and loading states.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <input euiInputText [(ngModel)]=\"username\" placeholder=\"Enter username\" />\n * ```\n *\n * ### With Clearable Button\n * ```html\n * <input euiInputText [euiClearable]=\"true\" [(ngModel)]=\"searchTerm\" />\n * ```\n *\n * ### With Loading State\n * ```html\n * <input euiInputText [euiLoading]=\"isSearching\" [(ngModel)]=\"query\" />\n * ```\n *\n * ### Accessibility\n * - Use associated `<label>` with `for` attribute\n * - Invalid state is communicated via visual styling and `aria-invalid`\n * - Clearable button has appropriate ARIA label\n *\n * ### Notes\n * - Supports all standard HTML input attributes\n * - Works with Angular Forms (template-driven and reactive)\n * - Validation state automatically syncs with form control\n */\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'input[euiInputText]',\n\ttemplate: '',\n\tstyleUrls: ['./eui-input-text.scss'],\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: EuiClearableDirective,\n\t\t\tinputs: ['euiClearable', 'readonly', 'disabled'],\n\t\t},\n\t\t{\n\t\t\tdirective: EuiLoadingDirective,\n\t\t\tinputs: ['euiLoading', 'readonly'],\n\t\t},\n\t],\n\thost: {\n\t\t'[class]': 'class',\n\t},\n})\nexport class EuiInputTextComponent extends InputDirective implements OnInit, OnDestroy, DoCheck {\n    /**\n     * @description\n     * Gets the CSS classes for the component, including validation state classes\n     *\n     * @returns {string} Space-separated string of CSS class names\n     */\n    public get class(): string {\n        return [super.getCssClasses('eui-input-text'), this._isInvalid() ? 'eui-input-text--invalid' : ''].join(' ').trim();\n    }\n\n    /**\n     * @description\n     * Gets or sets the invalid state of the input\n     * When used with NgControl, this state is automatically managed based on control state\n     *\n     * @returns {boolean} Current invalid state\n     */\n\tisInvalid = input<boolean, BooleanInput>(null, { transform: booleanAttribute });\n\n    /** @internal */\n    protected _isInvalid = linkedSignal({\n\t\tsource: this.isInvalid,\n\t\tcomputation: () => this.isInvalid(),\n\t})\n    protected control = inject(NgControl, { optional: true, self: true })!;\n    protected _elementRef: ElementRef = inject(ElementRef);\n    protected _renderer: Renderer2 = inject(Renderer2);\n\n\tconstructor() {\n\t\tsuper();\n\n\t\teffect(() => {\n\t\t\tthis.setInvalid(this.isInvalid());\n\t\t});\n\t}\n    /**\n     * @description\n     * Initializes the component and sets the root class name\n     */\n    ngOnInit(): void {\n        super.ngOnInit();\n        this._renderer.setProperty(this._elementRef.nativeElement, 'rootClassName', 'eui-input-text');\n    }\n\n    /**\n     * @description\n     * Cleans up component resources\n     */\n    ngOnDestroy(): void {\n        super.ngOnDestroy();\n    }\n\n    /**\n     * @description\n     * Checks and updates the invalid state when using NgControl\n     */\n    ngDoCheck(): void {\n        if (this.control) {\n            this._isInvalid.set(this.control.invalid && this.control.touched);\n        }\n    }\n\n    /**\n     * @description\n     * Sets the invalid state of the input and updates related properties\n     *\n     * @param {boolean} state - The invalid state to set\n     * @private\n     */\n    private setInvalid(state?: boolean): void {\n        // in case it's controlled by NgControl override\n\t\tthis._isInvalid.set(this.control ? this.control.invalid && this.control.touched : state);\n\n        // set BaseDirective Attribute\n        this.euiDanger = this._isInvalid();\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@use '../base' as base;\n\n.eui-21 {\n    :host.eui-input-text {\n        @include base.eui-ellipsis();\n        @include base.eui-input();\n    \n        &[readonly] {\n            pointer-events: auto;\n        }\n    \n        // Hide default user agent 'x'\n        &[type=\"search\"]::-webkit-search-cancel-button { display: none; }\n    }\n}\n",
                    "styleUrl": "./eui-input-text.scss"
                }
            ],
            "stylesData": "",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 96
            },
            "extends": [
                "InputDirective"
            ],
            "implements": [
                "OnInit",
                "OnDestroy",
                "DoCheck"
            ],
            "accessors": {
                "class": {
                    "name": "class",
                    "getSignature": {
                        "name": "class",
                        "type": "string",
                        "returnType": "string",
                        "line": 76,
                        "rawdescription": "\n\nGets the CSS classes for the component, including validation state classes\n\n",
                        "description": "<p>Gets the CSS classes for the component, including validation state classes</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 1876,
                                "end": 1985,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 1877,
                                    "end": 1888,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Gets the CSS classes for the component, including validation state classes</p>\n"
                            },
                            {
                                "pos": 1985,
                                "end": 2050,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 1986,
                                    "end": 1993,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 1994,
                                    "end": 2002,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 1995,
                                        "end": 2001,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            }
        },
        {
            "name": "EuiLabelComponent",
            "id": "component-EuiLabelComponent-3c6a85d8c39cf2fca19ffa0bba81d3d80a54e9f2ab4449328cb00c1a1e803ecc4f40b1ea4bb0037c6a687eb42696a9c15ad2b2a580fcae3a46b03d1030628879",
            "file": "packages/components/eui-label/eui-label.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "label[euiLabel], span[euiLabel], div[euiLabel], a[euiLabel], eui-label,\n               label[euiSublabel], span[euiSublabel], div[euiSublabel], a[euiSublabel], eui-sublabel",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiSecondary",
                        "euiSuccess",
                        "euiInfo",
                        "euiWarning",
                        "euiDanger",
                        "euiVariant",
                        "euiSizeS",
                        "euiSizeM",
                        "euiSizeL",
                        "euiSizeVariant",
                        "euiDisabled"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "required": false,
                    "name": "euiReadonly",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3352,
                            "end": 3433,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3353,
                                "end": 3364,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Indicates if the label should be displayed in readonly state</p>\n"
                        },
                        {
                            "pos": 3433,
                            "end": 3453,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3434,
                                "end": 3441,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 94,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiRequired",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3176,
                            "end": 3248,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3177,
                                "end": 3188,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Indicates if the label should be marked as required</p>\n"
                        },
                        {
                            "pos": 3248,
                            "end": 3268,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3249,
                                "end": 3256,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 88,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiSublabel",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3537,
                            "end": 3617,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3538,
                                "end": 3549,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Indicates if the component should be rendered as a sublabel</p>\n"
                        },
                        {
                            "pos": 3617,
                            "end": 3637,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3618,
                                "end": 3625,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 100,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 101
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2504,
                            "end": 2709,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2505,
                                "end": 2516,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the label component based on its current state.\nCombines base states, required status, readonly status, and sublabel type.</p>\n"
                        },
                        {
                            "pos": 2709,
                            "end": 2774,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2710,
                                "end": 2717,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 2718,
                                "end": 2726,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 2719,
                                    "end": 2725,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the label component based on its current state.\nCombines base states, required status, readonly status, and sublabel type.\n\n",
                    "description": "<p>Computes and returns the CSS classes for the label component based on its current state.\nCombines base states, required status, readonly status, and sublabel type.</p>\n",
                    "line": 73,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p><code>eui-label</code> is a versatile textual component used to display labels, sublabels, or inline text associated with other UI elements such as inputs, form fields, or interactive components.\nIt supports multiple visual states, sizes, and variants through host directives and can be rendered as different HTML elements (<code>&lt;label&gt;</code>, <code>&lt;span&gt;</code>, <code>&lt;div&gt;</code>, <code>&lt;a&gt;</code>) while preserving consistent EUI styling and behavior.\nThe component is purely structural and semantic. It does not manage layout or interaction by itself.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;label euiLabel for=&quot;username&quot;&gt;Username&lt;/label&gt;\n&lt;input euiInputText id=&quot;username&quot; /&gt;</code></pre></div><h3>Required Field</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;label euiLabel [euiRequired]=&quot;true&quot; for=&quot;email&quot;&gt;Email Address&lt;/label&gt;</code></pre></div><h3>With Variants</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;span euiLabel euiDanger&gt;Error message&lt;/span&gt;\n&lt;span euiLabel euiSuccess&gt;Success message&lt;/span&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use <code>&lt;label&gt;</code> element with <code>for</code> attribute to associate with form controls</li>\n<li>Required indicator is visual only; ensure form validation communicates requirement</li>\n<li>Color alone should not convey meaning; use additional text or icons</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Can be used as attribute selector on multiple HTML elements</li>\n<li>Supports all BaseStatesDirective variants (primary, secondary, success, info, warning, danger)</li>\n<li>Readonly state applies visual styling but does not affect functionality</li>\n</ul>\n",
            "rawdescription": "\n\n`eui-label` is a versatile textual component used to display labels, sublabels, or inline text associated with other UI elements such as inputs, form fields, or interactive components.\nIt supports multiple visual states, sizes, and variants through host directives and can be rendered as different HTML elements (`<label>`, `<span>`, `<div>`, `<a>`) while preserving consistent EUI styling and behavior.\nThe component is purely structural and semantic. It does not manage layout or interaction by itself.\n\n### Basic Usage\n```html\n<label euiLabel for=\"username\">Username</label>\n<input euiInputText id=\"username\" />\n```\n\n### Required Field\n```html\n<label euiLabel [euiRequired]=\"true\" for=\"email\">Email Address</label>\n```\n\n### With Variants\n```html\n<span euiLabel euiDanger>Error message</span>\n<span euiLabel euiSuccess>Success message</span>\n```\n\n### Accessibility\n- Use `<label>` element with `for` attribute to associate with form controls\n- Required indicator is visual only; ensure form validation communicates requirement\n- Color alone should not convey meaning; use additional text or icons\n\n### Notes\n- Can be used as attribute selector on multiple HTML elements\n- Supports all BaseStatesDirective variants (primary, secondary, success, info, warning, danger)\n- Readonly state applies visual styling but does not affect functionality\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, Input, ChangeDetectionStrategy, booleanAttribute, inject } from '@angular/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n/**\n * @description\n * `eui-label` is a versatile textual component used to display labels, sublabels, or inline text associated with other UI elements such as inputs, form fields, or interactive components.\n * It supports multiple visual states, sizes, and variants through host directives and can be rendered as different HTML elements (`<label>`, `<span>`, `<div>`, `<a>`) while preserving consistent EUI styling and behavior.\n * The component is purely structural and semantic. It does not manage layout or interaction by itself.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <label euiLabel for=\"username\">Username</label>\n * <input euiInputText id=\"username\" />\n * ```\n *\n * ### Required Field\n * ```html\n * <label euiLabel [euiRequired]=\"true\" for=\"email\">Email Address</label>\n * ```\n *\n * ### With Variants\n * ```html\n * <span euiLabel euiDanger>Error message</span>\n * <span euiLabel euiSuccess>Success message</span>\n * ```\n *\n * ### Accessibility\n * - Use `<label>` element with `for` attribute to associate with form controls\n * - Required indicator is visual only; ensure form validation communicates requirement\n * - Color alone should not convey meaning; use additional text or icons\n *\n * ### Notes\n * - Can be used as attribute selector on multiple HTML elements\n * - Supports all BaseStatesDirective variants (primary, secondary, success, info, warning, danger)\n * - Readonly state applies visual styling but does not affect functionality\n */\n@Component({\n    selector: `label[euiLabel], span[euiLabel], div[euiLabel], a[euiLabel], eui-label,\n               label[euiSublabel], span[euiSublabel], div[euiSublabel], a[euiSublabel], eui-sublabel`,\n    template: '<ng-content/>',\n    styleUrl: './eui-label.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\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                'euiSizeM',\n                'euiSizeL',\n                'euiSizeVariant',\n                'euiDisabled',\n            ],\n        },\n    ],\n})\nexport class EuiLabelComponent {\n    /**\n     * @description\n     * Computes and returns the CSS classes for the label component based on its current state.\n     * Combines base states, required status, readonly status, and sublabel type.\n     *\n     * @returns {string} Space-separated string of CSS class names\n     */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-label'),\n            this.euiRequired ? 'eui-label--required' : '',\n            this.euiReadonly ? 'eui-label--readonly' : '',\n            this.euiSublabel ? 'eui-label__sublabel' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * @description Indicates if the label should be marked as required\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiRequired = false;\n\n    /**\n     * @description Indicates if the label should be displayed in readonly state\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiReadonly = false;\n\n    /**\n     * @description Indicates if the component should be rendered as a sublabel\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiSublabel = false;\n    baseStatesDirective = inject(BaseStatesDirective);\n}\n",
            "styleUrl": "./eui-label.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 73,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the label component based on its current state.\nCombines base states, required status, readonly status, and sublabel type.\n\n",
                        "description": "<p>Computes and returns the CSS classes for the label component based on its current state.\nCombines base states, required status, readonly status, and sublabel type.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 2504,
                                "end": 2709,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2505,
                                    "end": 2516,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the label component based on its current state.\nCombines base states, required status, readonly status, and sublabel type.</p>\n"
                            },
                            {
                                "pos": 2709,
                                "end": 2774,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2710,
                                    "end": 2717,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 2718,
                                    "end": 2726,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 2719,
                                        "end": 2725,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            }
        },
        {
            "name": "EuiLanguageSelectorComponent",
            "id": "component-EuiLanguageSelectorComponent-84008a00c0fece2d022055bb99cb7f1d6d7d22df42a8a9a19ff0870e8a2cfe6612a0369ceb1394094d8c45f8ccfe3d911b91895bf86174209162ec5eaab93157",
            "file": "packages/components/eui-language-selector/language-selector.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [
                {
                    "name": "EuiDialogService",
                    "type": "injectable"
                }
            ],
            "selector": "eui-language-selector",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./language-selector.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "aria-label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3607,
                            "end": 3775,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3608,
                                "end": 3616,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "property"
                            },
                            "comment": "<p>ariaLabel - Accessibility label for the language selector.\nIf not provided, defaults to &quot;Change Language - Current Language: [selected language]&quot;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIf not provided, defaults to \"Change Language - Current Language: [selected language]\"\n",
                    "description": "<p>If not provided, defaults to &quot;Change Language - Current Language: [selected language]&quot;</p>\n",
                    "line": 116,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiPrimary",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3439,
                            "end": 3505,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3440,
                                "end": 3448,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "property"
                            },
                            "comment": "<p>euiPrimary - When true, applies primary styling.</p>\n"
                        },
                        {
                            "pos": 3505,
                            "end": 3525,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3506,
                                "end": 3513,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 111,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasLanguageSelection",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3040,
                            "end": 3131,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3041,
                                "end": 3049,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "property"
                            },
                            "comment": "<p>hasLanguageSelection - Enables/disables language selection functionality.</p>\n"
                        },
                        {
                            "pos": 3131,
                            "end": 3150,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3132,
                                "end": 3139,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 101,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isToolbarSelector",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3241,
                            "end": 3330,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3242,
                                "end": 3250,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "property"
                            },
                            "comment": "<p>isToolbarSelector - When true, applies styling for toolbar integration.</p>\n"
                        },
                        {
                            "pos": 3330,
                            "end": 3350,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3331,
                                "end": 3338,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 106,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "languageSelectorClick",
                    "defaultValue": "new EventEmitter<null>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\n",
                    "description": "",
                    "jsdoctags": [
                        {
                            "pos": 3837,
                            "end": 3920,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3838,
                                "end": 3843,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "comment": "<p>languageSelectorClick - Emitted when the language selector is clicked.</p>\n"
                        }
                    ],
                    "line": 120,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "appShellService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 122
                },
                {
                    "name": "languages",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiLanguage[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 95
                },
                {
                    "name": "selectedLanguage",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiLanguage",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 96
                }
            ],
            "methodsClass": [
                {
                    "name": "getLanguage",
                    "args": [
                        {
                            "name": "languageCode",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "EuiLanguage",
                    "typeParameters": [],
                    "line": 249,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRetrieves a language object by its code.\n\n",
                    "description": "<p>Retrieves a language object by its code.</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 8415,
                                "end": 8427,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "languageCode"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 8409,
                                "end": 8414,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Two-character language code.</li>\n</ul>\n"
                        }
                    ]
                },
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 180,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 144,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 201,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 151,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 240,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onLanguageChanged",
                    "args": [
                        {
                            "name": "language",
                            "type": "EuiLanguage",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 210,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUpdates the active language in the application.\n",
                    "description": "<p>Updates the active language in the application.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 7095,
                                "end": 7103,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "language"
                            },
                            "type": "EuiLanguage",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 7089,
                                "end": 7094,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The language object to set as active.</li>\n</ul>\n"
                        }
                    ]
                },
                {
                    "name": "onOpen",
                    "args": [
                        {
                            "name": "titleLabel",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "this.translateService.instant('eui.languageSelector.modalTitle')"
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 222,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nOpens a modal dialog with the full list of available languages.\n",
                    "description": "<p>Opens a modal dialog with the full list of available languages.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 7488,
                                "end": 7498,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "titleLabel"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "this.translateService.instant('eui.languageSelector.modalTitle')",
                            "tagName": {
                                "pos": 7481,
                                "end": 7486,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Optional custom title for the modal.</li>\n</ul>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 85,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "EUI_DROPDOWN"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_BUTTON"
                }
            ],
            "description": "<p>This component displays available languages and allows users to select their preferred language.\nIt adapts its display based on the number of available languages:</p>\n<ul>\n<li>For 1 language: No selector is shown</li>\n<li>For 2-3 languages: Displays a dropdown menu</li>\n<li>For 4+ languages: Opens a modal dialog with the full list</li>\n</ul>\n<p>The component integrates with EuiAppShellService to manage language state\nand uses TranslateService for localization.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-language-selector&gt;&lt;/eui-language-selector&gt;</code></pre></div><h3>In Toolbar</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-toolbar&gt;\n  &lt;eui-language-selector [isToolbarSelector]=&quot;true&quot;&gt;&lt;/eui-language-selector&gt;\n&lt;/eui-toolbar&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Provides default <code>aria-label</code> indicating current language</li>\n<li>Custom <code>aria-label</code> can be set via input</li>\n<li>Keyboard navigable dropdown and modal interfaces</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Automatically detects toolbar parent and adjusts styling</li>\n<li>Language list is managed through EuiAppShellService</li>\n<li>Supports 2-3 languages via dropdown, 4+ via modal</li>\n</ul>\n",
            "rawdescription": "\n\n\nThis component displays available languages and allows users to select their preferred language.\nIt adapts its display based on the number of available languages:\n- For 1 language: No selector is shown\n- For 2-3 languages: Displays a dropdown menu\n- For 4+ languages: Opens a modal dialog with the full list\n\nThe component integrates with EuiAppShellService to manage language state\nand uses TranslateService for localization.\n\n### Basic Usage\n```html\n<eui-language-selector></eui-language-selector>\n```\n\n### In Toolbar\n```html\n<eui-toolbar>\n  <eui-language-selector [isToolbarSelector]=\"true\"></eui-language-selector>\n</eui-toolbar>\n```\n\n### Accessibility\n- Provides default `aria-label` indicating current language\n- Custom `aria-label` can be set via input\n- Keyboard navigable dropdown and modal interfaces\n\n### Notes\n- Automatically detects toolbar parent and adjusts styling\n- Language list is managed through EuiAppShellService\n- Supports 2-3 languages via dropdown, 4+ via modal\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    ViewEncapsulation,\n    HostBinding,\n    OnDestroy,\n    OnInit,\n    ChangeDetectorRef,\n    Input,\n    Output,\n    EventEmitter,\n    booleanAttribute,\n    ElementRef,\n    AfterViewInit,\n    SimpleChanges,\n    OnChanges,\n    inject,\n} from '@angular/core';\nimport { distinctUntilKeyChanged, map, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { EuiEuLanguages, EuiLanguage } from '@eui/core';\nimport { EuiAppShellService } from '@eui/core';\nimport { EuiDialogConfig, EuiDialogService } from '@eui/components/eui-dialog';\n\nimport { EuiModalSelectorComponent } from './modal-selector/modal-selector.component';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_DROPDOWN } from '@eui/components/eui-dropdown';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\n\n/**\n * @description A component that provides language selection functionality for applications.\n *\n * This component displays available languages and allows users to select their preferred language.\n * It adapts its display based on the number of available languages:\n * - For 1 language: No selector is shown\n * - For 2-3 languages: Displays a dropdown menu\n * - For 4+ languages: Opens a modal dialog with the full list\n *\n * The component integrates with EuiAppShellService to manage language state\n * and uses TranslateService for localization.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-language-selector></eui-language-selector>\n * ```\n *\n * ### In Toolbar\n * ```html\n * <eui-toolbar>\n *   <eui-language-selector [isToolbarSelector]=\"true\"></eui-language-selector>\n * </eui-toolbar>\n * ```\n *\n * ### Accessibility\n * - Provides default `aria-label` indicating current language\n * - Custom `aria-label` can be set via input\n * - Keyboard navigable dropdown and modal interfaces\n *\n * ### Notes\n * - Automatically detects toolbar parent and adjusts styling\n * - Language list is managed through EuiAppShellService\n * - Supports 2-3 languages via dropdown, 4+ via modal\n */\n@Component({\n    selector: 'eui-language-selector',\n    templateUrl: './language-selector.component.html',\n    styleUrl: './language-selector.scss',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        AsyncPipe,\n        NgTemplateOutlet,\n        ...EUI_DROPDOWN,\n        ...EUI_ICON,\n        ...EUI_BUTTON,\n    ],\n    providers: [\n        EuiDialogService,\n    ],\n})\nexport class EuiLanguageSelectorComponent implements OnInit, AfterViewInit, OnDestroy, OnChanges {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-language-selector',\n            this.languages?.length <= 1 ? 'eui-language-selector--empty' : '',\n            this.isToolbarSelector ? 'eui-language-selector--toolbar-selector' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    languages: EuiLanguage[];\n    selectedLanguage: EuiLanguage;\n    /**\n     * @property hasLanguageSelection - Enables/disables language selection functionality.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasLanguageSelection = true;\n    /**\n     * @property isToolbarSelector - When true, applies styling for toolbar integration.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isToolbarSelector = false;\n    /**\n     * @property euiPrimary - When true, applies primary styling.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiPrimary = false;\n    /**\n     * @property ariaLabel - Accessibility label for the language selector.\n     * If not provided, defaults to \"Change Language - Current Language: [selected language]\"\n     */\n    @Input('aria-label') ariaLabel: string;\n    /**\n     * @event languageSelectorClick - Emitted when the language selector is clicked.\n     */\n    @Output() languageSelectorClick = new EventEmitter<null>();\n\n    appShellService = inject(EuiAppShellService);\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private isAriaLabelChanged = false;\n    private cd = inject(ChangeDetectorRef);\n    private euiDialogService = inject(EuiDialogService);\n    private translateService = inject(TranslateService);\n    private elRef = inject(ElementRef);\n\n    /**\n     * returns true if there are at least one and max four languages.\n     */\n    get isShowDropDown(): boolean {\n        return this.languages?.length > 1 && this.languages?.length < 4;\n    }\n\n    /**\n     * returns true if there are at least five languages.\n     */\n    get isShowModal(): boolean {\n        return this.languages?.length >= 4;\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes && changes['ariaLabel']) {\n            this.isAriaLabelChanged = true;\n            this.ariaLabel = changes['ariaLabel'].currentValue;\n        }\n    }\n\n    ngOnInit(): void {\n        // update languages array based on AppShell State 'language' changes\n        this.appShellService.state$\n            .pipe(\n                takeUntil(this.destroy$),\n                distinctUntilKeyChanged('languages'),\n                map((state) => state.languages),\n            )\n            .subscribe((languages) => {\n                this.languages = languages ? EuiEuLanguages.getOrderedLanguages(languages) : EuiEuLanguages.getLanguages();\n                this.cd.detectChanges();\n            });\n\n        // update activeLanguage array based on AppShell State 'language' changes\n        this.appShellService.state$\n            .pipe(\n                takeUntil(this.destroy$),\n                distinctUntilKeyChanged('activeLanguage'),\n                map((state) => state?.activeLanguage),\n            )\n            .subscribe((activeLanguage) => {\n                this.selectedLanguage = this.getLanguage(activeLanguage);\n                if (!this.isAriaLabelChanged) {\n                    this.ariaLabel = `Change Language - Current Language: ${this.selectedLanguage.label}`;\n                }\n                this.cd.detectChanges();\n            });\n    }\n\n    ngAfterViewInit(): void {\n        // TODO: Using DI like \"inject(EuiToolbarComponent, {optional: true, skipSelf: true})\" would create\n        //  circular dependencies. Better approaches would be:\n        //  1. Parent component provides the isToolbarSelector input\n        //  2. Apply the eui-language-selector--toolbar-selector class directly\n        \n        let hasToolbarParent = false;\n        try {\n            hasToolbarParent = this.elRef.nativeElement.closest('eui-toolbar') || this.elRef.nativeElement.closest('eui-app-toolbar');\n        } catch (e) {\n            // do nothing\n        }\n\n        if (hasToolbarParent) {\n            setTimeout(() => {\n                this.isToolbarSelector = true;\n                this.cd.detectChanges();\n            }, 50);\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    /**\n     * Updates the active language in the application.\n     * @param language - The language object to set as active.\n     */\n    onLanguageChanged(language: EuiLanguage): void {\n        // Update the AppShellService state\n        this.appShellService.setState({\n            ...this.appShellService.state,\n            activeLanguage: language.code,\n        });\n    }\n\n    /**\n     * Opens a modal dialog with the full list of available languages.\n     * @param [titleLabel] - Optional custom title for the modal.\n     */\n    onOpen(titleLabel: string = this.translateService.instant('eui.languageSelector.modalTitle')): void {\n        this.euiDialogService.openDialog(\n            new EuiDialogConfig({\n                title: titleLabel,\n                hasFooter: false,\n                hasClosedOnClickOutside: true,\n                bodyComponent: {\n                    component: EuiModalSelectorComponent,\n                    config: {\n                        languages: this.languages,\n                        selectedLanguage: this.selectedLanguage,\n                        languageChanged: (language: EuiLanguage): void => this.onLanguageChanged(language),\n                    },\n                },\n            }),\n        );\n    }\n\n    onClick(): void {\n        this.languageSelectorClick.emit();\n    }\n\n    /**\n     * Retrieves a language object by its code.\n     *\n     * @param languageCode - Two-character language code.\n     */\n    protected getLanguage(languageCode: string): EuiLanguage {\n        return this.languages.find((lang) => lang.code === languageCode);\n    }\n}\n",
            "styleUrl": "./language-selector.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "AfterViewInit",
                "OnDestroy",
                "OnChanges"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 85
                    }
                },
                "isShowDropDown": {
                    "name": "isShowDropDown",
                    "getSignature": {
                        "name": "isShowDropDown",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 133,
                        "rawdescription": "\n\nreturns true if there are at least one and max four languages.\n",
                        "description": "<p>returns true if there are at least one and max four languages.</p>\n"
                    }
                },
                "isShowModal": {
                    "name": "isShowModal",
                    "getSignature": {
                        "name": "isShowModal",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 140,
                        "rawdescription": "\n\nreturns true if there are at least five languages.\n",
                        "description": "<p>returns true if there are at least five languages.</p>\n"
                    }
                }
            },
            "templateData": "@if (!hasLanguageSelection) {\n    <button class=\"eui-language-selector__button\"\n        euiButton\n        euiBasicButton\n        [euiBranding]=\"isToolbarSelector\"\n        (click)=\"onClick()\"\n        [attr.aria-label]=\"ariaLabel\">\n        <ng-template *ngTemplateOutlet=\"languageSelectorIcon\"></ng-template>\n        <span class=\"eui-language-selector__code\">{{ (appShellService.state$ | async).activeLanguage }}</span>\n    </button>\n\n} @else if (hasLanguageSelection && isShowDropDown) {\n    <eui-dropdown>\n        <button class=\"eui-language-selector__button\"\n            [attr.aria-label]=\"ariaLabel\"\n            euiButton\n            euiBasicButton\n            [euiBranding]=\"isToolbarSelector\">\n            <ng-template *ngTemplateOutlet=\"languageSelectorIcon\"></ng-template>\n            <span class=\"eui-language-selector__code\">{{ (appShellService.state$ | async).activeLanguage }}</span>\n        </button>\n\n        <eui-dropdown-content>\n            <div class=\"eui-language-selector-menu\">\n                @for (language of languages; track language) {\n                    <button\n                        euiDropdownItem\n                        attr.data-e2e=\"eui-language-selector-item_{{ language.code }}\"\n                        class=\"eui-language-selector-menu-language-item\"\n                        (click)=\"onLanguageChanged(language)\">\n                        <span [attr.lang]=\"language?.code\">{{ language.label }} ({{ language.code }})</span>\n                    </button>\n                }\n            </div>\n        </eui-dropdown-content>\n    </eui-dropdown>\n\n} @else if (hasLanguageSelection && isShowModal) {\n    <button class=\"eui-language-selector__button\"\n        euiButton euiBasicButton\n        (click)=\"onOpen()\"\n        [attr.aria-label]=\"ariaLabel\"\n        [euiBranding]=\"isToolbarSelector\">\n        <ng-template *ngTemplateOutlet=\"languageSelectorIcon\"></ng-template>\n        <span class=\"eui-language-selector__code\">{{ (appShellService.state$ | async)?.activeLanguage }}</span>\n    </button>\n}\n\n<ng-template #languageSelectorIcon>\n    <eui-icon-svg icon=\"eui-language-selector\" />\n</ng-template>\n"
        },
        {
            "name": "EuiListComponent",
            "id": "component-EuiListComponent-b5bd0378c20524d910ebf75e73de5b19baefb07cbe48b34df69070ccb862e76f3b6a2d42c2cabd89d7985043572e9c9733b3e26ca0e048aa9077521885b1e161",
            "file": "packages/components/eui-list/eui-list.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "[euiList], eui-list",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "items",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiListItemComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Collection of all list item components that are children of this list.\nIncludes items from nested lists due to the &#39;descendants: true&#39; option.</p>\n",
                    "line": 89,
                    "rawdescription": "\n\nCollection of all list item components that are children of this list.\nIncludes items from nested lists due to the 'descendants: true' option.\n",
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "undefined, {descendants: true}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "role",
                    "defaultValue": "'list'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the &#39;list&#39; ARIA role to the host element for accessibility.\nThis informs screen readers that this component functions as a list.</p>\n",
                    "line": 78,
                    "rawdescription": "\n\nBinds the 'list' ARIA role to the host element for accessibility.\nThis informs screen readers that this component functions as a list.\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "tabIndex",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the tabIndex attribute to the host element.\nControls whether the list can receive keyboard focus.\nSet to &#39;0&#39; for top-level lists and &#39;-1&#39; for nested lists.</p>\n",
                    "line": 84,
                    "rawdescription": "\n\nBinds the tabIndex attribute to the host element.\nControls whether the list can receive keyboard focus.\nSet to '0' for top-level lists and '-1' for nested lists.\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.tabindex'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "checkRichContentFocusState",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 150,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nManages focus state of rich content navigation within list items.\nHandles the focus transition between list item elements and their navigable content.\nCalled when right/left arrow keys are pressed on items with navigable content.\n",
                    "description": "<p>Manages focus state of rich content navigation within list items.\nHandles the focus transition between list item elements and their navigable content.\nCalled when right/left arrow keys are pressed on items with navigable content.</p>\n"
                },
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 131,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nInitializes the component after content (list items) has been initialized.\nSets up the FocusKeyManager for keyboard navigation and configures tabindex\nattributes based on nested list structure.\n",
                    "description": "<p>Initializes the component after content (list items) has been initialized.\nSets up the FocusKeyManager for keyboard navigation and configures tabindex\nattributes based on nested list structure.</p>\n"
                },
                {
                    "name": "onKeydown",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 99,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles keyboard events for navigating the list.\nSupports Enter key for selection and arrow keys for navigation.\n\n",
                    "description": "<p>Handles keyboard events for navigating the list.\nSupports Enter key for selection and arrow keys for navigation.</p>\n",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'keydown', ['$event']"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 3000,
                                "end": 3005,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2978,
                                "end": 2983,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The keyboard event to handle</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 2984,
                                "end": 2999,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 2985,
                                    "end": 2998,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 2985,
                                        "end": 2998,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "KeyboardEvent"
                                    }
                                }
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'list'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nBinds the 'list' ARIA role to the host element for accessibility.\nThis informs screen readers that this component functions as a list.\n",
                    "description": "<p>Binds the &#39;list&#39; ARIA role to the host element for accessibility.\nThis informs screen readers that this component functions as a list.</p>\n",
                    "line": 78,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "attr.tabindex",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nBinds the tabIndex attribute to the host element.\nControls whether the list can receive keyboard focus.\nSet to '0' for top-level lists and '-1' for nested lists.\n",
                    "description": "<p>Binds the tabIndex attribute to the host element.\nControls whether the list can receive keyboard focus.\nSet to &#39;0&#39; for top-level lists and &#39;-1&#39; for nested lists.</p>\n",
                    "line": 84,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1836,
                            "end": 1907,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1837,
                                "end": 1844,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>The CSS class to be applied to the host element</p>\n",
                            "typeExpression": {
                                "pos": 1845,
                                "end": 1853,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 1846,
                                    "end": 1852,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nCSS class binding that applies the 'eui-list' class to the host element.\nThis class applies the basic styling for the list component.\n\n",
                    "description": "<p>CSS class binding that applies the &#39;eui-list&#39; class to the host element.\nThis class applies the basic styling for the list component.</p>\n",
                    "line": 70,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [
                {
                    "name": "keydown",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$event"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles keyboard events for navigating the list.\nSupports Enter key for selection and arrow keys for navigation.\n\n",
                    "description": "<p>Handles keyboard events for navigating the list.\nSupports Enter key for selection and arrow keys for navigation.</p>\n",
                    "jsdoctags": [
                        {
                            "pos": 2977,
                            "end": 3042,
                            "kind": 342,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2978,
                                "end": 2983,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The keyboard event to handle</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 2984,
                                "end": 2999,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 2985,
                                    "end": 2998,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 2985,
                                        "end": 2998,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "KeyboardEvent"
                                    }
                                }
                            },
                            "name": {
                                "pos": 3000,
                                "end": 3005,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "isNameFirst": false,
                            "isBracketed": false
                        }
                    ],
                    "line": 99
                }
            ],
            "standalone": false,
            "imports": [],
            "description": "<p>Component that provides a navigable list implementation with keyboard interaction support.\nWorks with Angular CDK&#39;s FocusKeyManager to enable keyboard navigation between list items.</p>\n<p>The component automatically manages focus between nested lists and supports rich content\nnavigation. It can contain multiple EuiListItemComponents as children.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;ul euiList&gt;\n  &lt;li euiListItem&gt;First item&lt;/li&gt;\n  &lt;li euiListItem&gt;Second item&lt;/li&gt;\n  &lt;li euiListItem&gt;Third item&lt;/li&gt;\n&lt;/ul&gt;</code></pre></div><h3>With Nested Lists</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;ul euiList&gt;\n  &lt;li euiListItem&gt;\n    Parent item\n    &lt;ul euiList&gt;\n      &lt;li euiListItem&gt;Child item&lt;/li&gt;\n    &lt;/ul&gt;\n  &lt;/li&gt;\n&lt;/ul&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses semantic <code>list</code> role</li>\n<li>Keyboard navigation with Arrow keys</li>\n<li>Enter key activates items</li>\n<li>Focus management for nested lists</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Can be used as attribute <code>[euiList]</code> or element <code>&lt;eui-list&gt;</code></li>\n<li>Supports nested list structures</li>\n<li>Automatically manages tabindex for keyboard navigation</li>\n</ul>\n",
            "rawdescription": "\n\nComponent that provides a navigable list implementation with keyboard interaction support.\nWorks with Angular CDK's FocusKeyManager to enable keyboard navigation between list items.\n\nThe component automatically manages focus between nested lists and supports rich content\nnavigation. It can contain multiple EuiListItemComponents as children.\n\n### Basic Usage\n```html\n<ul euiList>\n  <li euiListItem>First item</li>\n  <li euiListItem>Second item</li>\n  <li euiListItem>Third item</li>\n</ul>\n```\n\n### With Nested Lists\n```html\n<ul euiList>\n  <li euiListItem>\n    Parent item\n    <ul euiList>\n      <li euiListItem>Child item</li>\n    </ul>\n  </li>\n</ul>\n```\n\n### Accessibility\n- Uses semantic `list` role\n- Keyboard navigation with Arrow keys\n- Enter key activates items\n- Focus management for nested lists\n\n### Notes\n- Can be used as attribute `[euiList]` or element `<eui-list>`\n- Supports nested list structures\n- Automatically manages tabindex for keyboard navigation\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ChangeDetectionStrategy,\n    AfterContentInit,\n    ContentChildren,\n    forwardRef,\n    QueryList,\n    HostListener,\n} from '@angular/core';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\n\nimport { EuiListItemComponent } from './eui-list-item/eui-list-item.component';\n\n/**\n * @description\n * Component that provides a navigable list implementation with keyboard interaction support.\n * Works with Angular CDK's FocusKeyManager to enable keyboard navigation between list items.\n *\n * The component automatically manages focus between nested lists and supports rich content\n * navigation. It can contain multiple EuiListItemComponents as children.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <ul euiList>\n *   <li euiListItem>First item</li>\n *   <li euiListItem>Second item</li>\n *   <li euiListItem>Third item</li>\n * </ul>\n * ```\n *\n * ### With Nested Lists\n * ```html\n * <ul euiList>\n *   <li euiListItem>\n *     Parent item\n *     <ul euiList>\n *       <li euiListItem>Child item</li>\n *     </ul>\n *   </li>\n * </ul>\n * ```\n *\n * ### Accessibility\n * - Uses semantic `list` role\n * - Keyboard navigation with Arrow keys\n * - Enter key activates items\n * - Focus management for nested lists\n *\n * ### Notes\n * - Can be used as attribute `[euiList]` or element `<eui-list>`\n * - Supports nested list structures\n * - Automatically manages tabindex for keyboard navigation\n */\n@Component({\n    selector: '[euiList], eui-list',\n    template: '<ng-content/>',\n    styleUrl: './eui-list.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiListComponent implements AfterContentInit {\n    /**\n     * CSS class binding that applies the 'eui-list' class to the host element.\n     * This class applies the basic styling for the list component.\n     *\n     * @returns {string} The CSS class to be applied to the host element\n     */\n    @HostBinding('class')\n    get cssClasses(): string {\n        return 'eui-list';\n    }\n\n    /**\n     * Binds the 'list' ARIA role to the host element for accessibility.\n     * This informs screen readers that this component functions as a list.\n     */\n    @HostBinding('attr.role') role = 'list';\n    /**\n     * Binds the tabIndex attribute to the host element.\n     * Controls whether the list can receive keyboard focus.\n     * Set to '0' for top-level lists and '-1' for nested lists.\n     */\n    @HostBinding('attr.tabindex') tabIndex: string;\n    /**\n     * Collection of all list item components that are children of this list.\n     * Includes items from nested lists due to the 'descendants: true' option.\n     */\n    @ContentChildren(forwardRef(() => EuiListItemComponent), { descendants: true }) items: QueryList<EuiListItemComponent>;\n    private focusKeyManager: FocusKeyManager<EuiListItemComponent>;\n\n    /**\n     * Handles keyboard events for navigating the list.\n     * Supports Enter key for selection and arrow keys for navigation.\n     *\n     * @param {KeyboardEvent} event - The keyboard event to handle\n     */\n    @HostListener('keydown', ['$event'])\n    onKeydown(event: KeyboardEvent): void {\n        switch (event.key) {\n            case 'Enter': {\n                if (this.focusKeyManager?.activeItem) {\n                    this.focusKeyManager.activeItem.click();\n                }\n                break;\n            }\n            case 'ArrowRight': {\n               if(this.focusKeyManager.activeItem?.euiArrowKeyNavigableDirective){\n                    this.checkRichContentFocusState();\n               }\n               break;\n            }\n            case 'ArrowLeft': {\n               if(this.focusKeyManager.activeItem?.euiArrowKeyNavigableDirective){\n                    this.checkRichContentFocusState();\n               }\n               break;\n            }\n            default: {\n                this.focusKeyManager.onKeydown(event);\n                break;\n            }\n        }\n    }\n\n    /**\n     * Initializes the component after content (list items) has been initialized.\n     * Sets up the FocusKeyManager for keyboard navigation and configures tabindex\n     * attributes based on nested list structure.\n     */\n    ngAfterContentInit(): void {\n        // instantiates FocusKeyManager with the query list of items enabling wrapping\n        this.focusKeyManager = new FocusKeyManager(this.items).withWrap();\n\n        // checks whether an item contains a sub-menu and if so it sets it's ul element tabindex to -1\n        this.items.forEach((item) => {\n            if (item.euiListComponent.length > 0) {\n                item.euiListComponent.forEach((list) => (list.tabIndex = '-1'));\n            } else {\n                this.tabIndex = '0';\n            }\n        });\n    }\n\n    /**\n     * Manages focus state of rich content navigation within list items.\n     * Handles the focus transition between list item elements and their navigable content.\n     * Called when right/left arrow keys are pressed on items with navigable content.\n     */\n    checkRichContentFocusState(): void {\n        // eslint-disable-next-line\n        !this.focusKeyManager.activeItem.euiArrowKeyNavigableDirective.isFocused ?\n            this.focusKeyManager.activeItem.euiArrowKeyNavigableDirective.elementRef.nativeElement.focus() :\n            this.focusKeyManager.activeItem.focus();\n    }\n}\n",
            "styleUrl": "./eui-list.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterContentInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 70,
                        "rawdescription": "\n\nCSS class binding that applies the 'eui-list' class to the host element.\nThis class applies the basic styling for the list component.\n\n",
                        "description": "<p>CSS class binding that applies the &#39;eui-list&#39; class to the host element.\nThis class applies the basic styling for the list component.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 1836,
                                "end": 1907,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 1837,
                                    "end": 1844,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>The CSS class to be applied to the host element</p>\n",
                                "typeExpression": {
                                    "pos": 1845,
                                    "end": 1853,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 1846,
                                        "end": 1852,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            }
        },
        {
            "name": "EuiListItemComponent",
            "id": "component-EuiListItemComponent-9e29cdf93e4b507bfa1995d143ee751098868c423c5554252c6dcd7e4a03e4d506ce5b9127cd397de113fb219a18f334798c870a00b1256b5b025ad0e476eea9",
            "file": "packages/components/eui-list/eui-list-item/eui-list-item.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "[euiListItem], eui-list-item",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-list-item.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiSecondary",
                        "euiSuccess",
                        "euiInfo",
                        "euiWarning",
                        "euiDanger",
                        "euiVariant"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-list-item'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 88,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isActive",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 97,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 98
                },
                {
                    "name": "euiArrowKeyNavigableDirective",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiArrowKeyNavigableDirective",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 95,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "euiIconSvgComponent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiIconSvgComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 92,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "undefined, {descendants: true}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "euiLabelComponent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiLabelComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 93,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "undefined, {descendants: true}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "euiListComponent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiListComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 91,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "undefined, {descendants: true}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "role",
                    "defaultValue": "'listitem'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 87,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "tabindex",
                    "defaultValue": "'-1'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 89,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.tabindex'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "templates",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiTemplateDirective>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 94,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "undefined, {descendants: true}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "click",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 114,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nProgrammatically triggers a click event on the list item element.\nTypically, invoked when the user presses Enter while the item is focused.\n",
                    "description": "<p>Programmatically triggers a click event on the list item element.\nTypically, invoked when the user presses Enter while the item is focused.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "focus",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 105,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets focus on the list item element.\nUsed by the FocusKeyManager to handle keyboard navigation within the list.\n",
                    "description": "<p>Sets focus on the list item element.\nUsed by the FocusKeyManager to handle keyboard navigation within the list.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "setActiveStyles",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 123,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nApplies active styling to the list item.\nCalled by the FocusKeyManager when this item becomes the active item in the list.\nSets the isActive flag to true, which adds the 'eui-list-item--active' CSS class.\n",
                    "description": "<p>Applies active styling to the list item.\nCalled by the FocusKeyManager when this item becomes the active item in the list.\nSets the isActive flag to true, which adds the &#39;eui-list-item--active&#39; CSS class.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "setInactiveStyles",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 132,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRemoves active styling from the list item.\nCalled by the FocusKeyManager when another item becomes the active item.\nSets the isActive flag to false, removing the 'eui-list-item--active' CSS class.\n",
                    "description": "<p>Removes active styling from the list item.\nCalled by the FocusKeyManager when another item becomes the active item.\nSets the isActive flag to false, removing the &#39;eui-list-item--active&#39; CSS class.</p>\n",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'listitem'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 87,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "attr.tabindex",
                    "defaultValue": "'-1'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 89,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 80,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Component that represents a single item within an EuiList.\nImplements FocusableOption and Highlightable for keyboard navigation and accessibility.</p>\n<p>This component is designed to work with the EuiListComponent as part of a navigable list.\nIt supports various display states through the BaseStatesDirective, and can contain\nnested list components, icons, labels, and custom templates.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;ul euiList&gt;\n  &lt;li euiListItem&gt;Simple list item&lt;/li&gt;\n  &lt;li euiListItem [isActive]=&quot;true&quot;&gt;Active item&lt;/li&gt;\n  &lt;li euiListItem euiPrimary&gt;Primary styled item&lt;/li&gt;\n&lt;/ul&gt;</code></pre></div><h3>With Icon and Label</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;li euiListItem&gt;\n  &lt;eui-icon icon=&quot;eui-home&quot;&gt;&lt;/eui-icon&gt;\n  &lt;label euiLabel&gt;Home&lt;/label&gt;\n&lt;/li&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses semantic <code>listitem</code> role</li>\n<li>Keyboard focusable with proper tabindex management</li>\n<li>Active state is visually and programmatically indicated</li>\n<li>Supports arrow key navigation for rich content</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Can be used as attribute <code>[euiListItem]</code> or element <code>&lt;eui-list-item&gt;</code></li>\n<li>Supports variant styling via BaseStatesDirective</li>\n<li>Active state managed by parent list&#39;s FocusKeyManager</li>\n</ul>\n",
            "rawdescription": "\n\nComponent that represents a single item within an EuiList.\nImplements FocusableOption and Highlightable for keyboard navigation and accessibility.\n\nThis component is designed to work with the EuiListComponent as part of a navigable list.\nIt supports various display states through the BaseStatesDirective, and can contain\nnested list components, icons, labels, and custom templates.\n\n### Basic Usage\n```html\n<ul euiList>\n  <li euiListItem>Simple list item</li>\n  <li euiListItem [isActive]=\"true\">Active item</li>\n  <li euiListItem euiPrimary>Primary styled item</li>\n</ul>\n```\n\n### With Icon and Label\n```html\n<li euiListItem>\n  <eui-icon icon=\"eui-home\"></eui-icon>\n  <label euiLabel>Home</label>\n</li>\n```\n\n### Accessibility\n- Uses semantic `listitem` role\n- Keyboard focusable with proper tabindex management\n- Active state is visually and programmatically indicated\n- Supports arrow key navigation for rich content\n\n### Notes\n- Can be used as attribute `[euiListItem]` or element `<eui-list-item>`\n- Supports variant styling via BaseStatesDirective\n- Active state managed by parent list's FocusKeyManager\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ContentChildren,\n    forwardRef,\n    QueryList,\n    Input,\n    ElementRef,\n    booleanAttribute,\n    ContentChild,\n    inject,\n} from '@angular/core';\nimport { Highlightable, FocusableOption } from '@angular/cdk/a11y';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiListComponent } from '../eui-list.component';\nimport { EuiIconSvgComponent } from '@eui/components/eui-icon';\nimport { EuiLabelComponent } from '@eui/components/eui-label';\nimport { EuiTemplateDirective, EuiArrowKeyNavigableDirective } from '@eui/components/directives';\n\n/**\n * @description\n * Component that represents a single item within an EuiList.\n * Implements FocusableOption and Highlightable for keyboard navigation and accessibility.\n *\n * This component is designed to work with the EuiListComponent as part of a navigable list.\n * It supports various display states through the BaseStatesDirective, and can contain\n * nested list components, icons, labels, and custom templates.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <ul euiList>\n *   <li euiListItem>Simple list item</li>\n *   <li euiListItem [isActive]=\"true\">Active item</li>\n *   <li euiListItem euiPrimary>Primary styled item</li>\n * </ul>\n * ```\n *\n * ### With Icon and Label\n * ```html\n * <li euiListItem>\n *   <eui-icon icon=\"eui-home\"></eui-icon>\n *   <label euiLabel>Home</label>\n * </li>\n * ```\n *\n * ### Accessibility\n * - Uses semantic `listitem` role\n * - Keyboard focusable with proper tabindex management\n * - Active state is visually and programmatically indicated\n * - Supports arrow key navigation for rich content\n *\n * ### Notes\n * - Can be used as attribute `[euiListItem]` or element `<eui-list-item>`\n * - Supports variant styling via BaseStatesDirective\n * - Active state managed by parent list's FocusKeyManager\n */\n@Component({\n    templateUrl: './eui-list-item.component.html',\n    selector: '[euiListItem], eui-list-item',\n    styleUrl: './eui-list-item.scss',\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiPrimary',\n                'euiSecondary',\n                'euiSuccess',\n                'euiInfo',\n                'euiWarning',\n                'euiDanger',\n                'euiVariant',\n            ],\n        },\n    ],\n})\nexport class EuiListItemComponent implements FocusableOption, Highlightable {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-list-item'),\n            this.isActive ? 'eui-list-item--active' : '',\n        ].join(' ').trim();\n    }\n\n    @HostBinding('attr.role') role = 'listitem';\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-list-item';\n    @HostBinding('attr.tabindex') tabindex = '-1';\n\n    @ContentChildren(forwardRef(() => EuiListComponent), { descendants: true }) euiListComponent: QueryList<EuiListComponent>;\n    @ContentChildren(forwardRef(() => EuiIconSvgComponent), { descendants: true }) euiIconSvgComponent: QueryList<EuiIconSvgComponent>;\n    @ContentChildren(forwardRef(() => EuiLabelComponent), { descendants: true }) euiLabelComponent: QueryList<EuiLabelComponent>;\n    @ContentChildren(forwardRef(() => EuiTemplateDirective), { descendants: true }) templates: QueryList<EuiTemplateDirective>;\n    @ContentChild(forwardRef(() => EuiArrowKeyNavigableDirective)) euiArrowKeyNavigableDirective: EuiArrowKeyNavigableDirective;\n\n    @Input({ transform: booleanAttribute }) isActive = false;\n    baseStatesDirective = inject(BaseStatesDirective);\n    private elementRef = inject(ElementRef);\n\n    /**\n     * Sets focus on the list item element.\n     * Used by the FocusKeyManager to handle keyboard navigation within the list.\n     */\n    public focus(): void {\n        this.elementRef.nativeElement.focus();\n    }\n\n    /**\n     * Programmatically triggers a click event on the list item element.\n     * Typically, invoked when the user presses Enter while the item is focused.\n     */\n    // TODO: make it protected\n    public click(): void {\n        this.elementRef.nativeElement.click();\n    }\n\n    /**\n     * Applies active styling to the list item.\n     * Called by the FocusKeyManager when this item becomes the active item in the list.\n     * Sets the isActive flag to true, which adds the 'eui-list-item--active' CSS class.\n     */\n    public setActiveStyles(): void {\n        this.isActive = true;\n    }\n\n    /**\n     * Removes active styling from the list item.\n     * Called by the FocusKeyManager when another item becomes the active item.\n     * Sets the isActive flag to false, removing the 'eui-list-item--active' CSS class.\n     */\n    public setInactiveStyles(): void {\n        this.isActive = false;\n    }\n}\n",
            "styleUrl": "./eui-list-item.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "FocusableOption",
                "Highlightable"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 80
                    }
                }
            },
            "templateData": "<div class=\"eui-list-item__container\" [class.eui-list-item--has-submenu]=\"euiListComponent.length > 0\">\n    <div class=\"eui-list-item__content\">\n        @if (euiIconSvgComponent.length > 0) {\n            <div class=\"eui-list-item__content-icon\">\n                <ng-content select=\"eui-icon-svg, span[euiIconSvg]\"></ng-content>\n            </div>\n        }\n        @if (euiLabelComponent.length > 0) {\n            <div class=\"eui-list-item__content-text\">\n                <ng-content select=\"[eui-label], [euiLabel]\"></ng-content>\n            </div>\n        }\n        <ng-content></ng-content>\n    </div>\n\n    @if ((euiListComponent.length > 0) || (euiListComponent.length > 0)) {\n        <div class=\"eui-list-item__sub-list\">\n            <ng-content select=\"[eui-list], [euiList]\"></ng-content>\n        </div>\n    }\n</div>\n"
        },
        {
            "name": "EuiMenuComponent",
            "id": "component-EuiMenuComponent-ee4ffe03925ae8d2f78cc64bed9f5d56f23111bb3385443d15f69c81741c0c89fc7c9945bcb90b2c6d82aaac87f9a5a6baa6debcd064f8af56a334f730924cd3",
            "file": "packages/components/eui-menu/eui-menu.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-menu",
            "styleUrls": [
                "./styles/_index.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-menu.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "expandAllItems",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nExpands all menu items that do not have an explicit expanded property set. Items with\nexpanded: true or expanded: false are not affected. Defaults to false.\n",
                    "description": "<p>Expands all menu items that do not have an explicit expanded property set. Items with\nexpanded: true or expanded: false are not affected. Defaults to false.</p>\n",
                    "line": 161,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "externalLinkLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nAccessible label for external link indicators.\n",
                    "description": "<p>Accessible label for external link indicators.</p>\n",
                    "line": 119,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "filterValue",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCurrent filter value for programmatic filtering of menu items. Defaults to empty string.\n",
                    "description": "<p>Current filter value for programmatic filtering of menu items. Defaults to empty string.</p>\n",
                    "line": 127,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "fragmentId",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nURL fragment identifier to append when navigating to internal routes.\n",
                    "description": "<p>URL fragment identifier to append when navigating to internal routes.</p>\n",
                    "line": 123,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasBoldRootLevel",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nApplies bold font weight to root-level menu items. Defaults to false.\n",
                    "description": "<p>Applies bold font weight to root-level menu items. Defaults to false.</p>\n",
                    "line": 174,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasCollapsedInitials",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisplays item initials when menu is collapsed instead of icons. Defaults to false.\n",
                    "description": "<p>Displays item initials when menu is collapsed instead of icons. Defaults to false.</p>\n",
                    "line": 136,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasFilter",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEnables the search filter input for filtering menu items by label. Defaults to false.\n",
                    "description": "<p>Enables the search filter input for filtering menu items by label. Defaults to false.</p>\n",
                    "line": 140,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasIcons",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisplays icons for menu items when provided in item configuration. Defaults to false.\n",
                    "description": "<p>Displays icons for menu items when provided in item configuration. Defaults to false.</p>\n",
                    "line": 144,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasIconsLabels",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nShows labels alongside icons in the menu. Defaults to false.\n",
                    "description": "<p>Shows labels alongside icons in the menu. Defaults to false.</p>\n",
                    "line": 148,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasScrollToItem",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nAutomatically scrolls to the active menu item matching the current route on navigation.\nDefaults to false.\n",
                    "description": "<p>Automatically scrolls to the active menu item matching the current route on navigation.\nDefaults to false.</p>\n",
                    "line": 170,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasTooltip",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEnables tooltips on menu items when collapsed. Defaults to true.\n",
                    "description": "<p>Enables tooltips on menu items when collapsed. Defaults to true.</p>\n",
                    "line": 152,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasTooltipOnExpanded",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nShows tooltips even when menu is expanded. Defaults to false.\n",
                    "description": "<p>Shows tooltips even when menu is expanded. Defaults to false.</p>\n",
                    "line": 156,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCollapsed",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCollapses the menu to a compact state showing only icons or initials. Defaults to false.\n",
                    "description": "<p>Collapses the menu to a compact state showing only icons or initials. Defaults to false.</p>\n",
                    "line": 132,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isFlat",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nApplies flat styling without hierarchical indentation. Defaults to false.\n",
                    "description": "<p>Applies flat styling without hierarchical indentation. Defaults to false.</p>\n",
                    "line": 165,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "items",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHierarchical array of menu items to display. Each item can contain children for nested menus.\nRequired.\n",
                    "description": "<p>Hierarchical array of menu items to display. Each item can contain children for nested menus.\nRequired.</p>\n",
                    "line": 111,
                    "type": "EuiMenuItem[]",
                    "decorators": []
                },
                {
                    "name": "searchFilterLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nAccessible label for the search filter input field. Defaults to 'Search filter' if not provided.\n",
                    "description": "<p>Accessible label for the search filter input field. Defaults to &#39;Search filter&#39; if not provided.</p>\n",
                    "line": 115,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "expandToggle",
                    "defaultValue": "new EventEmitter<EuiMenuItem>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmits the menu item when its expanded state is toggled. Only triggered for items with children.\n",
                    "description": "<p>Emits the menu item when its expanded state is toggled. Only triggered for items with children.</p>\n",
                    "line": 187,
                    "type": "EventEmitter"
                },
                {
                    "name": "isClick",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmits true when any menu item is clicked, regardless of item type or state.\n",
                    "description": "<p>Emits true when any menu item is clicked, regardless of item type or state.</p>\n",
                    "line": 179,
                    "type": "EventEmitter<boolean>"
                },
                {
                    "name": "itemClick",
                    "defaultValue": "new EventEmitter<EuiMenuItem>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmits the clicked menu item. Triggered on all item clicks including disabled items.\n",
                    "description": "<p>Emits the clicked menu item. Triggered on all item clicks including disabled items.</p>\n",
                    "line": 183,
                    "type": "EventEmitter<EuiMenuItem>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "filterInput",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef<HTMLInputElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 94,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'filterInput', {read: ElementRef}"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ]
                },
                {
                    "name": "hasExpandIcon",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 189,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "menubar",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef<HTMLUListElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 95,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'menubar', {read: ElementRef}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "menuItemsComponents",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiMenuItemComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 93,
                    "decorators": [
                        {
                            "name": "ViewChildren",
                            "stringifiedArguments": "EuiMenuItemComponent"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 369,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 308,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 379,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 352,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onClick",
                    "args": [
                        {
                            "name": "item",
                            "type": "EuiMenuItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 385,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "item",
                            "type": "EuiMenuItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onExpandToggle",
                    "args": [
                        {
                            "name": "item",
                            "type": "EuiMenuItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 417,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "item",
                            "type": "EuiMenuItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onFilter",
                    "args": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 434,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nFilter the menu items based on the input value\n",
                    "description": "<p>Filter the menu items based on the input value</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 16903,
                                "end": 16908,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 16897,
                                "end": 16902,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        }
                    ]
                },
                {
                    "name": "onFilter",
                    "args": [
                        {
                            "name": "value",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 435,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onFilter",
                    "args": [
                        {
                            "name": "eventOrValue",
                            "type": "Event | string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 436,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "eventOrValue",
                            "type": "Event | string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onKeydown",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 201,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onMenuFilterClick",
                    "args": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 425,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "shouldRenderChild",
                    "args": [
                        {
                            "name": "item",
                            "type": "EuiMenuItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 454,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCheck if the children of an item should be rendered. The children should be rendered if the item is expanded\nor if the item is filtered and the filter input has a value. There are two cases when the filter input has a value:\n1. The user has typed something in the filter input\n2. The user has typed something in the filter input and the item is filtered\nIn general there are two states to be taken into account, the expanded state and the filtered state.\n\n",
                    "description": "<p>Check if the children of an item should be rendered. The children should be rendered if the item is expanded\nor if the item is filtered and the filter input has a value. There are two cases when the filter input has a value:</p>\n<ol>\n<li>The user has typed something in the filter input</li>\n<li>The user has typed something in the filter input and the item is filtered\nIn general there are two states to be taken into account, the expanded state and the filtered state.</li>\n</ol>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 17871,
                                "end": 17875,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "item"
                            },
                            "type": "EuiMenuItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 17865,
                                "end": 17870,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        }
                    ]
                },
                {
                    "name": "stopPropagation",
                    "args": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 197,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'click', ['$event']"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 98,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [
                {
                    "name": "click",
                    "args": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$event"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 197
                }
            ],
            "standalone": false,
            "imports": [
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "EuiMenuItemComponent",
                    "type": "component"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_ICON_INPUT"
                },
                {
                    "name": "EUI_INPUT_TEXT"
                }
            ],
            "description": "<p>Navigation menu component supporting hierarchical item structures with expand/collapse functionality,\nkeyboard navigation, filtering, and router integration. Provides both collapsed and expanded states\nwith optional icons, tooltips, and scroll-to-active-item behavior. Commonly used for application\nsidebars, navigation panels, and hierarchical content navigation.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">menuItems: EuiMenuItem[] = [\n  { id: &#39;1&#39;, label: &#39;Dashboard&#39;, url: &#39;/dashboard&#39;, icon: &#39;eui-home&#39; },\n  { id: &#39;2&#39;, label: &#39;Settings&#39;, children: [\n    { id: &#39;2-1&#39;, label: &#39;Profile&#39;, url: &#39;/settings/profile&#39; },\n    { id: &#39;2-2&#39;, label: &#39;Security&#39;, url: &#39;/settings/security&#39; }\n  ]}\n];</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-menu [items]=&quot;menuItems&quot; [hasIcons]=&quot;true&quot;&gt;&lt;/eui-menu&gt;</code></pre></div><h3>With Filter</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-menu [items]=&quot;menuItems&quot; [hasFilter]=&quot;true&quot; searchFilterLabel=&quot;Search menu&quot;&gt;&lt;/eui-menu&gt;</code></pre></div><h3>Collapsed Mode</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-menu [items]=&quot;menuItems&quot; [isCollapsed]=&quot;true&quot; [hasTooltip]=&quot;true&quot;&gt;&lt;/eui-menu&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Full keyboard navigation with Arrow keys, Enter, and Space</li>\n<li>ARIA roles and properties for menu structure</li>\n<li>Focus management for nested items</li>\n<li>Screen reader announcements for expand/collapse states</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Supports URL navigation, router links, and command callbacks</li>\n<li>Automatically expands to active route when <code>hasScrollToItem</code> is enabled</li>\n<li>Filter functionality searches through all menu levels</li>\n<li>Collapsed mode shows icons or initials with tooltips</li>\n</ul>\n",
            "rawdescription": "\n\nNavigation menu component supporting hierarchical item structures with expand/collapse functionality,\nkeyboard navigation, filtering, and router integration. Provides both collapsed and expanded states\nwith optional icons, tooltips, and scroll-to-active-item behavior. Commonly used for application\nsidebars, navigation panels, and hierarchical content navigation.\n\n### Basic Usage\n```typescript\nmenuItems: EuiMenuItem[] = [\n  { id: '1', label: 'Dashboard', url: '/dashboard', icon: 'eui-home' },\n  { id: '2', label: 'Settings', children: [\n    { id: '2-1', label: 'Profile', url: '/settings/profile' },\n    { id: '2-2', label: 'Security', url: '/settings/security' }\n  ]}\n];\n```\n\n```html\n<eui-menu [items]=\"menuItems\" [hasIcons]=\"true\"></eui-menu>\n```\n\n### With Filter\n```html\n<eui-menu [items]=\"menuItems\" [hasFilter]=\"true\" searchFilterLabel=\"Search menu\"></eui-menu>\n```\n\n### Collapsed Mode\n```html\n<eui-menu [items]=\"menuItems\" [isCollapsed]=\"true\" [hasTooltip]=\"true\"></eui-menu>\n```\n\n### Accessibility\n- Full keyboard navigation with Arrow keys, Enter, and Space\n- ARIA roles and properties for menu structure\n- Focus management for nested items\n- Screen reader announcements for expand/collapse states\n\n### Notes\n- Supports URL navigation, router links, and command callbacks\n- Automatically expands to active route when `hasScrollToItem` is enabled\n- Filter functionality searches through all menu levels\n- Collapsed mode shows icons or initials with tooltips\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ViewEncapsulation,\n    Input,\n    OnInit,\n    Output,\n    EventEmitter,\n    OnChanges,\n    SimpleChanges,\n    HostListener,\n    booleanAttribute,\n    OnDestroy,\n    AfterViewInit,\n    ViewChildren,\n    QueryList,\n    ChangeDetectorRef,\n    ViewChild,\n    ElementRef,\n    inject,\n} from '@angular/core';\nimport { Router, ActivatedRoute, NavigationEnd } from '@angular/router';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { Subscription } from 'rxjs';\n\nimport { consumeEvent } from '@eui/core';\nimport { EuiMenuItemComponent } from './eui-menu-item.component';\nimport { EuiMenuItem } from './models/eui-menu-item.model';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_ICON_INPUT } from '@eui/components/eui-icon-input';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\n\n/**\n * Navigation menu component supporting hierarchical item structures with expand/collapse functionality,\n * keyboard navigation, filtering, and router integration. Provides both collapsed and expanded states\n * with optional icons, tooltips, and scroll-to-active-item behavior. Commonly used for application\n * sidebars, navigation panels, and hierarchical content navigation.\n *\n * @usageNotes\n * ### Basic Usage\n * ```typescript\n * menuItems: EuiMenuItem[] = [\n *   { id: '1', label: 'Dashboard', url: '/dashboard', icon: 'eui-home' },\n *   { id: '2', label: 'Settings', children: [\n *     { id: '2-1', label: 'Profile', url: '/settings/profile' },\n *     { id: '2-2', label: 'Security', url: '/settings/security' }\n *   ]}\n * ];\n * ```\n *\n * ```html\n * <eui-menu [items]=\"menuItems\" [hasIcons]=\"true\"></eui-menu>\n * ```\n *\n * ### With Filter\n * ```html\n * <eui-menu [items]=\"menuItems\" [hasFilter]=\"true\" searchFilterLabel=\"Search menu\"></eui-menu>\n * ```\n *\n * ### Collapsed Mode\n * ```html\n * <eui-menu [items]=\"menuItems\" [isCollapsed]=\"true\" [hasTooltip]=\"true\"></eui-menu>\n * ```\n *\n * ### Accessibility\n * - Full keyboard navigation with Arrow keys, Enter, and Space\n * - ARIA roles and properties for menu structure\n * - Focus management for nested items\n * - Screen reader announcements for expand/collapse states\n *\n * ### Notes\n * - Supports URL navigation, router links, and command callbacks\n * - Automatically expands to active route when `hasScrollToItem` is enabled\n * - Filter functionality searches through all menu levels\n * - Collapsed mode shows icons or initials with tooltips\n */\n@Component({\n    selector: 'eui-menu',\n    templateUrl: './eui-menu.component.html',\n    styleUrls: ['./styles/_index.scss'],\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        NgTemplateOutlet,\n        EuiMenuItemComponent,\n        ...EUI_ICON,\n        ...EUI_ICON_INPUT,\n        ...EUI_INPUT_TEXT,\n    ],\n})\nexport class EuiMenuComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit {\n    @ViewChildren(EuiMenuItemComponent) protected menuItemsComponents: QueryList<EuiMenuItemComponent>;\n    @ViewChild('filterInput', { read: ElementRef }) protected filterInput: ElementRef<HTMLInputElement>;\n    @ViewChild('menubar', { read: ElementRef }) menubar: ElementRef<HTMLUListElement>;\n\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [\n            'eui-menu',\n            this.isCollapsed ? 'eui-menu--collapsed' : '',\n            !this.hasIcons ? 'eui-menu--no-icons' : '',\n            this.isFlat ? 'eui-menu--flat': '',\n        ].join(' ').trim();\n    }\n\n    /**\n     * Hierarchical array of menu items to display. Each item can contain children for nested menus.\n     * Required.\n     */\n    @Input() items: EuiMenuItem[];\n    /**\n     * Accessible label for the search filter input field. Defaults to 'Search filter' if not provided.\n     */\n    @Input() searchFilterLabel: string;\n    /**\n     * Accessible label for external link indicators.\n     */\n    @Input() externalLinkLabel: string;\n    /**\n     * URL fragment identifier to append when navigating to internal routes.\n     */\n    @Input() fragmentId: string;\n    /**\n     * Current filter value for programmatic filtering of menu items. Defaults to empty string.\n     */\n    @Input() filterValue = '';\n\n    /**\n     * Collapses the menu to a compact state showing only icons or initials. Defaults to false.\n     */\n    @Input({ transform: booleanAttribute }) isCollapsed = false;\n    /**\n     * Displays item initials when menu is collapsed instead of icons. Defaults to false.\n     */\n    @Input({ transform: booleanAttribute }) hasCollapsedInitials = false;\n    /**\n     * Enables the search filter input for filtering menu items by label. Defaults to false.\n     */\n    @Input({ transform: booleanAttribute }) hasFilter = false;\n    /**\n     * Displays icons for menu items when provided in item configuration. Defaults to false.\n     */\n    @Input({ transform: booleanAttribute }) hasIcons = false;\n    /**\n     * Shows labels alongside icons in the menu. Defaults to false.\n     */\n    @Input({ transform: booleanAttribute }) hasIconsLabels = false;\n    /**\n     * Enables tooltips on menu items when collapsed. Defaults to true.\n     */\n    @Input({ transform: booleanAttribute }) hasTooltip = true;\n    /**\n     * Shows tooltips even when menu is expanded. Defaults to false.\n     */\n    @Input({ transform: booleanAttribute }) hasTooltipOnExpanded = false;\n    /**\n     * Expands all menu items that do not have an explicit expanded property set. Items with\n     * expanded: true or expanded: false are not affected. Defaults to false.\n     */\n    @Input({ transform: booleanAttribute }) expandAllItems = false;\n    /**\n     * Applies flat styling without hierarchical indentation. Defaults to false.\n     */\n    @Input({ transform: booleanAttribute }) isFlat = false;\n    /**\n     * Automatically scrolls to the active menu item matching the current route on navigation.\n     * Defaults to false.\n     */\n    @Input({ transform: booleanAttribute }) hasScrollToItem = false;\n    /**\n     * Applies bold font weight to root-level menu items. Defaults to false.\n     */\n    @Input({ transform: booleanAttribute }) hasBoldRootLevel = false;\n\n    /**\n     * Emits true when any menu item is clicked, regardless of item type or state.\n     */\n    @Output() isClick: EventEmitter<boolean> = new EventEmitter();\n    /**\n     * Emits the clicked menu item. Triggered on all item clicks including disabled items.\n     */\n    @Output() itemClick: EventEmitter<EuiMenuItem> = new EventEmitter<EuiMenuItem>();\n    /**\n     * Emits the menu item when its expanded state is toggled. Only triggered for items with children.\n     */\n    @Output() expandToggle = new EventEmitter<EuiMenuItem>();\n\n    protected hasExpandIcon = true;\n    private subscription: Subscription;\n    private focusKeyManager: FocusKeyManager<EuiMenuItemComponent>;\n    private router = inject(Router);\n    private route = inject(ActivatedRoute);\n    private cd = inject(ChangeDetectorRef);\n\n    @HostListener('click', ['$event'])\n    stopPropagation(event: MouseEvent): void {\n        event.stopPropagation();\n    }\n\n    onKeydown(event: KeyboardEvent): void {\n        // finds first child when ArrowDown\n        const firstChild = this.focusKeyManager.activeItem?.item.children? this.findFirstFilteredItem(this.focusKeyManager.activeItem?.item.children) : undefined;\n        const firstFocusableItem = this.findFocusableItem(firstChild);\n        // finds the parent element\n        const parent = this.focusKeyManager.activeItem?.item.parent;\n        const parentFocusableItem = this.findFocusableItem(parent);\n        switch (event.key) {\n            case 'Enter': {\n                if (\n                    (this.focusKeyManager.activeItem.isLinkItem || this.focusKeyManager.activeItem.isUrlItem) &&\n                    !this.focusKeyManager.activeItem.disabled\n                ) {\n                    this.focusKeyManager.activeItem.onClick(event);\n                    event.preventDefault();\n                }\n                break;\n            }\n            case 'ArrowRight': {\n                if(this.isFilterEnabled()) {\n                    break;\n                }\n                if(this.focusKeyManager.activeItem?.item.actionIcon){\n                    this.checkActionIconFocusState();\n                    break;\n                } else {\n                    if (!this.focusKeyManager.activeItem?.item.expanded) {\n                        this.focusKeyManager.activeItem?.onExpandToggle(event);\n                        this.cd.detectChanges();\n                    }\n                    break;\n                }\n            }\n            case 'ArrowLeft': {\n                if(this.isFilterEnabled()) {\n                    break;\n                }\n                if(this.focusKeyManager.activeItem?.item.actionIcon){\n                    this.checkActionIconFocusState();\n                    break;\n                } else {\n                    if (this.focusKeyManager.activeItem?.item.expanded) {\n                        this.focusKeyManager.activeItem.onExpandToggle(event);\n                        this.cd.detectChanges();\n                        event.preventDefault();\n                    }\n                    break;\n                }\n            }\n            case 'ArrowDown': {\n                event.preventDefault();\n                if (this.shouldRenderChild(this.focusKeyManager.activeItem?.item)) {\n                    //focuses first child\n                    firstFocusableItem?.focus();\n                    this.focusKeyManager.updateActiveItem(firstFocusableItem);\n                } else if (parent) {\n                    // finds last filtered child when ArrowDown and navigating within submenu\n                    const filteredChildren = this.findFilteredItems(parent.children);\n                    const lastChildIndex = (filteredChildren?.length) - 1;\n                    const lastChild = filteredChildren[lastChildIndex];\n                    const lastFocusableItem = this.findFocusableItem(lastChild);\n                    // if the active item is the last child, puts the focus on the next parent\n                    if(this.focusKeyManager.activeItem === lastFocusableItem){\n                       this.focusKeyManager.updateActiveItem(parentFocusableItem);\n                       this.focusKeyManager.setNextItemActive();\n                    } else {\n                        this.focusKeyManager.setActiveItem(this.focusKeyManager.activeItemIndex +1);\n                    }\n                } else {\n                    // skips remaining children in the query list when there is expanded node\n                    this.focusKeyManager.skipPredicate(menuItem => menuItem.parent != undefined || menuItem.item.visible === false);\n                    this.focusKeyManager.onKeydown(event);\n                }\n                break;\n            }\n            case 'ArrowUp': {\n                event.preventDefault();\n                if (parent) {\n                    // finds first filtered child when ArrowUp\n                    const filteredChildren = this.findFilteredItems(parent.children);\n                    const firstChildUp = filteredChildren['0']\n                    const firstFocusableItemUp = this.findFocusableItem(firstChildUp);\n                    // when navigating up on a submenu focuses the parent if the active item is the first child\n                    if(this.focusKeyManager.activeItem === firstFocusableItemUp){\n                        this.focusKeyManager.setActiveItem(parentFocusableItem);\n                     } else {\n                        this.focusKeyManager.setActiveItem(this.focusKeyManager.activeItemIndex -1);\n                     }\n                } else {\n                    this.focusKeyManager.onKeydown(event);\n                    // when navigating up from a parent element to an expanded submenu, finds the last child and focuses it\n                    if(this.shouldRenderChild(this.focusKeyManager.activeItem?.item)){\n                        const filteredChildren = this.findFilteredItems(this.focusKeyManager.activeItem?.item.children);\n                        const lastChildIndexUp = (filteredChildren.length) - 1;\n                        const lastFocusableItemUp =this.findFocusableItem(filteredChildren[lastChildIndexUp]);\n                        this.focusKeyManager.setActiveItem(lastFocusableItemUp);\n                    }\n                }\n                break;\n            }\n            default: {\n                this.focusKeyManager.onKeydown(event);\n                break;\n            }\n        }\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes.items) {\n            this.items = this.configureItems(this.items);\n            // get current url\n            const currentUrl = this.router.url;\n            // find an item that matches the current url or the most relevant one\n            const item = this.findMostRelevantItem(currentUrl, this.items);\n            // expand to that item\n            if (item) {\n                this.expandToGivenItem(item);\n            }\n        }\n\n        // Expand / Collapse All items\n        if (changes.expandAllItems) {\n            this.items = this.setExpandedToAllItems(coerceBooleanProperty(changes.expandAllItems.currentValue), this.items);\n        }\n\n        if (changes.filterValue && this.hasFilter) {\n            this.onFilter(changes.filterValue.currentValue ?? '');\n        }\n\n        // Refresh when interactive collapsed to initials\n        if (changes.hasCollapsedInitials) {\n            this.hasCollapsedInitials = changes.hasCollapsedInitials.currentValue;\n            this.items = this.configureItems(this.items);\n        }\n\n        if(changes.hasScrollToItem){\n            this.hasScrollToItem = changes.hasScrollToItem.currentValue;\n            if(this.hasScrollToItem){\n                this.scrollToItem(this.router.url);\n            }\n        }\n\n        if(changes.hasFilter){\n            this.hasFilter = changes.hasFilter.currentValue;\n            if(!this.hasFilter) {\n                // iterate through all items and reset the filtered property\n                this.items = this.filterMenuItems(this.items, '')\n            }\n        }\n    }\n\n    ngOnInit(): void {\n        // Labels default values - TODO : translations\n        if (!this.searchFilterLabel) {\n            this.searchFilterLabel = 'Search filter';\n        }\n\n        // subscription to routes url changes for activating the scrollIntoView\n        this.router.events.subscribe((event) => {\n            // Handle route change event\n            if (event instanceof NavigationEnd) {\n                if (this.hasScrollToItem) {\n                    this.scrollToItem(event.url);\n                }\n            }\n        });\n    }\n\n    ngAfterViewInit(): void {\n        // instantiates FocusKeyManager with the query list of items enabling wrapping\n        this.focusKeyManager = new FocusKeyManager(this.menuItemsComponents).withWrap();\n\n        // scrolls to the item that matches the current url\n        if(this.hasScrollToItem){\n            this.scrollToItem(this.router.url);\n        }\n    }\n\n    ngOnDestroy():void {\n        if (this.subscription) {\n            this.subscription.unsubscribe();\n        }\n    }\n\n    protected onClick(item: EuiMenuItem): void {\n        if (!item.disabled) {\n            if (item.urlExternal) {\n                window.open(item.urlExternal, item.urlExternalTarget || '_blank');\n            } else if (item.url) {\n                this.router.navigate([item.url], { relativeTo: this.route, fragment: this.fragmentId, queryParams: item.queryParams });\n            } else {\n                if (typeof item.command === 'function') {\n                    item.command();\n                } else {\n                    this.onExpandToggle(item);\n                }\n            }\n\n            if (item.link) {\n                this.items = this.items?.map((it) => {\n                    it.active = false;\n                    if (it.id === item.id) {\n                        it.active = true;\n                    }\n                    return it;\n                });\n            }\n        }\n\n        this.isClick.emit(true);\n        this.itemClick.emit(item);\n\n        const focusedItem = this.findFocusableItem(item);\n        this.focusKeyManager.updateActiveItem(focusedItem);\n    }\n\n    protected onExpandToggle(item: EuiMenuItem): void {\n        if (item.children) {\n            this.expandToggle.emit(item);\n            this.onExpandToggled(item, this.items);\n            // TODO: investigate why the above is needed. Can it be simply \"item.expanded = !item.expanded;\" ?\n        }\n    }\n\n    protected onMenuFilterClick(event: MouseEvent): void {\n        consumeEvent(event);\n    }\n\n    /**\n     * Filter the menu items based on the input value\n     * @param event\n     * @protected\n     */\n    protected onFilter(event: Event): void;\n    protected onFilter(value: string): void;\n    protected onFilter(eventOrValue: Event | string): void {\n        const value = eventOrValue instanceof Event\n            ? (eventOrValue.target as HTMLInputElement).value\n            : eventOrValue;\n        this.items = this.filterMenuItems(this.items, value);\n        this.hasExpandIcon = !(this.isFilterEnabled());\n    }\n\n    /**\n     * Check if the children of an item should be rendered. The children should be rendered if the item is expanded\n     * or if the item is filtered and the filter input has a value. There are two cases when the filter input has a value:\n     * 1. The user has typed something in the filter input\n     * 2. The user has typed something in the filter input and the item is filtered\n     * In general there are two states to be taken into account, the expanded state and the filtered state.\n     *\n     * @param item\n     * @protected\n     */\n    protected shouldRenderChild(item: EuiMenuItem): boolean {\n        return item?.children &&\n            (\n                item?.expanded || (\n                    this.hasFilter &&\n                    item?.filtered &&\n                    this.isFilterEnabled()\n                )\n            )\n    }\n\n    /**\n     * finds the EuiMenuItemComponent in the queried focusableItems[] that  matches the passed EuiMenuItem object\n     *\n     * @param menuItem an EuiMenuItem\n     * @private\n     */\n    private findFocusableItem(menuItem: EuiMenuItem ): EuiMenuItemComponent {\n        return this.menuItemsComponents.find(\n            (focusableItem) => focusableItem.item.label === menuItem?.label && focusableItem.item.id === menuItem.id,\n        );\n    }\n\n    /**\n     * finds the first item that is filtered\n     *\n     * @param menuItems an array of EuiMenuItem\n     * @private\n     */\n    private findFirstFilteredItem(menuItems: EuiMenuItem []): EuiMenuItem {\n        return menuItems.find((item) => item.filtered);\n    }\n\n    /**\n     * finds all filtered menu items\n     *\n     * @param menuItems an array of EuiMenuItem\n     * @private\n     */\n    private findFilteredItems(menuItems: EuiMenuItem []): EuiMenuItem [] {\n        return menuItems.filter((items) => items.filtered);\n    }\n\n    /**\n     * checks the focus state of the action icon\n     *\n     * @private\n     */\n    private checkActionIconFocusState(): void {\n        // check if the action icon is focused and if not focus it, otherwise focus the active item\n        // eslint-disable-next-line\n        !this.focusKeyManager.activeItem.isActionIconFocused ? this.focusKeyManager.activeItem.focusActionIcon() : this.focusKeyManager.activeItem.focus();\n    }\n\n    /**\n     * filter all menu items given a value\n     *\n     * @param menuItems an array of menu items\n     * @param filterValue the value to filter menu items\n     * @private\n     */\n    private filterMenuItems(menuItems: EuiMenuItem[], filterValue: string): EuiMenuItem[] {\n        return menuItems?.map((item: EuiMenuItem) => {\n            const found = item.label?.toLowerCase().indexOf(filterValue.toLowerCase()) !== -1;\n            if (item.children) {\n                item.children = this.filterMenuItems(item.children, filterValue);\n                item.filtered = item.children.filter((l) => l['filtered'] === true).length > 0;\n            } else if (found) {\n                item.filtered = found;\n            } else {\n                item.filtered = false;\n            }\n            return item;\n        }) || [];\n    }\n\n    /**\n     * expand / collapse all items\n     *\n     * @param isExpanded\n     * @param items\n     * @private\n     */\n    private setExpandedToAllItems(isExpanded: boolean, items: EuiMenuItem[]): EuiMenuItem[] {\n        return items?.map((item) => {\n            if (item.children) {\n                item.expanded = item.expanded ?? isExpanded;\n                item.children = this.setExpandedToAllItems(isExpanded, item.children);\n            }\n            return Object.assign(item, { visible: item.visible === undefined ? true : item.visible });\n        });\n    }\n\n    /**\n     * expand / collapse a menu item\n     *\n     * @param item The item where the \"expand\" had been toggled\n     * @param items The items list (used for recursion)\n     * @private\n     */\n    private onExpandToggled(item: EuiMenuItem, items: EuiMenuItem[]): void {\n        const itemIdx = items?.indexOf(item);\n        if (itemIdx > -1) {\n            items[itemIdx].expanded = !items[itemIdx].expanded;\n        } else {\n            items.forEach((i) => {\n                if (i.children) {\n                    this.onExpandToggled(item, i.children);\n                }\n            });\n        }\n    }\n\n    /**\n     * configure an array of items with visible, filtered and expand (in case of expandAllItems flag enabled) properties\n     *\n     * @param items An array of EuiMenuItem\n     * @param parent the parent item of items if exists\n     * @private\n     */\n    private configureItems(items: EuiMenuItem[], parent?: EuiMenuItem): EuiMenuItem[] {\n        return items?.map((item) => {\n            // recursion in case there are children\n            if (item.children) {\n                item.children = this.configureItems(item.children, item);\n                // expand all parents with children\n                if (this.expandAllItems) {\n                    item.expanded = true;\n                }\n            }\n            // point to the parent\n            if (parent) {\n                item.parent = parent;\n            }\n\n            // make sure the items are configured with a unique id\n            this.items = this.items?.map((item) => this.setRandomId(item));\n\n            if (item.label && this.hasCollapsedInitials) {\n                const words = item.label.split(' ');\n                if (words.length === 1) {\n                    item.initials = `${item.label.substring(0, 1)}${item.label.substring(1, 1)}`;\n\n                } else {\n                    item.initials = `${words[0].substring(0, 1)}${words[1].substring(0, 1)}`;\n                }\n            }\n\n            return Object.assign(item, { visible: item.visible === undefined ? true : item.visible, filtered: true });\n        });\n    }\n\n    /**\n     * Given a URL and a list of items, it will expand the item that matches the URL. If not item matches exactly the url, then it will\n     * match the item that is most relevant to that url.\n     *\n     * @param url\n     * @param items\n     * @param relevantItem\n     * @private\n     */\n    private findMostRelevantItem(url: string, items: EuiMenuItem[], relevantItem?: EuiMenuItem): EuiMenuItem {\n        if (!items) {\n            return null;\n        }\n\n        items.forEach((item) => {\n            if (item.url && url.indexOf(item.url.substring(1)) > -1) {\n                relevantItem = this.getMostRelevantItem(url, relevantItem, item);\n            }\n\n            if (item.children) {\n                relevantItem = this.findMostRelevantItem(url, item.children, relevantItem);\n            }\n        });\n\n        return relevantItem;\n    }\n\n    /**\n     * Given two items with url return the one with the most relevant url that matches given url\n     *\n     * @param url A URL to be matched with the one of given items\n     * @param item1\n     * @param item2\n     * @private\n     */\n    private getMostRelevantItem(url: string, item1: EuiMenuItem, item2: EuiMenuItem): EuiMenuItem {\n        const remainder1 = url.replace(item1?.url || '', '');\n        const remainder2 = url.replace(item2?.url || '', '');\n\n        return remainder1.length < remainder2.length ? item1 : item2;\n    }\n\n    /**\n     * Given an item, if there's a parent expand it until you reach the root item\n     *\n     * @param item Given menu item\n     * @private\n     */\n    private expandToGivenItem(item: EuiMenuItem): void {\n        if (item.parent) {\n            setTimeout(() => (item.parent.expanded = true));\n            this.expandToGivenItem(item.parent);\n        }\n    }\n\n    /**\n     * Set a random id to an item and its child if they don't have one\n     * @param item\n     * @private\n     */\n    private setRandomId(item: EuiMenuItem): EuiMenuItem {\n        item.id = item.id || crypto.randomUUID();\n        if(item.children){\n            item.children = item.children.map((child) => {\n                return this.setRandomId(child);\n            });\n        }\n        return item;\n    }\n\n    /**\n     * Scroll to an item if it's not visible in the viewport\n     * @param url\n     * @private\n     */\n    private scrollToItem(url: string): void {\n        const item = this.findMostRelevantItem(url, this.items);\n        if (item) {\n            // change the state of that item to expanded if it's not\n            this.expandToGivenItem(item);\n            setTimeout(_ => {\n                const menuItem = this.menuItemsComponents?.find((menuItem) => menuItem.item.id === item.id);\n                if(menuItem && !menuItem.elementIsVisibleInViewport()){\n                    menuItem.scrollIntoView({ behavior: 'smooth' });\n                }\n            }, 300);\n        }\n    }\n\n    /**\n     * Check if the filter input has a value\n     * @private\n     */\n    private isFilterEnabled(): boolean {\n        return this.filterInput?.nativeElement?.value.length > 0\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@forward 'menu';\n@forward 'menu.states';\n@forward 'menu-filter';\n@forward 'menu-item';\n@forward 'menu-item.states';\n",
                    "styleUrl": "./styles/_index.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnChanges",
                "OnDestroy",
                "AfterViewInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 98
                    }
                }
            },
            "templateData": "@if (hasFilter) {\n    <div class=\"eui-menu-filter\" [class.eui-menu-filter--collapsed]=\"isCollapsed\" (click)=\"onMenuFilterClick($event)\">\n        <eui-icon-input>\n            <eui-icon-svg icon=\"eui-search\" fillColor=\"secondary\"></eui-icon-svg>\n            <input\n                #filterInput\n                euiInputText\n                [euiClearable]=\"true\"\n                (input)=\"onFilter($event)\"\n                [placeholder]=\"searchFilterLabel\"\n                [attr.aria-label]=\"searchFilterLabel\"\n                [value]=\"filterValue\" />\n        </eui-icon-input>\n    </div>\n}\n\n<ul #menubar euiList class=\"eui-menu\" role=\"menubar\" aria-orientation=\"vertical\" tabindex=\"0\" (keydown)=\"onKeydown($event)\">\n    @if (items) {\n        @for (item of items; track item.id; let index = $index) {\n            <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: item, index: index }\"></ng-template>\n        }\n    } @else {\n        <span class=\"eui-menu--no-items\">No menu items defined</span>\n    }\n</ul>\n\n<!-- describe the recursive template of the menu item -->\n<ng-template #menuItemTemplateRef let-item=\"menuItem\" let-parent=\"parent\" let-i=\"index\">\n    <!-- render the menu item-->\n    @if (item.filtered) {\n    <eui-menu-item\n        [item]=\"item\"\n        [parent]=\"parent\"\n        [hasIcon]=\"hasIcons\"\n        [hasIconLabel]=\"hasIconsLabels\"\n        [hasTooltip]=\"hasTooltip\"\n        [hasTooltipOnExpanded]=\"hasTooltipOnExpanded\"\n        [isCollapsed]=\"isCollapsed\"\n        [hasBoldRootLevel]=\"hasBoldRootLevel\"\n        [hasCollapsedInitials]=\"hasCollapsedInitials\"\n        (expandToggle)=\"onExpandToggle($event)\"\n        (itemClick)=\"onClick($event)\"\n        [hasExpandIcon]=\"hasExpandIcon\">\n        <!-- if the menu item has children, render the children -->\n        @if (shouldRenderChild(item)) {\n            <ul euiList class=\"eui-menu eui-menu-sub\" role=\"menu\" [attr.aria-label]=\"item.label\" tabindex=\"-1\">\n                @for (child of item.children; track child.id; let childIndex = $index) {\n                    <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: child, index: childIndex, parent: item }\">\n                    </ng-template>\n                }\n            </ul>\n        }\n    </eui-menu-item>\n    }\n</ng-template>\n"
        },
        {
            "name": "EuiMenuItemComponent",
            "id": "component-EuiMenuItemComponent-cd5a8bbb0ba7c38628d36092318a50d3de42b01d8f47091d834fafbd32fa7008462d84cb6f2908f3f397a12632db205ba0f509d0fe89b8bfafe6d009d0e0e311",
            "file": "packages/components/eui-menu/eui-menu-item.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-menu-item",
            "styleUrls": [
                "./styles/_index.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-menu-item.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "hasBoldRootLevel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6308,
                            "end": 6393,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6309,
                                "end": 6316,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false. Provides visual hierarchy distinction for top-level navigation.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nApplies bold font weight to root-level menu items (items without a parent).\n",
                    "description": "<p>Applies bold font weight to root-level menu items (items without a parent).</p>\n",
                    "line": 187,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasCollapsedInitials",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6058,
                            "end": 6131,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6059,
                                "end": 6066,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false. Used for compact representation in collapsed menus.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables display of initials or abbreviated text when the menu is collapsed.\n",
                    "description": "<p>Enables display of initials or abbreviated text when the menu is collapsed.</p>\n",
                    "line": 181,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "hasExpandIcon",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3949,
                            "end": 4015,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3950,
                                "end": 3957,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true. Set to false to hide the expansion indicator.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls visibility of the expand/collapse icon for menu items with children.\n",
                    "description": "<p>Controls visibility of the expand/collapse icon for menu items with children.</p>\n",
                    "line": 125,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasIcon",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4848,
                            "end": 4910,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4849,
                                "end": 4856,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false. Affects layout and spacing calculations.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIndicates whether the menu item displays an icon.\n",
                    "description": "<p>Indicates whether the menu item displays an icon.</p>\n",
                    "line": 151,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasIconLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5079,
                            "end": 5176,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5080,
                                "end": 5087,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false. Applies special styling for icon-label combinations when menu is collapsed.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIndicates whether the menu item displays an icon with a label in collapsed mode.\n",
                    "description": "<p>Indicates whether the menu item displays an icon with a label in collapsed mode.</p>\n",
                    "line": 157,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasTooltip",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5330,
                            "end": 5411,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5331,
                                "end": 5338,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false. Tooltip content is derived from item.tooltip or item.label.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables tooltip display when the menu is in collapsed state.\n",
                    "description": "<p>Enables tooltip display when the menu is in collapsed state.</p>\n",
                    "line": 163,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasTooltipOnExpanded",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5562,
                            "end": 5651,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5563,
                                "end": 5570,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false. Useful for showing additional context even when labels are visible.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables tooltip display when the menu is in expanded state.\n",
                    "description": "<p>Enables tooltip display when the menu is in expanded state.</p>\n",
                    "line": 169,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCollapsed",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5809,
                            "end": 5890,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5810,
                                "end": 5817,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false. Controls visibility of labels and affects tooltip behavior.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIndicates whether the parent menu is in collapsed state.\n",
                    "description": "<p>Indicates whether the parent menu is in collapsed state.</p>\n",
                    "line": 175,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "item",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThe menu item data model containing label, icon, navigation properties, children, and state flags.\nRequired. Defines all visual and behavioral aspects of the menu item.\n",
                    "description": "<p>The menu item data model containing label, icon, navigation properties, children, and state flags.\nRequired. Defines all visual and behavioral aspects of the menu item.</p>\n",
                    "line": 113,
                    "type": "EuiMenuItem",
                    "decorators": []
                },
                {
                    "name": "parent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nReference to the parent menu item when this item is nested within a hierarchical menu structure.\nOptional. Used to determine styling and behavior based on menu depth.\n",
                    "description": "<p>Reference to the parent menu item when this item is nested within a hierarchical menu structure.\nOptional. Used to determine styling and behavior based on menu depth.</p>\n",
                    "line": 119,
                    "type": "EuiMenuItem",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "expandToggle",
                    "defaultValue": "new EventEmitter<EuiMenuItem>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the user toggles the expanded/collapsed state of a menu item with children.\nPayload: The EuiMenuItem that was toggled. Triggered by clicking the expand icon or pressing Enter/Space on it.\n",
                    "description": "<p>Emitted when the user toggles the expanded/collapsed state of a menu item with children.\nPayload: The EuiMenuItem that was toggled. Triggered by clicking the expand icon or pressing Enter/Space on it.</p>\n",
                    "line": 131,
                    "type": "EventEmitter"
                },
                {
                    "name": "itemClick",
                    "defaultValue": "new EventEmitter<EuiMenuItem>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the user clicks or activates the menu item.\nPayload: The EuiMenuItem that was clicked. Triggered by mouse click or keyboard activation (Enter/Space).\n",
                    "description": "<p>Emitted when the user clicks or activates the menu item.\nPayload: The EuiMenuItem that was clicked. Triggered by mouse click or keyboard activation (Enter/Space).</p>\n",
                    "line": 137,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "ariaLabel",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 89,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.aria-label'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "collapseMenuLabel",
                    "defaultValue": "'Collapse'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 140
                },
                {
                    "name": "expandMenuLabel",
                    "defaultValue": "'Expand'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 139
                },
                {
                    "name": "isActionIconFocused",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 145
                },
                {
                    "name": "isLabelItem",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 144
                },
                {
                    "name": "isLinkItem",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 143
                },
                {
                    "name": "isUrlItem",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 142
                },
                {
                    "name": "role",
                    "defaultValue": "'menuitem'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 88,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "tabindex",
                    "defaultValue": "'-1'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 95,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.tabindex'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "elementIsVisibleInViewport",
                    "args": [
                        {
                            "name": "partiallyVisible",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "false"
                        }
                    ],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 264,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCheck if an element is visible in the viewport\n",
                    "description": "<p>Check if an element is visible in the viewport</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 8878,
                                "end": 8894,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "partiallyVisible"
                            },
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "false",
                            "tagName": {
                                "pos": 8872,
                                "end": 8877,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        }
                    ]
                },
                {
                    "name": "focus",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 256,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "focusActionIcon",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 247,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 198,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 190,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onActionIconClick",
                    "args": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 235,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onActionIconFocusOut",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 252,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onActionIconKeyDown",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 240,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onClick",
                    "args": [
                        {
                            "name": "event",
                            "type": "MouseEvent | KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 224,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "MouseEvent | KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onExpandToggle",
                    "args": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 230,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "scrollIntoView",
                    "args": [
                        {
                            "name": "properties",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 278,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nScroll the element into view\n",
                    "description": "<p>Scroll the element into view</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 9504,
                                "end": 9514,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "properties"
                            },
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 9498,
                                "end": 9503,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        }
                    ]
                },
                {
                    "name": "stopPropagation",
                    "args": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 212,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'click', ['$event']"
                        }
                    ],
                    "modifierKind": [
                        171,
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.aria-disabled",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 105,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "attr.aria-expanded",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 101,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "attr.aria-haspopup",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 97,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "attr.aria-label",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 89,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "attr.role",
                    "defaultValue": "'menuitem'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 88,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "attr.tabindex",
                    "defaultValue": "'-1'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 95,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 92,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [
                {
                    "name": "click",
                    "args": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$event"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 212
                }
            ],
            "standalone": false,
            "imports": [
                {
                    "name": "RouterLink"
                },
                {
                    "name": "RouterLinkActive"
                },
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "TranslateModule",
                    "type": "module"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_BADGE"
                },
                {
                    "name": "EUI_ICON_BUTTON"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EuiTooltipDirective",
                    "type": "directive"
                }
            ],
            "description": "<p>Represents a single item within an eUI menu structure. Supports hierarchical navigation with expandable/collapsible children,\nmultiple interaction modes (URL navigation, router links, commands, labels), and visual states (collapsed, disabled, selected).\nImplements keyboard navigation and accessibility features for menu interactions.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">// Typically used within EuiMenuComponent via items array\nitem: EuiMenuItem = {\n  id: &#39;home&#39;,\n  label: &#39;Home&#39;,\n  icon: &#39;eui-home&#39;,\n  url: &#39;/home&#39;\n};</code></pre></div><h3>With Children</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">item: EuiMenuItem = {\n  id: &#39;settings&#39;,\n  label: &#39;Settings&#39;,\n  expanded: true,\n  children: [\n    { id: &#39;profile&#39;, label: &#39;Profile&#39;, url: &#39;/settings/profile&#39; }\n  ]\n};</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Implements FocusableOption for keyboard navigation</li>\n<li>ARIA attributes for menu item role and state</li>\n<li>Keyboard support for Enter, Space, and Arrow keys</li>\n<li>Focus management for nested menu structures</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Automatically managed by parent EuiMenuComponent</li>\n<li>Supports tooltips in collapsed menu mode</li>\n<li>Can display badges, action icons, and external link indicators</li>\n</ul>\n",
            "rawdescription": "\n\nRepresents a single item within an eUI menu structure. Supports hierarchical navigation with expandable/collapsible children,\nmultiple interaction modes (URL navigation, router links, commands, labels), and visual states (collapsed, disabled, selected).\nImplements keyboard navigation and accessibility features for menu interactions.\n\n### Basic Usage\n```typescript\n// Typically used within EuiMenuComponent via items array\nitem: EuiMenuItem = {\n  id: 'home',\n  label: 'Home',\n  icon: 'eui-home',\n  url: '/home'\n};\n```\n\n### With Children\n```typescript\nitem: EuiMenuItem = {\n  id: 'settings',\n  label: 'Settings',\n  expanded: true,\n  children: [\n    { id: 'profile', label: 'Profile', url: '/settings/profile' }\n  ]\n};\n```\n\n### Accessibility\n- Implements FocusableOption for keyboard navigation\n- ARIA attributes for menu item role and state\n- Keyboard support for Enter, Space, and Arrow keys\n- Focus management for nested menu structures\n\n### Notes\n- Automatically managed by parent EuiMenuComponent\n- Supports tooltips in collapsed menu mode\n- Can display badges, action icons, and external link indicators\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ViewEncapsulation,\n    Input,\n    Output,\n    EventEmitter,\n    HostListener,\n    OnInit,\n    OnChanges,\n    SimpleChanges,\n    booleanAttribute,\n    ElementRef,\n    inject,\n} from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\nimport { consumeEvent } from '@eui/core';\nimport { EuiMenuItem } from './models/eui-menu-item.model';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BADGE } from '@eui/components/eui-badge';\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EuiTooltipDirective } from '@eui/components/directives';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\n\n/**\n * Represents a single item within an eUI menu structure. Supports hierarchical navigation with expandable/collapsible children,\n * multiple interaction modes (URL navigation, router links, commands, labels), and visual states (collapsed, disabled, selected).\n * Implements keyboard navigation and accessibility features for menu interactions.\n *\n * @usageNotes\n * ### Basic Usage\n * ```typescript\n * // Typically used within EuiMenuComponent via items array\n * item: EuiMenuItem = {\n *   id: 'home',\n *   label: 'Home',\n *   icon: 'eui-home',\n *   url: '/home'\n * };\n * ```\n *\n * ### With Children\n * ```typescript\n * item: EuiMenuItem = {\n *   id: 'settings',\n *   label: 'Settings',\n *   expanded: true,\n *   children: [\n *     { id: 'profile', label: 'Profile', url: '/settings/profile' }\n *   ]\n * };\n * ```\n *\n * ### Accessibility\n * - Implements FocusableOption for keyboard navigation\n * - ARIA attributes for menu item role and state\n * - Keyboard support for Enter, Space, and Arrow keys\n * - Focus management for nested menu structures\n *\n * ### Notes\n * - Automatically managed by parent EuiMenuComponent\n * - Supports tooltips in collapsed menu mode\n * - Can display badges, action icons, and external link indicators\n */\n@Component({\n    selector: 'eui-menu-item',\n    templateUrl: './eui-menu-item.component.html',\n    styleUrls: ['./styles/_index.scss'],\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        RouterLink,\n        RouterLinkActive,\n        NgTemplateOutlet,\n        TranslateModule,\n        ...EUI_ICON,\n        ...EUI_BADGE,\n        ...EUI_ICON_BUTTON,\n        ...EUI_BUTTON,\n        EuiTooltipDirective,\n    ],\n})\nexport class EuiMenuItemComponent implements OnInit, OnChanges, FocusableOption {\n    @HostBinding('attr.role') role = 'menuitem';\n    @HostBinding('attr.aria-label') ariaLabel = '';\n\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return this.getCssClasses();\n    }\n    @HostBinding('attr.tabindex') tabindex = '-1';\n    @HostBinding('attr.aria-haspopup')\n    get ariaHasPopup(): boolean {\n        return this.item?.children?.length > 0 ? true : undefined;\n    }\n    @HostBinding('attr.aria-expanded')\n    get ariaExpanded(): boolean {\n        return this.item.children ? coerceBooleanProperty(this.item.expanded) : undefined;\n    }\n    @HostBinding('attr.aria-disabled')\n    get ariaDisabled(): boolean {\n        return this.item.disabled\n    }\n\n    /**\n     * The menu item data model containing label, icon, navigation properties, children, and state flags.\n     * Required. Defines all visual and behavioral aspects of the menu item.\n     */\n    @Input() item: EuiMenuItem;\n\n    /**\n     * Reference to the parent menu item when this item is nested within a hierarchical menu structure.\n     * Optional. Used to determine styling and behavior based on menu depth.\n     */\n    @Input() parent: EuiMenuItem;\n\n    /**\n     * Controls visibility of the expand/collapse icon for menu items with children.\n     * @default true. Set to false to hide the expansion indicator.\n     */\n    @Input() hasExpandIcon = true;\n\n    /**\n     * Emitted when the user toggles the expanded/collapsed state of a menu item with children.\n     * Payload: The EuiMenuItem that was toggled. Triggered by clicking the expand icon or pressing Enter/Space on it.\n     */\n    @Output() expandToggle = new EventEmitter<EuiMenuItem>();\n\n    /**\n     * Emitted when the user clicks or activates the menu item.\n     * Payload: The EuiMenuItem that was clicked. Triggered by mouse click or keyboard activation (Enter/Space).\n     */\n    @Output() itemClick = new EventEmitter<EuiMenuItem>();\n\n    expandMenuLabel = 'Expand';\n    collapseMenuLabel = 'Collapse';\n\n    isUrlItem = false;\n    isLinkItem = false;\n    isLabelItem = false;\n    isActionIconFocused = false;\n\n    /**\n     * Indicates whether the menu item displays an icon.\n     * @default false. Affects layout and spacing calculations.\n     */\n    @Input({ transform: booleanAttribute }) hasIcon: boolean;\n\n    /**\n     * Indicates whether the menu item displays an icon with a label in collapsed mode.\n     * @default false. Applies special styling for icon-label combinations when menu is collapsed.\n     */\n    @Input({ transform: booleanAttribute }) hasIconLabel: boolean;\n\n    /**\n     * Enables tooltip display when the menu is in collapsed state.\n     * @default false. Tooltip content is derived from item.tooltip or item.label.\n     */\n    @Input({ transform: booleanAttribute }) hasTooltip: boolean;\n\n    /**\n     * Enables tooltip display when the menu is in expanded state.\n     * @default false. Useful for showing additional context even when labels are visible.\n     */\n    @Input({ transform: booleanAttribute }) hasTooltipOnExpanded: boolean;\n\n    /**\n     * Indicates whether the parent menu is in collapsed state.\n     * @default false. Controls visibility of labels and affects tooltip behavior.\n     */\n    @Input({ transform: booleanAttribute }) isCollapsed: boolean;\n\n    /**\n     * Enables display of initials or abbreviated text when the menu is collapsed.\n     * @default false. Used for compact representation in collapsed menus.\n     */\n    @Input({ transform: booleanAttribute }) hasCollapsedInitials: boolean;\n\n    /**\n     * Applies bold font weight to root-level menu items (items without a parent).\n     * @default false. Provides visual hierarchy distinction for top-level navigation.\n     */\n    @Input({ transform: booleanAttribute }) hasBoldRootLevel: boolean;\n    private elementRef = inject(ElementRef);\n\n    ngOnInit(): void {\n        this.isUrlItem = (this.item.url || this.item.urlExternal || this.item.children || this.item.command) && !this.item.link;\n        this.isLabelItem = !this.item.url && !this.item.urlExternal && !this.item.command && !this.item.children && !this.item.link;\n\n        this.isLinkItem = !this.isUrlItem && !this.isLabelItem;\n        this.ariaLabel = this.getAriaLabel();\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes.item && changes.item.isFirstChange()) {\n            this.item = changes.item.currentValue;\n\n            if(!this.item.urlExternalTarget) {\n                this.item.urlExternalTarget = '_blank';\n            }\n\n            this.item.filtered = typeof this.item.filtered == 'boolean' ? this.item.filtered : true;\n            this.item.visible = typeof this.item.visible == 'boolean' ? this.item.visible : true;\n        }\n    }\n\n    @HostListener('click', ['$event'])\n    public stopPropagation(event: MouseEvent): void {\n        this.itemClick.emit(this.item);\n        consumeEvent(event);\n    }\n\n    get menuItemTooltip(): string {\n        if ((this.hasTooltip && this.isCollapsed) || (this.hasTooltipOnExpanded && !this.isCollapsed)) {\n            return this.item.tooltip || this.getTooltipFromItem(this.item);\n        }\n        return null;\n    }\n\n    public onClick(event: MouseEvent | KeyboardEvent): void {\n        this.itemClick.emit(this.item);\n        this.focus();\n        consumeEvent(event);\n    }\n\n    public onExpandToggle(event: Event): void {\n        this.expandToggle.emit(this.item);\n        consumeEvent(event);\n    }\n\n    public onActionIconClick(event: MouseEvent): void {\n        this.item.actionIcon?.action(event);\n        consumeEvent(event);\n    }\n\n    public onActionIconKeyDown(event: KeyboardEvent): void {\n        if (event.key === 'Enter') {\n            this.item.actionIcon?.action(event);\n            consumeEvent(event);\n        }\n    }\n\n    public focusActionIcon(): void {\n        this.elementRef.nativeElement.querySelector('.eui-menu-item__link-action-icon').focus();\n        this.isActionIconFocused = true;\n    }\n\n    onActionIconFocusOut(): void {\n        this.isActionIconFocused = false;\n    }\n\n    public focus(): void {\n        this.elementRef.nativeElement.focus();\n    }\n\n    /**\n     * Check if an element is visible in the viewport\n     * @param partiallyVisible\n     */\n    elementIsVisibleInViewport(partiallyVisible = false): boolean {\n        const { top, left, bottom, right } = this.elementRef.nativeElement.getBoundingClientRect();\n        const { innerHeight, innerWidth } = window as Window;\n        return partiallyVisible\n            ? ((top > 0 && top < innerHeight) ||\n                (bottom > 0 && bottom < innerHeight)) &&\n            ((left > 0 && left < innerWidth) || (right > 0 && right < innerWidth))\n            : top >= 0 && left >= 0 && bottom <= innerHeight && right <= innerWidth;\n    }\n\n    /**\n     * Scroll the element into view\n     * @param properties\n     */\n    scrollIntoView(properties: unknown): void {\n        this.elementRef.nativeElement.scrollIntoView(properties);\n    }\n\n    private getTooltipFromItem(item: EuiMenuItem): string {\n        return item.label && item.tagLabel ? `${item.label} (${item.tagLabel})` : item.label ||\n            item.tagLabel ||\n            null;\n    }\n\n    private getAriaLabel(): string {\n        return this.item.label ||\n            this.item.tagLabel ||\n            (this.item.actionIcon && this.item.actionIcon.label) ||\n            this.item.iconLabel ||\n            'Eui menu item';\n    }\n\n    /**\n     * Returns the default eui-menu-item class on the HostBinding function\n     * @private\n     */\n    private getCssClasses(): string {\n        return [\n            'eui-menu-item',\n            this.isCollapsed && this.hasIconLabel ? 'eui-menu-item--icon-label': '',\n            !this.parent && this.hasBoldRootLevel ? 'eui-menu-item--bold' : '',\n        ].join(' ').trim();\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@forward 'menu';\n@forward 'menu.states';\n@forward 'menu-filter';\n@forward 'menu-item';\n@forward 'menu-item.states';\n",
                    "styleUrl": "./styles/_index.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnChanges",
                "FocusableOption"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 92
                    }
                },
                "ariaHasPopup": {
                    "name": "ariaHasPopup",
                    "getSignature": {
                        "name": "ariaHasPopup",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 97
                    }
                },
                "ariaExpanded": {
                    "name": "ariaExpanded",
                    "getSignature": {
                        "name": "ariaExpanded",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 101
                    }
                },
                "ariaDisabled": {
                    "name": "ariaDisabled",
                    "getSignature": {
                        "name": "ariaDisabled",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 105
                    }
                },
                "menuItemTooltip": {
                    "name": "menuItemTooltip",
                    "getSignature": {
                        "name": "menuItemTooltip",
                        "type": "string",
                        "returnType": "string",
                        "line": 217
                    }
                }
            },
            "templateData": "@if (item.visible && item.filtered) {\n    @if (isLabelItem) {\n        <li\n            role=\"none\"\n            id=\"{{item.id}}\"\n            class=\"eui-menu-item__content\"\n            [attr.data-e2e]=\"item.e2eAttr\"\n            [class.eui-menu-item--disabled]=\"item.disabled\"\n            [attr.aria-disabled]=\"item.disabled\"\n            [euiTooltip]=\"(menuItemTooltip | translate)\"\n            tabindex=\"-1\"\n            position=\"after\"\n            [attr.aria-label]=\"isCollapsed ? (item.label | translate) : null\">\n\n            <a\n                (click)=\"onClick($event)\"\n                tabindex=\"-1\"\n                class=\"eui-menu-item__link eui-menu-item__link-category\"\n                [class.eui-menu-item__link--disabled]=\"item.disabled\"\n                [class.eui-menu-item__link--active]=\"item.active\"\n                [class.eui-menu-item__link--has-sub]=\"item.children?.length > 0\"\n                href=\"javascript:void(0)\"\n                [euiTooltip]=\"(menuItemTooltip | translate)\"\n                position=\"after\">\n\n                <div class=\"eui-menu-item__link-start-block\">\n                    <ng-template *ngTemplateOutlet=\"itemIconContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n                </div>\n\n                <div class=\"eui-menu-item__link-content-block\">\n                    <div class=\"eui-menu-item__link-label-container\">\n                        <span class=\"eui-menu-item__link-label-category\">{{ item.label | translate }}</span>\n                    </div>\n                </div>\n\n                <div class=\"eui-menu-item__link-end-block\">\n                    <ng-template *ngTemplateOutlet=\"itemEndContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n                </div>\n            </a>\n        </li>\n    }\n\n    @if (isUrlItem) {\n        <li\n            role=\"none\"\n            id=\"{{item.id}}\"\n            [attr.data-e2e]=\"item.e2eAttr\"\n            class=\"eui-menu-item__content\"\n            [class.eui-menu-item--disabled]=\"item.disabled\"\n            [class.eui-menu-item--expanded]=\"item.expanded || item.filtered\"\n            [attr.aria-disabled]=\"item.disabled\">\n            <a\n                (click)=\"onClick($event)\"\n                class=\"eui-menu-item__link\"\n                [class.eui-menu-item__link--disabled]=\"item.disabled\"\n                [class.eui-menu-item__link--active]=\"item.active\"\n                [class.eui-menu-item__link--has-sub]=\"item.children?.length > 0\"\n                [routerLink]=\"item.url ? item.url : null\"\n                [queryParams]=\"item.queryParams\"\n                [routerLinkActive]=\"item.url ? 'eui-menu-item__link--active' : ''\"\n                [euiTooltip]=\"(menuItemTooltip | translate)\"\n                position=\"after\"\n                [attr.aria-label]=\"isCollapsed ? (item.label | translate) : null\"\n                tabindex=\"-1\">\n                <ng-template *ngTemplateOutlet=\"linkContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n            </a>\n\n            <ng-template *ngTemplateOutlet=\"content\"></ng-template>\n        </li>\n    }\n\n    @if (isLinkItem) {\n        <li\n            role=\"none\"\n            id=\"{{item.id}}\"\n            [attr.data-e2e]=\"item.e2eAttr\"\n            class=\"eui-menu-item__content\"\n            [class.eui-menu-item--disabled]=\"item.disabled\"\n            [class.eui-menu-item--expanded]=\"item.expanded || item.filtered\"\n            [attr.aria-disabled]=\"item.disabled\">\n            <a\n                (click)=\"onClick($event)\"\n                tabindex=\"-1\"\n                class=\"eui-menu-item__link\"\n                [class.eui-menu-item__link--disabled]=\"item.disabled\"\n                [class.eui-menu-item__link--active]=\"item.active\"\n                [class.eui-menu-item__link--has-sub]=\"item.children?.length > 0\"\n                href=\"javascript:void(0)\"\n                [euiTooltip]=\"(menuItemTooltip | translate)\"\n                [attr.aria-label]=\"isCollapsed ? (item.label | translate) : null\"\n                position=\"after\">\n                <ng-template *ngTemplateOutlet=\"linkContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n            </a>\n\n            <ng-template *ngTemplateOutlet=\"content\"></ng-template>\n        </li>\n    }\n}\n\n<ng-template #linkContent>\n    @if (hasIconLabel) {\n        @if (isCollapsed) {\n            <div class=\"eui-menu-item__link-content-icon-block\">\n                <eui-icon-svg\n                    class=\"eui-menu-item__link-icon\"\n                    icon=\"{{ item.iconSvgName }}\"\n                    fillColor=\"{{ item.iconTypeClass }}\" />                \n                <div class=\"eui-menu-item__link-label-container\">\n                    <span class=\"eui-menu-item__link-label\">{{ item.label | translate }}</span>\n                </div>\n            </div>            \n        } @else {\n            <ng-template *ngTemplateOutlet=\"defaultContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n        }\n    } @else {\n        <ng-template *ngTemplateOutlet=\"defaultContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n    } \n\n    <div class=\"eui-menu-item__link-end-block\">\n        <ng-template *ngTemplateOutlet=\"itemEndContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n    </div>\n</ng-template>\n\n<ng-template #defaultContent>\n    <div class=\"eui-menu-item__link-start-block\">\n        <ng-template *ngTemplateOutlet=\"itemIconContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n    </div>\n\n    <div class=\"eui-menu-item__link-content-block\">\n        <div class=\"eui-menu-item__link-label-container\">\n            <span class=\"eui-menu-item__link-label\">{{ item.label | translate }}</span>\n            @if (item.urlExternal && item.urlExternalTarget === '_blank') {\n            <eui-icon-svg\n                class=\"eui-menu-item__label-external\"\n                icon=\"eui-external-link\"\n                size=\"2xs\"\n                aria-label=\"external link icon\"\n                euiEnd>\n            </eui-icon-svg>\n            }\n        </div>\n    </div>\n</ng-template>\n\n\n<!-- PROJECTED CONTENT BLOCK -->\n<ng-template #content>\n    <ng-content />\n</ng-template>\n\n<!-- PROJECTED START BLOCK -->\n<ng-template #itemIconContent>\n    @if (!isCollapsed) {\n        @if (hasIcon) {\n            @if (item.iconSvgName) {\n                <!-- SVG -->\n                <eui-icon-svg\n                    class=\"eui-menu-item__link-icon\"\n                    icon=\"{{ item.iconSvgName }}\"\n                    fillColor=\"{{ item.iconTypeClass }}\" />\n            } @else if (item.iconSvgUrl) {\n                <eui-icon-svg\n                    class=\"eui-menu-item__link-icon\"\n                    iconUrl=\"{{ item.iconSvgUrl }}\"\n                    fillColor=\"{{ item.iconTypeClass }}\" />\n            } @else if (item.hasMarker) {\n                <!-- MARKER -->\n                <eui-icon-svg\n                    class=\"eui-menu-item__link-marker\"\n                    fillColor=\"{{ item?.markerTypeClass }}-light\"\n                    icon=\"eui-circle-fill\"\n                    size=\"2xs\"\n                    [aria-label]=\"item.markerTypeClass + ' ' + 'marker'\" />\n            }\n            @else if (!isLabelItem) {\n                <!-- DEFAULT for non category items -->\n                <eui-icon-svg\n                    class=\"eui-menu-item__link-icon\"\n                    icon=\"eui-circle-fill\"\n                    fillColor=\"secondary\"\n                    size=\"2xs\" />\n            }\n        } @else if (item.hasMarker) {\n            <eui-icon-svg\n                class=\"eui-menu-item__link-marker\"\n                fillColor=\"{{ item?.markerTypeClass }}-light\"\n                icon=\"eui-circle-fill\"\n                size=\"2xs\"\n                [aria-label]=\"item.markerTypeClass + ' ' + 'marker'\" />\n        }\n\n    } @else {\n        @if (hasCollapsedInitials) {\n            <span class=\"eui-menu-item__link-initials eui-u-c-bg-{{item.iconTypeClass}}\">\n                {{ item.initials }}\n            </span>\n        } @else {\n            @if (hasIcon) {\n                @if (item.iconSvgName) {\n                    <!-- SVG -->\n                    <eui-icon-svg\n                        class=\"eui-menu-item__link-icon\"\n                        icon=\"{{ item.iconSvgName }}\"\n                        fillColor=\"{{ item.iconTypeClass }}\" />\n\n                } @else if (item.iconSvgUrl) {\n                    <eui-icon-svg\n                        class=\"eui-menu-item__link-icon\"\n                        iconUrl=\"{{ item.iconSvgUrl }}\"\n                        fillColor=\"{{ item.iconTypeClass }}\" />\n\n                } @else if (item.hasMarker) {\n                    <!-- MARKER -->\n                    <eui-icon-svg\n                        class=\"eui-menu-item__link-marker\"\n                        fillColor=\"{{ item?.markerTypeClass }}\"\n                        icon=\"eui-circle-fill\"\n                        size=\"2xs\"\n                        [aria-label]=\"item.markerTypeClass + ' ' + 'marker'\" />\n                } @else {\n                    <!-- DEFAULT -->\n                    <eui-icon-svg\n                        class=\"eui-menu-item__link-icon\"\n                        icon=\"eui-circle-fill\"\n                        fillColor=\"secondary\"\n                        size=\"2xs\"\n                        [aria-label]=\"item.iconLabel\" />\n                }\n            } @else {\n                <eui-icon-svg\n                    class=\"eui-menu-item__link-icon eui-u-ml-2xs\"\n                    icon=\"eui-square-fill\"\n                    fillColor=\"secondary\"\n                    size=\"2xs\" />\n            }\n        }\n    }\n</ng-template>\n\n<!-- PROJECTED END BLOCK -->\n<ng-template #itemEndContent>\n    @if (item.tagLabel) {\n        @if (isCollapsed) {\n            <eui-badge [euiVariant]=\"item.tagTypeClass\" class=\"eui-menu-item__link-dotted-badge\" />\n        } @else {\n            <eui-badge [euiVariant]=\"item.tagTypeClass\">\n                {{ item.tagLabel }}\n            </eui-badge>\n        }\n    }\n\n    @if (item.actionIcon) {\n    <button\n        euiButton\n        euiRounded\n        euiIconButton\n        euiSizeS\n        euiBasicButton\n        type=\"button\"\n        tabindex=\"-1\"\n        (keydown)=\"onActionIconKeyDown($event)\"\n        (focusout)=\"onActionIconFocusOut()\"\n        (focus)=\"focusActionIcon()\"\n        class=\"eui-menu-item__link-action-icon\"\n        [euiDisabled]=\"item.disabled\"\n        [attr.aria-label]=\"item.actionIcon?.label\"\n        (click)=\"onActionIconClick($event)\">\n        <eui-icon-svg [icon]=\"item.actionIcon?.icon\" [fillColor]=\"item.actionIcon?.color\"></eui-icon-svg>\n    </button>\n    }\n\n    @if (hasExpandIcon) {\n        @if (item.children?.length > 0) {\n        <eui-icon-button\n                         class=\"eui-menu-item__link-toggle\"\n                         [icon]=\"item.expanded ? 'eui-chevron-up': 'eui-chevron-down'\"\n                         (buttonClick)=\"onExpandToggle($event)\"\n                         [ariaLabel]=\"item.expanded ? collapseMenuLabel : expandMenuLabel\"\n                         euiRounded\n                         size=\"s\"\n                         [tabindex]=\"-1\"\n                         [euiDisabled]=\"item.disabled\"/>\n        }\n    }\n</ng-template>\n"
        },
        {
            "name": "EuiMessageBoxComponent",
            "id": "component-EuiMessageBoxComponent-1673abd944d1525d7154a75b11662c33a2e712653b00ad84b3e1aaa8561bfba5267795629db6de1dee3f69402d2ec583892aeb9b17bfdfd4238b4bb767947ff9",
            "file": "packages/components/eui-message-box/eui-message-box.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-message-box",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-message-box.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiSecondary",
                        "euiInfo",
                        "euiSuccess",
                        "euiWarning",
                        "euiDanger",
                        "euiVariant"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "acceptLabel",
                    "defaultValue": "'eui.OK'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4159,
                            "end": 4182,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4160,
                                "end": 4167,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui.OK&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nLabel for the accept/confirm button. Can be a translation key.\n",
                    "description": "<p>Label for the accept/confirm button. Can be a translation key.</p>\n",
                    "line": 154,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "dismissLabel",
                    "defaultValue": "'eui.CANCEL'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4308,
                            "end": 4335,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4309,
                                "end": 4316,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui.CANCEL&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nLabel for the dismiss/cancel button. Can be a translation key.\n",
                    "description": "<p>Label for the dismiss/cancel button. Can be a translation key.</p>\n",
                    "line": 160,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-dialog'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3385,
                            "end": 3412,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3386,
                                "end": 3393,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-dialog&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nData attribute for e2e testing purposes.\n",
                    "description": "<p>Data attribute for e2e testing purposes.</p>\n",
                    "line": 119,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasAcceptButton",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3826,
                            "end": 3845,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3827,
                                "end": 3834,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether to show the accept/confirm button.\n",
                    "description": "<p>Whether to show the accept/confirm button.</p>\n",
                    "line": 142,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasDismissButton",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3982,
                            "end": 4001,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3983,
                                "end": 3990,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether to show the dismiss/cancel button.\n",
                    "description": "<p>Whether to show the dismiss/cancel button.</p>\n",
                    "line": 148,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasNoBodyPadding",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5198,
                            "end": 5218,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5199,
                                "end": 5206,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether to remove padding from the message box body.\n",
                    "description": "<p>Whether to remove padding from the message box body.</p>\n",
                    "line": 190,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "height",
                    "defaultValue": "'auto'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3706,
                            "end": 3727,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3707,
                                "end": 3714,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;auto&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nHeight of the message box.\n",
                    "description": "<p>Height of the message box.</p>\n",
                    "line": 136,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isDraggable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5034,
                            "end": 5054,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5035,
                                "end": 5042,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the message box can be dragged around the screen.\n",
                    "description": "<p>Whether the message box can be dragged around the screen.</p>\n",
                    "line": 184,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isHandleCloseOnAccept",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4855,
                            "end": 4875,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4856,
                                "end": 4863,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether to manually handle closing the dialog on accept button click.\n",
                    "description": "<p>Whether to manually handle closing the dialog on accept button click.</p>\n",
                    "line": 178,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isHandleCloseOnClose",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4665,
                            "end": 4685,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4666,
                                "end": 4673,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether to manually handle closing the dialog on close button click.\n",
                    "description": "<p>Whether to manually handle closing the dialog on close button click.</p>\n",
                    "line": 172,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isHandleCloseOnDismiss",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4474,
                            "end": 4494,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4475,
                                "end": 4482,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether to manually handle closing the dialog on dismiss button click.\n",
                    "description": "<p>Whether to manually handle closing the dialog on dismiss button click.</p>\n",
                    "line": 166,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "title",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nTitle text displayed in the message box header.\n",
                    "description": "<p>Title text displayed in the message box header.</p>\n",
                    "line": 124,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "width",
                    "defaultValue": "'33rem'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3601,
                            "end": 3623,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3602,
                                "end": 3609,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;33rem&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWidth of the message box.\n",
                    "description": "<p>Width of the message box.</p>\n",
                    "line": 130,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "accept",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when the accept/confirm button is clicked.\n",
                    "description": "<p>Event emitted when the accept/confirm button is clicked.</p>\n",
                    "line": 210,
                    "type": "EventEmitter"
                },
                {
                    "name": "dismiss",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when the dismiss/cancel button is clicked.\n",
                    "description": "<p>Event emitted when the dismiss/cancel button is clicked.</p>\n",
                    "line": 205,
                    "type": "EventEmitter"
                },
                {
                    "name": "messageBoxClose",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when the message box closes.\n",
                    "description": "<p>Event emitted when the message box closes.</p>\n",
                    "line": 200,
                    "type": "EventEmitter"
                },
                {
                    "name": "messageBoxOpen",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when the message box opens.\n",
                    "description": "<p>Event emitted when the message box opens.</p>\n",
                    "line": 195,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 230
                },
                {
                    "name": "content",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string | TemplatePortal",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Content that will be displayed in the message box body.\nCan be either a simple string message or a TemplatePortal for more complex content.</p>\n",
                    "line": 235,
                    "rawdescription": "\n\nContent that will be displayed in the message box body.\nCan be either a simple string message or a TemplatePortal for more complex content.\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "euiMessageBoxFooterDirective",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiMessageBoxFooterDirective>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Reference to any custom footer content provided through the eui-message-box-footer directive.\nForward reference is used to resolve the circular dependency between the component and directive.</p>\n",
                    "line": 228,
                    "rawdescription": "\n\nReference to any custom footer content provided through the eui-message-box-footer directive.\nForward reference is used to resolve the circular dependency between the component and directive.\n",
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "templateRefContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<ElementRef>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Reference to the template containing the message box content.\nThis will be used to create a portal for the content section.</p>\n",
                    "line": 216,
                    "rawdescription": "\n\nReference to the template containing the message box content.\nThis will be used to create a portal for the content section.\n",
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'templateRefContent'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "templateRefFooter",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<EuiMessageBoxFooterDirective>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Reference to the template containing the message box footer.\nThis will be used to create a portal for the footer section.</p>\n",
                    "line": 222,
                    "rawdescription": "\n\nReference to the template containing the message box footer.\nThis will be used to create a portal for the footer section.\n",
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'templateRefFooter'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "closeMessageBox",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 326,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCloses the currently open message box.\nThis method uses the EuiMessageBoxService to close the dialog.\n",
                    "description": "<p>Closes the currently open message box.\nThis method uses the EuiMessageBoxService to close the dialog.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 260,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nLifecycle hook called after Angular has fully initialized the component's view.\nCreates the template portals for content and footer (if available).\n",
                    "description": "<p>Lifecycle hook called after Angular has fully initialized the component&#39;s view.\nCreates the template portals for content and footer (if available).</p>\n"
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 272,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nLifecycle hook that's called when the component is destroyed.\nCleans up any subscriptions to prevent memory leaks.\n",
                    "description": "<p>Lifecycle hook that&#39;s called when the component is destroyed.\nCleans up any subscriptions to prevent memory leaks.</p>\n"
                },
                {
                    "name": "openMessageBox",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [
                        "HC",
                        "HCC",
                        "BC",
                        "BCC",
                        "FC",
                        "FCC"
                    ],
                    "line": 281,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nOpens the message box with the current configuration.\nThis method configures and displays the message box using the EuiMessageBoxService.\n",
                    "description": "<p>Opens the message box with the current configuration.\nThis method configures and displays the message box using the EuiMessageBoxService.</p>\n",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "TranslateModule",
                    "type": "module"
                },
                {
                    "name": "PortalModule",
                    "type": "module"
                },
                {
                    "name": "OverlayModule",
                    "type": "module"
                },
                {
                    "name": "A11yModule",
                    "type": "module"
                },
                {
                    "name": "DragDropModule",
                    "type": "module"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "<p>Component for displaying modal message boxes with structured content and customizable actions.\nThis component provides a user-friendly interface for confirmation dialogs, alerts, and other\ntypes of modal messages.</p>\n<p>The component supports various styling variants through the BaseStatesDirective hostDirective,\ncustomizable buttons, and configurable behavior for dialog actions.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-message-box #messageBox\n  title=&quot;Confirm Action&quot;\n  (accept)=&quot;onConfirm()&quot;\n  (dismiss)=&quot;onCancel()&quot;&gt;\n  Are you sure you want to proceed?\n&lt;/eui-message-box&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">&#64;ViewChild(&#39;messageBox&#39;) messageBox: EuiMessageBoxComponent;\n\nshowMessage() {\n  this.messageBox.openMessageBox();\n}</code></pre></div><h3>With Custom Footer</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-message-box title=&quot;Custom Actions&quot;&gt;\n  &lt;p&gt;Message content&lt;/p&gt;\n  &lt;eui-message-box-footer&gt;\n    &lt;button euiButton&gt;Custom Action&lt;/button&gt;\n  &lt;/eui-message-box-footer&gt;\n&lt;/eui-message-box&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Modal traps focus within the dialog</li>\n<li>Escape key closes the dialog by default</li>\n<li>Accept/Dismiss buttons are keyboard accessible</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use <code>openMessageBox()</code> and <code>closeMessageBox()</code> methods to control visibility</li>\n<li>Supports draggable positioning with <code>isDraggable</code> input</li>\n<li>Variant styling (primary, danger, warning, etc.) via BaseStatesDirective</li>\n</ul>\n",
            "rawdescription": "\n\nComponent for displaying modal message boxes with structured content and customizable actions.\nThis component provides a user-friendly interface for confirmation dialogs, alerts, and other\ntypes of modal messages.\n\nThe component supports various styling variants through the BaseStatesDirective hostDirective,\ncustomizable buttons, and configurable behavior for dialog actions.\n\n### Basic Usage\n```html\n<eui-message-box #messageBox\n  title=\"Confirm Action\"\n  (accept)=\"onConfirm()\"\n  (dismiss)=\"onCancel()\">\n  Are you sure you want to proceed?\n</eui-message-box>\n```\n\n```typescript\n@ViewChild('messageBox') messageBox: EuiMessageBoxComponent;\n\nshowMessage() {\n  this.messageBox.openMessageBox();\n}\n```\n\n### With Custom Footer\n```html\n<eui-message-box title=\"Custom Actions\">\n  <p>Message content</p>\n  <eui-message-box-footer>\n    <button euiButton>Custom Action</button>\n  </eui-message-box-footer>\n</eui-message-box>\n```\n\n### Accessibility\n- Modal traps focus within the dialog\n- Escape key closes the dialog by default\n- Accept/Dismiss buttons are keyboard accessible\n\n### Notes\n- Use `openMessageBox()` and `closeMessageBox()` methods to control visibility\n- Supports draggable positioning with `isDraggable` input\n- Variant styling (primary, danger, warning, etc.) via BaseStatesDirective\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    ChangeDetectionStrategy,\n    ViewEncapsulation,\n    Input,\n    ViewChild,\n    TemplateRef,\n    ViewContainerRef,\n    AfterViewInit,\n    OnDestroy,\n    Output,\n    EventEmitter,\n    Directive,\n    ContentChild,\n    forwardRef,\n    QueryList,\n    ElementRef,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Subject } from 'rxjs';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiDialogInterface } from '@eui/components/eui-dialog';\n\nimport { EuiMessageBoxService } from './services/eui-message-box.service';\n\n/**\n * @description\n * Component for displaying modal message boxes with structured content and customizable actions.\n * This component provides a user-friendly interface for confirmation dialogs, alerts, and other\n * types of modal messages.\n *\n * The component supports various styling variants through the BaseStatesDirective hostDirective,\n * customizable buttons, and configurable behavior for dialog actions.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-message-box #messageBox\n *   title=\"Confirm Action\"\n *   (accept)=\"onConfirm()\"\n *   (dismiss)=\"onCancel()\">\n *   Are you sure you want to proceed?\n * </eui-message-box>\n * ```\n *\n * ```typescript\n * @ViewChild('messageBox') messageBox: EuiMessageBoxComponent;\n *\n * showMessage() {\n *   this.messageBox.openMessageBox();\n * }\n * ```\n *\n * ### With Custom Footer\n * ```html\n * <eui-message-box title=\"Custom Actions\">\n *   <p>Message content</p>\n *   <eui-message-box-footer>\n *     <button euiButton>Custom Action</button>\n *   </eui-message-box-footer>\n * </eui-message-box>\n * ```\n *\n * ### Accessibility\n * - Modal traps focus within the dialog\n * - Escape key closes the dialog by default\n * - Accept/Dismiss buttons are keyboard accessible\n *\n * ### Notes\n * - Use `openMessageBox()` and `closeMessageBox()` methods to control visibility\n * - Supports draggable positioning with `isDraggable` input\n * - Variant styling (primary, danger, warning, etc.) via BaseStatesDirective\n */\n@Component({\n    selector: 'eui-message-box',\n    templateUrl: './eui-message-box.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        TranslateModule,\n        PortalModule,\n        OverlayModule,\n        A11yModule,\n        DragDropModule,\n        ...EUI_BUTTON,\n        ...EUI_ICON,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiPrimary',\n                'euiSecondary',\n                'euiInfo',\n                'euiSuccess',\n                'euiWarning',\n                'euiDanger',\n                'euiVariant',\n            ],\n        },\n    ],\n})\nexport class EuiMessageBoxComponent implements AfterViewInit, OnDestroy {\n    /**\n     * Data attribute for e2e testing purposes.\n     * @default 'eui-dialog'\n     */\n    @Input() e2eAttr = 'eui-dialog';\n\n    /**\n     * Title text displayed in the message box header.\n     */\n    @Input() title: string;\n\n    /**\n     * Width of the message box.\n     * @default '33rem'\n     */\n    @Input() width = '33rem';\n\n    /**\n     * Height of the message box.\n     * @default 'auto'\n     */\n    @Input() height = 'auto';\n\n    /**\n     * Whether to show the accept/confirm button.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasAcceptButton = true;\n\n    /**\n     * Whether to show the dismiss/cancel button.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasDismissButton = true;\n\n    /**\n     * Label for the accept/confirm button. Can be a translation key.\n     * @default 'eui.OK'\n     */\n    @Input() acceptLabel = 'eui.OK';\n\n    /**\n     * Label for the dismiss/cancel button. Can be a translation key.\n     * @default 'eui.CANCEL'\n     */\n    @Input() dismissLabel = 'eui.CANCEL';\n\n    /**\n     * Whether to manually handle closing the dialog on dismiss button click.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHandleCloseOnDismiss = false;\n\n    /**\n     * Whether to manually handle closing the dialog on close button click.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHandleCloseOnClose = false;\n\n    /**\n     * Whether to manually handle closing the dialog on accept button click.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHandleCloseOnAccept = false;\n\n    /**\n     * Whether the message box can be dragged around the screen.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isDraggable = false;\n\n    /**\n     * Whether to remove padding from the message box body.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasNoBodyPadding = false;\n\n    /**\n     * Event emitted when the message box opens.\n     */\n    @Output() messageBoxOpen = new EventEmitter();\n\n    /**\n     * Event emitted when the message box closes.\n     */\n    @Output() messageBoxClose = new EventEmitter();\n\n    /**\n     * Event emitted when the dismiss/cancel button is clicked.\n     */\n    @Output() dismiss = new EventEmitter();\n\n    /**\n     * Event emitted when the accept/confirm button is clicked.\n     */\n    @Output() accept = new EventEmitter();\n\n    /**\n     * Reference to the template containing the message box content.\n     * This will be used to create a portal for the content section.\n     */\n    @ViewChild('templateRefContent') templateRefContent: TemplateRef<ElementRef>;\n\n    /**\n     * Reference to the template containing the message box footer.\n     * This will be used to create a portal for the footer section.\n     */\n    @ViewChild('templateRefFooter') templateRefFooter: TemplateRef<EuiMessageBoxFooterDirective>;\n\n    /**\n     * Reference to any custom footer content provided through the eui-message-box-footer directive.\n     * Forward reference is used to resolve the circular dependency between the component and directive.\n     */\n    @ContentChild(forwardRef(() => EuiMessageBoxFooterDirective)) euiMessageBoxFooterDirective: QueryList<EuiMessageBoxFooterDirective>;\n\n    baseStatesDirective = inject(BaseStatesDirective);\n    /**\n     * Content that will be displayed in the message box body.\n     * Can be either a simple string message or a TemplatePortal for more complex content.\n     */\n    public content: string | TemplatePortal;\n\n    /**\n     * Portal instance for the content section of the message box.\n     * Created from the templateRefContent template reference.\n     */\n    private templatePortalContent: TemplatePortal<ElementRef>;\n\n    /**\n     * Portal instance for the footer section of the message box.\n     * Created from the templateRefFooter template reference when a custom footer is provided.\n     */\n    private templatePortalFooter: TemplatePortal<EuiMessageBoxFooterDirective>;\n\n    /**\n     * Subject used for cleaning up subscriptions when the component is destroyed.\n     */\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private viewContainerRef = inject(ViewContainerRef);\n    private euiMessageBoxService = inject(EuiMessageBoxService);\n\n    /**\n     * Lifecycle hook called after Angular has fully initialized the component's view.\n     * Creates the template portals for content and footer (if available).\n     */\n    ngAfterViewInit(): void {\n        this.templatePortalContent = new TemplatePortal(this.templateRefContent, this.viewContainerRef);\n\n        if (this.euiMessageBoxFooterDirective) {\n            this.templatePortalFooter = new TemplatePortal(this.templateRefFooter, this.viewContainerRef);\n        }\n    }\n\n    /**\n     * Lifecycle hook that's called when the component is destroyed.\n     * Cleans up any subscriptions to prevent memory leaks.\n     */\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    /**\n     * Opens the message box with the current configuration.\n     * This method configures and displays the message box using the EuiMessageBoxService.\n     */\n    public openMessageBox<HC, HCC, BC, BCC, FC, FCC>(): void {\n        const config: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {\n            e2eAttr: this.e2eAttr,\n            title: this.title,\n            width: this.width,\n            height: this.height,\n            variant: this.baseStatesDirective.euiVariant.length > 0 ? this.baseStatesDirective.euiVariant : 'primary',\n            acceptLabel: this.acceptLabel,\n            dismissLabel: this.dismissLabel,\n            hasCloseButton: false,\n            hasAcceptButton: this.hasAcceptButton,\n            hasDismissButton: this.hasDismissButton,\n            hasClosedOnClickOutside: false,\n            hasClosedOnEscape: false,\n            isHandleCloseOnDismiss: this.isHandleCloseOnDismiss,\n            isHandleCloseOnClose: this.isHandleCloseOnClose,\n            isHandleCloseOnAccept: this.isHandleCloseOnAccept,\n            isHandleCloseOnClickOutside: false,\n            isHandleCloseOnEscape: false,\n            isDraggable: coerceBooleanProperty(this.isDraggable),\n            hasNoBodyPadding: coerceBooleanProperty(this.hasNoBodyPadding),\n            content: this.templatePortalContent,\n            footer: this.templatePortalFooter,\n            isMessageBox: true,\n            open: () => {\n                this.messageBoxOpen.emit();\n            },\n            close: () => {\n                this.messageBoxClose.emit();\n            },\n            dismiss: () => {\n                this.dismiss.emit();\n            },\n            accept: () => {\n                this.accept.emit();\n            },\n        };\n\n        this.euiMessageBoxService.openMessageBox(config);\n    }\n\n    /**\n     * Closes the currently open message box.\n     * This method uses the EuiMessageBoxService to close the dialog.\n     */\n    public closeMessageBox(): void {\n        this.euiMessageBoxService.closeMessageBox();\n    }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-message-box-footer' })\nexport class EuiMessageBoxFooterDirective {}\n/* eslint-enable */\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterViewInit",
                "OnDestroy"
            ],
            "templateData": "<ng-template #templateRefContent>\n    <ng-content />\n</ng-template>\n<ng-template #templateRefFooter>\n    <ng-content select=\"eui-message-box-footer\" />\n</ng-template>\n"
        },
        {
            "name": "EuiModalSelectorComponent",
            "id": "component-EuiModalSelectorComponent-500f691a52892774210bcd46a09f3fb7fc5cadcc3f4b67f5d556780933fa57355fd9ae85c2df19f8c6cb8e15ff139fbc4f81efa5ce6d663960f14c624d9f9099",
            "file": "packages/components/eui-language-selector/modal-selector/modal-selector.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-modal-selector",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./modal-selector.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "additionaLanguageRows",
                    "defaultValue": "[]",
                    "deprecated": true,
                    "deprecationMessage": [
                        {
                            "pos": 1566,
                            "end": 1570,
                            "kind": 322,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "text": "use "
                        },
                        {
                            "pos": 1570,
                            "end": 1600,
                            "kind": 325,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "name": {
                                "pos": 1577,
                                "end": 1599,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "additionalLanguageRows"
                            },
                            "text": ""
                        }
                    ],
                    "type": "EuiLanguage[][]",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Non-EU languages organized in rows of up to 4 languages</p>\n",
                    "line": 51,
                    "rawdescription": "\n\nNon-EU languages organized in rows of up to 4 languages\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1554,
                            "end": 1606,
                            "kind": 332,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1555,
                                "end": 1565,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "deprecated"
                            },
                            "comment": "<p>use {@link additionalLanguageRows}</p>\n"
                        }
                    ]
                },
                {
                    "name": "additionalLanguageRows",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiLanguage[][]",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Non-EU languages organized in rows of up to 4 languages</p>\n",
                    "line": 53,
                    "rawdescription": "\nNon-EU languages organized in rows of up to 4 languages",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "config",
                    "defaultValue": "inject<ModelConfig>(DIALOG_COMPONENT_CONFIG, { optional: true })",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Configuration injected from the dialog service</p>\n",
                    "line": 43,
                    "rawdescription": "\n\nConfiguration injected from the dialog service\n"
                },
                {
                    "name": "languageRows",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiLanguage[][]",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>EU languages organized in rows of up to 4 languages</p>\n",
                    "line": 46,
                    "rawdescription": "\nEU languages organized in rows of up to 4 languages",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 62,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nInitializes language rows by separating EU and non-EU languages\n",
                    "description": "<p>Initializes language rows by separating EU and non-EU languages</p>\n"
                },
                {
                    "name": "selectLanguage",
                    "args": [
                        {
                            "name": "languageCode",
                            "type": "EuiLanguage",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 72,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles language selection\n",
                    "description": "<p>Handles language selection</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2493,
                                "end": 2505,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "languageCode"
                            },
                            "type": "EuiLanguage",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2473,
                                "end": 2478,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The language being selected</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 2479,
                                "end": 2492,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 2480,
                                    "end": 2491,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 2480,
                                        "end": 2491,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "EuiLanguage"
                                    }
                                }
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "TranslateModule",
                    "type": "module"
                }
            ],
            "description": "<p>Modal component for language selection.\nDisplays EU and non-EU languages in a grid layout with 4 languages per row.</p>\n",
            "rawdescription": "\n\nModal component for language selection.\nDisplays EU and non-EU languages in a grid layout with 4 languages per row.\n",
            "type": "component",
            "sourceCode": "import { Component, ViewEncapsulation, ChangeDetectionStrategy, OnInit, inject } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EuiEuLanguages, EuiLanguage } from '@eui/core';\n\nimport { DIALOG_COMPONENT_CONFIG } from '@eui/components/eui-dialog';\nimport { EuiDialogService } from '@eui/components/eui-dialog';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\n\nexport interface ModelConfig {\n    /**\n     * Available languages to select from\n     */\n    languages: EuiLanguage[];\n    /**\n     * Currently selected language\n     */\n    selectedLanguage: EuiLanguage;\n    /**\n     * Callback when language selection changes\n     * @param language\n     */\n    languageChanged: (language: EuiLanguage) => void;\n}\n\n/**\n * Modal component for language selection.\n * Displays EU and non-EU languages in a grid layout with 4 languages per row.\n */\n@Component({\n    selector: 'eui-modal-selector',\n    templateUrl: './modal-selector.component.html',\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        ...EUI_BUTTON,\n        TranslateModule,\n    ],\n})\nexport class EuiModalSelectorComponent implements OnInit {\n    /**\n     * Configuration injected from the dialog service\n     */\n    config = inject<ModelConfig>(DIALOG_COMPONENT_CONFIG, { optional: true });\n\n    /** EU languages organized in rows of up to 4 languages */\n    public languageRows: EuiLanguage[][] = [];\n    /**\n     * Non-EU languages organized in rows of up to 4 languages\n     * @deprecated use {@link additionalLanguageRows}\n     */\n    public additionaLanguageRows: EuiLanguage[][] = [];\n    /** Non-EU languages organized in rows of up to 4 languages */\n    public additionalLanguageRows: EuiLanguage[][] = [];\n    /** Currently selected language */\n    private selectedLanguage: EuiLanguage;\n    /** Dialog service for handling modal operations */\n    private euiDialogService = inject<EuiDialogService>(EuiDialogService);\n\n    /**\n     * Initializes language rows by separating EU and non-EU languages\n     */\n    ngOnInit(): void {\n        this.languageRows = this.prepareLanguageRows(EuiEuLanguages.filterEULanguages(this.config?.languages));\n        this.additionalLanguageRows = this.prepareLanguageRows(EuiEuLanguages.filterNonEULanguages(this.config?.languages));\n        this.additionaLanguageRows = this.additionalLanguageRows;\n    }\n\n    /**\n     * Handles language selection\n     * @param {EuiLanguage} languageCode - The language being selected\n     */\n    selectLanguage(languageCode: EuiLanguage): void {\n        if (this.selectedLanguage?.code !== languageCode.code) {\n            for (const language of this.config?.languages || []) {\n                if (language.code === languageCode.code) {\n                    this.selectedLanguage = language;\n                    break;\n                }\n            }\n        }\n\n        this.config?.languageChanged(languageCode);\n        this.euiDialogService.closeDialog();\n    }\n\n    /**\n     * Organizes languages into rows of up to 4 languages each\n     * @param {EuiLanguage[]} languages - Array of languages to organize\n     * @returns {EuiLanguage[][]} 2D array of languages organized in rows\n     */\n    private prepareLanguageRows(languages: EuiLanguage[]): EuiLanguage[][] {\n        // If no languages, return an empty array\n        if (!languages.length) return [];\n\n        return languages.reduce<EuiLanguage[][]>((rows, language, index) => {\n            // Calculate current row index\n            const rowIndex = Math.floor(index / 4);\n\n            // If we need to create a new row\n            if (!rows[rowIndex]) {\n                rows[rowIndex] = [];\n            }\n\n            // Add language to the current row\n            rows[rowIndex].push(language);\n            return rows;\n        }, []);\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit"
            ],
            "templateData": "@if (additionalLanguageRows?.length > 0) {\n    <h4>{{ 'eui.languageSelector.euLanguages' | translate }}</h4>\n}\n@for (row of languageRows; track row) {\n    <div id=\"eu_languages\" class=\"row\">\n        @for (language of row; track language) {\n            <div class=\"col-md-6 mb-2\">\n                <div class=\"eui-u-flex eui-u-mb-xs\">\n                    <span class=\"eui-u-text-uppercase eui-u-width-2\">{{language.code}}</span>\n                    <button\n                        type=\"button\"\n                        e2eAttr=\"eui-language-selector-item_{{ language.code }}\"\n                        euiButton\n                        euiPrimary\n                        [euiBasicButton]=\"language.code !== config?.selectedLanguage.code\"\n                        (click)=\"selectLanguage(language)\">\n                        <span [attr.lang]=\"language?.code\">{{ language.label }}</span>\n                    </button>\n                </div>\n            </div>\n        }\n    </div>\n}\n@if (additionalLanguageRows?.length > 0) {\n    <br />\n    <h4>{{ 'eui.languageSelector.nonEuLanguages' | translate }}</h4>\n    @for (row of additionalLanguageRows; track row) {\n        <div id=\"extra_languages\" class=\"row\">\n            @for (language of row; track language) {\n                <div class=\"col-md-6 mb-2\">\n                    <div class=\"eui-u-flex eui-u-mb-xs\">\n                        <span class=\"eui-u-text-uppercase eui-u-width-2\">{{language.code}}</span>\n                        <button\n                            type=\"button\"\n                            e2eAttr=\"eui-language-selector-item_{{ language.code }}\"\n                            euiButton\n                            euiPrimary\n                            [euiBasicButton]=\"language.code !== config?.selectedLanguage.code\"\n                            (click)=\"selectLanguage(language)\">\n                            <span [attr.lang]=\"language?.code\">{{ language.label }}</span>\n                        </button>\n                    </div>\n                </div>\n            }\n        </div>\n    }\n}\n"
        },
        {
            "name": "EuiNavbarComponent",
            "id": "component-EuiNavbarComponent-4dc90f90060623c73ba22ab465da2e87a3eda4b451b5839d18e539048825eb0fa8af1d5bd6bf30035e6cadfd0bd0816a8326156e20e675034cc14fab4106728d",
            "file": "packages/components/eui-navbar/eui-navbar.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-navbar",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-navbar.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiSecondary"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [],
            "outputsClass": [
                {
                    "name": "itemClick",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when a navbar item is selected by user interaction.\nPayload contains the id of the selected navbar item.\nTriggered by click or keyboard activation (Enter/Space) on any child EuiNavbarItemComponent.\n",
                    "description": "<p>Emitted when a navbar item is selected by user interaction.\nPayload contains the id of the selected navbar item.\nTriggered by click or keyboard activation (Enter/Space) on any child EuiNavbarItemComponent.</p>\n",
                    "line": 91,
                    "type": "EventEmitter<string>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 97
                },
                {
                    "name": "baseItemSelected",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiNavbarItemComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 95,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 98
                },
                {
                    "name": "isDropdownView",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 96,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "items",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiNavbarItemComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 93,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "itemSelected",
                    "args": [
                        {
                            "name": "id",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 116,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "id",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 101,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 105,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 78,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "EUI_DROPDOWN"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_BUTTON"
                }
            ],
            "description": "<p>A horizontal navigation bar component that displays a collection of selectable items.\nAutomatically adapts to a dropdown view when the available width is insufficient to display all items inline.\nSupports primary and secondary visual variants through the BaseStatesDirective.\nManages the active state of child navbar items and emits selection events.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-navbar (itemClick)=&quot;onNavItemClick($event)&quot;&gt;\n  &lt;eui-navbar-item id=&quot;home&quot; label=&quot;Home&quot; [isActive]=&quot;true&quot;&gt;&lt;/eui-navbar-item&gt;\n  &lt;eui-navbar-item id=&quot;about&quot; label=&quot;About&quot;&gt;&lt;/eui-navbar-item&gt;\n  &lt;eui-navbar-item id=&quot;contact&quot; label=&quot;Contact&quot;&gt;&lt;/eui-navbar-item&gt;\n&lt;/eui-navbar&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">onNavItemClick(itemId: string) {\n  console.log(&#39;Selected:&#39;, itemId);\n}</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Navbar items are keyboard navigable with Tab key</li>\n<li>Enter and Space keys activate items</li>\n<li>Active item is visually distinguished and announced to screen readers</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Automatically switches to dropdown when width is constrained</li>\n<li>Only one item can be active at a time</li>\n<li>Supports primary and secondary visual variants</li>\n</ul>\n",
            "rawdescription": "\n\nA horizontal navigation bar component that displays a collection of selectable items.\nAutomatically adapts to a dropdown view when the available width is insufficient to display all items inline.\nSupports primary and secondary visual variants through the BaseStatesDirective.\nManages the active state of child navbar items and emits selection events.\n\n### Basic Usage\n```html\n<eui-navbar (itemClick)=\"onNavItemClick($event)\">\n  <eui-navbar-item id=\"home\" label=\"Home\" [isActive]=\"true\"></eui-navbar-item>\n  <eui-navbar-item id=\"about\" label=\"About\"></eui-navbar-item>\n  <eui-navbar-item id=\"contact\" label=\"Contact\"></eui-navbar-item>\n</eui-navbar>\n```\n\n```typescript\nonNavItemClick(itemId: string) {\n  console.log('Selected:', itemId);\n}\n```\n\n### Accessibility\n- Navbar items are keyboard navigable with Tab key\n- Enter and Space keys activate items\n- Active item is visually distinguished and announced to screen readers\n\n### Notes\n- Automatically switches to dropdown when width is constrained\n- Only one item can be active at a time\n- Supports primary and secondary visual variants\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    ChangeDetectionStrategy,\n    HostBinding,\n    Output,\n    EventEmitter,\n    ContentChildren,\n    forwardRef,\n    QueryList,\n    ElementRef,\n    AfterViewInit,\n    AfterContentInit,\n    inject,\n} from '@angular/core';\nimport { EuiNavbarItemComponent } from './eui-navbar-item.component';\nimport { EuiAppShellService } from '@eui/core';\nimport { EUI_DROPDOWN } from '@eui/components/eui-dropdown';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { AsyncPipe } from '@angular/common';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n/**\n * A horizontal navigation bar component that displays a collection of selectable items.\n * Automatically adapts to a dropdown view when the available width is insufficient to display all items inline.\n * Supports primary and secondary visual variants through the BaseStatesDirective.\n * Manages the active state of child navbar items and emits selection events.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-navbar (itemClick)=\"onNavItemClick($event)\">\n *   <eui-navbar-item id=\"home\" label=\"Home\" [isActive]=\"true\"></eui-navbar-item>\n *   <eui-navbar-item id=\"about\" label=\"About\"></eui-navbar-item>\n *   <eui-navbar-item id=\"contact\" label=\"Contact\"></eui-navbar-item>\n * </eui-navbar>\n * ```\n *\n * ```typescript\n * onNavItemClick(itemId: string) {\n *   console.log('Selected:', itemId);\n * }\n * ```\n *\n * ### Accessibility\n * - Navbar items are keyboard navigable with Tab key\n * - Enter and Space keys activate items\n * - Active item is visually distinguished and announced to screen readers\n *\n * ### Notes\n * - Automatically switches to dropdown when width is constrained\n * - Only one item can be active at a time\n * - Supports primary and secondary visual variants\n */\n@Component({\n    selector: 'eui-navbar',\n    templateUrl: './eui-navbar.component.html',\n    styleUrl: './eui-navbar.scss',\n    changeDetection: ChangeDetectionStrategy.Default,\n    imports: [\n        AsyncPipe,\n        ...EUI_DROPDOWN,\n        ...EUI_ICON,\n        ...EUI_BUTTON,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiPrimary',\n                'euiSecondary',\n            ],\n        },\n    ],\n})\nexport class EuiNavbarComponent implements AfterContentInit, AfterViewInit {\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-navbar'),\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * Emitted when a navbar item is selected by user interaction.\n     * Payload contains the id of the selected navbar item.\n     * Triggered by click or keyboard activation (Enter/Space) on any child EuiNavbarItemComponent.\n     */\n    @Output() itemClick: EventEmitter<string> = new EventEmitter();\n\n    @ContentChildren(forwardRef(() => EuiNavbarItemComponent)) items: QueryList<EuiNavbarItemComponent>;\n\n    public baseItemSelected: EuiNavbarItemComponent;\n    public isDropdownView = false;\n    asService = inject(EuiAppShellService);\n    baseStatesDirective = inject(BaseStatesDirective);\n    private elementRef = inject(ElementRef);\n\n    ngAfterContentInit(): void {\n        this.baseItemSelected = this.items.filter((i) => i.isActive)[0];\n    }\n\n    ngAfterViewInit(): void {\n        const parentWidth = this.elementRef.nativeElement.parentWidth;\n        const width = this.elementRef.nativeElement.clientWidth;\n\n        if (width > parentWidth) {\n            setTimeout(() => {\n                this.isDropdownView = true;\n            }, 1);\n        }\n    }\n\n    public itemSelected(id: string): void {\n        this.items.forEach((item) => {\n            if (item.id === id) {\n                item.isActive = true;\n            } else {\n                item.isActive = false;\n            }\n        });\n        this.itemClick.emit(id);\n    }\n}\n",
            "styleUrl": "./eui-navbar.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterContentInit",
                "AfterViewInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 78
                    }
                }
            },
            "templateData": "@if ( (asService.breakpoints$ | async).isLtLargeTablet || isDropdownView ) {\n    <eui-dropdown isLabelUpdatedFromSelectedItem>\n        <button euiButton euiSecondary euiSizeS [attr.aria-label]=\"'Button trigger'\">\n            {{ baseItemSelected.label }\n            <eui-icon-svg icon=\"eui-chevron-down\" size=\"s\"></eui-icon-svg>\n        </button>\n        <eui-dropdown-content>\n            @for (item of items; track item) {\n            <button euiDropdownItem (click)=\"itemSelected(item.id)\" ariaLabel=\"{{ item.label }}\">\n                {{ item.label }}\n            </button>\n            }\n        </eui-dropdown-content>\n    </eui-dropdown>\n} @else {\n    <ng-content />\n}\n"
        },
        {
            "name": "EuiNavbarItemComponent",
            "id": "component-EuiNavbarItemComponent-9fef505c471bd0cb149e6ff74befeb1e8a1e455ae835218d47b8e70688fb36d912b6fc72b5bd23039b9374df5df5ed8a64affe0999252582e0aee02ec0909ccc",
            "file": "packages/components/eui-navbar/eui-navbar-item.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-navbar-item",
            "styleUrls": [],
            "styles": [],
            "template": "{{ label }}",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUnique identifier for the navbar item.\nUsed to track selection state and emitted in the parent navbar's itemClick event.\nRequired for proper item selection management.\n",
                    "description": "<p>Unique identifier for the navbar item.\nUsed to track selection state and emitted in the parent navbar&#39;s itemClick event.\nRequired for proper item selection management.</p>\n",
                    "line": 60,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isActive",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDetermines whether this navbar item is currently selected.\nWhen true, applies the 'eui-navbar-item--active' CSS class for visual distinction.\nDefaults to false. Managed by the parent EuiNavbarComponent during selection.\n",
                    "description": "<p>Determines whether this navbar item is currently selected.\nWhen true, applies the &#39;eui-navbar-item--active&#39; CSS class for visual distinction.\nDefaults to false. Managed by the parent EuiNavbarComponent during selection.</p>\n",
                    "line": 74,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nText label displayed for the navbar item.\nRendered directly in the component template.\nRequired for meaningful user interaction.\n",
                    "description": "<p>Text label displayed for the navbar item.\nRendered directly in the component template.\nRequired for meaningful user interaction.</p>\n",
                    "line": 67,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "navBarComponentParent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiNavbarComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 76
                },
                {
                    "name": "tabindex",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 53,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.tabindex'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 85,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'click'"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ]
                },
                {
                    "name": "onKeydown",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 90,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'keydown', ['$event']"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.tabindex",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 53,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 46,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [
                {
                    "name": "click",
                    "args": [],
                    "argsDecorator": [],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 85
                },
                {
                    "name": "keydown",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$event"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 90
                }
            ],
            "standalone": false,
            "imports": [],
            "description": "<p>A selectable navigation item that must be used as a child of EuiNavbarComponent.\nDisplays a text label and manages its own active state through visual styling.\nSupports keyboard navigation with Enter and Space keys.\nAutomatically communicates selection events to the parent navbar component.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-navbar&gt;\n  &lt;eui-navbar-item id=&quot;dashboard&quot; label=&quot;Dashboard&quot; [isActive]=&quot;true&quot;&gt;&lt;/eui-navbar-item&gt;\n  &lt;eui-navbar-item id=&quot;reports&quot; label=&quot;Reports&quot;&gt;&lt;/eui-navbar-item&gt;\n&lt;/eui-navbar&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Focusable with <code>tabindex=&quot;0&quot;</code></li>\n<li>Activatable with Enter or Space keys</li>\n<li>Active state is visually indicated</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be direct child of <code>eui-navbar</code></li>\n<li>Requires unique <code>id</code> for selection tracking</li>\n<li>Label is required for display</li>\n</ul>\n",
            "rawdescription": "\n\nA selectable navigation item that must be used as a child of EuiNavbarComponent.\nDisplays a text label and manages its own active state through visual styling.\nSupports keyboard navigation with Enter and Space keys.\nAutomatically communicates selection events to the parent navbar component.\n\n### Basic Usage\n```html\n<eui-navbar>\n  <eui-navbar-item id=\"dashboard\" label=\"Dashboard\" [isActive]=\"true\"></eui-navbar-item>\n  <eui-navbar-item id=\"reports\" label=\"Reports\"></eui-navbar-item>\n</eui-navbar>\n```\n\n### Accessibility\n- Focusable with `tabindex=\"0\"`\n- Activatable with Enter or Space keys\n- Active state is visually indicated\n\n### Notes\n- Must be direct child of `eui-navbar`\n- Requires unique `id` for selection tracking\n- Label is required for display\n",
            "type": "component",
            "sourceCode": "import {\n    ChangeDetectionStrategy,\n    Component,\n    HostBinding,\n    HostListener,\n    Input,\n    booleanAttribute,\n    forwardRef,\n    inject,\n} from '@angular/core';\nimport { EuiNavbarComponent } from './eui-navbar.component';\n\n/**\n * A selectable navigation item that must be used as a child of EuiNavbarComponent.\n * Displays a text label and manages its own active state through visual styling.\n * Supports keyboard navigation with Enter and Space keys.\n * Automatically communicates selection events to the parent navbar component.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-navbar>\n *   <eui-navbar-item id=\"dashboard\" label=\"Dashboard\" [isActive]=\"true\"></eui-navbar-item>\n *   <eui-navbar-item id=\"reports\" label=\"Reports\"></eui-navbar-item>\n * </eui-navbar>\n * ```\n *\n * ### Accessibility\n * - Focusable with `tabindex=\"0\"`\n * - Activatable with Enter or Space keys\n * - Active state is visually indicated\n *\n * ### Notes\n * - Must be direct child of `eui-navbar`\n * - Requires unique `id` for selection tracking\n * - Label is required for display\n */\n@Component({\n    selector: 'eui-navbar-item',\n    template: '{{ label }}',\n    styleUrl: './eui-navbar-item.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiNavbarItemComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-navbar-item',\n            this.isActive ? 'eui-navbar-item--active' : '',\n        ].join(' ').trim();\n    }\n\n    @HostBinding('attr.tabindex') tabindex = 0;\n\n    /**\n     * Unique identifier for the navbar item.\n     * Used to track selection state and emitted in the parent navbar's itemClick event.\n     * Required for proper item selection management.\n     */\n    @Input() id: string;\n    \n    /**\n     * Text label displayed for the navbar item.\n     * Rendered directly in the component template.\n     * Required for meaningful user interaction.\n     */\n    @Input() label: string;\n    \n    /**\n     * Determines whether this navbar item is currently selected.\n     * When true, applies the 'eui-navbar-item--active' CSS class for visual distinction.\n     * Defaults to false. Managed by the parent EuiNavbarComponent during selection.\n     */\n    @Input({ transform: booleanAttribute }) isActive = false;\n\n    navBarComponentParent: EuiNavbarComponent;\n\n    constructor() {\n        const navBarComponent = inject(EuiNavbarComponent, { host: true, optional: true })!;\n\n        this.navBarComponentParent = navBarComponent;\n    }\n\n    @HostListener('click')\n    protected onClick(): void {\n        this._click();\n    }\n\n    @HostListener('keydown', ['$event'])\n    protected onKeydown(event: KeyboardEvent): void {\n        switch (event.code) {\n            case 'Enter':\n            case 'Space':\n                event.preventDefault();\n                event.stopPropagation();\n                this._click();\n                break;\n        }\n    }\n\n    private _click(): void {\n        this.navBarComponentParent.itemSelected(this.id);\n    }\n}\n",
            "styleUrl": "./eui-navbar-item.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 76
            },
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 46
                    }
                }
            }
        },
        {
            "name": "EuiNotificationItemComponent",
            "id": "component-EuiNotificationItemComponent-08e41fed46d677d3b959758f8c46f09c96c651549c58f6d4b339356ea998b6fe28360cd958987dcc257d6b724410e65f53c9d241957ccec0c97072691c6b317d",
            "file": "packages/components/layout/eui-notifications/eui-notification-item.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-notification-item",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-notification-item.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "dateFormat",
                    "defaultValue": "'dd/MM/yyyy'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4637,
                            "end": 4664,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4638,
                                "end": 4645,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;dd/MM/yyyy&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nDate format string for displaying the notification timestamp.\nAccepts any valid Angular DatePipe format pattern.\n",
                    "description": "<p>Date format string for displaying the notification timestamp.\nAccepts any valid Angular DatePipe format pattern.</p>\n",
                    "line": 122,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowMarkAsRead",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4850,
                            "end": 4869,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4851,
                                "end": 4858,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nShows the mark as read action button on the notification item.\nWhen false, hides the mark as read functionality.\n",
                    "description": "<p>Shows the mark as read action button on the notification item.\nWhen false, hides the mark as read functionality.</p>\n",
                    "line": 129,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "item",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nNotification item data containing label, metadata, and link information.\nMust conform to UxLinkLegacy<NotificationMetadata> interface with id, label, and metadata properties.\nRequired for notification display.\n",
                    "description": "<p>Notification item data containing label, metadata, and link information.\nMust conform to UxLinkLegacy<NotificationMetadata> interface with id, label, and metadata properties.\nRequired for notification display.</p>\n",
                    "line": 115,
                    "type": "UxLinkLegacy<NotificationMetadata>",
                    "decorators": []
                },
                {
                    "name": "markAsReadLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for the mark as read button.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for the mark as read button.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 108,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "itemClick",
                    "defaultValue": "new EventEmitter<UxLinkLegacy<NotificationMetadata>>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the notification item is clicked.\nPayload: UxLinkLegacy<NotificationMetadata> - the clicked notification item with metadata\nTriggered when user clicks anywhere on the notification item.\n",
                    "description": "<p>Emitted when the notification item is clicked.\nPayload: UxLinkLegacy<NotificationMetadata> - the clicked notification item with metadata\nTriggered when user clicks anywhere on the notification item.</p>\n",
                    "line": 94,
                    "type": "EventEmitter<UxLinkLegacy<NotificationMetadata>>"
                },
                {
                    "name": "itemMarkAsRead",
                    "defaultValue": "new EventEmitter<UxLinkLegacy<NotificationMetadata>>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the mark as read button is clicked.\nPayload: UxLinkLegacy<NotificationMetadata> - the notification item marked as read\nTriggered when user clicks the mark as read action button. Automatically sets item.metadata.read to true.\n",
                    "description": "<p>Emitted when the mark as read button is clicked.\nPayload: UxLinkLegacy<NotificationMetadata> - the notification item marked as read\nTriggered when user clicks the mark as read action button. Automatically sets item.metadata.read to true.</p>\n",
                    "line": 101,
                    "type": "EventEmitter<UxLinkLegacy<NotificationMetadata>>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-notification-item'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 88,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "tooltipSize",
                    "defaultValue": "'auto'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 131
                }
            ],
            "methodsClass": [
                {
                    "name": "onItemClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 133,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onItemMarkAsRead",
                    "args": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 137,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-notification-item'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 88,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "NgClass"
                },
                {
                    "name": "DatePipe",
                    "type": "pipe"
                },
                {
                    "name": "EuiTruncatePipe",
                    "type": "pipe"
                },
                {
                    "name": "TranslateModule",
                    "type": "module"
                },
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "<p>Individual notification item component displaying a single notification with read/unread status and actions.\nRenders notification content with icon, label, date, and optional mark as read button.\nSupports internal and external links with visual indicators for unread and important notifications.\nEmits events for item clicks and mark as read actions to parent notification panel.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Used internally by eui-notifications --&gt;\n&lt;eui-notification-item\n  [item]=&quot;notificationItem&quot;\n  [dateFormat]=&quot;&#39;dd/MM/yyyy&#39;&quot;\n  [isShowMarkAsRead]=&quot;true&quot;\n  (itemClick)=&quot;onItemClick($event)&quot;\n  (itemMarkAsRead)=&quot;onMarkAsRead($event)&quot;&gt;\n&lt;/eui-notification-item&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">notificationItem: UxLinkLegacy&lt;NotificationMetadata&gt; = {\n  id: &#39;1&#39;,\n  label: &#39;New message received&#39;,\n  metadata: {\n    read: false,\n    date: new Date(),\n    important: true\n  }\n};</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Entire item is clickable and keyboard accessible</li>\n<li>Visual indicators for read/unread status</li>\n<li>Mark as read button keyboard accessible</li>\n<li>Icon color changes based on read status</li>\n<li>Date displayed in accessible format</li>\n<li>Supports screen reader announcements</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Typically used internally by eui-notifications component</li>\n<li>Not intended for standalone usage</li>\n<li>Item data uses UxLinkLegacy<NotificationMetadata> interface</li>\n<li>Metadata properties: read, date, important, new, url, urlExternal</li>\n<li>Visual distinction for unread items (darker icon)</li>\n<li>dateFormat for timestamp display (default: &#39;dd/MM/yyyy&#39;)</li>\n<li>Mark as read button optional via isShowMarkAsRead</li>\n<li>Clicking mark as read automatically sets metadata.read to true</li>\n<li>itemClick emitted on item click</li>\n<li>itemMarkAsRead emitted on mark as read action</li>\n<li>Icon color: &#39;secondary&#39; for unread, &#39;secondary-light&#39; for read</li>\n<li>Supports internal and external links via metadata.url/urlExternal</li>\n<li>Label truncation with tooltip for long text</li>\n</ul>\n",
            "rawdescription": "\n\nIndividual notification item component displaying a single notification with read/unread status and actions.\nRenders notification content with icon, label, date, and optional mark as read button.\nSupports internal and external links with visual indicators for unread and important notifications.\nEmits events for item clicks and mark as read actions to parent notification panel.\n\n```html\n<!-- Used internally by eui-notifications -->\n<eui-notification-item\n  [item]=\"notificationItem\"\n  [dateFormat]=\"'dd/MM/yyyy'\"\n  [isShowMarkAsRead]=\"true\"\n  (itemClick)=\"onItemClick($event)\"\n  (itemMarkAsRead)=\"onMarkAsRead($event)\">\n</eui-notification-item>\n```\n```typescript\nnotificationItem: UxLinkLegacy<NotificationMetadata> = {\n  id: '1',\n  label: 'New message received',\n  metadata: {\n    read: false,\n    date: new Date(),\n    important: true\n  }\n};\n```\n\n### Accessibility\n- Entire item is clickable and keyboard accessible\n- Visual indicators for read/unread status\n- Mark as read button keyboard accessible\n- Icon color changes based on read status\n- Date displayed in accessible format\n- Supports screen reader announcements\n\n### Notes\n- Typically used internally by eui-notifications component\n- Not intended for standalone usage\n- Item data uses UxLinkLegacy<NotificationMetadata> interface\n- Metadata properties: read, date, important, new, url, urlExternal\n- Visual distinction for unread items (darker icon)\n- dateFormat for timestamp display (default: 'dd/MM/yyyy')\n- Mark as read button optional via isShowMarkAsRead\n- Clicking mark as read automatically sets metadata.read to true\n- itemClick emitted on item click\n- itemMarkAsRead emitted on mark as read action\n- Icon color: 'secondary' for unread, 'secondary-light' for read\n- Supports internal and external links via metadata.url/urlExternal\n- Label truncation with tooltip for long text\n",
            "type": "component",
            "sourceCode": "import { DatePipe, NgClass } from '@angular/common';\nimport { booleanAttribute, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EuiTruncatePipe } from '@eui/components/pipes';\nimport { UxLinkLegacy } from '@eui/core';\nimport { consumeEvent } from '@eui/core';\nimport { TranslateModule } from '@ngx-translate/core';\n\n/**\n * Metadata interface for notification items containing read status, URLs, importance flags, and timestamp.\n * Used to extend UxLinkLegacy with notification-specific properties for state management and display logic.\n */\nexport interface NotificationMetadata {\n    read?: boolean;\n    urlExternal?: string;\n    urlExternalTarget?: string;\n    important?: boolean;\n    new?: boolean;\n    url?: string;\n    date?: Date | string | number;\n}\n\n/**\n * @description\n * Individual notification item component displaying a single notification with read/unread status and actions.\n * Renders notification content with icon, label, date, and optional mark as read button.\n * Supports internal and external links with visual indicators for unread and important notifications.\n * Emits events for item clicks and mark as read actions to parent notification panel.\n * \n * @usageNotes\n * ```html\n * <!-- Used internally by eui-notifications -->\n * <eui-notification-item\n *   [item]=\"notificationItem\"\n *   [dateFormat]=\"'dd/MM/yyyy'\"\n *   [isShowMarkAsRead]=\"true\"\n *   (itemClick)=\"onItemClick($event)\"\n *   (itemMarkAsRead)=\"onMarkAsRead($event)\">\n * </eui-notification-item>\n * ```\n * ```typescript\n * notificationItem: UxLinkLegacy<NotificationMetadata> = {\n *   id: '1',\n *   label: 'New message received',\n *   metadata: {\n *     read: false,\n *     date: new Date(),\n *     important: true\n *   }\n * };\n * ```\n *\n * ### Accessibility\n * - Entire item is clickable and keyboard accessible\n * - Visual indicators for read/unread status\n * - Mark as read button keyboard accessible\n * - Icon color changes based on read status\n * - Date displayed in accessible format\n * - Supports screen reader announcements\n *\n * ### Notes\n * - Typically used internally by eui-notifications component\n * - Not intended for standalone usage\n * - Item data uses UxLinkLegacy<NotificationMetadata> interface\n * - Metadata properties: read, date, important, new, url, urlExternal\n * - Visual distinction for unread items (darker icon)\n * - dateFormat for timestamp display (default: 'dd/MM/yyyy')\n * - Mark as read button optional via isShowMarkAsRead\n * - Clicking mark as read automatically sets metadata.read to true\n * - itemClick emitted on item click\n * - itemMarkAsRead emitted on mark as read action\n * - Icon color: 'secondary' for unread, 'secondary-light' for read\n * - Supports internal and external links via metadata.url/urlExternal\n * - Label truncation with tooltip for long text\n */\n@Component({\n    selector: 'eui-notification-item',\n    templateUrl: './eui-notification-item.component.html',\n    imports: [\n        NgClass,\n        DatePipe,\n        EuiTruncatePipe,\n        TranslateModule,\n        ...EUI_ICON,\n    ],\n})\nexport class EuiNotificationItemComponent {\n    @HostBinding('class') string = 'eui-notification-item';\n    /**\n     * Emitted when the notification item is clicked.\n     * Payload: UxLinkLegacy<NotificationMetadata> - the clicked notification item with metadata\n     * Triggered when user clicks anywhere on the notification item.\n     */\n    @Output() itemClick: EventEmitter<UxLinkLegacy<NotificationMetadata>> = new EventEmitter<UxLinkLegacy<NotificationMetadata>>();\n\n    /**\n     * Emitted when the mark as read button is clicked.\n     * Payload: UxLinkLegacy<NotificationMetadata> - the notification item marked as read\n     * Triggered when user clicks the mark as read action button. Automatically sets item.metadata.read to true.\n     */\n    @Output() itemMarkAsRead: EventEmitter<UxLinkLegacy<NotificationMetadata>> = new EventEmitter<UxLinkLegacy<NotificationMetadata>>();\n\n    /**\n     * Custom label text for the mark as read button.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() markAsReadLabel: string = null;\n\n    /**\n     * Notification item data containing label, metadata, and link information.\n     * Must conform to UxLinkLegacy<NotificationMetadata> interface with id, label, and metadata properties.\n     * Required for notification display.\n     */\n    @Input() item: UxLinkLegacy<NotificationMetadata>;\n\n    /**\n     * Date format string for displaying the notification timestamp.\n     * Accepts any valid Angular DatePipe format pattern.\n     * @default 'dd/MM/yyyy'\n     */\n    @Input() dateFormat = 'dd/MM/yyyy';\n\n    /**\n     * Shows the mark as read action button on the notification item.\n     * When false, hides the mark as read functionality.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute })isShowMarkAsRead = true;\n\n    tooltipSize = 'auto';\n\n    onItemClick(): void {\n        this.itemClick.emit(this.item);\n    }\n\n    onItemMarkAsRead(event: Event): void {\n        if (this.item.metadata) {\n            this.item.metadata.read = true;\n        }\n        this.itemMarkAsRead.emit(this.item);\n        consumeEvent(event);\n    }\n\n    get iconColor(): string {\n        return this.item.metadata?.read ? 'secondary-light' : 'secondary';\n    }\n\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "iconColor": {
                    "name": "iconColor",
                    "getSignature": {
                        "name": "iconColor",
                        "type": "string",
                        "returnType": "string",
                        "line": 145
                    }
                }
            },
            "templateData": "<div\n    class=\"eui-notification-item-content\"\n    (click)=\"onItemClick()\"\n    [ngClass]=\"{ 'eui-u-c-bg-white': item.metadata?.read || !item.metadata }\">\n    <div class=\"eui-notification-item-content-top eui-u-f-s\">\n        @if (item.metadata?.date) {\n            <div class=\"eui-notification-item-content-top__date\">\n                <span class=\"eui-notification-item-content-top__date-icon eui-u-mr-s\">\n                    <eui-icon-svg icon=\"eui-notifications\" size=\"m\" [fillColor]=\"iconColor\"></eui-icon-svg>\n                    @if (item.metadata?.new) {\n                    <span class=\"eui-notification-item-content-top__date-dot eui-u-c-danger-light eui-u-f-s eui-icon eui-icon-circle\"></span>\n                    }\n                </span>\n                <span>{{ item.metadata?.date | date: dateFormat }}</span>\n            </div>\n        }\n        @if (item.metadata?.important) {\n            <div class=\"eui-u-f-m-bold\">\n                <eui-icon-svg icon=\"eui-alert\" fillColor=\"danger\" class=\"eui-u-ml-xs\"></eui-icon-svg>\n            </div>\n        }\n    </div>\n    <span class=\"eui-notification-item-content-middle eui-u-cursor-pointer\">\n        @if (item.metadata?.url) {\n            <a class=\"eui-u-text-link\" href=\"{{ item.metadata.url }}\">\n                <div\n                    class=\"eui-notification-item-content-middle__label\"\n                    [ngClass]=\"{ 'eui-u-f-m-semi-bold': !item.metadata || (item.metadata && !item.metadata.read) }\">\n                    {{ item.label | translate | euiTruncate: 200 }}\n                </div>\n                @if (item.subLabel) {\n                    <div\n                        class=\"eui-notification-item-content-middle__sub-label\"\n                        [innerHTML]=\"item.subLabel | translate | euiTruncate: 200\">\n                    </div>\n                }\n            </a>\n        }\n\n        @if (item.metadata?.urlExternal) {\n            <a class=\"eui-u-text-link-external\"\n                href=\"{{ item.metadata.urlExternal }}\"\n                [target]=\"!item.metadata.urlExternalTarget ? '_blank' : item.metadata.urlExternalTarget\">\n                <div\n                    class=\"eui-notification-item-content-middle__label\"\n                    [ngClass]=\"{ 'eui-u-f-m-semi-bold': !item.metadata || (item.metadata && !item.metadata.read) }\">\n                    {{ item.label | translate | euiTruncate: 200 }}\n                </div>\n                @if (item.subLabel) {\n                    <div\n                        class=\"eui-notification-item-content-middle__sub-label\"\n                        [innerHTML]=\"item.subLabel | translate | euiTruncate: 200\">\n                    </div>\n                }\n            </a>\n        }\n\n        @if (!item.metadata?.url && !item.metadata?.urlExternal) {\n            <div\n                class=\"eui-notification-item-content-middle__label\"\n                [ngClass]=\"{ 'eui-u-f-m-semi-bold': !item.metadata || (item.metadata && !item.metadata.read) }\">\n                {{ item.label | translate | euiTruncate: 200 }}\n            </div>\n            @if (item.subLabel) {\n                <div\n                    class=\"eui-notification-item-content-middle__sub-label\"\n                    [innerHTML]=\"item.subLabel | translate | euiTruncate: 200\">\n                </div>\n            }\n        }\n    </span>\n    <div class=\"eui-notification-item-content-bottom\">\n        @if (isShowMarkAsRead && item.metadata && !item.metadata.read) {\n            <a\n                href=\"javascript:void(0)\"\n                class=\"eui-u-text-link\"\n                (click)=\"onItemMarkAsRead($event)\">\n                {{ markAsReadLabel ? markAsReadLabel : ('eui.NOTIFICATIONMARKASREAD' | translate) }}\n            </a>\n        }\n    </div>\n</div>\n"
        },
        {
            "name": "EuiNotificationItemV2Component",
            "id": "component-EuiNotificationItemV2Component-b2ef69887e17f6c749dc7db7f6e84c92b1104ca2cafec0e823e96888da236fb4e370a28abbb7afd2bdebff77fa3347c6a13a036adf5a7d0c5aff4f46dfd9594f",
            "file": "packages/components/layout/eui-notifications-v2/eui-notification-item.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-notification-item-v2",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-notification-item.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "dateFormat",
                    "defaultValue": "'dd/MM/yyyy'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2621,
                            "end": 2648,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2622,
                                "end": 2629,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;dd/MM/yyyy&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nDate format string for displaying the notification timestamp.\nAccepts any valid Angular DatePipe format pattern.\n",
                    "description": "<p>Date format string for displaying the notification timestamp.\nAccepts any valid Angular DatePipe format pattern.</p>\n",
                    "line": 64,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowMarkAsRead",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2834,
                            "end": 2853,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2835,
                                "end": 2842,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nShows the mark as read action button on the notification item.\nWhen false, hides the mark as read functionality.\n",
                    "description": "<p>Shows the mark as read action button on the notification item.\nWhen false, hides the mark as read functionality.</p>\n",
                    "line": 71,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "item",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nNotification item data containing label, metadata, and link information.\nMust conform to UxLinkLegacy<NotificationMetadata> interface with id, label, and metadata properties.\nRequired for notification display.\n",
                    "description": "<p>Notification item data containing label, metadata, and link information.\nMust conform to UxLinkLegacy<NotificationMetadata> interface with id, label, and metadata properties.\nRequired for notification display.</p>\n",
                    "line": 57,
                    "type": "UxLinkLegacy<NotificationMetadata>",
                    "decorators": []
                },
                {
                    "name": "markAsReadLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for the mark as read button.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for the mark as read button.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 50,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "itemClick",
                    "defaultValue": "new EventEmitter<UxLinkLegacy>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the notification item is clicked.\nPayload: UxLinkLegacy - the clicked notification item with metadata\nTriggered when user clicks anywhere on the notification item.\n",
                    "description": "<p>Emitted when the notification item is clicked.\nPayload: UxLinkLegacy - the clicked notification item with metadata\nTriggered when user clicks anywhere on the notification item.</p>\n",
                    "line": 36,
                    "type": "EventEmitter<UxLinkLegacy>"
                },
                {
                    "name": "itemMarkAsRead",
                    "defaultValue": "new EventEmitter<UxLinkLegacy>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the mark as read button is clicked.\nPayload: UxLinkLegacy - the notification item marked as read\nTriggered when user clicks the mark as read action button. Automatically sets item.metadata.read to true.\n",
                    "description": "<p>Emitted when the mark as read button is clicked.\nPayload: UxLinkLegacy - the notification item marked as read\nTriggered when user clicks the mark as read action button. Automatically sets item.metadata.read to true.</p>\n",
                    "line": 43,
                    "type": "EventEmitter<UxLinkLegacy>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-notification-item'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 30,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "tooltipSize",
                    "defaultValue": "'auto'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 73
                }
            ],
            "methodsClass": [
                {
                    "name": "onItemClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 79,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onItemMarkAsRead",
                    "args": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 83,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-notification-item'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 30,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "NgClass"
                },
                {
                    "name": "DatePipe",
                    "type": "pipe"
                },
                {
                    "name": "EuiTruncatePipe",
                    "type": "pipe"
                },
                {
                    "name": "TranslateModule",
                    "type": "module"
                },
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "<p>Enhanced individual notification item component (v2) displaying a single notification with read/unread status and actions.\nRenders notification content with icon, label, date, and optional mark as read button.\nSupports internal and external links with visual indicators for unread and important notifications.\nEmits events for item clicks and mark as read actions to parent notification panel.\nImproved version with enhanced styling and behavior compared to EuiNotificationItemComponent.</p>\n",
            "rawdescription": "\n\nEnhanced individual notification item component (v2) displaying a single notification with read/unread status and actions.\nRenders notification content with icon, label, date, and optional mark as read button.\nSupports internal and external links with visual indicators for unread and important notifications.\nEmits events for item clicks and mark as read actions to parent notification panel.\nImproved version with enhanced styling and behavior compared to EuiNotificationItemComponent.\n",
            "type": "component",
            "sourceCode": "import { booleanAttribute, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { UxLinkLegacy } from '@eui/core';\nimport { consumeEvent } from '@eui/core';\nimport { NotificationMetadata } from '../eui-notifications';\nimport { DatePipe, NgClass } from '@angular/common';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EuiTruncatePipe } from '@eui/components/pipes';\nimport { TranslateModule } from '@ngx-translate/core';\n\n/**\n * @description\n * Enhanced individual notification item component (v2) displaying a single notification with read/unread status and actions.\n * Renders notification content with icon, label, date, and optional mark as read button.\n * Supports internal and external links with visual indicators for unread and important notifications.\n * Emits events for item clicks and mark as read actions to parent notification panel.\n * Improved version with enhanced styling and behavior compared to EuiNotificationItemComponent.\n */\n@Component({\n    selector: 'eui-notification-item-v2',\n    templateUrl: './eui-notification-item.component.html',\n    imports: [\n        NgClass,\n        DatePipe,\n        EuiTruncatePipe,\n        TranslateModule,\n        ...EUI_ICON,\n    ],\n})\nexport class EuiNotificationItemV2Component {\n    @HostBinding('class') string = 'eui-notification-item';\n    /**\n     * Emitted when the notification item is clicked.\n     * Payload: UxLinkLegacy - the clicked notification item with metadata\n     * Triggered when user clicks anywhere on the notification item.\n     */\n    @Output() itemClick: EventEmitter<UxLinkLegacy> = new EventEmitter<UxLinkLegacy>();\n\n    /**\n     * Emitted when the mark as read button is clicked.\n     * Payload: UxLinkLegacy - the notification item marked as read\n     * Triggered when user clicks the mark as read action button. Automatically sets item.metadata.read to true.\n     */\n    @Output() itemMarkAsRead: EventEmitter<UxLinkLegacy> = new EventEmitter<UxLinkLegacy>();\n\n    /**\n     * Custom label text for the mark as read button.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() markAsReadLabel: string = null;\n\n    /**\n     * Notification item data containing label, metadata, and link information.\n     * Must conform to UxLinkLegacy<NotificationMetadata> interface with id, label, and metadata properties.\n     * Required for notification display.\n     */\n    @Input() item: UxLinkLegacy<NotificationMetadata>;\n\n    /**\n     * Date format string for displaying the notification timestamp.\n     * Accepts any valid Angular DatePipe format pattern.\n     * @default 'dd/MM/yyyy'\n     */\n    @Input() dateFormat = 'dd/MM/yyyy';\n\n    /**\n     * Shows the mark as read action button on the notification item.\n     * When false, hides the mark as read functionality.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isShowMarkAsRead = true;\n\n    tooltipSize = 'auto';\n\n    get iconColor(): string {\n        return this.item.metadata?.read ? 'secondary-light' : 'secondary';\n    }\n\n    onItemClick(): void {\n        this.itemClick.emit(this.item);\n    }\n\n    onItemMarkAsRead(event: Event): void {\n        if (this.item.metadata) {\n            this.item.metadata.read = true;\n        }\n        this.itemMarkAsRead.emit(this.item);\n        consumeEvent(event);\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "iconColor": {
                    "name": "iconColor",
                    "getSignature": {
                        "name": "iconColor",
                        "type": "string",
                        "returnType": "string",
                        "line": 75
                    }
                }
            },
            "templateData": "<div\n    class=\"eui-notification-item-content\"\n    (click)=\"onItemClick()\"\n    [ngClass]=\"{ 'eui-u-c-bg-white': item.metadata?.read || !item.metadata }\">\n    <div class=\"eui-notification-item-content-top eui-u-f-s\">\n        @if (item.metadata?.date) {\n        <div class=\"eui-notification-item-content-top__date\">\n            <span class=\"eui-notification-item-content-top__date-icon eui-u-mr-s\">\n                <eui-icon-svg icon=\"eui-notifications\" [fillColor]=\"iconColor\"></eui-icon-svg>\n                @if (item.metadata?.new) {\n                    <span class=\"eui-notification-item-content-top__date-dot eui-u-c-danger-light eui-u-f-s eui-icon eui-icon-circle\"></span>\n                }\n            </span>\n            <span>{{ item.metadata?.date | date: dateFormat }}</span>\n        </div>\n        }\n        @if (item.metadata?.important) {\n        <div class=\"eui-u-f-m-semi-bold\">\n            <eui-icon-svg icon=\"eui-alert\" fillColor=\"danger\" class=\"eui-u-ml-xs\"></eui-icon-svg>\n        </div>\n        }\n    </div>\n    <span class=\"eui-notification-item-content-middle eui-u-cursor-pointer\">\n        @if (item.metadata?.url) {\n            <a class=\"eui-u-text-link\" href=\"{{ item.metadata.url }}\" tabIndex=\"0\">\n                <div\n                    class=\"eui-notification-item-content-middle__label\"\n                    [ngClass]=\"{ 'eui-u-f-m-semi-bold': !item.metadata || (item.metadata && !item.metadata.read) }\">\n                    {{ item.label | translate | euiTruncate: 200 }}\n                </div>\n                @if (item.subLabel) {\n                <div\n                    class=\"eui-notification-item-content-middle__sub-label\"\n                    [innerHTML]=\"item.subLabel | translate | euiTruncate: 200\"></div>\n                }\n            </a>\n        }\n\n        @if (item.metadata?.urlExternal) {\n            <a class=\"eui-u-text-link-external\"\n                href=\"{{ item.metadata.urlExternal }}\"\n                [target]=\"!item.metadata.urlExternalTarget ? '_blank' : item.metadata.urlExternalTarget\" tabIndex=\"0\">\n                <div\n                    class=\"eui-notification-item-content-middle__label\"\n                    [ngClass]=\"{ 'eui-u-f-m-semi-bold': !item.metadata || (item.metadata && !item.metadata.read) }\">\n                    {{ item.label | translate | euiTruncate: 200 }}\n                </div>\n                @if (item.subLabel) {\n                <div\n                    class=\"eui-notification-item-content-middle__sub-label\"\n                    [innerHTML]=\"item.subLabel | translate | euiTruncate: 200\"></div>\n                }\n            </a>\n        }\n\n        @if (!item.metadata?.url && !item.metadata?.urlExternal) {\n            <div\n                class=\"eui-notification-item-content-middle__label\"\n                [ngClass]=\"{ 'eui-u-f-m-bold': !item.metadata || (item.metadata && !item.metadata.read) }\">\n                {{ item.label | translate | euiTruncate: 200 }}\n            </div>\n            @if (item.subLabel) {\n            <div\n                class=\"eui-notification-item-content-middle__sub-label\"\n                [innerHTML]=\"item.subLabel | translate | euiTruncate: 200\"></div>\n            }\n        }\n    </span>\n    <div class=\"eui-notification-item-content-bottom\">\n        @if (isShowMarkAsRead && item.metadata && !item.metadata.read) {\n        <a\n            class=\"eui-u-text-link\"\n            href=\"javascript:void(0)\"\n            (click)=\"onItemMarkAsRead($event)\" tabIndex=\"0\">\n            {{ markAsReadLabel ? markAsReadLabel : ('eui.NOTIFICATIONMARKASREAD' | translate) }}\n        </a>\n        }\n    </div>\n</div>\n"
        },
        {
            "name": "EuiNotificationsComponent",
            "id": "component-EuiNotificationsComponent-b24eeaf02d0f203dbf419482ddffb82c2cd435e9a4a869bb37fa8ec30e8fef4bdb86fe2a4cc23f7e0936e83e730222770582a49ce81077185598291ead17d3ee",
            "file": "packages/components/layout/eui-notifications/eui-notifications.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-notifications",
            "styleUrls": [
                "./styles/_index.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-notifications.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "count",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nTotal count of notifications displayed in the badge.\nWhen null, badge shows unread count instead. When provided, overrides automatic counting.\nOptional.\n",
                    "description": "<p>Total count of notifications displayed in the badge.\nWhen null, badge shows unread count instead. When provided, overrides automatic counting.\nOptional.</p>\n",
                    "line": 169,
                    "type": "number",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "customUnreadCount",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 10328,
                            "end": 10348,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 10329,
                                "end": 10336,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nUses custom unread count from nbUnreadCount input instead of automatic calculation.\nWhen true, disables automatic counting of unread notifications from items array.\n",
                    "description": "<p>Uses custom unread count from nbUnreadCount input instead of automatic calculation.\nWhen true, disables automatic counting of unread notifications from items array.</p>\n",
                    "line": 295,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "dateFormat",
                    "defaultValue": "'dd/MM/yyyy'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 9053,
                            "end": 9080,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 9054,
                                "end": 9061,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;dd/MM/yyyy&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nDate format string for displaying notification timestamps.\nAccepts any valid date format pattern.\n",
                    "description": "<p>Date format string for displaying notification timestamps.\nAccepts any valid date format pattern.</p>\n",
                    "line": 260,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "headerTitleLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for panel header title.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for panel header title.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 239,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isHidePanelOnViewAllAction",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 10033,
                            "end": 10052,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 10034,
                                "end": 10041,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nAutomatically closes the notifications panel when \"View All\" is clicked.\nWhen false, panel remains open after clicking view all.\n",
                    "description": "<p>Automatically closes the notifications panel when &quot;View All&quot; is clicked.\nWhen false, panel remains open after clicking view all.</p>\n",
                    "line": 288,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowMarkAllAsReadButton",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 10563,
                            "end": 10582,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 10564,
                                "end": 10571,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nShows the \"Mark All as Read\" button in the panel header.\nWhen false, hides the mark all as read functionality.\n",
                    "description": "<p>Shows the &quot;Mark All as Read&quot; button in the panel header.\nWhen false, hides the mark all as read functionality.</p>\n",
                    "line": 302,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowMarkAsRead",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 9550,
                            "end": 9569,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 9551,
                                "end": 9558,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nShows the mark as read action button on individual notification items.\nWhen false, hides the mark as read functionality from notification items.\n",
                    "description": "<p>Shows the mark as read action button on individual notification items.\nWhen false, hides the mark as read functionality from notification items.</p>\n",
                    "line": 274,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowRefreshButton",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 10988,
                            "end": 11007,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 10989,
                                "end": 10996,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nShows the refresh button in the panel header.\nWhen false, hides the refresh button.\n",
                    "description": "<p>Shows the refresh button in the panel header.\nWhen false, hides the refresh button.</p>\n",
                    "line": 316,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowSettingsButton",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 10779,
                            "end": 10798,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 10780,
                                "end": 10787,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nShows the settings button in the panel header.\nWhen false, hides the settings button.\n",
                    "description": "<p>Shows the settings button in the panel header.\nWhen false, hides the settings button.</p>\n",
                    "line": 309,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowViewAllAction",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 9780,
                            "end": 9799,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 9781,
                                "end": 9788,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nShows the \"View All\" action button in the panel footer.\nWhen false, hides the view all notifications button.\n",
                    "description": "<p>Shows the &quot;View All&quot; action button in the panel footer.\nWhen false, hides the view all notifications button.</p>\n",
                    "line": 281,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "items",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6808,
                            "end": 6834,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6809,
                                "end": 6816,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>empty array</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nArray of notification items to display in the panel.\nEach item should conform to UxLinkLegacy<NotificationMetadata> interface with id, label, and metadata properties.\n",
                    "description": "<p>Array of notification items to display in the panel.\nEach item should conform to UxLinkLegacy<NotificationMetadata> interface with id, label, and metadata properties.</p>\n",
                    "line": 176,
                    "type": "{}",
                    "decorators": []
                },
                {
                    "name": "markAllAsReadLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for \"mark all as read\" button.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for &quot;mark all as read&quot; button.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 211,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "markAsReadLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for \"mark as read\" action.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for &quot;mark as read&quot; action.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 197,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "markAsUnReadLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for \"mark as unread\" action.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for &quot;mark as unread&quot; action.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 204,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "nbUnreadCount",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nNumber of unread notifications to display in the badge.\nWhen null and customUnreadCount is false, automatically calculated from items array.\nOptional.\n",
                    "description": "<p>Number of unread notifications to display in the badge.\nWhen null and customUnreadCount is false, automatically calculated from items array.\nOptional.</p>\n",
                    "line": 253,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "noNotificationFoundLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for empty state message when no notifications exist.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for empty state message when no notifications exist.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 246,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "noNotificationFoundLink",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 9275,
                            "end": 9295,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 9276,
                                "end": 9283,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nMakes the \"no notifications found\" message clickable as a link.\nWhen true, emits noNotificationFoundClick event on click.\n",
                    "description": "<p>Makes the &quot;no notifications found&quot; message clickable as a link.\nWhen true, emits noNotificationFoundClick event on click.</p>\n",
                    "line": 267,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "refreshLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for refresh button.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for refresh button.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 225,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "settingsLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for settings button.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for settings button.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 218,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "totalLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for \"total\" count display.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for &quot;total&quot; count display.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 190,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "unreadLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for \"unread\" status indicator.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for &quot;unread&quot; status indicator.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 183,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "viewAllNotificationsLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for \"view all notifications\" button.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for &quot;view all notifications&quot; button.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 232,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "itemClick",
                    "defaultValue": "new EventEmitter<UxLinkLegacy<NotificationMetadata>>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when a notification item is clicked.\nPayload: UxLinkLegacy<NotificationMetadata> - the clicked notification item\nTriggered when user clicks on any notification item in the list.\n",
                    "description": "<p>Emitted when a notification item is clicked.\nPayload: UxLinkLegacy<NotificationMetadata> - the clicked notification item\nTriggered when user clicks on any notification item in the list.</p>\n",
                    "line": 147,
                    "type": "EventEmitter<UxLinkLegacy<NotificationMetadata>>"
                },
                {
                    "name": "itemMarkAsReadClick",
                    "defaultValue": "new EventEmitter<UxLinkLegacy<NotificationMetadata>>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the mark as read button on a notification item is clicked.\nPayload: UxLinkLegacy<NotificationMetadata> - the notification item to mark as read\nTriggered when user clicks the mark as read action on an individual notification.\n",
                    "description": "<p>Emitted when the mark as read button on a notification item is clicked.\nPayload: UxLinkLegacy<NotificationMetadata> - the notification item to mark as read\nTriggered when user clicks the mark as read action on an individual notification.</p>\n",
                    "line": 154,
                    "type": "EventEmitter<UxLinkLegacy<NotificationMetadata>>"
                },
                {
                    "name": "markAllAsReadClick",
                    "defaultValue": "new EventEmitter<MouseEvent>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the \"Mark All as Read\" button is clicked.\nPayload: MouseEvent - the click event\nTriggered when user clicks the mark all as read button in the panel header.\n",
                    "description": "<p>Emitted when the &quot;Mark All as Read&quot; button is clicked.\nPayload: MouseEvent - the click event\nTriggered when user clicks the mark all as read button in the panel header.</p>\n",
                    "line": 133,
                    "type": "EventEmitter<MouseEvent>"
                },
                {
                    "name": "noNotificationFoundClick",
                    "defaultValue": "new EventEmitter<void>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the \"No notifications found\" link is clicked.\nPayload: void\nTriggered when user clicks the no notifications message (when noNotificationFoundLink is true).\n",
                    "description": "<p>Emitted when the &quot;No notifications found&quot; link is clicked.\nPayload: void\nTriggered when user clicks the no notifications message (when noNotificationFoundLink is true).</p>\n",
                    "line": 140,
                    "type": "EventEmitter<void>"
                },
                {
                    "name": "notificationsClick",
                    "defaultValue": "new EventEmitter<void>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the notifications bell icon is clicked to toggle the panel.\nPayload: void\nTriggered when user clicks the main notifications button to open/close the dropdown.\n",
                    "description": "<p>Emitted when the notifications bell icon is clicked to toggle the panel.\nPayload: void\nTriggered when user clicks the main notifications button to open/close the dropdown.</p>\n",
                    "line": 112,
                    "type": "EventEmitter<void>"
                },
                {
                    "name": "refreshClick",
                    "defaultValue": "new EventEmitter<void>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the refresh button is clicked to reload notifications.\nPayload: void\nTriggered when user clicks the refresh button in the notifications panel header.\n",
                    "description": "<p>Emitted when the refresh button is clicked to reload notifications.\nPayload: void\nTriggered when user clicks the refresh button in the notifications panel header.</p>\n",
                    "line": 105,
                    "type": "EventEmitter<void>"
                },
                {
                    "name": "settingsClick",
                    "defaultValue": "new EventEmitter<MouseEvent>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the settings button is clicked.\nPayload: MouseEvent - the click event\nTriggered when user clicks the settings button in the notifications panel header.\n",
                    "description": "<p>Emitted when the settings button is clicked.\nPayload: MouseEvent - the click event\nTriggered when user clicks the settings button in the notifications panel header.</p>\n",
                    "line": 126,
                    "type": "EventEmitter<MouseEvent>"
                },
                {
                    "name": "viewAllClick",
                    "defaultValue": "new EventEmitter<void>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the \"View All\" button is clicked.\nPayload: void\nTriggered when user clicks the view all notifications action button.\n",
                    "description": "<p>Emitted when the &quot;View All&quot; button is clicked.\nPayload: void\nTriggered when user clicks the view all notifications action button.</p>\n",
                    "line": 119,
                    "type": "EventEmitter<void>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "currentDayNotifications",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 157
                },
                {
                    "name": "isOverlayActive",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 156
                },
                {
                    "name": "oldestNotifications",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 158
                },
                {
                    "name": "string",
                    "defaultValue": "'eui-notifications'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 162,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "today",
                    "defaultValue": "new Date()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Date",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 160
                },
                {
                    "name": "unreadNotifications",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 159
                }
            ],
            "methodsClass": [
                {
                    "name": "getAriaLabel",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 383,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 324,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 333,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onClicked",
                    "args": [
                        {
                            "name": "event",
                            "type": "MouseEvent | Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 318,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "MouseEvent | Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onItemClick",
                    "args": [
                        {
                            "name": "link",
                            "type": "UxLinkLegacy<NotificationMetadata>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 344,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "link",
                            "type": "UxLinkLegacy<NotificationMetadata>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onItemMarkAsRead",
                    "args": [
                        {
                            "name": "link",
                            "type": "UxLinkLegacy<NotificationMetadata>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 361,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "link",
                            "type": "UxLinkLegacy<NotificationMetadata>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onMarkAllAsRead",
                    "args": [
                        {
                            "name": "e",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 365,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "e",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onNoNotificationFoundClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 357,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onRefresh",
                    "args": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 339,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onSettings",
                    "args": [
                        {
                            "name": "e",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 370,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "e",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "trackByFn",
                    "args": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "item",
                            "type": "UxLinkLegacy<NotificationMetadata>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 375,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "item",
                            "type": "UxLinkLegacy<NotificationMetadata>",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "updateActiveState",
                    "args": [
                        {
                            "name": "isActive",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 379,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "isActive",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-notifications'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 162,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "TranslateModule",
                    "type": "module"
                },
                {
                    "name": "EuiNotificationItemComponent",
                    "type": "component"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_ICON_BUTTON"
                },
                {
                    "name": "EUI_BADGE"
                },
                {
                    "name": "EUI_OVERLAY"
                },
                {
                    "name": "EUI_BUTTON"
                }
            ],
            "description": "<p>Notifications panel component that displays a dropdown list of user notifications with badge counter.\nProvides a comprehensive notification center with filtering, marking as read/unread, and action buttons.\nSupports customizable labels, date formatting, and unread count display with badge indicator.\nIntegrates with overlay component for dropdown panel behavior and manages notification state.\nEmits events for all user interactions including item clicks, refresh, settings, and mark as read actions.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-app&gt;\n  &lt;eui-app-toolbar&gt;\n    &lt;eui-toolbar&gt;\n      &lt;eui-toolbar-items euiPositionRight&gt;\n        &lt;eui-toolbar-item-notifications&gt;\n          &lt;eui-notifications\n            [count]=&quot;notificationItems.length&quot;\n            [items]=&quot;notificationItems&quot;\n            (itemClick)=&quot;onItemClick($event)&quot;\n            (markAllAsReadClick)=&quot;onMarkAllAsRead()&quot;\n            (refreshClick)=&quot;onRefresh()&quot;&gt;\n          &lt;/eui-notifications&gt;\n        &lt;/eui-toolbar-item-notifications&gt;\n      &lt;/eui-toolbar-items&gt;\n    &lt;/eui-toolbar&gt;\n  &lt;/eui-app-toolbar&gt;\n&lt;/eui-app&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">notificationItems = [\n  { id: &#39;1&#39;, label: &#39;New message&#39;, metadata: { read: false, date: new Date() } },\n  { id: &#39;2&#39;, label: &#39;Task completed&#39;, metadata: { read: true, date: new Date() } }\n];</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Bell icon button keyboard accessible</li>\n<li>Badge displays notification count for screen readers</li>\n<li>Dropdown panel keyboard navigable</li>\n<li>Each notification item is focusable</li>\n<li>ARIA labels for notification count</li>\n<li>Mark as read actions keyboard accessible</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Typically used within eui-toolbar-item-notifications</li>\n<li>Positioned in toolbar right section</li>\n<li>Badge shows count or unread count</li>\n<li>Dropdown panel with overlay behavior</li>\n<li>Items array uses UxLinkLegacy<NotificationMetadata> interface</li>\n<li>Metadata includes read status and date</li>\n<li>Automatic unread count calculation when customUnreadCount is false</li>\n<li>All labels customizable or use default translations</li>\n<li>dateFormat for timestamp display (default: &#39;dd/MM/YYYY&#39;)</li>\n<li>Multiple action buttons: refresh, settings, mark all as read</li>\n<li>View all button in footer (optional)</li>\n<li>Empty state when no notifications</li>\n<li>Panel auto-closes on view all (configurable)</li>\n<li>Supports grouping by date (today vs older)</li>\n</ul>\n",
            "rawdescription": "\n\nNotifications panel component that displays a dropdown list of user notifications with badge counter.\nProvides a comprehensive notification center with filtering, marking as read/unread, and action buttons.\nSupports customizable labels, date formatting, and unread count display with badge indicator.\nIntegrates with overlay component for dropdown panel behavior and manages notification state.\nEmits events for all user interactions including item clicks, refresh, settings, and mark as read actions.\n\n```html\n<eui-app>\n  <eui-app-toolbar>\n    <eui-toolbar>\n      <eui-toolbar-items euiPositionRight>\n        <eui-toolbar-item-notifications>\n          <eui-notifications\n            [count]=\"notificationItems.length\"\n            [items]=\"notificationItems\"\n            (itemClick)=\"onItemClick($event)\"\n            (markAllAsReadClick)=\"onMarkAllAsRead()\"\n            (refreshClick)=\"onRefresh()\">\n          </eui-notifications>\n        </eui-toolbar-item-notifications>\n      </eui-toolbar-items>\n    </eui-toolbar>\n  </eui-app-toolbar>\n</eui-app>\n```\n```typescript\nnotificationItems = [\n  { id: '1', label: 'New message', metadata: { read: false, date: new Date() } },\n  { id: '2', label: 'Task completed', metadata: { read: true, date: new Date() } }\n];\n```\n\n### Accessibility\n- Bell icon button keyboard accessible\n- Badge displays notification count for screen readers\n- Dropdown panel keyboard navigable\n- Each notification item is focusable\n- ARIA labels for notification count\n- Mark as read actions keyboard accessible\n\n### Notes\n- Typically used within eui-toolbar-item-notifications\n- Positioned in toolbar right section\n- Badge shows count or unread count\n- Dropdown panel with overlay behavior\n- Items array uses UxLinkLegacy<NotificationMetadata> interface\n- Metadata includes read status and date\n- Automatic unread count calculation when customUnreadCount is false\n- All labels customizable or use default translations\n- dateFormat for timestamp display (default: 'dd/MM/YYYY')\n- Multiple action buttons: refresh, settings, mark all as read\n- View all button in footer (optional)\n- Empty state when no notifications\n- Panel auto-closes on view all (configurable)\n- Supports grouping by date (today vs older)\n",
            "type": "component",
            "sourceCode": "import {\n    booleanAttribute,\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    HostBinding,\n    Input,\n    OnChanges,\n    OnInit,\n    Output,\n    SimpleChanges,\n    ViewEncapsulation,\n} from '@angular/core';\nimport { consumeEvent } from '@eui/core';\nimport { UxLinkLegacy } from '@eui/base';\nimport { EuiNotificationItemComponent, NotificationMetadata } from './eui-notification-item.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\nimport { EUI_BADGE } from '@eui/components/eui-badge';\nimport { EUI_OVERLAY } from '@eui/components/eui-overlay';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\n\n/**\n * @description\n * Notifications panel component that displays a dropdown list of user notifications with badge counter.\n * Provides a comprehensive notification center with filtering, marking as read/unread, and action buttons.\n * Supports customizable labels, date formatting, and unread count display with badge indicator.\n * Integrates with overlay component for dropdown panel behavior and manages notification state.\n * Emits events for all user interactions including item clicks, refresh, settings, and mark as read actions.\n * \n * @usageNotes\n * ```html\n * <eui-app>\n *   <eui-app-toolbar>\n *     <eui-toolbar>\n *       <eui-toolbar-items euiPositionRight>\n *         <eui-toolbar-item-notifications>\n *           <eui-notifications\n *             [count]=\"notificationItems.length\"\n *             [items]=\"notificationItems\"\n *             (itemClick)=\"onItemClick($event)\"\n *             (markAllAsReadClick)=\"onMarkAllAsRead()\"\n *             (refreshClick)=\"onRefresh()\">\n *           </eui-notifications>\n *         </eui-toolbar-item-notifications>\n *       </eui-toolbar-items>\n *     </eui-toolbar>\n *   </eui-app-toolbar>\n * </eui-app>\n * ```\n * ```typescript\n * notificationItems = [\n *   { id: '1', label: 'New message', metadata: { read: false, date: new Date() } },\n *   { id: '2', label: 'Task completed', metadata: { read: true, date: new Date() } }\n * ];\n * ```\n *\n * ### Accessibility\n * - Bell icon button keyboard accessible\n * - Badge displays notification count for screen readers\n * - Dropdown panel keyboard navigable\n * - Each notification item is focusable\n * - ARIA labels for notification count\n * - Mark as read actions keyboard accessible\n *\n * ### Notes\n * - Typically used within eui-toolbar-item-notifications\n * - Positioned in toolbar right section\n * - Badge shows count or unread count\n * - Dropdown panel with overlay behavior\n * - Items array uses UxLinkLegacy<NotificationMetadata> interface\n * - Metadata includes read status and date\n * - Automatic unread count calculation when customUnreadCount is false\n * - All labels customizable or use default translations\n * - dateFormat for timestamp display (default: 'dd/MM/YYYY')\n * - Multiple action buttons: refresh, settings, mark all as read\n * - View all button in footer (optional)\n * - Empty state when no notifications\n * - Panel auto-closes on view all (configurable)\n * - Supports grouping by date (today vs older)\n */\n@Component({\n    selector: 'eui-notifications',\n    templateUrl: './eui-notifications.component.html',\n    styleUrls: ['./styles/_index.scss'],\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        TranslateModule,\n        EuiNotificationItemComponent,\n        ...EUI_ICON,\n        ...EUI_ICON_BUTTON,\n        ...EUI_BADGE,\n        ...EUI_OVERLAY,\n        ...EUI_BUTTON,\n    ],\n})\nexport class EuiNotificationsComponent implements OnInit, OnChanges {\n    /**\n     * Emitted when the refresh button is clicked to reload notifications.\n     * Payload: void\n     * Triggered when user clicks the refresh button in the notifications panel header.\n     */\n    @Output() refreshClick: EventEmitter<void> = new EventEmitter<void>();\n\n    /**\n     * Emitted when the notifications bell icon is clicked to toggle the panel.\n     * Payload: void\n     * Triggered when user clicks the main notifications button to open/close the dropdown.\n     */\n    @Output() notificationsClick: EventEmitter<void> = new EventEmitter<void>();\n\n    /**\n     * Emitted when the \"View All\" button is clicked.\n     * Payload: void\n     * Triggered when user clicks the view all notifications action button.\n     */\n    @Output() viewAllClick: EventEmitter<void> = new EventEmitter<void>();\n\n    /**\n     * Emitted when the settings button is clicked.\n     * Payload: MouseEvent - the click event\n     * Triggered when user clicks the settings button in the notifications panel header.\n     */\n    @Output() settingsClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n    /**\n     * Emitted when the \"Mark All as Read\" button is clicked.\n     * Payload: MouseEvent - the click event\n     * Triggered when user clicks the mark all as read button in the panel header.\n     */\n    @Output() markAllAsReadClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n    /**\n     * Emitted when the \"No notifications found\" link is clicked.\n     * Payload: void\n     * Triggered when user clicks the no notifications message (when noNotificationFoundLink is true).\n     */\n    @Output() noNotificationFoundClick: EventEmitter<void> = new EventEmitter<void>();\n\n    /**\n     * Emitted when a notification item is clicked.\n     * Payload: UxLinkLegacy<NotificationMetadata> - the clicked notification item\n     * Triggered when user clicks on any notification item in the list.\n     */\n    @Output() itemClick: EventEmitter<UxLinkLegacy<NotificationMetadata>> = new EventEmitter<UxLinkLegacy<NotificationMetadata>>();\n\n    /**\n     * Emitted when the mark as read button on a notification item is clicked.\n     * Payload: UxLinkLegacy<NotificationMetadata> - the notification item to mark as read\n     * Triggered when user clicks the mark as read action on an individual notification.\n     */\n    @Output() itemMarkAsReadClick: EventEmitter<UxLinkLegacy<NotificationMetadata>> = new EventEmitter<UxLinkLegacy<NotificationMetadata>>();\n\n    isOverlayActive = false;\n    currentDayNotifications = [];\n    oldestNotifications = [];\n    unreadNotifications = [];\n    today: Date = new Date();\n\n    @HostBinding('class') string = 'eui-notifications';\n\n    /**\n     * Total count of notifications displayed in the badge.\n     * When null, badge shows unread count instead. When provided, overrides automatic counting.\n     * Optional.\n     */\n    @Input() count: number = null;\n\n    /**\n     * Array of notification items to display in the panel.\n     * Each item should conform to UxLinkLegacy<NotificationMetadata> interface with id, label, and metadata properties.\n     * @default empty array\n     */\n    @Input() items = [];\n\n    /**\n     * Custom label text for \"unread\" status indicator.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() unreadLabel: string = null;\n\n    /**\n     * Custom label text for \"total\" count display.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() totalLabel: string = null;\n\n    /**\n     * Custom label text for \"mark as read\" action.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() markAsReadLabel: string = null;\n\n    /**\n     * Custom label text for \"mark as unread\" action.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() markAsUnReadLabel: string = null;\n\n    /**\n     * Custom label text for \"mark all as read\" button.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() markAllAsReadLabel: string = null;\n\n    /**\n     * Custom label text for settings button.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() settingsLabel: string = null;\n\n    /**\n     * Custom label text for refresh button.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() refreshLabel: string = null;\n\n    /**\n     * Custom label text for \"view all notifications\" button.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() viewAllNotificationsLabel: string = null;\n\n    /**\n     * Custom label text for panel header title.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() headerTitleLabel: string = null;\n\n    /**\n     * Custom label text for empty state message when no notifications exist.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() noNotificationFoundLabel: string = null;\n\n    /**\n     * Number of unread notifications to display in the badge.\n     * When null and customUnreadCount is false, automatically calculated from items array.\n     * Optional.\n     */\n    @Input() nbUnreadCount: number = null;\n\n    /**\n     * Date format string for displaying notification timestamps.\n     * Accepts any valid date format pattern.\n     * @default 'dd/MM/yyyy'\n     */\n    @Input() dateFormat = 'dd/MM/yyyy';\n\n    /**\n     * Makes the \"no notifications found\" message clickable as a link.\n     * When true, emits noNotificationFoundClick event on click.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) noNotificationFoundLink = false;\n\n    /**\n     * Shows the mark as read action button on individual notification items.\n     * When false, hides the mark as read functionality from notification items.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isShowMarkAsRead = true;\n\n    /**\n     * Shows the \"View All\" action button in the panel footer.\n     * When false, hides the view all notifications button.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isShowViewAllAction = true;\n\n    /**\n     * Automatically closes the notifications panel when \"View All\" is clicked.\n     * When false, panel remains open after clicking view all.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute })isHidePanelOnViewAllAction = true;\n\n    /**\n     * Uses custom unread count from nbUnreadCount input instead of automatic calculation.\n     * When true, disables automatic counting of unread notifications from items array.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) customUnreadCount = false;\n\n    /**\n     * Shows the \"Mark All as Read\" button in the panel header.\n     * When false, hides the mark all as read functionality.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isShowMarkAllAsReadButton = true;\n\n    /**\n     * Shows the settings button in the panel header.\n     * When false, hides the settings button.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isShowSettingsButton = true;\n\n    /**\n     * Shows the refresh button in the panel header.\n     * When false, hides the refresh button.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isShowRefreshButton = true;\n\n    onClicked(event: MouseEvent | Event): void {\n        this.notificationsClick.emit();\n        consumeEvent(event);\n        this.isOverlayActive = !this.isOverlayActive;\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes.customUnreadCount) {\n            const customUnreadCount = changes.customUnreadCount.currentValue;\n            if (!customUnreadCount) {\n                this.nbUnreadCount = this._getUnreadCount();\n            }\n        }\n    }\n\n    ngOnInit(): void {\n        if (!this.customUnreadCount) {\n            this.nbUnreadCount = this._getUnreadCount();\n        }\n    }\n\n    onRefresh(event: Event): void {\n        this.refreshClick.emit();\n        consumeEvent(event);\n    }\n\n    onItemClick(link: UxLinkLegacy<NotificationMetadata>): void {\n        this.itemClick.emit(link);\n        consumeEvent(event);\n    }\n\n    /** @internal */\n    onViewAllClick(event: Event): void {\n        this.viewAllClick.emit();\n        if (!this.isHidePanelOnViewAllAction) {\n            consumeEvent(event);\n        }\n    }\n\n    onNoNotificationFoundClick(): void {\n        this.noNotificationFoundClick.emit();\n    }\n\n    onItemMarkAsRead(link: UxLinkLegacy<NotificationMetadata>): void {\n        this.itemMarkAsReadClick.emit(link);\n    }\n\n    onMarkAllAsRead(e: MouseEvent): void {\n        this.markAllAsReadClick.emit(e);\n        consumeEvent(e);\n    }\n\n    onSettings(e: MouseEvent): void {\n        this.settingsClick.emit(e);\n        consumeEvent(e);\n    }\n\n    protected trackByFn(index: number, item: UxLinkLegacy<NotificationMetadata>): string {\n        return item.id;\n    }\n\n    protected updateActiveState(isActive: boolean): void {\n        this.isOverlayActive = isActive;\n    }\n\n    protected getAriaLabel(): string {\n        if (this.count) {\n            return this.count > 1\n                ? ` You have ${this.count} notifications`\n                : `You have ${this.count} notification`;\n        }\n        return 'Open notifications panel';\n    }\n\n    private _getUnreadCount(): number {\n        const unreadNotifications = this.items.filter((link) => {\n            if (link.metadata) {\n                return link.metadata.read === false;\n            }\n            return false;\n        });\n        return unreadNotifications.length;\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@forward './notifications';\n@forward './notification-item';\n",
                    "styleUrl": "./styles/_index.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnChanges"
            ],
            "templateData": "<eui-icon-button\n    class=\"eui-notifications__trigger\"\n    icon=\"eui-notifications\"\n    (click)=\"onClicked($event)\"\n    [ariaLabel]=\"getAriaLabel()\">\n    @if (count) {\n        <eui-badge euiDanger [maxCharCount]=\"2\">{{ count }}</eui-badge>\n    }\n</eui-icon-button>\n\n@if (isOverlayActive) {\n    <eui-overlay hasClosedOnClickOutside isActive class=\"eui-overlay-offset--width-30\" (activeState)=\"updateActiveState($event)\">\n        <eui-overlay-header>\n            <div class=\"eui-notifications__header-title\">\n                <div class=\"eui-notifications__header-title-label\">\n                    {{ headerTitleLabel ? headerTitleLabel : ('eui.MYNOTIFICATIONS' | translate) }}\n                    @if (items) {\n                        <span\n                            class=\"eui-u-cursor-help eui-u-ml-s\"\n                            attr.aria-label=\"{{ unreadLabel ? unreadLabel : ('eui.NOTIFICATIONSUNREAD' | translate) }}\"\n                            title=\"{{ unreadLabel ? unreadLabel : ('eui.NOTIFICATIONSUNREAD' | translate) }}\">\n                        </span>\n                    }\n                    <eui-badge>{{ items.length }}</eui-badge>\n                </div>\n            </div>\n    \n            @if (items) {\n                <div class=\"eui-notifications__header-actions\">\n                    @if (isShowMarkAllAsReadButton) {\n                        <button\n                            euiButton\n                            euiPrimary\n                            euiRounded\n                            euiIconButton\n                            euiBasicButton\n                            euiSizeS\n                            type=\"button\"\n                            [attr.aria-label]=\"markAllAsReadLabel ? markAllAsReadLabel : ('eui.NOTIFICATIONMARKALLASREAD' | translate)\"\n                            title=\"{{ markAllAsReadLabel ? markAllAsReadLabel : ('eui.NOTIFICATIONMARKALLASREAD' | translate) }}\"\n                            (click)=\"onMarkAllAsRead($event)\">\n                            <eui-icon-svg icon=\"eui-checkmark-done\" fillColor=\"secondary\"></eui-icon-svg>\n                        </button>\n                    }\n                    @if (isShowSettingsButton) {\n                        <button\n                            euiButton\n                            euiPrimary\n                            euiRounded\n                            euiIconButton\n                            euiBasicButton\n                            euiSizeS\n                            type=\"button\"\n                            [attr.aria-label]=\"settingsLabel ? settingsLabel : ('eui.SETTINGS' | translate)\"\n                            title=\"{{ settingsLabel ? settingsLabel : ('eui.SETTINGS' | translate) }}\"\n                            (click)=\"onSettings($event)\">\n                            <eui-icon-svg icon=\"eui-settings\" fillColor=\"secondary\"></eui-icon-svg>\n                        </button>\n                    }\n                    @if (isShowRefreshButton) {\n                        <button\n                            euiButton\n                            euiPrimary\n                            euiRounded\n                            euiIconButton\n                            euiBasicButton\n                            euiSizeS\n                            type=\"button\"\n                            [attr.aria-label]=\"refreshLabel ? refreshLabel : ('eui.REFRESH' | translate)\"\n                            title=\"{{ refreshLabel ? refreshLabel : ('eui.REFRESH' | translate) }}\"\n                            (click)=\"onRefresh($event)\">\n                            <eui-icon-svg icon=\"eui-refresh\" fillColor=\"secondary\"></eui-icon-svg>\n                        </button>\n                    }\n                </div>\n            }\n        </eui-overlay-header>\n    \n        <eui-overlay-body>\n            @if (items) {\n                <ul class=\"eui-notifications-items\">\n                    @for (item of items; let i = $index; track $index) {\n                        <eui-notification-item\n                            [item]=\"item\"\n                            [dateFormat]=\"dateFormat\"\n                            [markAsReadLabel]=\"markAsReadLabel\"\n                            [isShowMarkAsRead]=\"isShowMarkAsRead\"\n                            (itemClick)=\"onItemClick($event)\"\n                            (itemMarkAsRead)=\"onItemMarkAsRead($event)\">\n                        </eui-notification-item>\n                    }\n                </ul>\n            }\n        </eui-overlay-body>\n    \n        @if ((items?.length > 0 && isShowViewAllAction) || items?.length === 0) {\n            <eui-overlay-footer>\n                @if (items?.length > 0 && isShowViewAllAction) {\n                    <a (click)=\"onViewAllClick($event)\" class=\"eui-u-text-link\">\n                        <strong>{{ viewAllNotificationsLabel ? viewAllNotificationsLabel : ('eui.VIEWALLNOTIFICATIONS' | translate) }}</strong>\n                    </a>\n                }\n                @if (items?.length === 0) {\n                    @if (!noNotificationFoundLink) {\n                        <div class=\"ux-notification__item-content\">\n                            {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n                        </div>\n                    }\n                    @if (noNotificationFoundLink) {\n                        <div class=\"ux-notification__item-content\">\n                            <a (click)=\"onNoNotificationFoundClick()\" class=\"eui-u-text-link\">\n                                {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n                            </a>\n                        </div>\n                    }\n                }\n            </eui-overlay-footer>\n        }\n    </eui-overlay>\n}\n\n"
        },
        {
            "name": "EuiNotificationsV2Component",
            "id": "component-EuiNotificationsV2Component-c0fca994d2fbd1a96a7d70e833600689bda24f6983f9883f9064370bc2c515fde6d0794c1de579afee8cb9666e1d3372eb4e77bb07044c3721cc6adc07a82b14",
            "file": "packages/components/layout/eui-notifications-v2/eui-notifications.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-notifications-v2",
            "styleUrls": [
                "./styles/_index.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-notifications.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "count",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nTotal count of notifications displayed in the badge.\nWhen null, badge shows unread count instead.\nOptional.\n",
                    "description": "<p>Total count of notifications displayed in the badge.\nWhen null, badge shows unread count instead.\nOptional.</p>\n",
                    "line": 108,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "dateFormat",
                    "defaultValue": "'dd/MM/yyyy'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7607,
                            "end": 7634,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7608,
                                "end": 7615,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;dd/MM/yyyy&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nDate format string for displaying notification timestamps.\nAccepts any valid Angular DatePipe format pattern.\n",
                    "description": "<p>Date format string for displaying notification timestamps.\nAccepts any valid Angular DatePipe format pattern.</p>\n",
                    "line": 227,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "headerHideLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for hide/close button in header.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for hide/close button in header.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 199,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "headerTitleLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for panel header title.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for panel header title.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 192,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "headerUnreadCountLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for displaying total unread count in header.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for displaying total unread count in header.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 213,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "headerUnreadSinceLastCheckCountLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for displaying unread count since last check in header.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for displaying unread count since last check in header.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 206,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isHidePanelOnViewAllAction",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 8587,
                            "end": 8606,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8588,
                                "end": 8595,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nAutomatically closes the notifications panel when \"View All\" is clicked.\nWhen false, panel remains open after clicking view all.\n",
                    "description": "<p>Automatically closes the notifications panel when &quot;View All&quot; is clicked.\nWhen false, panel remains open after clicking view all.</p>\n",
                    "line": 255,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowMarkAllAsReadButton",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 8829,
                            "end": 8848,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8830,
                                "end": 8837,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nShows the \"Mark All as Read\" button in the panel header.\nWhen false, hides the mark all as read functionality.\n",
                    "description": "<p>Shows the &quot;Mark All as Read&quot; button in the panel header.\nWhen false, hides the mark all as read functionality.</p>\n",
                    "line": 262,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowMarkAsRead",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 8104,
                            "end": 8123,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8105,
                                "end": 8112,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nShows the mark as read action button on individual notification items.\nWhen false, hides the mark as read functionality from notification items.\n",
                    "description": "<p>Shows the mark as read action button on individual notification items.\nWhen false, hides the mark as read functionality from notification items.</p>\n",
                    "line": 241,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowRefreshButton",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 9254,
                            "end": 9273,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 9255,
                                "end": 9262,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nShows the refresh button in the panel header.\nWhen false, hides the refresh button.\n",
                    "description": "<p>Shows the refresh button in the panel header.\nWhen false, hides the refresh button.</p>\n",
                    "line": 276,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowSettingsButton",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 9045,
                            "end": 9064,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 9046,
                                "end": 9053,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nShows the settings button in the panel header.\nWhen false, hides the settings button.\n",
                    "description": "<p>Shows the settings button in the panel header.\nWhen false, hides the settings button.</p>\n",
                    "line": 269,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowViewAllAction",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 8334,
                            "end": 8353,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8335,
                                "end": 8342,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nShows the \"View All\" action button in the panel footer.\nWhen false, hides the view all notifications button.\n",
                    "description": "<p>Shows the &quot;View All&quot; action button in the panel footer.\nWhen false, hides the view all notifications button.</p>\n",
                    "line": 248,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "items",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4964,
                            "end": 4990,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4965,
                                "end": 4972,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>empty array</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nArray of notification items to display in the panel.\nEach item should conform to UxLinkLegacy interface with id, label, and metadata properties.\n",
                    "description": "<p>Array of notification items to display in the panel.\nEach item should conform to UxLinkLegacy interface with id, label, and metadata properties.</p>\n",
                    "line": 129,
                    "type": "{}",
                    "decorators": []
                },
                {
                    "name": "markAllAsReadLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for \"mark all as read\" button.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for &quot;mark all as read&quot; button.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 164,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "markAsReadLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for \"mark as read\" action.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for &quot;mark as read&quot; action.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 150,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "markAsUnReadLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for \"mark as unread\" action.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for &quot;mark as unread&quot; action.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 157,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "noNotificationFoundLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for empty state message when no notifications exist.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for empty state message when no notifications exist.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 220,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "noNotificationFoundLink",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7829,
                            "end": 7849,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7830,
                                "end": 7837,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nMakes the \"no notifications found\" message clickable as a link.\nWhen true, emits noNotificationFoundClick event on click.\n",
                    "description": "<p>Makes the &quot;no notifications found&quot; message clickable as a link.\nWhen true, emits noNotificationFoundClick event on click.</p>\n",
                    "line": 234,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "refreshLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for refresh button.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for refresh button.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 178,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "settingsLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for settings button.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for settings button.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 171,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "totalLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for \"total\" count display.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for &quot;total&quot; count display.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 143,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "unreadCount",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nNumber of unread notifications to display.\nUsed for badge display and header information.\nOptional.\n",
                    "description": "<p>Number of unread notifications to display.\nUsed for badge display and header information.\nOptional.</p>\n",
                    "line": 115,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "unreadLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for \"unread\" status indicator.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for &quot;unread&quot; status indicator.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 136,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "unreadSinceLastCheckCount",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nNumber of new unread notifications since user last checked the panel.\nDisplays as a secondary indicator to highlight new activity.\nOptional.\n",
                    "description": "<p>Number of new unread notifications since user last checked the panel.\nDisplays as a secondary indicator to highlight new activity.\nOptional.</p>\n",
                    "line": 122,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "viewAllNotificationsLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom label text for \"view all notifications\" button.\nWhen null, uses default translation key.\nOptional.\n",
                    "description": "<p>Custom label text for &quot;view all notifications&quot; button.\nWhen null, uses default translation key.\nOptional.</p>\n",
                    "line": 185,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "itemClick",
                    "defaultValue": "new EventEmitter<UxLinkLegacy>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when a notification item is clicked.\nPayload: UxLinkLegacy - the clicked notification item\nTriggered when user clicks on any notification item in the list.\n",
                    "description": "<p>Emitted when a notification item is clicked.\nPayload: UxLinkLegacy - the clicked notification item\nTriggered when user clicks on any notification item in the list.</p>\n",
                    "line": 86,
                    "type": "EventEmitter<UxLinkLegacy>"
                },
                {
                    "name": "itemMarkAsReadClick",
                    "defaultValue": "new EventEmitter<UxLinkLegacy>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the mark as read button on a notification item is clicked.\nPayload: UxLinkLegacy - the notification item to mark as read\nTriggered when user clicks the mark as read action on an individual notification.\n",
                    "description": "<p>Emitted when the mark as read button on a notification item is clicked.\nPayload: UxLinkLegacy - the notification item to mark as read\nTriggered when user clicks the mark as read action on an individual notification.</p>\n",
                    "line": 93,
                    "type": "EventEmitter<UxLinkLegacy>"
                },
                {
                    "name": "markAllAsReadClick",
                    "defaultValue": "new EventEmitter<MouseEvent>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the \"Mark All as Read\" button is clicked.\nPayload: MouseEvent - the click event\nTriggered when user clicks the mark all as read button in the panel header.\n",
                    "description": "<p>Emitted when the &quot;Mark All as Read&quot; button is clicked.\nPayload: MouseEvent - the click event\nTriggered when user clicks the mark all as read button in the panel header.</p>\n",
                    "line": 72,
                    "type": "EventEmitter<MouseEvent>"
                },
                {
                    "name": "noNotificationFoundClick",
                    "defaultValue": "new EventEmitter<void>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the \"No notifications found\" link is clicked.\nPayload: void\nTriggered when user clicks the no notifications message (when noNotificationFoundLink is true).\n",
                    "description": "<p>Emitted when the &quot;No notifications found&quot; link is clicked.\nPayload: void\nTriggered when user clicks the no notifications message (when noNotificationFoundLink is true).</p>\n",
                    "line": 79,
                    "type": "EventEmitter<void>"
                },
                {
                    "name": "notificationsClick",
                    "defaultValue": "new EventEmitter<KeyboardEvent | MouseEvent>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the notifications bell icon is clicked to toggle the panel.\nPayload: KeyboardEvent | MouseEvent - the interaction event\nTriggered when user clicks or uses keyboard to open/close the dropdown.\n",
                    "description": "<p>Emitted when the notifications bell icon is clicked to toggle the panel.\nPayload: KeyboardEvent | MouseEvent - the interaction event\nTriggered when user clicks or uses keyboard to open/close the dropdown.</p>\n",
                    "line": 58,
                    "type": "EventEmitter<KeyboardEvent | MouseEvent>"
                },
                {
                    "name": "refreshClick",
                    "defaultValue": "new EventEmitter<Event>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the refresh button is clicked to reload notifications.\nPayload: Event - the click event\nTriggered when user clicks the refresh button in the notifications panel header.\n",
                    "description": "<p>Emitted when the refresh button is clicked to reload notifications.\nPayload: Event - the click event\nTriggered when user clicks the refresh button in the notifications panel header.</p>\n",
                    "line": 51,
                    "type": "EventEmitter<Event>"
                },
                {
                    "name": "viewAllClick",
                    "defaultValue": "new EventEmitter<Event>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the \"View All\" button is clicked.\nPayload: Event - the click event\nTriggered when user clicks the view all notifications action button.\n",
                    "description": "<p>Emitted when the &quot;View All&quot; button is clicked.\nPayload: Event - the click event\nTriggered when user clicks the view all notifications action button.</p>\n",
                    "line": 65,
                    "type": "EventEmitter<Event>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "currentDayNotifications",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 96
                },
                {
                    "name": "isOverlayActive",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 95
                },
                {
                    "name": "oldestNotifications",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 97
                },
                {
                    "name": "string",
                    "defaultValue": "'eui-notifications-v2'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 101,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "today",
                    "defaultValue": "new Date()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Date",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 99
                },
                {
                    "name": "unreadNotifications",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 98
                }
            ],
            "methodsClass": [
                {
                    "name": "getAriaLabel",
                    "args": [],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 332,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "onClicked",
                    "args": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 286,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onHide",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 282,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onItemClick",
                    "args": [
                        {
                            "name": "link",
                            "type": "UxLinkLegacy",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 297,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "link",
                            "type": "UxLinkLegacy",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onItemMarkAsRead",
                    "args": [
                        {
                            "name": "link",
                            "type": "UxLinkLegacy",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 313,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "link",
                            "type": "UxLinkLegacy",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onMarkAllAsRead",
                    "args": [
                        {
                            "name": "e",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 317,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "e",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onNoNotificationFoundClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 309,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onRefresh",
                    "args": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 292,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onViewAllClick",
                    "args": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 302,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "trackByFn",
                    "args": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "item",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 324,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "item",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "updateActiveState",
                    "args": [
                        {
                            "name": "isActive",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 328,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "isActive",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-notifications-v2'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 101,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "TranslateModule",
                    "type": "module"
                },
                {
                    "name": "EuiNotificationItemV2Component",
                    "type": "component"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_ICON_BUTTON"
                },
                {
                    "name": "EUI_BADGE"
                },
                {
                    "name": "EUI_OVERLAY"
                },
                {
                    "name": "EUI_BUTTON"
                }
            ],
            "description": "<p>Enhanced notifications panel component (v2) displaying a dropdown list of user notifications with advanced badge indicators.\nProvides comprehensive notification center with unread count, new notifications since last check, and action buttons.\nSupports customizable labels, date formatting, and multiple count displays with badge indicators.\nIntegrates with overlay component for dropdown panel behavior and manages notification state.\nEmits events for all user interactions including item clicks, refresh, and mark as read actions.\nImproved version with additional features compared to EuiNotificationsComponent.</p>\n",
            "rawdescription": "\n\nEnhanced notifications panel component (v2) displaying a dropdown list of user notifications with advanced badge indicators.\nProvides comprehensive notification center with unread count, new notifications since last check, and action buttons.\nSupports customizable labels, date formatting, and multiple count displays with badge indicators.\nIntegrates with overlay component for dropdown panel behavior and manages notification state.\nEmits events for all user interactions including item clicks, refresh, and mark as read actions.\nImproved version with additional features compared to EuiNotificationsComponent.\n",
            "type": "component",
            "sourceCode": "import {\n    booleanAttribute,\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    HostBinding,\n    Input,\n    Output,\n    ViewEncapsulation,\n} from '@angular/core';\nimport { EUI_BADGE } from '@eui/components/eui-badge';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\nimport { EUI_OVERLAY } from '@eui/components/eui-overlay';\nimport { consumeEvent, UxLinkLegacy } from '@eui/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EuiNotificationItemV2Component } from './eui-notification-item.component';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\n\n/**\n * @description\n * Enhanced notifications panel component (v2) displaying a dropdown list of user notifications with advanced badge indicators.\n * Provides comprehensive notification center with unread count, new notifications since last check, and action buttons.\n * Supports customizable labels, date formatting, and multiple count displays with badge indicators.\n * Integrates with overlay component for dropdown panel behavior and manages notification state.\n * Emits events for all user interactions including item clicks, refresh, and mark as read actions.\n * Improved version with additional features compared to EuiNotificationsComponent.\n */\n@Component({\n    selector: 'eui-notifications-v2',\n    templateUrl: './eui-notifications.component.html',\n    styleUrls: ['./styles/_index.scss'],\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        TranslateModule,\n        EuiNotificationItemV2Component,\n        ...EUI_ICON,\n        ...EUI_ICON_BUTTON,\n        ...EUI_BADGE,\n        ...EUI_OVERLAY,\n        ...EUI_BUTTON,\n    ],\n})\nexport class EuiNotificationsV2Component {\n    /**\n     * Emitted when the refresh button is clicked to reload notifications.\n     * Payload: Event - the click event\n     * Triggered when user clicks the refresh button in the notifications panel header.\n     */\n    @Output() refreshClick: EventEmitter<Event> = new EventEmitter<Event>();\n\n    /**\n     * Emitted when the notifications bell icon is clicked to toggle the panel.\n     * Payload: KeyboardEvent | MouseEvent - the interaction event\n     * Triggered when user clicks or uses keyboard to open/close the dropdown.\n     */\n    @Output() notificationsClick: EventEmitter<KeyboardEvent | MouseEvent> = new EventEmitter<KeyboardEvent | MouseEvent>();\n\n    /**\n     * Emitted when the \"View All\" button is clicked.\n     * Payload: Event - the click event\n     * Triggered when user clicks the view all notifications action button.\n     */\n    @Output() viewAllClick: EventEmitter<Event> = new EventEmitter<Event>();\n\n    /**\n     * Emitted when the \"Mark All as Read\" button is clicked.\n     * Payload: MouseEvent - the click event\n     * Triggered when user clicks the mark all as read button in the panel header.\n     */\n    @Output() markAllAsReadClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n    /**\n     * Emitted when the \"No notifications found\" link is clicked.\n     * Payload: void\n     * Triggered when user clicks the no notifications message (when noNotificationFoundLink is true).\n     */\n    @Output() noNotificationFoundClick: EventEmitter<void> = new EventEmitter<void>();\n\n    /**\n     * Emitted when a notification item is clicked.\n     * Payload: UxLinkLegacy - the clicked notification item\n     * Triggered when user clicks on any notification item in the list.\n     */\n    @Output() itemClick: EventEmitter<UxLinkLegacy> = new EventEmitter<UxLinkLegacy>();\n\n    /**\n     * Emitted when the mark as read button on a notification item is clicked.\n     * Payload: UxLinkLegacy - the notification item to mark as read\n     * Triggered when user clicks the mark as read action on an individual notification.\n     */\n    @Output() itemMarkAsReadClick: EventEmitter<UxLinkLegacy> = new EventEmitter<UxLinkLegacy>();\n\n    isOverlayActive = false;\n    currentDayNotifications = [];\n    oldestNotifications = [];\n    unreadNotifications = [];\n    today: Date = new Date();\n\n    @HostBinding('class') string = 'eui-notifications-v2';\n\n    /**\n     * Total count of notifications displayed in the badge.\n     * When null, badge shows unread count instead.\n     * Optional.\n     */\n    @Input() count: number = null;\n\n    /**\n     * Number of unread notifications to display.\n     * Used for badge display and header information.\n     * Optional.\n     */\n    @Input() unreadCount: number = null;\n\n    /**\n     * Number of new unread notifications since user last checked the panel.\n     * Displays as a secondary indicator to highlight new activity.\n     * Optional.\n     */\n    @Input() unreadSinceLastCheckCount: number = null;\n\n    /**\n     * Array of notification items to display in the panel.\n     * Each item should conform to UxLinkLegacy interface with id, label, and metadata properties.\n     * @default empty array\n     */\n    @Input() items = [];\n\n    /**\n     * Custom label text for \"unread\" status indicator.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() unreadLabel: string = null;\n\n    /**\n     * Custom label text for \"total\" count display.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() totalLabel: string = null;\n\n    /**\n     * Custom label text for \"mark as read\" action.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() markAsReadLabel: string = null;\n\n    /**\n     * Custom label text for \"mark as unread\" action.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() markAsUnReadLabel: string = null;\n\n    /**\n     * Custom label text for \"mark all as read\" button.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() markAllAsReadLabel: string = null;\n\n    /**\n     * Custom label text for settings button.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() settingsLabel: string = null;\n\n    /**\n     * Custom label text for refresh button.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() refreshLabel: string = null;\n\n    /**\n     * Custom label text for \"view all notifications\" button.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() viewAllNotificationsLabel: string = null;\n\n    /**\n     * Custom label text for panel header title.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() headerTitleLabel: string = null;\n\n    /**\n     * Custom label text for hide/close button in header.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() headerHideLabel: string = null;\n\n    /**\n     * Custom label text for displaying unread count since last check in header.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() headerUnreadSinceLastCheckCountLabel: string = null;\n\n    /**\n     * Custom label text for displaying total unread count in header.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() headerUnreadCountLabel: string = null;\n\n    /**\n     * Custom label text for empty state message when no notifications exist.\n     * When null, uses default translation key.\n     * Optional.\n     */\n    @Input() noNotificationFoundLabel: string = null;\n\n    /**\n     * Date format string for displaying notification timestamps.\n     * Accepts any valid Angular DatePipe format pattern.\n     * @default 'dd/MM/yyyy'\n     */\n    @Input() dateFormat = 'dd/MM/yyyy';\n\n    /**\n     * Makes the \"no notifications found\" message clickable as a link.\n     * When true, emits noNotificationFoundClick event on click.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) noNotificationFoundLink = false;\n\n    /**\n     * Shows the mark as read action button on individual notification items.\n     * When false, hides the mark as read functionality from notification items.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isShowMarkAsRead = true;\n\n    /**\n     * Shows the \"View All\" action button in the panel footer.\n     * When false, hides the view all notifications button.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isShowViewAllAction = true;\n\n    /**\n     * Automatically closes the notifications panel when \"View All\" is clicked.\n     * When false, panel remains open after clicking view all.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isHidePanelOnViewAllAction = true;\n\n    /**\n     * Shows the \"Mark All as Read\" button in the panel header.\n     * When false, hides the mark all as read functionality.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isShowMarkAllAsReadButton = true;\n\n    /**\n     * Shows the settings button in the panel header.\n     * When false, hides the settings button.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isShowSettingsButton = true;\n\n    /**\n     * Shows the refresh button in the panel header.\n     * When false, hides the refresh button.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isShowRefreshButton = true;\n\n    get isShowUnreadSinceLastCheckCount(): boolean {\n        return this.unreadSinceLastCheckCount && this.unreadSinceLastCheckCount > 0;\n    }\n\n    onHide(): void {\n        this.isOverlayActive = false;\n    }\n\n    onClicked(event: Event): void {\n        this.notificationsClick.emit();\n        consumeEvent(event);\n        this.isOverlayActive = !this.isOverlayActive;\n    }\n\n    onRefresh(event: Event): void {\n        this.refreshClick.emit();\n        consumeEvent(event);\n    }\n\n    onItemClick(link: UxLinkLegacy): void {\n        this.itemClick.emit(link);\n        consumeEvent(event);\n    }\n\n    onViewAllClick(event: Event): void {\n        this.viewAllClick.emit();\n        if (!this.isHidePanelOnViewAllAction) {\n            consumeEvent(event);\n        }\n    }\n\n    onNoNotificationFoundClick(): void {\n        this.noNotificationFoundClick.emit();\n    }\n\n    onItemMarkAsRead(link: UxLinkLegacy): void {\n        this.itemMarkAsReadClick.emit(link);\n    }\n\n    onMarkAllAsRead(e: MouseEvent): void {\n        this.markAllAsReadClick.emit(e);\n        consumeEvent(e);\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    trackByFn(index: number, item: any): void {\n        return item.id;\n    }\n\n    protected updateActiveState(isActive: boolean): void {\n        this.isOverlayActive = isActive;\n    }\n\n    protected getAriaLabel(): string {\n        if (this.count) {\n            return this.count > 1\n                ? ` You have ${this.count} notifications`\n                : `You have ${this.count} notification`;\n        }\n        return 'Open notifications panel';\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@forward './notifications';\n@forward './notification-item';\n",
                    "styleUrl": "./styles/_index.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "accessors": {
                "isShowUnreadSinceLastCheckCount": {
                    "name": "isShowUnreadSinceLastCheckCount",
                    "getSignature": {
                        "name": "isShowUnreadSinceLastCheckCount",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 278
                    }
                }
            },
            "templateData": "<eui-icon-button\n    class=\"eui-notifications-v2__trigger\"\n    icon=\"eui-notifications\"\n    fillColor=\"white\"\n    (click)=\"onClicked($event)\"\n    [ariaLabel]=\"getAriaLabel()\">\n    @if (isShowUnreadSinceLastCheckCount) {\n        <eui-badge euiSizeM euiDanger [maxCharCount]=\"2\">{{ unreadSinceLastCheckCount }}</eui-badge>\n    }\n</eui-icon-button>\n\n@if (isOverlayActive){\n    <eui-overlay isActive hasClosedOnClickOutside class=\"eui-overlay-offset--width-30\" (activeState)=\"updateActiveState($event)\">\n        <eui-overlay-header>\n            <div class=\"eui-notifications-v2__header\">\n                <div class=\"eui-notifications-v2__header-title\">\n                    <div class=\"eui-notifications-v2__header-title-label\">\n                        {{ headerTitleLabel ? headerTitleLabel : ('eui.MYNOTIFICATIONS' | translate) }}\n                    </div>\n    \n                    <div class=\"eui-notifications-v2__header-title-actions\">\n                        <span class=\"hide\">\n                            <a (click)=\"onHide()\" class=\"eui-u-text-link\" role=\"button\" tabIndex=\"0\">\n                                {{ headerHideLabel ? headerHideLabel : ('eui.HIDE' | translate) }}\n                            </a>\n                            <eui-icon-svg icon=\"eui-chevron-right\" size=\"2xs\"></eui-icon-svg>\n                        </span>\n                    </div>\n                </div>\n    \n                <div class=\"eui-notifications-v2__header-subinfos-bar\">\n                    <strong>{{ unreadSinceLastCheckCount }}</strong>\n                    <span class=\"eui-u-ml-xs\">{{\n                        headerUnreadSinceLastCheckCountLabel ? headerUnreadSinceLastCheckCountLabel : ('eui.NEW-COUNT' | translate)\n                    }}</span>\n    \n                    <span class=\"eui-u-ml-xs\">|</span>\n    \n                    <span class=\"eui-u-ml-xs\">{{ unreadCount }}</span>\n                    <span class=\"eui-u-ml-xs\">{{ headerUnreadCountLabel ? headerUnreadCountLabel : ('eui.NEW-COUNT' | translate) }}</span>\n                </div>\n    \n                <div class=\"eui-notifications-v2__header-subactions-bar\">\n                    @if (items.length > 0) {\n                    <a (click)=\"onMarkAllAsRead($event)\" class=\"eui-u-text-link\" tabIndex=\"0\">\n                        {{ 'notif.MARK-ALL-READ' | translate }}\n                    </a>\n                    }\n                    <a (click)=\"onRefresh($event)\" class=\"eui-u-text-link eui-u-ml-auto\" tabIndex=\"0\">\n                        <span class=\"eui-u-flex\">\n                            <eui-icon-svg icon=\"eui-refresh\" fillColor=\"secondary\"></eui-icon-svg>\n                            {{ 'notif.SV-REFRESH' | translate }}\n                        </span>\n                    </a>\n                </div>\n            </div>\n        </eui-overlay-header>\n    \n        <eui-overlay-body>\n            @if (items) {\n            <ul class=\"eui-notifications-items\">\n                @for (item of items; track trackByFn($index, item)) {\n                <eui-notification-item-v2\n                    [item]=\"item\"\n                    [dateFormat]=\"dateFormat\"\n                    [markAsReadLabel]=\"markAsReadLabel\"\n                    [isShowMarkAsRead]=\"isShowMarkAsRead\"\n                    (itemClick)=\"onItemClick($event)\"\n                    (itemMarkAsRead)=\"onItemMarkAsRead($event)\">\n                </eui-notification-item-v2>\n                }\n            </ul>\n            }\n        </eui-overlay-body>\n    \n        <eui-overlay-footer>\n            @if (items?.length > 0) {\n                <strong\n                    ><a (click)=\"onViewAllClick($event)\" class=\"eui-u-text-link\">{{\n                        viewAllNotificationsLabel ? viewAllNotificationsLabel : ('eui.VIEWALLNOTIFICATIONS' | translate)\n                    }}</a></strong\n                >\n            }\n            @if (items?.length === 0) {\n                @if (!noNotificationFoundLink) {\n                <div class=\"ux-notification__item-content\">\n                    {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n                </div>\n                }\n                @if (noNotificationFoundLink) {\n                <div class=\"ux-notification__item-content\">\n                    <strong\n                        ><a (click)=\"onNoNotificationFoundClick()\" class=\"eui-u-text-link\">{{\n                            noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate)\n                        }}</a></strong\n                    >\n                </div>\n                }\n            }\n        </eui-overlay-footer>\n    </eui-overlay>\n}\n"
        },
        {
            "name": "EuiOverlayBodyComponent",
            "id": "component-EuiOverlayBodyComponent-925b046217e36ffe99654b34224d4dff655ea7fb5181ce867bb6f9a14fbe7f97c338114f3c04d2759b2cc4b97dab5a955f727964f2f3e91bbdbd1d19a1d18574",
            "file": "packages/components/eui-overlay/components/eui-overlay-body/eui-overlay-body.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-overlay-body",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 38,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Body component for <code>eui-overlay</code> that provides a structured content container within the overlay content area.\nServes as a semantic wrapper for main body content with consistent padding and spacing.\nTypically used within <code>eui-overlay-content</code> to organize content sections.\nMust be used as a child of <code>eui-overlay-content</code> to maintain proper layout hierarchy.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-overlay [isActive]=&quot;true&quot;&gt;\n  &lt;eui-overlay-content&gt;\n    &lt;eui-overlay-body&gt;\n      &lt;p&gt;Body content with consistent padding&lt;/p&gt;\n    &lt;/eui-overlay-body&gt;\n  &lt;/eui-overlay-content&gt;\n&lt;/eui-overlay&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Provides semantic structure for content organization</li>\n<li>Maintains proper content hierarchy</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Used within <code>eui-overlay-content</code></li>\n<li>Applies consistent padding to content</li>\n</ul>\n",
            "rawdescription": "\n\nBody component for `eui-overlay` that provides a structured content container within the overlay content area.\nServes as a semantic wrapper for main body content with consistent padding and spacing.\nTypically used within `eui-overlay-content` to organize content sections.\nMust be used as a child of `eui-overlay-content` to maintain proper layout hierarchy.\n\n### Basic Usage\n```html\n<eui-overlay [isActive]=\"true\">\n  <eui-overlay-content>\n    <eui-overlay-body>\n      <p>Body content with consistent padding</p>\n    </eui-overlay-body>\n  </eui-overlay-content>\n</eui-overlay>\n```\n\n### Accessibility\n- Provides semantic structure for content organization\n- Maintains proper content hierarchy\n\n### Notes\n- Used within `eui-overlay-content`\n- Applies consistent padding to content\n",
            "type": "component",
            "sourceCode": "import { Component, ChangeDetectionStrategy, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n * @description\n * Body component for `eui-overlay` that provides a structured content container within the overlay content area.\n * Serves as a semantic wrapper for main body content with consistent padding and spacing.\n * Typically used within `eui-overlay-content` to organize content sections.\n * Must be used as a child of `eui-overlay-content` to maintain proper layout hierarchy.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-overlay [isActive]=\"true\">\n *   <eui-overlay-content>\n *     <eui-overlay-body>\n *       <p>Body content with consistent padding</p>\n *     </eui-overlay-body>\n *   </eui-overlay-content>\n * </eui-overlay>\n * ```\n *\n * ### Accessibility\n * - Provides semantic structure for content organization\n * - Maintains proper content hierarchy\n *\n * ### Notes\n * - Used within `eui-overlay-content`\n * - Applies consistent padding to content\n */\n@Component({\n    selector: 'eui-overlay-body',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiOverlayBodyComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return 'eui-overlay-body';\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 38
                    }
                }
            }
        },
        {
            "name": "EuiOverlayComponent",
            "id": "component-EuiOverlayComponent-d947782a63a7e7f11ffc097cd2d03d251677ab2dcb832ce7ff3c89c7c2712298ca4da3d25359d0ad62f0df6a33ffb26a9ceef00b69362838fe2d91cdb29ff4b0",
            "file": "packages/components/eui-overlay/eui-overlay.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-overlay",
            "styleUrls": [
                "./styles/_index.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-overlay.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "euiHighlighted",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3580,
                            "end": 3600,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3581,
                                "end": 3588,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nApplies highlighted visual styling to emphasize the overlay.\nAdds distinct background or border treatment for visual prominence.\n",
                    "description": "<p>Applies highlighted visual styling to emphasize the overlay.\nAdds distinct background or border treatment for visual prominence.</p>\n",
                    "line": 108,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "fixedWidth",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nFixed width value for the overlay panel.\nApplies a specific width that does not respond to viewport changes.\nOverrides responsive width settings when specified.\n",
                    "description": "<p>Fixed width value for the overlay panel.\nApplies a specific width that does not respond to viewport changes.\nOverrides responsive width settings when specified.</p>\n",
                    "line": 134,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasClosedOnClickOutside",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3897,
                            "end": 3917,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3898,
                                "end": 3905,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables automatic closing when user clicks outside the overlay boundaries.\nAlso applies slide-in animation from the right side.\nUseful for dismissible panels and temporary contextual menus.\n",
                    "description": "<p>Enables automatic closing when user clicks outside the overlay boundaries.\nAlso applies slide-in animation from the right side.\nUseful for dismissible panels and temporary contextual menus.</p>\n",
                    "line": 115,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isActive",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3337,
                            "end": 3357,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3338,
                                "end": 3345,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls the visibility and active state of the overlay.\nWhen true, displays the overlay with animation and enables interaction.\nWhen false, hides the overlay and applies inert attribute to prevent interaction.\n",
                    "description": "<p>Controls the visibility and active state of the overlay.\nWhen true, displays the overlay with animation and enables interaction.\nWhen false, hides the overlay and applies inert attribute to prevent interaction.</p>\n",
                    "line": 102,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "position",
                    "defaultValue": "'right'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4195,
                            "end": 4217,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4196,
                                "end": 4203,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;right&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nScreen position where the overlay appears.\nDetermines the slide-in direction and alignment of the overlay panel.\nCommon values: 'right', 'left', 'top', 'bottom'.\n",
                    "description": "<p>Screen position where the overlay appears.\nDetermines the slide-in direction and alignment of the overlay panel.\nCommon values: &#39;right&#39;, &#39;left&#39;, &#39;top&#39;, &#39;bottom&#39;.</p>\n",
                    "line": 122,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "width",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nResponsive width variant for the overlay panel.\nApplies predefined width classes that adapt to viewport size.\nValues correspond to CSS width modifier classes.\n",
                    "description": "<p>Responsive width variant for the overlay panel.\nApplies predefined width classes that adapt to viewport size.\nValues correspond to CSS width modifier classes.</p>\n",
                    "line": 128,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "activeState",
                    "defaultValue": "new EventEmitter<boolean>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the overlay's active state changes.\nPayload: boolean indicating the requested active state (typically false for close requests).\nTriggered by Escape key press or click outside when hasClosedOnClickOutside is enabled.\n",
                    "description": "<p>Emitted when the overlay&#39;s active state changes.\nPayload: boolean indicating the requested active state (typically false for close requests).\nTriggered by Escape key press or click outside when hasClosedOnClickOutside is enabled.</p>\n",
                    "line": 141,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "aria-label",
                    "defaultValue": "'dialogOverlay'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 90,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.aria-label'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "role",
                    "defaultValue": "'dialog'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 89,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onClick",
                    "args": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 153,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'document:click', ['$event']"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onKeydown",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 146,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'keydown', ['$event']"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.aria-label",
                    "defaultValue": "'dialogOverlay'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 90,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "attr.inert",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 92,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "attr.role",
                    "defaultValue": "'dialog'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 89,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 75,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [
                {
                    "name": "document:click",
                    "args": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$event"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 153
                },
                {
                    "name": "keydown",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$event"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 146
                }
            ],
            "standalone": false,
            "imports": [
                {
                    "name": "CdkTrapFocus"
                }
            ],
            "description": "<p>Modal overlay component that displays content in a layer above the main application.\nProvides slide-in panel functionality with configurable positioning and width options.\nSupports focus trapping, keyboard navigation, and click-outside-to-close behavior.\nImplements ARIA dialog role for accessibility compliance.\nCommonly used for side panels, drawers, settings menus, and contextual information displays.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-overlay [isActive]=&quot;showPanel&quot; (activeState)=&quot;showPanel = $event&quot;&gt;\n  &lt;eui-overlay-header&gt;\n    &lt;h2&gt;Panel Title&lt;/h2&gt;\n  &lt;/eui-overlay-header&gt;\n  &lt;eui-overlay-content&gt;\n    &lt;p&gt;Panel content goes here&lt;/p&gt;\n  &lt;/eui-overlay-content&gt;\n  &lt;eui-overlay-footer&gt;\n    &lt;button euiButton (click)=&quot;showPanel = false&quot;&gt;Close&lt;/button&gt;\n  &lt;/eui-overlay-footer&gt;\n&lt;/eui-overlay&gt;</code></pre></div><h3>Right Side Panel</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-overlay [isActive]=&quot;true&quot; position=&quot;right&quot; width=&quot;medium&quot;&gt;\n  &lt;eui-overlay-content&gt;Content&lt;/eui-overlay-content&gt;\n&lt;/eui-overlay&gt;</code></pre></div><h3>With Click Outside to Close</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-overlay [isActive]=&quot;true&quot; [hasClosedOnClickOutside]=&quot;true&quot;&gt;\n  &lt;eui-overlay-content&gt;Dismissible content&lt;/eui-overlay-content&gt;\n&lt;/eui-overlay&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses <code>dialog</code> role for screen readers</li>\n<li>Traps focus within overlay when active</li>\n<li>Escape key closes overlay</li>\n<li>Inert attribute prevents interaction when inactive</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Position options: &#39;right&#39;, &#39;left&#39;, &#39;top&#39;, &#39;bottom&#39;</li>\n<li>Width can be responsive or fixed</li>\n<li>Automatically handles slide-in animations</li>\n<li>Use with overlay sub-components for structured layout</li>\n</ul>\n",
            "rawdescription": "\n\nModal overlay component that displays content in a layer above the main application.\nProvides slide-in panel functionality with configurable positioning and width options.\nSupports focus trapping, keyboard navigation, and click-outside-to-close behavior.\nImplements ARIA dialog role for accessibility compliance.\nCommonly used for side panels, drawers, settings menus, and contextual information displays.\n\n### Basic Usage\n```html\n<eui-overlay [isActive]=\"showPanel\" (activeState)=\"showPanel = $event\">\n  <eui-overlay-header>\n    <h2>Panel Title</h2>\n  </eui-overlay-header>\n  <eui-overlay-content>\n    <p>Panel content goes here</p>\n  </eui-overlay-content>\n  <eui-overlay-footer>\n    <button euiButton (click)=\"showPanel = false\">Close</button>\n  </eui-overlay-footer>\n</eui-overlay>\n```\n\n### Right Side Panel\n```html\n<eui-overlay [isActive]=\"true\" position=\"right\" width=\"medium\">\n  <eui-overlay-content>Content</eui-overlay-content>\n</eui-overlay>\n```\n\n### With Click Outside to Close\n```html\n<eui-overlay [isActive]=\"true\" [hasClosedOnClickOutside]=\"true\">\n  <eui-overlay-content>Dismissible content</eui-overlay-content>\n</eui-overlay>\n```\n\n### Accessibility\n- Uses `dialog` role for screen readers\n- Traps focus within overlay when active\n- Escape key closes overlay\n- Inert attribute prevents interaction when inactive\n\n### Notes\n- Position options: 'right', 'left', 'top', 'bottom'\n- Width can be responsive or fixed\n- Automatically handles slide-in animations\n- Use with overlay sub-components for structured layout\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ViewEncapsulation,\n    Input,\n    HostListener,\n    Output,\n    EventEmitter,\n    booleanAttribute,\n    inject,\n    ElementRef,\n    Renderer2,\n} from '@angular/core';\nimport { CdkTrapFocus } from '@angular/cdk/a11y';\n\n/**\n * @description\n * Modal overlay component that displays content in a layer above the main application.\n * Provides slide-in panel functionality with configurable positioning and width options.\n * Supports focus trapping, keyboard navigation, and click-outside-to-close behavior.\n * Implements ARIA dialog role for accessibility compliance.\n * Commonly used for side panels, drawers, settings menus, and contextual information displays.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-overlay [isActive]=\"showPanel\" (activeState)=\"showPanel = $event\">\n *   <eui-overlay-header>\n *     <h2>Panel Title</h2>\n *   </eui-overlay-header>\n *   <eui-overlay-content>\n *     <p>Panel content goes here</p>\n *   </eui-overlay-content>\n *   <eui-overlay-footer>\n *     <button euiButton (click)=\"showPanel = false\">Close</button>\n *   </eui-overlay-footer>\n * </eui-overlay>\n * ```\n *\n * ### Right Side Panel\n * ```html\n * <eui-overlay [isActive]=\"true\" position=\"right\" width=\"medium\">\n *   <eui-overlay-content>Content</eui-overlay-content>\n * </eui-overlay>\n * ```\n *\n * ### With Click Outside to Close\n * ```html\n * <eui-overlay [isActive]=\"true\" [hasClosedOnClickOutside]=\"true\">\n *   <eui-overlay-content>Dismissible content</eui-overlay-content>\n * </eui-overlay>\n * ```\n *\n * ### Accessibility\n * - Uses `dialog` role for screen readers\n * - Traps focus within overlay when active\n * - Escape key closes overlay\n * - Inert attribute prevents interaction when inactive\n *\n * ### Notes\n * - Position options: 'right', 'left', 'top', 'bottom'\n * - Width can be responsive or fixed\n * - Automatically handles slide-in animations\n * - Use with overlay sub-components for structured layout\n */\n@Component({\n    selector: 'eui-overlay',\n    templateUrl: './eui-overlay.component.html',\n    styleUrls: ['./styles/_index.scss'],\n    encapsulation: ViewEncapsulation.None,\n    imports: [CdkTrapFocus],\n})\nexport class EuiOverlayComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-overlay',\n            this.isActive ? 'eui-overlay--is-active' : '',\n            this.euiHighlighted ? 'eui-overlay--highlighted' : '',\n            this.position ? 'eui-overlay-offset eui-overlay-offset--position-' + this.position : '',\n            this.width ? 'eui-overlay-offset eui-overlay-offset--width-' + this.width : '',\n            this.fixedWidth ? 'eui-overlay-offset eui-overlay-offset--fixed-width-' + this.fixedWidth : '',\n            this.hasClosedOnClickOutside ? 'eui-overlay--slideInRight' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    @HostBinding('attr.role') role = 'dialog';\n    @HostBinding('attr.aria-label') 'aria-label' = 'dialogOverlay';\n    @HostBinding('attr.inert')\n    get inert(): string {\n        return this.isActive ? null : '';\n    }\n\n    /**\n     * Controls the visibility and active state of the overlay.\n     * When true, displays the overlay with animation and enables interaction.\n     * When false, hides the overlay and applies inert attribute to prevent interaction.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isActive = false;\n    /**\n     * Applies highlighted visual styling to emphasize the overlay.\n     * Adds distinct background or border treatment for visual prominence.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiHighlighted = false;\n    /**\n     * Enables automatic closing when user clicks outside the overlay boundaries.\n     * Also applies slide-in animation from the right side.\n     * Useful for dismissible panels and temporary contextual menus.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasClosedOnClickOutside = false;\n    /**\n     * Screen position where the overlay appears.\n     * Determines the slide-in direction and alignment of the overlay panel.\n     * Common values: 'right', 'left', 'top', 'bottom'.\n     * @default 'right'\n     */\n    @Input() position = 'right';\n    /**\n     * Responsive width variant for the overlay panel.\n     * Applies predefined width classes that adapt to viewport size.\n     * Values correspond to CSS width modifier classes.\n     */\n    @Input() width: string;\n    /**\n     * Fixed width value for the overlay panel.\n     * Applies a specific width that does not respond to viewport changes.\n     * Overrides responsive width settings when specified.\n     */\n    @Input() fixedWidth: string;\n\n    /**\n     * Emitted when the overlay's active state changes.\n     * Payload: boolean indicating the requested active state (typically false for close requests).\n     * Triggered by Escape key press or click outside when hasClosedOnClickOutside is enabled.\n     */\n    @Output() activeState = new EventEmitter<boolean>();\n    private readonly elementRef: ElementRef = inject(ElementRef);\n    private readonly renderer: Renderer2 = inject(Renderer2);\n\n    @HostListener('keydown', ['$event'])\n    onKeydown(event: KeyboardEvent): void {\n        if (event.key === 'Escape') {\n            this.activeState.emit(false);\n        }\n    }\n\n    @HostListener('document:click', ['$event'])\n    onClick(event: MouseEvent): void {\n        if (this.hasClosedOnClickOutside) {\n            let targetElement = event.target as HTMLElement;\n            let isInsideOverlay = false;\n\n            while (targetElement) {\n                if (targetElement.classList.contains('eui-overlay')) {\n                    isInsideOverlay = true;\n                    break;\n                }\n                targetElement = targetElement.parentElement;\n            }\n\n            if (!isInsideOverlay && this.isActive) {\n                this.activeState.emit(false);\n            }\n        }\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@forward 'overlay';\n@forward 'overlay.states';\n@forward 'overlay.sizes';\n@forward 'overlay-mq';\n",
                    "styleUrl": "./styles/_index.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 75
                    }
                },
                "inert": {
                    "name": "inert",
                    "getSignature": {
                        "name": "inert",
                        "type": "string",
                        "returnType": "string",
                        "line": 92
                    }
                }
            },
            "templateData": "<div class=\"eui-overlay-wrapper\"\n   [cdkTrapFocus]=\"isActive\"\n   [cdkTrapFocusAutoCapture]=\"isActive\">\n    <ng-content select=\"eui-overlay-header\"></ng-content>\n    <ng-content select=\"eui-overlay-content\"></ng-content>\n    <ng-content select=\"eui-overlay-body\"></ng-content>\n    <ng-content select=\"eui-overlay-footer\"></ng-content>\n</div>\n"
        },
        {
            "name": "EuiOverlayContentComponent",
            "id": "component-EuiOverlayContentComponent-c56546200e6b4c256f519fccdd8fe2e4240df30c0a7b413d522cf567bc36c332842c6ce66d6a090667cfd48ef0639e8f3447609f0a36a7fada65aa056f8f20b2",
            "file": "packages/components/eui-overlay/components/eui-overlay-content/eui-overlay-content.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-overlay-content",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 37,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Content component for <code>eui-overlay</code> that provides a structured main content area.\nServes as the primary container for overlay body content between header and footer.\nApplies consistent styling, spacing, and scrolling behavior for overlay content.\nMust be used as a direct child of <code>eui-overlay</code> to maintain proper layout structure.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-overlay [isActive]=&quot;true&quot;&gt;\n  &lt;eui-overlay-content&gt;\n    &lt;p&gt;Main content goes here&lt;/p&gt;\n  &lt;/eui-overlay-content&gt;\n&lt;/eui-overlay&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Content is scrollable when it exceeds available space</li>\n<li>Maintains focus within overlay structure</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be direct child of <code>eui-overlay</code></li>\n<li>Automatically handles overflow scrolling</li>\n</ul>\n",
            "rawdescription": "\n\nContent component for `eui-overlay` that provides a structured main content area.\nServes as the primary container for overlay body content between header and footer.\nApplies consistent styling, spacing, and scrolling behavior for overlay content.\nMust be used as a direct child of `eui-overlay` to maintain proper layout structure.\n\n### Basic Usage\n```html\n<eui-overlay [isActive]=\"true\">\n  <eui-overlay-content>\n    <p>Main content goes here</p>\n  </eui-overlay-content>\n</eui-overlay>\n```\n\n### Accessibility\n- Content is scrollable when it exceeds available space\n- Maintains focus within overlay structure\n\n### Notes\n- Must be direct child of `eui-overlay`\n- Automatically handles overflow scrolling\n",
            "type": "component",
            "sourceCode": "import { Component, ChangeDetectionStrategy, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n * @description\n * Content component for `eui-overlay` that provides a structured main content area.\n * Serves as the primary container for overlay body content between header and footer.\n * Applies consistent styling, spacing, and scrolling behavior for overlay content.\n * Must be used as a direct child of `eui-overlay` to maintain proper layout structure.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-overlay [isActive]=\"true\">\n *   <eui-overlay-content>\n *     <p>Main content goes here</p>\n *   </eui-overlay-content>\n * </eui-overlay>\n * ```\n *\n * ### Accessibility\n * - Content is scrollable when it exceeds available space\n * - Maintains focus within overlay structure\n *\n * ### Notes\n * - Must be direct child of `eui-overlay`\n * - Automatically handles overflow scrolling\n */\n@Component({\n    selector: 'eui-overlay-content',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n\n})\nexport class EuiOverlayContentComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return 'eui-overlay-content';\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 37
                    }
                }
            }
        },
        {
            "name": "EuiOverlayFooterComponent",
            "id": "component-EuiOverlayFooterComponent-74a88f89a0151db10525a416a8508bd87b55118eaea58a55184745fdca96975ed24136840f5058390715c16e36bcaa328b018adfdaeecaa748c32a7ff2202211",
            "file": "packages/components/eui-overlay/components/eui-overlay-footer/eui-overlay-footer.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-overlay-footer",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 40,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Footer component for <code>eui-overlay</code> that provides a structured bottom section.\nTypically contains action buttons such as submit, cancel, or other footer controls.\nApplies consistent styling and spacing for overlay footer content.\nMust be used as a direct child of <code>eui-overlay</code> to maintain proper layout structure.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-overlay [isActive]=&quot;true&quot;&gt;\n  &lt;eui-overlay-content&gt;\n    &lt;p&gt;Content&lt;/p&gt;\n  &lt;/eui-overlay-content&gt;\n  &lt;eui-overlay-footer&gt;\n    &lt;button euiButton euiPrimary&gt;Save&lt;/button&gt;\n    &lt;button euiButton euiSecondary&gt;Cancel&lt;/button&gt;\n  &lt;/eui-overlay-footer&gt;\n&lt;/eui-overlay&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Action buttons should have clear labels</li>\n<li>Primary action typically comes first in DOM order</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be direct child of <code>eui-overlay</code></li>\n<li>Commonly used for action buttons</li>\n</ul>\n",
            "rawdescription": "\n\nFooter component for `eui-overlay` that provides a structured bottom section.\nTypically contains action buttons such as submit, cancel, or other footer controls.\nApplies consistent styling and spacing for overlay footer content.\nMust be used as a direct child of `eui-overlay` to maintain proper layout structure.\n\n### Basic Usage\n```html\n<eui-overlay [isActive]=\"true\">\n  <eui-overlay-content>\n    <p>Content</p>\n  </eui-overlay-content>\n  <eui-overlay-footer>\n    <button euiButton euiPrimary>Save</button>\n    <button euiButton euiSecondary>Cancel</button>\n  </eui-overlay-footer>\n</eui-overlay>\n```\n\n### Accessibility\n- Action buttons should have clear labels\n- Primary action typically comes first in DOM order\n\n### Notes\n- Must be direct child of `eui-overlay`\n- Commonly used for action buttons\n",
            "type": "component",
            "sourceCode": "import { Component, ChangeDetectionStrategy, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n * @description\n * Footer component for `eui-overlay` that provides a structured bottom section.\n * Typically contains action buttons such as submit, cancel, or other footer controls.\n * Applies consistent styling and spacing for overlay footer content.\n * Must be used as a direct child of `eui-overlay` to maintain proper layout structure.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-overlay [isActive]=\"true\">\n *   <eui-overlay-content>\n *     <p>Content</p>\n *   </eui-overlay-content>\n *   <eui-overlay-footer>\n *     <button euiButton euiPrimary>Save</button>\n *     <button euiButton euiSecondary>Cancel</button>\n *   </eui-overlay-footer>\n * </eui-overlay>\n * ```\n *\n * ### Accessibility\n * - Action buttons should have clear labels\n * - Primary action typically comes first in DOM order\n *\n * ### Notes\n * - Must be direct child of `eui-overlay`\n * - Commonly used for action buttons\n */\n@Component({\n    selector: 'eui-overlay-footer',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiOverlayFooterComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return 'eui-overlay-footer';\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 40
                    }
                }
            }
        },
        {
            "name": "EuiOverlayHeaderComponent",
            "id": "component-EuiOverlayHeaderComponent-d9cd38f63e0f0ed5e9fd7d9cddba4fa5843e513a15ebe971c9f756fcb741fdf69f670d678959daa88b3f99d803f945b25c17042b6e62bb15a37da2d76fb80dc8",
            "file": "packages/components/eui-overlay/components/eui-overlay-header/eui-overlay-header.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-overlay-header",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-overlay-header.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "hasHeaderTitle",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiOverlayHeaderTitleComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 37,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined, {static: false}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 40,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Header component for eui-overlay that provides a structured top section.\nAutomatically detects and styles content based on the presence of a title component.\nTypically contains title, close button, and optional action buttons.\nMust be used as a direct child of eui-overlay to maintain proper layout structure.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-overlay [isActive]=&quot;true&quot;&gt;\n  &lt;eui-overlay-header&gt;\n    &lt;h2&gt;Overlay Title&lt;/h2&gt;\n  &lt;/eui-overlay-header&gt;\n&lt;/eui-overlay&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use heading elements for titles</li>\n<li>Ensure close buttons have appropriate ARIA labels</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be direct child of <code>eui-overlay</code></li>\n<li>Automatically styled based on content</li>\n</ul>\n",
            "rawdescription": "\n\nHeader component for eui-overlay that provides a structured top section.\nAutomatically detects and styles content based on the presence of a title component.\nTypically contains title, close button, and optional action buttons.\nMust be used as a direct child of eui-overlay to maintain proper layout structure.\n\n### Basic Usage\n```html\n<eui-overlay [isActive]=\"true\">\n  <eui-overlay-header>\n    <h2>Overlay Title</h2>\n  </eui-overlay-header>\n</eui-overlay>\n```\n\n### Accessibility\n- Use heading elements for titles\n- Ensure close buttons have appropriate ARIA labels\n\n### Notes\n- Must be direct child of `eui-overlay`\n- Automatically styled based on content\n",
            "type": "component",
            "sourceCode": "import { Component, ContentChild, HostBinding, QueryList, ViewEncapsulation, forwardRef } from '@angular/core';\n\nimport { EuiOverlayHeaderTitleComponent } from '../eui-overlay-header/eui-overlay-header-title/eui-overlay-header-title.component';\n\n/**\n * @description\n * Header component for eui-overlay that provides a structured top section.\n * Automatically detects and styles content based on the presence of a title component.\n * Typically contains title, close button, and optional action buttons.\n * Must be used as a direct child of eui-overlay to maintain proper layout structure.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-overlay [isActive]=\"true\">\n *   <eui-overlay-header>\n *     <h2>Overlay Title</h2>\n *   </eui-overlay-header>\n * </eui-overlay>\n * ```\n *\n * ### Accessibility\n * - Use heading elements for titles\n * - Ensure close buttons have appropriate ARIA labels\n *\n * ### Notes\n * - Must be direct child of `eui-overlay`\n * - Automatically styled based on content\n */\n@Component({\n    selector: 'eui-overlay-header',\n    templateUrl: './eui-overlay-header.component.html',\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiOverlayHeaderComponent {\n\n    @ContentChild(forwardRef(() => EuiOverlayHeaderTitleComponent), { static: false }) hasHeaderTitle: QueryList<EuiOverlayHeaderTitleComponent>;\n\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-overlay-header',\n            this.hasHeaderTitle ? 'eui-overlay-header--with-title' : '',\n        ].join(' ').trim();\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 40
                    }
                }
            },
            "templateData": "<ng-content select=\"eui-overlay-header-title\" />\n<ng-content />\n"
        },
        {
            "name": "EuiOverlayHeaderTitleComponent",
            "id": "component-EuiOverlayHeaderTitleComponent-3e3e15179c87fe610dfb9064581460d713e7356b1c1e98c8c084dd2955b24cec3d5939788132a9048c82ce72403402a813858439766c6e5a21850c8eefe331f2",
            "file": "packages/components/eui-overlay/components/eui-overlay-header/eui-overlay-header-title/eui-overlay-header-title.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-overlay-header-title",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-overlay-header-title.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "headerTitleCount",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1857,
                            "end": 1876,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1858,
                                "end": 1865,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>null</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nCount value displayed as a badge next to the title.\nTypically shows the number of items, notifications, or related content.\nRendered as a visual badge component when provided.\n",
                    "description": "<p>Count value displayed as a badge next to the title.\nTypically shows the number of items, notifications, or related content.\nRendered as a visual badge component when provided.</p>\n",
                    "line": 49,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "headerTitleHideLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1573,
                            "end": 1592,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1574,
                                "end": 1581,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>null</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nAccessible label for the close/hide button in the header.\nProvides screen reader text describing the button's action.\n",
                    "description": "<p>Accessible label for the close/hide button in the header.\nProvides screen reader text describing the button&#39;s action.</p>\n",
                    "line": 42,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "headerTitleLabel",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1358,
                            "end": 1377,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1359,
                                "end": 1366,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>null</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nPrimary text label displayed as the overlay header title.\nProvides the main heading text for the overlay content.\n",
                    "description": "<p>Primary text label displayed as the overlay header title.\nProvides the main heading text for the overlay content.</p>\n",
                    "line": 36,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "hide",
                    "defaultValue": "new EventEmitter<any>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the close/hide button in the header is clicked.\nSignals that the overlay should be dismissed or hidden.\nNo specific payload is provided.\n",
                    "description": "<p>Emitted when the close/hide button in the header is clicked.\nSignals that the overlay should be dismissed or hidden.\nNo specific payload is provided.</p>\n",
                    "line": 58,
                    "type": "EventEmitter<any>"
                }
            ],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "onHide",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 60,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 27,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "BaseStatesDirective",
                    "type": "directive"
                },
                {
                    "name": "EUI_BADGE"
                },
                {
                    "name": "EUI_ICON_BUTTON"
                },
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "<p>Title component for eui-overlay-header that displays a labeled heading with optional count badge and close button.\nProvides structured title area with consistent styling and accessibility features.\nAutomatically includes a close/hide button that emits events for overlay dismissal.\nMust be used within eui-overlay-header to maintain proper header structure.</p>\n",
            "rawdescription": "\n\nTitle component for eui-overlay-header that displays a labeled heading with optional count badge and close button.\nProvides structured title area with consistent styling and accessibility features.\nAutomatically includes a close/hide button that emits events for overlay dismissal.\nMust be used within eui-overlay-header to maintain proper header structure.\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ViewEncapsulation, Input, Output, EventEmitter } from '@angular/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_BADGE } from '@eui/components/eui-badge';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\n\n/**\n * Title component for eui-overlay-header that displays a labeled heading with optional count badge and close button.\n * Provides structured title area with consistent styling and accessibility features.\n * Automatically includes a close/hide button that emits events for overlay dismissal.\n * Must be used within eui-overlay-header to maintain proper header structure.\n */\n@Component({\n    selector: 'eui-overlay-header-title',\n    templateUrl: './eui-overlay-header-title.component.html',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        BaseStatesDirective,\n        ...EUI_BADGE,\n        ...EUI_ICON_BUTTON,\n        ...EUI_ICON,\n    ],\n})\nexport class EuiOverlayHeaderTitleComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return 'eui-overlay-header-title';\n    }\n\n    /**\n     * Primary text label displayed as the overlay header title.\n     * Provides the main heading text for the overlay content.\n     * @default null\n     */\n    @Input() headerTitleLabel: string = null;\n    /**\n     * Accessible label for the close/hide button in the header.\n     * Provides screen reader text describing the button's action.\n     * @default null\n     */\n    @Input() headerTitleHideLabel: string = null;\n    /**\n     * Count value displayed as a badge next to the title.\n     * Typically shows the number of items, notifications, or related content.\n     * Rendered as a visual badge component when provided.\n     * @default null\n     */\n    @Input() headerTitleCount: string = null;\n\n    /**\n     * Emitted when the close/hide button in the header is clicked.\n     * Signals that the overlay should be dismissed or hidden.\n     * No specific payload is provided.\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    @Output() hide: EventEmitter<any> = new EventEmitter<any>();\n\n    onHide(): void {\n        this.hide.emit();\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 27
                    }
                }
            },
            "templateData": "<div class=\"eui-overlay-header-title\">\n  <div class=\"eui-overlay-header-title__label-wrapper\">\n    <div class=\"eui-overlay-header-title__label\">\n      {{ headerTitleLabel }}\n      @if (headerTitleCount) {\n        <eui-badge euiSizeL class=\"eui-overlay-header-title__label-count\">\n          {{ headerTitleCount }}\n        </eui-badge>\n      }\n    </div>\n\n    <div class=\"eui-overlay-header-title__actions\">\n      @if (headerTitleHideLabel) {\n        <div class=\"eui-overlay-header-title__actions-hide\">\n          <eui-icon-button icon=\"eui-close\" (buttonClick)=\"onHide()\" size=\"l\" euiRounded ariaLabel=\"Dialog close icon\"/>\n        </div>\n      }\n    </div>\n  </div>\n\n  <div class=\"eui-overlay-header-title__subactions-bar\">\n    <ng-content></ng-content>\n  </div>\n</div>\n"
        },
        {
            "name": "EuiPage",
            "id": "component-EuiPage-8ce52ff60f24492c0c3f2c6fbe99c01726b29b38547a4a85e00dd63bd053d93a1791ce0f1e4dd4de12e46d3ac512bbc359b5d60d39f2af1a77833e2240e70d5f",
            "file": "packages/components/eui-page-v2/eui-page.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page",
            "styleUrls": [
                "./eui-page.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-page.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "columns",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiPageColumns>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 38,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "EuiPageColumns, {static: true}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 34,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Root page layout component (v2) that provides the foundational structure for application pages.\nAutomatically detects and adapts styling based on the presence of column-based layouts.</p>\n<h3>Basic usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page&gt;\n  &lt;eui-page-header label=&quot;Dashboard&quot;&gt;&lt;/eui-page-header&gt;\n  &lt;eui-page-content&gt;Content&lt;/eui-page-content&gt;\n&lt;/eui-page&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use semantic HTML for proper document structure</li>\n<li>Maintain heading hierarchy within page sections</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>This is the v2 variant with updated styling</li>\n<li>Automatically detects column layouts</li>\n</ul>\n",
            "rawdescription": "\n\nRoot page layout component (v2) that provides the foundational structure for application pages.\nAutomatically detects and adapts styling based on the presence of column-based layouts.\n\n### Basic usage\n```html\n<eui-page>\n  <eui-page-header label=\"Dashboard\"></eui-page-header>\n  <eui-page-content>Content</eui-page-content>\n</eui-page>\n```\n\n### Accessibility\n- Use semantic HTML for proper document structure\n- Maintain heading hierarchy within page sections\n\n### Notes\n- This is the v2 variant with updated styling\n- Automatically detects column layouts\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, QueryList, ContentChild, ChangeDetectionStrategy } from '@angular/core';\nimport { EuiPageColumns } from './eui-page-columns/eui-page-columns';\n\n/**\n * @description\n * Root page layout component (v2) that provides the foundational structure for application pages.\n * Automatically detects and adapts styling based on the presence of column-based layouts.\n *\n * @usageNotes\n * ### Basic usage\n * ```html\n * <eui-page>\n *   <eui-page-header label=\"Dashboard\"></eui-page-header>\n *   <eui-page-content>Content</eui-page-content>\n * </eui-page>\n * ```\n *\n * ### Accessibility\n * - Use semantic HTML for proper document structure\n * - Maintain heading hierarchy within page sections\n *\n * ### Notes\n * - This is the v2 variant with updated styling\n * - Automatically detects column layouts\n */\n@Component({\n    selector: 'eui-page',\n    templateUrl: './eui-page.html',\n    styleUrls: ['./eui-page.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiPage {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return ['eui-page', this.columns ? 'eui-page--with-columns' : ''].join(' ').trim();\n    }\n\n    @ContentChild(EuiPageColumns, { static: true }) columns: QueryList<EuiPageColumns>;\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": ".eui-21 {\n    :host.eui-page {\n        display: flex;\n        flex-direction: column;\n        width: 100%;\n        height: 100%;\n    }\n}",
                    "styleUrl": "./eui-page.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 34
                    }
                }
            },
            "templateData": "<ng-content select=\"eui-page-breadcrumb\" />\n<ng-content select=\"eui-page-top-content\" />\n<!-- <ng-content select=\"eui-page-hero-header\" /> -->\n<ng-content select=\"eui-page-header\" />\n<ng-content select=\"eui-page-content\" />\n<ng-content select=\"eui-page-footer\" />\n<ng-content select=\"eui-page-columns\" />\n"
        },
        {
            "name": "EuiPageBreadcrumb",
            "id": "component-EuiPageBreadcrumb-1a3b72f123dbb577f10ed4d9f668d8e59ac24bdba6e7dcc008c7c1853a1dd50149f6fbd69fbe17b2df743eecbcce996186c624abfeb03fb1f7e360779a94e817",
            "file": "packages/components/eui-page-v2/eui-page-breadcrumb.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-breadcrumb",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "class",
                    "defaultValue": "'eui-page-breadcrumb'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 29,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": ""
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-page-breadcrumb'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 29,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Breadcrumb container for page navigation that displays the current location within the application hierarchy.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-breadcrumb&gt;\n  &lt;eui-breadcrumb [items]=&quot;breadcrumbItems&quot;&gt;&lt;/eui-breadcrumb&gt;\n&lt;/eui-page-breadcrumb&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use nav element with aria-label=&quot;Breadcrumb&quot; for screen readers</li>\n<li>Current page should be marked with aria-current=&quot;page&quot;</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Typically placed at the top of the page before the header</li>\n<li>Works with eui-breadcrumb component for navigation trails</li>\n</ul>\n",
            "rawdescription": "\n\nBreadcrumb container for page navigation that displays the current location within the application hierarchy.\n\n```html\n<eui-page-breadcrumb>\n  <eui-breadcrumb [items]=\"breadcrumbItems\"></eui-breadcrumb>\n</eui-page-breadcrumb>\n```\n\n### Accessibility\n- Use nav element with aria-label=\"Breadcrumb\" for screen readers\n- Current page should be marked with aria-current=\"page\"\n\n### Notes\n- Typically placed at the top of the page before the header\n- Works with eui-breadcrumb component for navigation trails\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n * @description\n * Breadcrumb container for page navigation that displays the current location within the application hierarchy.\n *\n * @usageNotes\n * ```html\n * <eui-page-breadcrumb>\n *   <eui-breadcrumb [items]=\"breadcrumbItems\"></eui-breadcrumb>\n * </eui-page-breadcrumb>\n * ```\n *\n * ### Accessibility\n * - Use nav element with aria-label=\"Breadcrumb\" for screen readers\n * - Current page should be marked with aria-current=\"page\"\n *\n * ### Notes\n * - Typically placed at the top of the page before the header\n * - Works with eui-breadcrumb component for navigation trails\n */\n@Component({\n    selector: 'eui-page-breadcrumb',\n    template: '<ng-content/>',\n    styleUrl: './eui-page-breadcrumb.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiPageBreadcrumb {\n    @HostBinding() class = 'eui-page-breadcrumb';\n}\n",
            "styleUrl": "./eui-page-breadcrumb.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiPageBreadcrumbComponent",
            "id": "component-EuiPageBreadcrumbComponent-f35490782d8c484d69614a225216ba6d89df41e95c77fc19e02ed18cae1d2934b24bab81f50d45234c2e2e07a56f0ad97d0d980ea194fd5a86a533b55271070a",
            "file": "packages/components/eui-page/components/eui-page-breadcrumb/eui-page-breadcrumb.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-breadcrumb",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "class",
                    "defaultValue": "'eui-page-breadcrumb'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 39,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": ""
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-page-breadcrumb'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 39,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Breadcrumb container component for eui-page that provides a navigation trail area.\nDisplays hierarchical navigation path showing the user&#39;s location within the application structure.\nTypically positioned near the top of the page, above the main header or content.\nShould contain eui-breadcrumb component or custom breadcrumb navigation elements.\nMust be used as a direct child of eui-page to maintain proper layout structure.</p>\n<h3>Basic usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page&gt;\n  &lt;eui-page-breadcrumb&gt;\n    &lt;eui-breadcrumb [items]=&quot;breadcrumbItems&quot;&gt;&lt;/eui-breadcrumb&gt;\n  &lt;/eui-page-breadcrumb&gt;\n  &lt;eui-page-content&gt;Content here&lt;/eui-page-content&gt;\n&lt;/eui-page&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use eui-breadcrumb component which provides proper ARIA navigation landmark</li>\n<li>Ensure breadcrumb links have descriptive text for screen readers</li>\n<li>Current page should be indicated with aria-current=&quot;page&quot;</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be a direct child of eui-page component</li>\n<li>Typically placed before page header or content sections</li>\n<li>Provides consistent spacing and alignment with page layout</li>\n</ul>\n",
            "rawdescription": "\n\nBreadcrumb container component for eui-page that provides a navigation trail area.\nDisplays hierarchical navigation path showing the user's location within the application structure.\nTypically positioned near the top of the page, above the main header or content.\nShould contain eui-breadcrumb component or custom breadcrumb navigation elements.\nMust be used as a direct child of eui-page to maintain proper layout structure.\n\n### Basic usage\n```html\n<eui-page>\n  <eui-page-breadcrumb>\n    <eui-breadcrumb [items]=\"breadcrumbItems\"></eui-breadcrumb>\n  </eui-page-breadcrumb>\n  <eui-page-content>Content here</eui-page-content>\n</eui-page>\n```\n\n### Accessibility\n- Use eui-breadcrumb component which provides proper ARIA navigation landmark\n- Ensure breadcrumb links have descriptive text for screen readers\n- Current page should be indicated with aria-current=\"page\"\n\n### Notes\n- Must be a direct child of eui-page component\n- Typically placed before page header or content sections\n- Provides consistent spacing and alignment with page layout\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n * @description\n * Breadcrumb container component for eui-page that provides a navigation trail area.\n * Displays hierarchical navigation path showing the user's location within the application structure.\n * Typically positioned near the top of the page, above the main header or content.\n * Should contain eui-breadcrumb component or custom breadcrumb navigation elements.\n * Must be used as a direct child of eui-page to maintain proper layout structure.\n *\n * @usageNotes\n * ### Basic usage\n * ```html\n * <eui-page>\n *   <eui-page-breadcrumb>\n *     <eui-breadcrumb [items]=\"breadcrumbItems\"></eui-breadcrumb>\n *   </eui-page-breadcrumb>\n *   <eui-page-content>Content here</eui-page-content>\n * </eui-page>\n * ```\n *\n * ### Accessibility\n * - Use eui-breadcrumb component which provides proper ARIA navigation landmark\n * - Ensure breadcrumb links have descriptive text for screen readers\n * - Current page should be indicated with aria-current=\"page\"\n *\n * ### Notes\n * - Must be a direct child of eui-page component\n * - Typically placed before page header or content sections\n * - Provides consistent spacing and alignment with page layout\n */\n@Component({\n    selector: 'eui-page-breadcrumb',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiPageBreadcrumbComponent {\n    @HostBinding() class = 'eui-page-breadcrumb';\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiPageColumn",
            "id": "component-EuiPageColumn-a8c4ac88c3b4e0b47c74f03ddbaf56702af75a4ef5310b6bd2110abbca738684c36fb91978b834bef86f28f4a942d946bd5229e4c7aeed33b2e039e5f066e2bd",
            "file": "packages/components/eui-page-v2/eui-page-columns/eui-page-column.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-column",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-page-column.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiSizeS",
                        "euiSizeM",
                        "euiSizeL",
                        "euiSizeXL",
                        "euiSize2XL",
                        "euiSize3XL",
                        "euiSize4XL",
                        "euiSizeVariant",
                        "euiHighlighted"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "autocloseContainerWidth",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 127,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "collapseAriaLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 129,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "expandAriaLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 128,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasHeaderBodyShrinkable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 137,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasSidebarMenu",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 136,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isAutocloseOnContainerResize",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 138,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isAutocloseOnMobile",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 139,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCollapsed",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 132,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCollapsedWithIcons",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 135,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCollapsible",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 131,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isHighlighted",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 134,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isRightCollapsible",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 133,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 125,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "subLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 126,
                    "type": "any",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "collapse",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 141,
                    "type": "EventEmitter"
                },
                {
                    "name": "headerCollapse",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 142,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 153
                },
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 154,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "currentOffset",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 149
                },
                {
                    "name": "hasPreventMobileRendering",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 147
                },
                {
                    "name": "isActive",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 143
                },
                {
                    "name": "isHeaderBodyShrinked",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 145
                },
                {
                    "name": "previousOffset",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 151
                },
                {
                    "name": "treshHold",
                    "defaultValue": "50",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 152
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 185,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 158,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onToggle",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 190,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 111,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "CdkScrollable"
                },
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_BUTTON"
                }
            ],
            "description": "<p>Individual column within a page columns layout that supports collapsible behavior, headers, and responsive sizing.\nProvides flexible column layouts with optional collapse functionality and automatic mobile handling.</p>\n<h3>Basic column</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-column label=&quot;Sidebar&quot; euiSizeS&gt;\n  &lt;eui-page-column-body&gt;\n    Sidebar content\n  &lt;/eui-page-column-body&gt;\n&lt;/eui-page-column&gt;</code></pre></div><h3>Collapsible column</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-column\n  label=&quot;Filters&quot;\n  [isCollapsible]=&quot;true&quot;\n  [isCollapsed]=&quot;filtersCollapsed&quot;\n  expandAriaLabel=&quot;Expand filters&quot;\n  collapseAriaLabel=&quot;Collapse filters&quot;\n  (collapse)=&quot;onFiltersCollapse($event)&quot;&gt;\n  &lt;eui-page-column-header&gt;\n    &lt;eui-page-column-header-label&gt;Filters&lt;/eui-page-column-header-label&gt;\n  &lt;/eui-page-column-header&gt;\n  &lt;eui-page-column-body&gt;Filter controls&lt;/eui-page-column-body&gt;\n&lt;/eui-page-column&gt;</code></pre></div><h3>Auto-collapse on resize</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-column\n  [isAutocloseOnContainerResize]=&quot;true&quot;\n  [autocloseContainerWidth]=&quot;768&quot;\n  [isAutocloseOnMobile]=&quot;true&quot;&gt;\n  Content\n&lt;/eui-page-column&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Provide descriptive labels for column identification</li>\n<li>Collapse buttons have proper aria-labels</li>\n<li>Ensure collapsed columns can be reopened via keyboard</li>\n<li>Maintain focus management when collapsing/expanding</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Supports size variants: euiSizeS, euiSizeM, euiSizeL, euiSizeXL, etc.</li>\n<li><code>isCollapsedWithIcons</code> shows icon-only view when collapsed</li>\n<li><code>hasSidebarMenu</code> optimizes layout for sidebar menu content</li>\n<li><code>hasHeaderBodyShrinkable</code> allows header to shrink on scroll</li>\n<li>Auto-collapse features help manage responsive layouts automatically</li>\n</ul>\n",
            "rawdescription": "\n\nIndividual column within a page columns layout that supports collapsible behavior, headers, and responsive sizing.\nProvides flexible column layouts with optional collapse functionality and automatic mobile handling.\n\n### Basic column\n```html\n<eui-page-column label=\"Sidebar\" euiSizeS>\n  <eui-page-column-body>\n    Sidebar content\n  </eui-page-column-body>\n</eui-page-column>\n```\n\n### Collapsible column\n```html\n<eui-page-column\n  label=\"Filters\"\n  [isCollapsible]=\"true\"\n  [isCollapsed]=\"filtersCollapsed\"\n  expandAriaLabel=\"Expand filters\"\n  collapseAriaLabel=\"Collapse filters\"\n  (collapse)=\"onFiltersCollapse($event)\">\n  <eui-page-column-header>\n    <eui-page-column-header-label>Filters</eui-page-column-header-label>\n  </eui-page-column-header>\n  <eui-page-column-body>Filter controls</eui-page-column-body>\n</eui-page-column>\n```\n\n### Auto-collapse on resize\n```html\n<eui-page-column\n  [isAutocloseOnContainerResize]=\"true\"\n  [autocloseContainerWidth]=\"768\"\n  [isAutocloseOnMobile]=\"true\">\n  Content\n</eui-page-column>\n```\n\n### Accessibility\n- Provide descriptive labels for column identification\n- Collapse buttons have proper aria-labels\n- Ensure collapsed columns can be reopened via keyboard\n- Maintain focus management when collapsing/expanding\n\n### Notes\n- Supports size variants: euiSizeS, euiSizeM, euiSizeL, euiSizeXL, etc.\n- `isCollapsedWithIcons` shows icon-only view when collapsed\n- `hasSidebarMenu` optimizes layout for sidebar menu content\n- `hasHeaderBodyShrinkable` allows header to shrink on scroll\n- Auto-collapse features help manage responsive layouts automatically\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    Input,\n    Output,\n    OnInit,\n    Directive,\n    ContentChild,\n    forwardRef,\n    QueryList,\n    EventEmitter,\n    inject,\n    booleanAttribute,\n    OnDestroy,\n    ChangeDetectionStrategy,\n} from '@angular/core';\nimport { Subject, debounceTime, takeUntil } from 'rxjs';\nimport { EuiAppShellService } from '@eui/core';\nimport { EuiPageColumns } from './eui-page-columns';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { CdkScrollable } from '@angular/cdk/scrolling';\n\n/**\n * @description\n * Individual column within a page columns layout that supports collapsible behavior, headers, and responsive sizing.\n * Provides flexible column layouts with optional collapse functionality and automatic mobile handling.\n *\n * @usageNotes\n * ### Basic column\n * ```html\n * <eui-page-column label=\"Sidebar\" euiSizeS>\n *   <eui-page-column-body>\n *     Sidebar content\n *   </eui-page-column-body>\n * </eui-page-column>\n * ```\n *\n * ### Collapsible column\n * ```html\n * <eui-page-column\n *   label=\"Filters\"\n *   [isCollapsible]=\"true\"\n *   [isCollapsed]=\"filtersCollapsed\"\n *   expandAriaLabel=\"Expand filters\"\n *   collapseAriaLabel=\"Collapse filters\"\n *   (collapse)=\"onFiltersCollapse($event)\">\n *   <eui-page-column-header>\n *     <eui-page-column-header-label>Filters</eui-page-column-header-label>\n *   </eui-page-column-header>\n *   <eui-page-column-body>Filter controls</eui-page-column-body>\n * </eui-page-column>\n * ```\n *\n * ### Auto-collapse on resize\n * ```html\n * <eui-page-column\n *   [isAutocloseOnContainerResize]=\"true\"\n *   [autocloseContainerWidth]=\"768\"\n *   [isAutocloseOnMobile]=\"true\">\n *   Content\n * </eui-page-column>\n * ```\n *\n * ### Accessibility\n * - Provide descriptive labels for column identification\n * - Collapse buttons have proper aria-labels\n * - Ensure collapsed columns can be reopened via keyboard\n * - Maintain focus management when collapsing/expanding\n *\n * ### Notes\n * - Supports size variants: euiSizeS, euiSizeM, euiSizeL, euiSizeXL, etc.\n * - `isCollapsedWithIcons` shows icon-only view when collapsed\n * - `hasSidebarMenu` optimizes layout for sidebar menu content\n * - `hasHeaderBodyShrinkable` allows header to shrink on scroll\n * - Auto-collapse features help manage responsive layouts automatically\n */\n@Component({\n    selector: 'eui-page-column',\n    templateUrl: './eui-page-column.html',\n    styleUrl: './eui-page-column.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        NgTemplateOutlet,\n        CdkScrollable,\n        AsyncPipe,\n        ...EUI_ICON,\n        ...EUI_BUTTON,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSizeS',\n                'euiSizeM',\n                'euiSizeL',\n                'euiSizeXL',\n                'euiSize2XL',\n                'euiSize3XL',\n                'euiSize4XL',\n                'euiSizeVariant',\n                'euiHighlighted',\n            ],\n        },\n    ],\n})\nexport class EuiPageColumn implements OnInit, OnDestroy {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            this.isCollapsed ? 'eui-page-column eui-page-column--collapsed' : this.baseStatesDirective.getCssClasses('eui-page-column'),\n            this.isCollapsedWithIcons ? 'eui-page-column__header--with-icons' : '',\n            this.isHighlighted ? 'eui-page-column--highlighted' : '',\n            this.isActive ? 'eui-page-column--active' : '',\n            this.hasSidebarMenu ? 'eui-page-column--has-sidebar-menu' : '',\n            this.isHeaderBodyShrinked ? 'eui-page-column__header--shrinked' : '',\n            this.hasPreventMobileRendering ? 'eui-page-column--prevent-mobile-rendering' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    @Input() label;\n    @Input() subLabel;\n    @Input() autocloseContainerWidth: number = null;\n    @Input() expandAriaLabel: string;\n    @Input() collapseAriaLabel: string;\n\n    @Input({ transform: booleanAttribute }) isCollapsible = false;\n    @Input({ transform: booleanAttribute }) isCollapsed = false;\n    @Input({ transform: booleanAttribute }) isRightCollapsible = false;\n    @Input({ transform: booleanAttribute }) isHighlighted = false;\n    @Input({ transform: booleanAttribute }) isCollapsedWithIcons = false;\n    @Input({ transform: booleanAttribute }) hasSidebarMenu = false;\n    @Input({ transform: booleanAttribute }) hasHeaderBodyShrinkable = false;\n    @Input({ transform: booleanAttribute }) isAutocloseOnContainerResize = false;\n    @Input({ transform: booleanAttribute }) isAutocloseOnMobile = false;\n\n    @Output() collapse = new EventEmitter();\n    @Output() headerCollapse = new EventEmitter();\n    isActive = false;\n\n    isHeaderBodyShrinked = false;\n\n    hasPreventMobileRendering = false;\n\n    currentOffset = 0;\n\n    previousOffset = 0;\n    treshHold = 50;\n    asService = inject(EuiAppShellService);\n    protected baseStatesDirective = inject(BaseStatesDirective);\n    private pageColumnsParent: EuiPageColumns = inject(EuiPageColumns, { host: true, optional: true })!;\n    private destroy$ = new Subject<boolean>();\n\n    ngOnInit(): void {\n        // this.baseStatesDirective.euiSizeS = false; // Bypass size default\n        if (this.pageColumnsParent && this.isAutocloseOnContainerResize && this.autocloseContainerWidth) {\n            this.pageColumnsParent.width.pipe(debounceTime(100), takeUntil(this.destroy$)).subscribe((parentWidth: number) => {\n                if (parentWidth <= this.autocloseContainerWidth) {\n                    this.isCollapsed = true;\n                    this.collapse.emit(this.isCollapsed);\n                }\n            });\n        }\n\n        if (this.pageColumnsParent && this.pageColumnsParent.hasPreventMobileRendering) {\n            this.hasPreventMobileRendering = this.pageColumnsParent.hasPreventMobileRendering;\n        }\n\n        if (this.isAutocloseOnMobile) {\n            this.asService.breakpoints$.pipe(takeUntil(this.destroy$)).subscribe((bkps) => {\n                if (bkps.isMobile) {\n                    this.isCollapsed = true;\n                }\n            });\n        }\n\n        this.expandAriaLabel = `Expand ${this.label}`;\n        this.collapseAriaLabel = `Collapse ${this.label}`;\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    public onToggle(): void {\n        this.isCollapsed = !this.isCollapsed;\n        this.collapse.emit(this.isCollapsed);\n    }\n}\n",
            "styleUrl": "./eui-page-column.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 111
                    }
                }
            },
            "templateData": "<ng-content select=\"eui-page-column-header\"/>\n<ng-content select=\"eui-page-column-body\"/>\n<ng-content select=\"eui-page-column-footer\"/>\n\n<!-- @if (label || subLabel || customHeaderLeftContent || customHeaderRightContent || isCollapsible) {\n\n    <div class=\"eui-page-column__header\" [class.eui-page-column__header--with-icons]=\"isCollapsedWithIcons\">\n        @if (!customHeaderLeftContent) {\n            <div class=\"eui-page-column__header-left-content\">\n                @if (label) {\n                    <div class=\"eui-page-column__header-left-content-label\">\n                        @if (customHeaderCollapsedContent) {\n                            <ng-content select=\"eui-page-column-header-collapsed-content\"></ng-content>\n                        }\n                        @if (!isCollapsedWithIcons) {\n                            {{ label }}\n                        }\n                    </div>\n                }\n                @if (subLabel) {\n                    <div class=\"eui-page-column__header-left-content-sub-label\">\n                        {{ subLabel }}\n                    </div>\n                }\n            </div>\n\n        } @else {\n            <div class=\"eui-page-column__header-left-content\">\n                <ng-content select=\"eui-page-column-header-left-content\"></ng-content>\n            </div>\n        }\n\n        <div class=\"eui-page-column__header-right-content\">\n            @if (customHeaderRightContent) {\n                <span class=\"eui-page-column__header-right-content-body\">\n                    <ng-content select=\"eui-page-column-header-right-content\"></ng-content>\n                </span>\n            }\n\n            @if (isCollapsible) {\n                <button euiButton euiBasicButton euiSecondary euiRounded euiIconButton euiSizeS type=\"button\"\n                    (click)=\"onToggle()\"\n                    [attr.aria-label]=\"isCollapsed ? expandAriaLabel : collapseAriaLabel\"\n                    class=\"eui-page-column__header-toggle\">\n\n                    @if (isCollapsed) {\n                        @if ((asService.state$ | async).breakpoints.isMobile && !hasPreventMobileRendering) {\n                            <eui-icon-svg icon=\"eui-chevron-down\"></eui-icon-svg>\n                        } @else {\n                            @if (isRightCollapsible) {\n                                <eui-icon-svg icon=\"eui-chevron-left\"></eui-icon-svg>\n                            } @else {\n                                <eui-icon-svg icon=\"eui-chevron-right\"></eui-icon-svg>\n                            }\n                        }\n                    } @else {\n                        @if ((asService.state$ | async).breakpoints.isMobile && !hasPreventMobileRendering) {\n                            <eui-icon-svg icon=\"eui-chevron-up\"></eui-icon-svg>\n                        } @else {\n                            @if (isRightCollapsible) {\n                                <eui-icon-svg icon=\"eui-chevron-right\"></eui-icon-svg>\n                            } @else {\n                                <eui-icon-svg icon=\"eui-chevron-left\"></eui-icon-svg>\n                            }\n                        }\n                    }\n                </button>\n            }\n        </div>\n    </div>\n}\n\n@if (customHeaderBodyContent) {\n    <div class=\"eui-page-column__header-left-content-body\">\n        <ng-content select=\"eui-page-column-header-body\"></ng-content>\n    </div>\n}\n\n<div class=\"eui-page-column__body\"\n    tabindex=\"0\"\n    [class.eui-page-column--collapsed-with-icons]=\"isCollapsedWithIcons\" cdkScrollable>\n    <ng-content *ngTemplateOutlet=\"body\"></ng-content>\n</div>\n\n@if (customFooterContent) {\n    <div class=\"eui-page-column__footer\" [class.eui-page-column__footer--highlighted]=\"isHighlighted\">\n        <ng-content select=\"eui-page-column-footer\"></ng-content>\n    </div>\n}\n\n<ng-template #body>\n    <ng-content select=\"eui-page-column-body\" />\n</ng-template> -->\n"
        },
        {
            "name": "EuiPageColumnBody",
            "id": "component-EuiPageColumnBody-0e317689d3f08a27d45ec102b5e346d2d63126222b2604fe6512c4a5d76a68058bc0236103b6858a953e11c9b09f7a74414b2ac8baf00baee1561e819337b5ea",
            "file": "packages/components/eui-page-v2/eui-page-columns/eui-page-column-body.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-column-body",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-page-column-body'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 25,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-page-column-body'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 25,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Body content container for page columns that holds the main content area.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-column-body&gt;\n  &lt;p&gt;Main column content&lt;/p&gt;\n&lt;/eui-page-column-body&gt;</code></pre></div><h3>Notes</h3>\n<ul>\n<li>Use within eui-page-column for structured content layout</li>\n<li>Provides scrollable content area when needed</li>\n</ul>\n",
            "rawdescription": "\n\nBody content container for page columns that holds the main content area.\n\n```html\n<eui-page-column-body>\n  <p>Main column content</p>\n</eui-page-column-body>\n```\n\n### Notes\n- Use within eui-page-column for structured content layout\n- Provides scrollable content area when needed\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Body content container for page columns that holds the main content area.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-body>\n *   <p>Main column content</p>\n * </eui-page-column-body>\n * ```\n *\n * ### Notes\n * - Use within eui-page-column for structured content layout\n * - Provides scrollable content area when needed\n */\n@Component({\n    selector: 'eui-page-column-body',\n    styleUrl: './eui-page-column-body.scss',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiPageColumnBody {\n    @HostBinding('class') string = 'eui-page-column-body';\n}\n",
            "styleUrl": "./eui-page-column-body.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiPageColumnComponent",
            "id": "component-EuiPageColumnComponent-812c957ed9abea4eb19edfd7a225ddbe5d31be705b6e4ee6fda34d5a6ab45dc7d4505d41915e91f142fb8ebd707042d26bf72556d850dbd9edf303d71575c78f",
            "file": "packages/components/eui-page/components/eui-page-column/eui-page-column.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-column",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-page-column.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiSizeS",
                        "euiSizeM",
                        "euiSizeL",
                        "euiSizeXL",
                        "euiSize2XL",
                        "euiSize3XL",
                        "euiSize4XL",
                        "euiSize5XL",
                        "euiSize6XL",
                        "euiSizeVariant",
                        "euiHighlighted"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "autocloseContainerWidth",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5196,
                            "end": 5215,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5197,
                                "end": 5204,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>null</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nContainer width threshold in pixels for automatic column collapse.\nWhen parent container width falls below this value, column automatically collapses.\nOnly effective when isAutocloseOnContainerResize is true.\n",
                    "description": "<p>Container width threshold in pixels for automatic column collapse.\nWhen parent container width falls below this value, column automatically collapses.\nOnly effective when isAutocloseOnContainerResize is true.</p>\n",
                    "line": 148,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "collapseAriaLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nAccessible label for the collapse button when column is expanded.\nAutomatically generated from label if not provided.\n",
                    "description": "<p>Accessible label for the collapse button when column is expanded.\nAutomatically generated from label if not provided.</p>\n",
                    "line": 158,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "expandAriaLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nAccessible label for the expand button when column is collapsed.\nAutomatically generated from label if not provided.\n",
                    "description": "<p>Accessible label for the expand button when column is collapsed.\nAutomatically generated from label if not provided.</p>\n",
                    "line": 153,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasHeaderBodyShrinkable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7488,
                            "end": 7508,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7489,
                                "end": 7496,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables shrinkable behavior for the column header body section.\nAllows header to reduce in size based on scroll or content state.\n",
                    "description": "<p>Enables shrinkable behavior for the column header body section.\nAllows header to reduce in size based on scroll or content state.</p>\n",
                    "line": 207,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasSidebarMenu",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7238,
                            "end": 7258,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7239,
                                "end": 7246,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nApplies styling specific to columns containing sidebar navigation menus.\nAdjusts spacing and layout for menu-based columns.\n",
                    "description": "<p>Applies styling specific to columns containing sidebar navigation menus.\nAdjusts spacing and layout for menu-based columns.</p>\n",
                    "line": 201,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasSubColumns",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 8247,
                            "end": 8267,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8248,
                                "end": 8255,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIndicates the column contains nested sub-columns.\nApplies appropriate styling for hierarchical column structures.\n",
                    "description": "<p>Indicates the column contains nested sub-columns.\nApplies appropriate styling for hierarchical column structures.</p>\n",
                    "line": 225,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isAutocloseOnContainerResize",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7749,
                            "end": 7769,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7750,
                                "end": 7757,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables automatic column collapse when parent container width changes.\nWorks in conjunction with autocloseContainerWidth threshold.\n",
                    "description": "<p>Enables automatic column collapse when parent container width changes.\nWorks in conjunction with autocloseContainerWidth threshold.</p>\n",
                    "line": 213,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isAutocloseOnMobile",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 8008,
                            "end": 8028,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8009,
                                "end": 8016,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nAutomatically collapses the column when viewport enters mobile breakpoint.\nProvides responsive behavior for smaller screens.\n",
                    "description": "<p>Automatically collapses the column when viewport enters mobile breakpoint.\nProvides responsive behavior for smaller screens.</p>\n",
                    "line": 219,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCollapsed",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6031,
                            "end": 6051,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6032,
                                "end": 6039,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls the collapsed state of the column.\nWhen true, minimizes column width and hides content; when false, displays full column.\n",
                    "description": "<p>Controls the collapsed state of the column.\nWhen true, minimizes column width and hides content; when false, displays full column.</p>\n",
                    "line": 171,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCollapsedHidden",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6278,
                            "end": 6298,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6279,
                                "end": 6286,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nCompletely hides the column when collapsed instead of showing a minimal collapsed state.\nOnly effective when isCollapsed is true.\n",
                    "description": "<p>Completely hides the column when collapsed instead of showing a minimal collapsed state.\nOnly effective when isCollapsed is true.</p>\n",
                    "line": 177,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCollapsedWithIcons",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6988,
                            "end": 7008,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6989,
                                "end": 6996,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nDisplays icons in the collapsed column state for visual identification.\nProvides visual cues when column is minimized.\n",
                    "description": "<p>Displays icons in the collapsed column state for visual identification.\nProvides visual cues when column is minimized.</p>\n",
                    "line": 195,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCollapsible",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5781,
                            "end": 5801,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5782,
                                "end": 5789,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables expand/collapse functionality for the column.\nAdds a toggle button to show or hide column content.\n",
                    "description": "<p>Enables expand/collapse functionality for the column.\nAdds a toggle button to show or hide column content.</p>\n",
                    "line": 165,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isHighlighted",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6750,
                            "end": 6770,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6751,
                                "end": 6758,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nApplies highlighted visual styling to emphasize the column.\nAdds distinct background or border treatment.\n",
                    "description": "<p>Applies highlighted visual styling to emphasize the column.\nAdds distinct background or border treatment.</p>\n",
                    "line": 189,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isRightCollapsible",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6520,
                            "end": 6540,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6521,
                                "end": 6528,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nPositions the collapse button on the right side of the column header.\nBy default, collapse button appears on the left.\n",
                    "description": "<p>Positions the collapse button on the right side of the column header.\nBy default, collapse button appears on the left.</p>\n",
                    "line": 183,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nPrimary heading text displayed in the column header.\nServes as the title for the column content.\n",
                    "description": "<p>Primary heading text displayed in the column header.\nServes as the title for the column content.</p>\n",
                    "line": 136,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "subLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSecondary descriptive text displayed in the column header.\nProvides additional context about the column content.\n",
                    "description": "<p>Secondary descriptive text displayed in the column header.\nProvides additional context about the column content.</p>\n",
                    "line": 141,
                    "type": "any",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "collapse",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the column's collapsed state changes via user interaction or automatic triggers.\nPayload: boolean indicating the new collapsed state (true when collapsed, false when expanded).\n",
                    "description": "<p>Emitted when the column&#39;s collapsed state changes via user interaction or automatic triggers.\nPayload: boolean indicating the new collapsed state (true when collapsed, false when expanded).</p>\n",
                    "line": 231,
                    "type": "EventEmitter"
                },
                {
                    "name": "headerCollapse",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the column header's collapsed state changes.\nPayload: boolean indicating the header collapse state.\n",
                    "description": "<p>Emitted when the column header&#39;s collapsed state changes.\nPayload: boolean indicating the header collapse state.</p>\n",
                    "line": 236,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 262
                },
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 263,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "currentOffset",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 258
                },
                {
                    "name": "customFooterContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiPageColumnFooterContentDirective>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 256,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "customHeaderBodyContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiPageColumnHeaderBodyContentDirective>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 244,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "customHeaderCollapsedContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiPageColumnHeaderCollapsedContentDirective>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 253,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "customHeaderLeftContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiPageColumnHeaderLeftContentDirective>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 247,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "customHeaderRightContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiPageColumnHeaderRightContentDirective>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 250,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "hasPreventMobileRendering",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 241
                },
                {
                    "name": "isActive",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 237
                },
                {
                    "name": "isHeaderBodyShrinked",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 239
                },
                {
                    "name": "previousOffset",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 260
                },
                {
                    "name": "treshHold",
                    "defaultValue": "50",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 261
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 294,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 267,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onToggle",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 299,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 116,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "CdkScrollable"
                },
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_BUTTON"
                }
            ],
            "description": "<p>Individual column component for multi-column page layouts within eui-page-columns.\nProvides collapsible sidebar functionality with automatic responsive behavior and custom content projection.\nSupports header, body, and footer sections with flexible content areas and collapse/expand controls.\nAutomatically responds to container width changes and mobile breakpoints for adaptive layouts.\nMust be used as a direct child of eui-page-columns to participate in column-based layouts.</p>\n<h3>Basic column</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-columns&gt;\n  &lt;eui-page-column label=&quot;Sidebar&quot;&gt;\n    &lt;eui-page-column-body&gt;Sidebar content&lt;/eui-page-column-body&gt;\n  &lt;/eui-page-column&gt;\n  &lt;eui-page-column label=&quot;Main Content&quot;&gt;\n    &lt;eui-page-column-body&gt;Main content&lt;/eui-page-column-body&gt;\n  &lt;/eui-page-column&gt;\n&lt;/eui-page-columns&gt;</code></pre></div><h3>Collapsible column</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-column\n  label=&quot;Navigation&quot;\n  [isCollapsible]=&quot;true&quot;\n  [isCollapsed]=&quot;false&quot;\n  (collapse)=&quot;onSidebarToggle($event)&quot;&gt;\n  &lt;eui-page-column-body&gt;\n    &lt;nav&gt;Navigation items&lt;/nav&gt;\n  &lt;/eui-page-column-body&gt;\n&lt;/eui-page-column&gt;</code></pre></div><h3>With custom header content</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-column label=&quot;Filters&quot;&gt;\n  &lt;eui-page-column-header-right-content&gt;\n    &lt;button euiButton euiSecondary&gt;Clear All&lt;/button&gt;\n  &lt;/eui-page-column-header-right-content&gt;\n  &lt;eui-page-column-body&gt;Filter options&lt;/eui-page-column-body&gt;\n&lt;/eui-page-column&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Column headers use semantic heading structure for screen readers</li>\n<li>Collapse/expand buttons include proper aria-labels</li>\n<li>Keyboard navigation supported for collapse toggle</li>\n<li>Focus management maintained when toggling collapsed state</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be direct child of eui-page-columns component</li>\n<li>Supports automatic collapse based on container width or mobile breakpoint</li>\n<li>Use content projection directives for custom header, body, and footer sections</li>\n<li>Collapse state can be controlled programmatically or by user interaction</li>\n</ul>\n",
            "rawdescription": "\n\nIndividual column component for multi-column page layouts within eui-page-columns.\nProvides collapsible sidebar functionality with automatic responsive behavior and custom content projection.\nSupports header, body, and footer sections with flexible content areas and collapse/expand controls.\nAutomatically responds to container width changes and mobile breakpoints for adaptive layouts.\nMust be used as a direct child of eui-page-columns to participate in column-based layouts.\n\n### Basic column\n```html\n<eui-page-columns>\n  <eui-page-column label=\"Sidebar\">\n    <eui-page-column-body>Sidebar content</eui-page-column-body>\n  </eui-page-column>\n  <eui-page-column label=\"Main Content\">\n    <eui-page-column-body>Main content</eui-page-column-body>\n  </eui-page-column>\n</eui-page-columns>\n```\n\n### Collapsible column\n```html\n<eui-page-column\n  label=\"Navigation\"\n  [isCollapsible]=\"true\"\n  [isCollapsed]=\"false\"\n  (collapse)=\"onSidebarToggle($event)\">\n  <eui-page-column-body>\n    <nav>Navigation items</nav>\n  </eui-page-column-body>\n</eui-page-column>\n```\n\n### With custom header content\n```html\n<eui-page-column label=\"Filters\">\n  <eui-page-column-header-right-content>\n    <button euiButton euiSecondary>Clear All</button>\n  </eui-page-column-header-right-content>\n  <eui-page-column-body>Filter options</eui-page-column-body>\n</eui-page-column>\n```\n\n### Accessibility\n- Column headers use semantic heading structure for screen readers\n- Collapse/expand buttons include proper aria-labels\n- Keyboard navigation supported for collapse toggle\n- Focus management maintained when toggling collapsed state\n\n### Notes\n- Must be direct child of eui-page-columns component\n- Supports automatic collapse based on container width or mobile breakpoint\n- Use content projection directives for custom header, body, and footer sections\n- Collapse state can be controlled programmatically or by user interaction\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ViewEncapsulation,\n    Input,\n    Output,\n    OnInit,\n    Directive,\n    ContentChild,\n    forwardRef,\n    QueryList,\n    EventEmitter,\n    inject,\n    booleanAttribute,\n    OnDestroy,\n    ChangeDetectionStrategy,\n} from '@angular/core';\nimport { Subject, debounceTime, takeUntil } from 'rxjs';\nimport { EuiAppShellService } from '@eui/core';\nimport { EuiPageColumnsComponent } from '../eui-page-columns/eui-page-columns.component';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { CdkScrollable } from '@angular/cdk/scrolling';\n\n/**\n * @description\n * Individual column component for multi-column page layouts within eui-page-columns.\n * Provides collapsible sidebar functionality with automatic responsive behavior and custom content projection.\n * Supports header, body, and footer sections with flexible content areas and collapse/expand controls.\n * Automatically responds to container width changes and mobile breakpoints for adaptive layouts.\n * Must be used as a direct child of eui-page-columns to participate in column-based layouts.\n *\n * @usageNotes\n * ### Basic column\n * ```html\n * <eui-page-columns>\n *   <eui-page-column label=\"Sidebar\">\n *     <eui-page-column-body>Sidebar content</eui-page-column-body>\n *   </eui-page-column>\n *   <eui-page-column label=\"Main Content\">\n *     <eui-page-column-body>Main content</eui-page-column-body>\n *   </eui-page-column>\n * </eui-page-columns>\n * ```\n *\n * ### Collapsible column\n * ```html\n * <eui-page-column \n *   label=\"Navigation\" \n *   [isCollapsible]=\"true\" \n *   [isCollapsed]=\"false\"\n *   (collapse)=\"onSidebarToggle($event)\">\n *   <eui-page-column-body>\n *     <nav>Navigation items</nav>\n *   </eui-page-column-body>\n * </eui-page-column>\n * ```\n *\n * ### With custom header content\n * ```html\n * <eui-page-column label=\"Filters\">\n *   <eui-page-column-header-right-content>\n *     <button euiButton euiSecondary>Clear All</button>\n *   </eui-page-column-header-right-content>\n *   <eui-page-column-body>Filter options</eui-page-column-body>\n * </eui-page-column>\n * ```\n *\n * ### Accessibility\n * - Column headers use semantic heading structure for screen readers\n * - Collapse/expand buttons include proper aria-labels\n * - Keyboard navigation supported for collapse toggle\n * - Focus management maintained when toggling collapsed state\n *\n * ### Notes\n * - Must be direct child of eui-page-columns component\n * - Supports automatic collapse based on container width or mobile breakpoint\n * - Use content projection directives for custom header, body, and footer sections\n * - Collapse state can be controlled programmatically or by user interaction\n */\n@Component({\n    selector: 'eui-page-column',\n    templateUrl: './eui-page-column.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        NgTemplateOutlet,\n        CdkScrollable,\n        AsyncPipe,\n        ...EUI_ICON,\n        ...EUI_BUTTON,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSizeS',\n                'euiSizeM',\n                'euiSizeL',\n                'euiSizeXL',\n                'euiSize2XL',\n                'euiSize3XL',\n                'euiSize4XL',\n                'euiSize5XL',\n                'euiSize6XL',\n                'euiSizeVariant',\n                'euiHighlighted',\n            ],\n        },\n    ],\n})\nexport class EuiPageColumnComponent implements OnInit, OnDestroy {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            this.isCollapsed ? 'eui-page-column eui-page-column--collapsed' : this.baseStatesDirective.getCssClasses('eui-page-column'),\n            this.isCollapsedHidden && this.isCollapsed ? 'eui-page-column--collapsed-hidden' : '',\n            this.isCollapsedWithIcons ? 'eui-page-column__header--with-icons' : '',\n            this.isHighlighted ? 'eui-page-column--highlighted' : '',\n            this.isActive ? 'eui-page-column--active' : '',\n            this.hasSidebarMenu ? 'eui-page-column--has-sidebar-menu' : '',\n            this.isHeaderBodyShrinked ? 'eui-page-column__header--shrinked' : '',\n            this.hasPreventMobileRendering ? 'eui-page-column--prevent-mobile-rendering' : '',\n            this.hasSubColumns ? 'eui-page-column--has-sub-columns' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * Primary heading text displayed in the column header.\n     * Serves as the title for the column content.\n     */\n    @Input() label;\n    /**\n     * Secondary descriptive text displayed in the column header.\n     * Provides additional context about the column content.\n     */\n    @Input() subLabel;\n    /**\n     * Container width threshold in pixels for automatic column collapse.\n     * When parent container width falls below this value, column automatically collapses.\n     * Only effective when isAutocloseOnContainerResize is true.\n     * @default null\n     */\n    @Input() autocloseContainerWidth: number = null;\n    /**\n     * Accessible label for the expand button when column is collapsed.\n     * Automatically generated from label if not provided.\n     */\n    @Input() expandAriaLabel: string;\n    /**\n     * Accessible label for the collapse button when column is expanded.\n     * Automatically generated from label if not provided.\n     */\n    @Input() collapseAriaLabel: string;\n\n    /**\n     * Enables expand/collapse functionality for the column.\n     * Adds a toggle button to show or hide column content.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsible = false;\n    /**\n     * Controls the collapsed state of the column.\n     * When true, minimizes column width and hides content; when false, displays full column.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsed = false;\n    /**\n     * Completely hides the column when collapsed instead of showing a minimal collapsed state.\n     * Only effective when isCollapsed is true.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsedHidden = false;\n    /**\n     * Positions the collapse button on the right side of the column header.\n     * By default, collapse button appears on the left.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isRightCollapsible = false;\n    /**\n     * Applies highlighted visual styling to emphasize the column.\n     * Adds distinct background or border treatment.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHighlighted = false;\n    /**\n     * Displays icons in the collapsed column state for visual identification.\n     * Provides visual cues when column is minimized.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsedWithIcons = false;\n    /**\n     * Applies styling specific to columns containing sidebar navigation menus.\n     * Adjusts spacing and layout for menu-based columns.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasSidebarMenu = false;\n    /**\n     * Enables shrinkable behavior for the column header body section.\n     * Allows header to reduce in size based on scroll or content state.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasHeaderBodyShrinkable = false;\n    /**\n     * Enables automatic column collapse when parent container width changes.\n     * Works in conjunction with autocloseContainerWidth threshold.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isAutocloseOnContainerResize = false;\n    /**\n     * Automatically collapses the column when viewport enters mobile breakpoint.\n     * Provides responsive behavior for smaller screens.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isAutocloseOnMobile = false;\n    /**\n     * Indicates the column contains nested sub-columns.\n     * Applies appropriate styling for hierarchical column structures.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasSubColumns = false;\n\n    /**\n     * Emitted when the column's collapsed state changes via user interaction or automatic triggers.\n     * Payload: boolean indicating the new collapsed state (true when collapsed, false when expanded).\n     */\n    @Output() collapse = new EventEmitter();\n    /**\n     * Emitted when the column header's collapsed state changes.\n     * Payload: boolean indicating the header collapse state.\n     */\n    @Output() headerCollapse = new EventEmitter();\n    isActive = false;\n\n    isHeaderBodyShrinked = false;\n\n    hasPreventMobileRendering = false;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderBodyContentDirective))\n    customHeaderBodyContent: QueryList<EuiPageColumnHeaderBodyContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderLeftContentDirective))\n    customHeaderLeftContent: QueryList<EuiPageColumnHeaderLeftContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderRightContentDirective))\n    customHeaderRightContent: QueryList<EuiPageColumnHeaderRightContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnHeaderCollapsedContentDirective))\n    customHeaderCollapsedContent: QueryList<EuiPageColumnHeaderCollapsedContentDirective>;\n\n    @ContentChild(forwardRef(() => EuiPageColumnFooterContentDirective))\n    customFooterContent: QueryList<EuiPageColumnFooterContentDirective>;\n\n    currentOffset = 0;\n\n    previousOffset = 0;\n    treshHold = 50;\n    asService = inject(EuiAppShellService);\n    protected baseStatesDirective = inject(BaseStatesDirective);\n    private pageColumnsParent: EuiPageColumnsComponent = inject(EuiPageColumnsComponent, { host: true, optional: true })!;\n    private destroy$ = new Subject<boolean>();\n\n    ngOnInit(): void {\n        // this.baseStatesDirective.euiSizeS = false; // Bypass size default\n        if (this.pageColumnsParent && this.isAutocloseOnContainerResize && this.autocloseContainerWidth) {\n            this.pageColumnsParent.width.pipe(debounceTime(100), takeUntil(this.destroy$)).subscribe((parentWidth: number) => {\n                if (parentWidth <= this.autocloseContainerWidth) {\n                    this.isCollapsed = true;\n                    this.collapse.emit(this.isCollapsed);\n                }\n            });\n        }\n\n        if (this.pageColumnsParent && this.pageColumnsParent.hasPreventMobileRendering) {\n            this.hasPreventMobileRendering = this.pageColumnsParent.hasPreventMobileRendering;\n        }\n\n        if (this.isAutocloseOnMobile) {\n            this.asService.breakpoints$.pipe(takeUntil(this.destroy$)).subscribe((bkps) => {\n                if (bkps.isMobile) {\n                    this.isCollapsed = true;\n                }\n            });\n        }\n\n        this.expandAriaLabel = `Expand ${this.label}`;\n        this.collapseAriaLabel = `Collapse ${this.label}`;\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    public onToggle(): void {\n        this.isCollapsed = !this.isCollapsed;\n        this.collapse.emit(this.isCollapsed);\n    }\n}\n\n/**\n * @description\n * Directive for projecting custom content into the column header body area.\n * Used to add custom header content between left and right sections.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-body>\n *   <eui-search-bar placeholder=\"Search...\"></eui-search-bar>\n * </eui-page-column-header-body>\n * ```\n */\n/* eslint-disable */\n@Directive({ selector: 'eui-page-column-header-body' })\nexport class EuiPageColumnHeaderBodyContentDirective {}\n/**\n * @description\n * Directive for projecting custom content into the left side of the column header.\n * Used to add leading content or controls in the header.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-left-content>\n *   <eui-icon icon=\"filter\"></eui-icon>\n * </eui-page-column-header-left-content>\n * ```\n */\n@Directive({ selector: 'eui-page-column-header-left-content' })\nexport class EuiPageColumnHeaderLeftContentDirective {}\n/**\n * @description\n * Directive for projecting custom content into the right side of the column header.\n * Used to add trailing content or controls in the header.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-right-content>\n *   <button euiButton euiSecondary>Actions</button>\n * </eui-page-column-header-right-content>\n * ```\n */\n@Directive({ selector: 'eui-page-column-header-right-content' })\nexport class EuiPageColumnHeaderRightContentDirective {}\n/**\n * @description\n * Directive for projecting custom content displayed when the column is in collapsed state.\n * Used to show alternative content in the minimized column view.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-collapsed-content>\n *   <eui-icon icon=\"menu\"></eui-icon>\n * </eui-page-column-header-collapsed-content>\n * ```\n */\n@Directive({ selector: 'eui-page-column-header-collapsed-content' })\nexport class EuiPageColumnHeaderCollapsedContentDirective {}\n/**\n * @description\n * Directive for projecting content into the main body area of the column.\n * Used to define the primary content section of the column.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-body>\n *   <p>Main column content goes here</p>\n * </eui-page-column-body>\n * ```\n */\n@Directive({ selector: 'eui-page-column-body' })\nexport class EuiPageColumnBodyContentDirective {}\n/**\n * @description\n * Directive for projecting content into the footer area of the column.\n * Used to add footer content or actions at the bottom of the column.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-footer>\n *   <button euiButton euiPrimary>Apply Filters</button>\n * </eui-page-column-footer>\n * ```\n */\n@Directive({ selector: 'eui-page-column-footer' })\nexport class EuiPageColumnFooterContentDirective {}\n/* eslint-enable */\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 116
                    }
                }
            },
            "templateData": "@if ((label || subLabel || customHeaderLeftContent || customHeaderRightContent || isCollapsible) && !hasSubColumns) {\n\n    <div class=\"eui-page-column__header\" [class.eui-page-column__header--with-icons]=\"isCollapsedWithIcons\">\n        @if (!customHeaderLeftContent) {\n            <div class=\"eui-page-column__header-left-content\">\n                @if (label) {\n                    <div class=\"eui-page-column__header-left-content-label\">\n                        @if (customHeaderCollapsedContent) {\n                            <ng-content select=\"eui-page-column-header-collapsed-content\"></ng-content>\n                        }\n                        @if (!isCollapsedWithIcons) {\n                            {{ label }}\n                        }\n                    </div>\n                }\n                @if (subLabel) {\n                    <div class=\"eui-page-column__header-left-content-sub-label\">\n                        {{ subLabel }}\n                    </div>\n                }\n            </div>\n\n        } @else {\n            <div class=\"eui-page-column__header-left-content\">\n                <ng-content select=\"eui-page-column-header-left-content\"></ng-content>\n            </div>\n        }\n\n        <div class=\"eui-page-column__header-right-content\">\n            @if (customHeaderRightContent) {\n                <span class=\"eui-page-column__header-right-content-body\">\n                    <ng-content select=\"eui-page-column-header-right-content\"></ng-content>\n                </span>\n            }\n\n            @if (isCollapsible) {\n                <button euiButton euiBasicButton euiSecondary euiRounded euiIconButton euiSizeS type=\"button\"\n                    (click)=\"onToggle()\"\n                    [attr.aria-label]=\"isCollapsed ? expandAriaLabel : collapseAriaLabel\"\n                    class=\"eui-page-column__header-toggle\">\n\n                    @if (isCollapsed) {\n                        @if ((asService.state$ | async).breakpoints.isMobile && !hasPreventMobileRendering) {\n                            <eui-icon-svg icon=\"eui-chevron-down\"></eui-icon-svg>\n                        } @else {\n                            @if (isRightCollapsible) {\n                                <eui-icon-svg icon=\"eui-chevron-left\"></eui-icon-svg>\n                            } @else {\n                                <eui-icon-svg icon=\"eui-chevron-right\"></eui-icon-svg>\n                            }\n                        }\n                    } @else {\n                        @if ((asService.state$ | async).breakpoints.isMobile && !hasPreventMobileRendering) {\n                            <eui-icon-svg icon=\"eui-chevron-up\"></eui-icon-svg>\n                        } @else {\n                            @if (isRightCollapsible) {\n                                <eui-icon-svg icon=\"eui-chevron-right\"></eui-icon-svg>\n                            } @else {\n                                <eui-icon-svg icon=\"eui-chevron-left\"></eui-icon-svg>\n                            }\n                        }\n                    }\n                </button>\n            }\n        </div>\n    </div>\n}\n\n<!-- On new line to not interfere with expand/collapse & custom right content -->\n@if (customHeaderBodyContent) {\n    <div class=\"eui-page-column__header-left-content-body\">\n        <ng-content select=\"eui-page-column-header-body\"></ng-content>\n    </div>\n}\n\n<div class=\"eui-page-column__body\"\n    tabindex=\"0\"\n    [class.eui-page-column--collapsed-with-icons]=\"isCollapsedWithIcons\" \n    [class.eui-page-column--has-sub-columns]=\"hasSubColumns\"\n    cdkScrollable>\n    <ng-content *ngTemplateOutlet=\"body\"></ng-content>\n</div>\n\n@if (customFooterContent) {\n    <div class=\"eui-page-column__footer\" [class.eui-page-column__footer--highlighted]=\"isHighlighted\">\n        <ng-content select=\"eui-page-column-footer\"></ng-content>\n    </div>\n}\n\n<ng-template #body>\n    <ng-content select=\"eui-page-column-body\" />\n</ng-template>\n"
        },
        {
            "name": "EuiPageColumnFooter",
            "id": "component-EuiPageColumnFooter-8bfbfcd836c7c5eb173fb2436a72f7dc216d8a7be70a87c651158a3ac0e5fc989874565018455902619b83fc737158b22a6a31936ee3383e8a09f9d768c2871c",
            "file": "packages/components/eui-page-v2/eui-page-columns/eui-page-column-footer.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-column-footer",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-page-column-footer'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 25,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-page-column-footer'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 25,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Footer container for page columns that displays actions or information at the bottom of the column.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-column-footer&gt;\n  &lt;button euiButton&gt;Apply&lt;/button&gt;\n&lt;/eui-page-column-footer&gt;</code></pre></div><h3>Notes</h3>\n<ul>\n<li>Use within eui-page-column for column-level actions</li>\n<li>Typically contains buttons or status information</li>\n</ul>\n",
            "rawdescription": "\n\nFooter container for page columns that displays actions or information at the bottom of the column.\n\n```html\n<eui-page-column-footer>\n  <button euiButton>Apply</button>\n</eui-page-column-footer>\n```\n\n### Notes\n- Use within eui-page-column for column-level actions\n- Typically contains buttons or status information\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Footer container for page columns that displays actions or information at the bottom of the column.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-footer>\n *   <button euiButton>Apply</button>\n * </eui-page-column-footer>\n * ```\n *\n * ### Notes\n * - Use within eui-page-column for column-level actions\n * - Typically contains buttons or status information\n */\n@Component({\n    selector: 'eui-page-column-footer',\n    styleUrl: './eui-page-column-footer.scss',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiPageColumnFooter {\n    @HostBinding('class') string = 'eui-page-column-footer';\n}\n",
            "styleUrl": "./eui-page-column-footer.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiPageColumnHeader",
            "id": "component-EuiPageColumnHeader-0125cf6849543b4b66475f83ba84456c7453857ce3a6e42c3654819f1edd89d98657f0c752103a32b879a56350d0c6f9e32594f6bb395941e6787b6b5d142104",
            "file": "packages/components/eui-page-v2/eui-page-columns/eui-page-column-header.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-column-header",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-page-column-header.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "collapseAriaLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 40,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "expandAriaLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 39,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "pageColumnParent",
                    "defaultValue": "inject(EuiPageColumn, { host: true, optional: true })!",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiPageColumn",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 42,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "string",
                    "defaultValue": "'eui-page-column-header'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 37,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onToggle",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 44,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-page-column-header'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 37,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "<p>Header container for page columns with collapse/expand functionality.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-column-header&gt;\n  &lt;eui-page-column-header-label&gt;Filters&lt;/eui-page-column-header-label&gt;\n  &lt;eui-page-column-header-sub-label&gt;Active filters: 3&lt;/eui-page-column-header-sub-label&gt;\n&lt;/eui-page-column-header&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Collapse button has descriptive aria-labels</li>\n<li>Keyboard accessible with Enter and Space</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Automatically integrates with parent eui-page-column collapse state</li>\n<li>Use sub-components for structured header content</li>\n</ul>\n",
            "rawdescription": "\n\nHeader container for page columns with collapse/expand functionality.\n\n```html\n<eui-page-column-header>\n  <eui-page-column-header-label>Filters</eui-page-column-header-label>\n  <eui-page-column-header-sub-label>Active filters: 3</eui-page-column-header-sub-label>\n</eui-page-column-header>\n```\n\n### Accessibility\n- Collapse button has descriptive aria-labels\n- Keyboard accessible with Enter and Space\n\n### Notes\n- Automatically integrates with parent eui-page-column collapse state\n- Use sub-components for structured header content\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding, inject, Input, OnInit } from '@angular/core';\nimport { EuiPageColumn } from './eui-page-column';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\n/**\n * @description\n * Header container for page columns with collapse/expand functionality.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header>\n *   <eui-page-column-header-label>Filters</eui-page-column-header-label>\n *   <eui-page-column-header-sub-label>Active filters: 3</eui-page-column-header-sub-label>\n * </eui-page-column-header>\n * ```\n *\n * ### Accessibility\n * - Collapse button has descriptive aria-labels\n * - Keyboard accessible with Enter and Space\n *\n * ### Notes\n * - Automatically integrates with parent eui-page-column collapse state\n * - Use sub-components for structured header content\n */\n@Component({\n    selector: 'eui-page-column-header',\n    styleUrl: './eui-page-column-header.scss',\n    templateUrl: './eui-page-column-header.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        ...EUI_BUTTON,\n        ...EUI_ICON,\n    ],\n})\nexport class EuiPageColumnHeader {\n    @HostBinding('class') string = 'eui-page-column-header';\n\n    @Input() expandAriaLabel: string;\n    @Input() collapseAriaLabel: string;\n\n    protected pageColumnParent: EuiPageColumn = inject(EuiPageColumn, { host: true, optional: true })!;\n\n    public onToggle(): void {\n        this.pageColumnParent.isCollapsed = !this.pageColumnParent.isCollapsed;\n        this.pageColumnParent.collapse.emit(this.pageColumnParent.isCollapsed);\n    }    \n}\n",
            "styleUrl": "./eui-page-column-header.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "<div class=\"eui-page-column-header__start-wrapper\">\n    <ng-content select=\"eui-page-column-header-start\"/>\n    \n    <div class=\"eui-page-column-header__label-wrapper\">\n        <ng-content select=\"eui-page-column-header-label\"/>\n        <ng-content select=\"eui-page-column-header-sub-label\"/>\n    </div>\n</div>\n\n<div class=\"eui-page-column-header__end-wrapper\">\n    <ng-content select=\"eui-page-column-header-end\"/>\n\n    @if (pageColumnParent.isCollapsible) {\n        <button euiButton euiBasicButton euiSecondary euiRounded euiIconButton euiSizeS type=\"button\"\n            (click)=\"onToggle()\"\n            [attr.aria-label]=\"pageColumnParent.isCollapsed ? expandAriaLabel : collapseAriaLabel\"\n            class=\"eui-page-column__header-toggle\">\n    \n            @if (pageColumnParent.isCollapsed) {\n                <!-- @if ((asService.state$ | async).breakpoints.isMobile && !hasPreventMobileRendering) { -->\n                    <!-- <eui-icon-svg icon=\"eui-chevron-down\"></eui-icon-svg> -->\n                <!-- } @else { -->\n                    @if (pageColumnParent.isRightCollapsible) {\n                        <eui-icon-svg icon=\"eui-chevron-left\"></eui-icon-svg>\n                    } @else {\n                        <eui-icon-svg icon=\"eui-chevron-right\"></eui-icon-svg>\n                    }\n                <!-- } -->\n            } @else {\n                <!-- @if ((asService.state$ | async).breakpoints.isMobile && !hasPreventMobileRendering) { -->\n                    <!-- <eui-icon-svg icon=\"eui-chevron-up\"></eui-icon-svg> -->\n                <!-- } @else { -->\n                    @if (pageColumnParent.isRightCollapsible) {\n                        <eui-icon-svg icon=\"eui-chevron-right\"></eui-icon-svg>\n                    } @else {\n                        <eui-icon-svg icon=\"eui-chevron-left\"></eui-icon-svg>\n                    }\n                <!-- } -->\n            }\n        </button>\n    }\n</div>\n\n"
        },
        {
            "name": "EuiPageColumnHeaderBody",
            "id": "component-EuiPageColumnHeaderBody-9123f00dce4f6e1ae2f7d40ca9007b2a19de08472c1c20e6f9732fd3d6cd0b7f5d1ea749b76e52c560cbafba13d0a4db297af834183df987387f8feb9bcbc072",
            "file": "packages/components/eui-page-v2/eui-page-columns/eui-page-column-header-body.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-column-header-body",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-page-column-header-body'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 21,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-page-column-header-body'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 21,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Body content area within the column header for additional header content.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-column-header-body&gt;\n  &lt;eui-badge&gt;New&lt;/eui-badge&gt;\n&lt;/eui-page-column-header-body&gt;</code></pre></div>",
            "rawdescription": "\n\nBody content area within the column header for additional header content.\n\n```html\n<eui-page-column-header-body>\n  <eui-badge>New</eui-badge>\n</eui-page-column-header-body>\n```\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Body content area within the column header for additional header content.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-body>\n *   <eui-badge>New</eui-badge>\n * </eui-page-column-header-body>\n * ```\n */\n@Component({\n    selector: 'eui-page-column-header-body',\n    styleUrl: './eui-page-column-header-body.scss',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiPageColumnHeaderBody {\n    @HostBinding('class') string = 'eui-page-column-header-body';\n}\n",
            "styleUrl": "./eui-page-column-header-body.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiPageColumnHeaderEnd",
            "id": "component-EuiPageColumnHeaderEnd-e92910740de4415adfa14b71be810245a2ac844d7075af3d9c602c6a1b8b9082df92a618e7869e7f2ba38e4583656da76170e8f14b5968445e6043f6c9c3d9ec",
            "file": "packages/components/eui-page-v2/eui-page-columns/eui-page-column-header-end.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-column-header-end",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-page-column-header-end'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 21,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-page-column-header-end'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 21,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Trailing content area in the column header for actions or controls.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-column-header-end&gt;\n  &lt;button euiIconButton icon=&quot;settings&quot;&gt;&lt;/button&gt;\n&lt;/eui-page-column-header-end&gt;</code></pre></div>",
            "rawdescription": "\n\nTrailing content area in the column header for actions or controls.\n\n```html\n<eui-page-column-header-end>\n  <button euiIconButton icon=\"settings\"></button>\n</eui-page-column-header-end>\n```\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Trailing content area in the column header for actions or controls.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-end>\n *   <button euiIconButton icon=\"settings\"></button>\n * </eui-page-column-header-end>\n * ```\n */\n@Component({\n    selector: 'eui-page-column-header-end',\n    styleUrl: './eui-page-column-header-end.scss',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiPageColumnHeaderEnd {\n    @HostBinding('class') string = 'eui-page-column-header-end';\n}\n",
            "styleUrl": "./eui-page-column-header-end.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiPageColumnHeaderFooter",
            "id": "component-EuiPageColumnHeaderFooter-9beb62da3db9660926d6f7ac66e1a64c99ce37f4a2a140a242ec569bb0364cedc95cf47825731d65d5c876c2136ea4549a6117817dbe63da75974998e53167f0",
            "file": "packages/components/eui-page-v2/eui-page-columns/eui-page-column-header-footer.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-column-header-footer",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-page-column-header-footer'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 21,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-page-column-header-footer'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 21,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Footer area within the column header for additional information.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-column-header-footer&gt;\n  &lt;small&gt;Last updated: Today&lt;/small&gt;\n&lt;/eui-page-column-header-footer&gt;</code></pre></div>",
            "rawdescription": "\n\nFooter area within the column header for additional information.\n\n```html\n<eui-page-column-header-footer>\n  <small>Last updated: Today</small>\n</eui-page-column-header-footer>\n```\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Footer area within the column header for additional information.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-footer>\n *   <small>Last updated: Today</small>\n * </eui-page-column-header-footer>\n * ```\n */\n@Component({\n    selector: 'eui-page-column-header-footer',\n    styleUrl: './eui-page-column-header-footer.scss',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiPageColumnHeaderFooter {\n    @HostBinding('class') string = 'eui-page-column-header-footer';\n}\n",
            "styleUrl": "./eui-page-column-header-footer.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiPageColumnHeaderLabel",
            "id": "component-EuiPageColumnHeaderLabel-cc9ea7fe36d08be2ff7edf5aaacf475e040df8d13e418f9b7e6a44116188d8a60b88c4cb0c490c2e1542743cd7a737166de7670016646ef9258d3b5adad60cd2",
            "file": "packages/components/eui-page-v2/eui-page-columns/eui-page-column-header-label.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-column-header-label",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-page-column-header-label'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 19,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-page-column-header-label'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 19,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Primary label text for the column header.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-column-header-label&gt;Navigation&lt;/eui-page-column-header-label&gt;</code></pre></div>",
            "rawdescription": "\n\nPrimary label text for the column header.\n\n```html\n<eui-page-column-header-label>Navigation</eui-page-column-header-label>\n```\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Primary label text for the column header.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-label>Navigation</eui-page-column-header-label>\n * ```\n */\n@Component({\n    selector: 'eui-page-column-header-label',\n    styleUrl: './eui-page-column-header-label.scss',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiPageColumnHeaderLabel {\n    @HostBinding('class') string = 'eui-page-column-header-label';\n}\n",
            "styleUrl": "./eui-page-column-header-label.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiPageColumnHeaderStart",
            "id": "component-EuiPageColumnHeaderStart-169b6af4ca4731dbfeb9a41d24c9eb33d5eef760c9c6e085639f356ec7c2f2442633d79cfb85498d9970d5bf0b7ddac7f47affa30f844db9e407d3a6eb86ce1f",
            "file": "packages/components/eui-page-v2/eui-page-columns/eui-page-column-header-start.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-column-header-start",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-page-column-header-start'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 21,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-page-column-header-start'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 21,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Leading content area in the column header for icons or controls.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-column-header-start&gt;\n  &lt;eui-icon-svg icon=&quot;filter&quot;&gt;&lt;/eui-icon-svg&gt;\n&lt;/eui-page-column-header-start&gt;</code></pre></div>",
            "rawdescription": "\n\nLeading content area in the column header for icons or controls.\n\n```html\n<eui-page-column-header-start>\n  <eui-icon-svg icon=\"filter\"></eui-icon-svg>\n</eui-page-column-header-start>\n```\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Leading content area in the column header for icons or controls.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-start>\n *   <eui-icon-svg icon=\"filter\"></eui-icon-svg>\n * </eui-page-column-header-start>\n * ```\n */\n@Component({\n    selector: 'eui-page-column-header-start',\n    styleUrl: './eui-page-column-header-start.scss',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiPageColumnHeaderStart {\n    @HostBinding('class') string = 'eui-page-column-header-start';\n}\n",
            "styleUrl": "./eui-page-column-header-start.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiPageColumnHeaderSubLabel",
            "id": "component-EuiPageColumnHeaderSubLabel-276708bea0c5f32b8534820e4be2114f3adf56079ac45b792a5401372e4653a5953f99a1241c90014b48ac55e577ab016cae70bb62183768a12c5ccf762cc306",
            "file": "packages/components/eui-page-v2/eui-page-columns/eui-page-column-header-sub-label.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-column-header-sub-label",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-page-column-header-sub-label'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 19,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-page-column-header-sub-label'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 19,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Secondary descriptive text for the column header.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-column-header-sub-label&gt;5 items&lt;/eui-page-column-header-sub-label&gt;</code></pre></div>",
            "rawdescription": "\n\nSecondary descriptive text for the column header.\n\n```html\n<eui-page-column-header-sub-label>5 items</eui-page-column-header-sub-label>\n```\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Secondary descriptive text for the column header.\n *\n * @usageNotes\n * ```html\n * <eui-page-column-header-sub-label>5 items</eui-page-column-header-sub-label>\n * ```\n */\n@Component({\n    selector: 'eui-page-column-header-sub-label',\n    styleUrl: './eui-page-column-header-sub-label.scss',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiPageColumnHeaderSubLabel {\n    @HostBinding('class') string = 'eui-page-column-header-sub-label';\n}\n",
            "styleUrl": "./eui-page-column-header-sub-label.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiPageColumns",
            "id": "component-EuiPageColumns-c1a8d137647f950270503309c7de6f8ef551e5305cbc5816ffc7f26d9ce352b4c195a0debfe6b47c6b34d8e71e8beb60455e6750e7d75d4b7c7a8542131ed249",
            "file": "packages/components/eui-page-v2/eui-page-columns/eui-page-columns.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-columns",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "hasPreventMobileRendering",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 53,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "width",
                    "defaultValue": "new Subject",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 55,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 70,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 61,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 46,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Container for multiple page columns that provides responsive column layouts with resize observation.\nAutomatically monitors width changes to support responsive column behavior.</p>\n<h3>Basic usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-columns&gt;\n  &lt;eui-page-column label=&quot;Navigation&quot;&gt;Nav content&lt;/eui-page-column&gt;\n  &lt;eui-page-column label=&quot;Main&quot;&gt;Main content&lt;/eui-page-column&gt;\n&lt;/eui-page-columns&gt;</code></pre></div><h3>Prevent mobile rendering</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-columns [hasPreventMobileRendering]=&quot;true&quot;&gt;\n  &lt;eui-page-column&gt;Content&lt;/eui-page-column&gt;\n&lt;/eui-page-columns&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Ensure columns have descriptive labels for screen readers</li>\n<li>Maintain logical reading order in column sequence</li>\n<li>Test keyboard navigation between columns</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Uses ResizeObserver to track container width changes</li>\n<li>Child columns can respond to width changes for auto-collapse behavior</li>\n<li><code>hasPreventMobileRendering</code> disables mobile-specific column stacking</li>\n</ul>\n",
            "rawdescription": "\n\nContainer for multiple page columns that provides responsive column layouts with resize observation.\nAutomatically monitors width changes to support responsive column behavior.\n\n### Basic usage\n```html\n<eui-page-columns>\n  <eui-page-column label=\"Navigation\">Nav content</eui-page-column>\n  <eui-page-column label=\"Main\">Main content</eui-page-column>\n</eui-page-columns>\n```\n\n### Prevent mobile rendering\n```html\n<eui-page-columns [hasPreventMobileRendering]=\"true\">\n  <eui-page-column>Content</eui-page-column>\n</eui-page-columns>\n```\n\n### Accessibility\n- Ensure columns have descriptive labels for screen readers\n- Maintain logical reading order in column sequence\n- Test keyboard navigation between columns\n\n### Notes\n- Uses ResizeObserver to track container width changes\n- Child columns can respond to width changes for auto-collapse behavior\n- `hasPreventMobileRendering` disables mobile-specific column stacking\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, NgZone, OnDestroy, OnInit, ViewEncapsulation, booleanAttribute, inject } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n// eslint-disable-next-line\ndeclare var ResizeObserver;\n\n/**\n * @description\n * Container for multiple page columns that provides responsive column layouts with resize observation.\n * Automatically monitors width changes to support responsive column behavior.\n *\n * @usageNotes\n * ### Basic usage\n * ```html\n * <eui-page-columns>\n *   <eui-page-column label=\"Navigation\">Nav content</eui-page-column>\n *   <eui-page-column label=\"Main\">Main content</eui-page-column>\n * </eui-page-columns>\n * ```\n *\n * ### Prevent mobile rendering\n * ```html\n * <eui-page-columns [hasPreventMobileRendering]=\"true\">\n *   <eui-page-column>Content</eui-page-column>\n * </eui-page-columns>\n * ```\n *\n * ### Accessibility\n * - Ensure columns have descriptive labels for screen readers\n * - Maintain logical reading order in column sequence\n * - Test keyboard navigation between columns\n *\n * ### Notes\n * - Uses ResizeObserver to track container width changes\n * - Child columns can respond to width changes for auto-collapse behavior\n * - `hasPreventMobileRendering` disables mobile-specific column stacking\n */\n@Component({\n    selector: 'eui-page-columns',\n    template: '<ng-content/>',\n    styleUrl: './eui-page-columns.scss',\n    changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class EuiPageColumns implements OnInit, OnDestroy {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-page-columns',\n            this.hasPreventMobileRendering ? 'eui-page-columns--prevent-mobile-rendering': '',\n        ].join(' ').trim();\n    }\n\n    @Input({ transform: booleanAttribute }) hasPreventMobileRendering = false;\n\n    public width = new Subject;\n\n    private observer;\n    private host = inject(ElementRef);\n    private zone = inject(NgZone);\n\n    ngOnInit():void {\n      this.observer = new ResizeObserver(entries => {\n        this.zone.run(() => {\n          this.width.next(entries[0].contentRect.width);\n        });\n      });\n      this.observer.observe(this.host.nativeElement);\n    }\n\n    ngOnDestroy():void {\n      this.observer.unobserve(this.host.nativeElement);\n    }\n}\n",
            "styleUrl": "./eui-page-columns.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 46
                    }
                }
            }
        },
        {
            "name": "EuiPageColumnsComponent",
            "id": "component-EuiPageColumnsComponent-4b8816d0c9cb0c86900cb2b48a2d9813b455645c1910826949346c5814ffd4ea937224462a2612921b9245873f187822c520ae7329edd7014fa0577f4f142cf9",
            "file": "packages/components/eui-page/components/eui-page-columns/eui-page-columns.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-columns",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "hasPreventMobileRendering",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2625,
                            "end": 2645,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2626,
                                "end": 2633,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nPrevents automatic mobile responsive rendering of columns.\nWhen true, maintains desktop column layout on mobile devices instead of stacking.\nUseful for layouts that should remain columnar regardless of viewport size.\n",
                    "description": "<p>Prevents automatic mobile responsive rendering of columns.\nWhen true, maintains desktop column layout on mobile devices instead of stacking.\nUseful for layouts that should remain columnar regardless of viewport size.</p>\n",
                    "line": 70,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "width",
                    "defaultValue": "new Subject",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 72,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 87,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 78,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 57,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Column layout container component for eui-page that enables multi-column page structures.\nProvides responsive column-based layouts with automatic width tracking via ResizeObserver.\nSupports mobile rendering control to maintain or override responsive column behavior.\nEmits width changes through a reactive Subject for dynamic layout adjustments.\nMust be used as a direct child of eui-page to enable column-based page layouts.</p>\n<h3>Basic two-column layout</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page&gt;\n  &lt;eui-page-columns&gt;\n    &lt;eui-page-column label=&quot;Sidebar&quot;&gt;\n      &lt;eui-page-column-body&gt;Sidebar content&lt;/eui-page-column-body&gt;\n    &lt;/eui-page-column&gt;\n    &lt;eui-page-column label=&quot;Main&quot;&gt;\n      &lt;eui-page-column-body&gt;Main content&lt;/eui-page-column-body&gt;\n    &lt;/eui-page-column&gt;\n  &lt;/eui-page-columns&gt;\n&lt;/eui-page&gt;</code></pre></div><h3>Prevent mobile stacking</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-columns [hasPreventMobileRendering]=&quot;true&quot;&gt;\n  &lt;eui-page-column label=&quot;Left&quot;&gt;Content&lt;/eui-page-column&gt;\n  &lt;eui-page-column label=&quot;Right&quot;&gt;Content&lt;/eui-page-column&gt;\n&lt;/eui-page-columns&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Columns maintain logical reading order for screen readers</li>\n<li>Use semantic HTML within columns for proper document structure</li>\n<li>Ensure keyboard navigation flows naturally through columns</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be direct child of eui-page component</li>\n<li>Automatically tracks container width for responsive child columns</li>\n<li>By default, columns stack vertically on mobile devices</li>\n<li>Use hasPreventMobileRendering to maintain column layout on all screen sizes</li>\n</ul>\n",
            "rawdescription": "\n\nColumn layout container component for eui-page that enables multi-column page structures.\nProvides responsive column-based layouts with automatic width tracking via ResizeObserver.\nSupports mobile rendering control to maintain or override responsive column behavior.\nEmits width changes through a reactive Subject for dynamic layout adjustments.\nMust be used as a direct child of eui-page to enable column-based page layouts.\n\n### Basic two-column layout\n```html\n<eui-page>\n  <eui-page-columns>\n    <eui-page-column label=\"Sidebar\">\n      <eui-page-column-body>Sidebar content</eui-page-column-body>\n    </eui-page-column>\n    <eui-page-column label=\"Main\">\n      <eui-page-column-body>Main content</eui-page-column-body>\n    </eui-page-column>\n  </eui-page-columns>\n</eui-page>\n```\n\n### Prevent mobile stacking\n```html\n<eui-page-columns [hasPreventMobileRendering]=\"true\">\n  <eui-page-column label=\"Left\">Content</eui-page-column>\n  <eui-page-column label=\"Right\">Content</eui-page-column>\n</eui-page-columns>\n```\n\n### Accessibility\n- Columns maintain logical reading order for screen readers\n- Use semantic HTML within columns for proper document structure\n- Ensure keyboard navigation flows naturally through columns\n\n### Notes\n- Must be direct child of eui-page component\n- Automatically tracks container width for responsive child columns\n- By default, columns stack vertically on mobile devices\n- Use hasPreventMobileRendering to maintain column layout on all screen sizes\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, NgZone, OnDestroy, OnInit, ViewEncapsulation, booleanAttribute, inject } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n// eslint-disable-next-line\ndeclare var ResizeObserver;\n\n/**\n * @description\n * Column layout container component for eui-page that enables multi-column page structures.\n * Provides responsive column-based layouts with automatic width tracking via ResizeObserver.\n * Supports mobile rendering control to maintain or override responsive column behavior.\n * Emits width changes through a reactive Subject for dynamic layout adjustments.\n * Must be used as a direct child of eui-page to enable column-based page layouts.\n *\n * @usageNotes\n * ### Basic two-column layout\n * ```html\n * <eui-page>\n *   <eui-page-columns>\n *     <eui-page-column label=\"Sidebar\">\n *       <eui-page-column-body>Sidebar content</eui-page-column-body>\n *     </eui-page-column>\n *     <eui-page-column label=\"Main\">\n *       <eui-page-column-body>Main content</eui-page-column-body>\n *     </eui-page-column>\n *   </eui-page-columns>\n * </eui-page>\n * ```\n *\n * ### Prevent mobile stacking\n * ```html\n * <eui-page-columns [hasPreventMobileRendering]=\"true\">\n *   <eui-page-column label=\"Left\">Content</eui-page-column>\n *   <eui-page-column label=\"Right\">Content</eui-page-column>\n * </eui-page-columns>\n * ```\n *\n * ### Accessibility\n * - Columns maintain logical reading order for screen readers\n * - Use semantic HTML within columns for proper document structure\n * - Ensure keyboard navigation flows naturally through columns\n *\n * ### Notes\n * - Must be direct child of eui-page component\n * - Automatically tracks container width for responsive child columns\n * - By default, columns stack vertically on mobile devices\n * - Use hasPreventMobileRendering to maintain column layout on all screen sizes\n */\n@Component({\n    selector: 'eui-page-columns',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiPageColumnsComponent implements OnInit, OnDestroy {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-page-columns',\n            this.hasPreventMobileRendering ? 'eui-page-columns--prevent-mobile-rendering': '',\n        ].join(' ').trim();\n    }\n\n    /**\n     * Prevents automatic mobile responsive rendering of columns.\n     * When true, maintains desktop column layout on mobile devices instead of stacking.\n     * Useful for layouts that should remain columnar regardless of viewport size.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasPreventMobileRendering = false;\n\n    public width = new Subject;\n\n    private observer;\n    private host = inject(ElementRef);\n    private zone = inject(NgZone);\n\n    ngOnInit():void {\n      this.observer = new ResizeObserver(entries => {\n        this.zone.run(() => {\n          this.width.next(entries[0].contentRect.width);\n        });\n      });\n      this.observer.observe(this.host.nativeElement);\n    }\n\n    ngOnDestroy():void {\n      this.observer.unobserve(this.host.nativeElement);\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 57
                    }
                }
            }
        },
        {
            "name": "EuiPageComponent",
            "id": "component-EuiPageComponent-037af10542f0a732c3572c90b0b569d9eaf7defa36c7a5c29657dddb63f1b377f9c2a650d54ded7708bb543ab6c8048fbe5b6ab3a26a88193d8c98f276244408",
            "file": "packages/components/eui-page/eui-page.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page",
            "styleUrls": [
                "./styles/_index.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-page.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "columns",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiPageColumnsComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 56,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "EuiPageColumnsComponent, {static: true}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 52,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Root page layout component that provides the foundational structure for application pages.\nAutomatically detects and adapts styling based on the presence of column-based layouts.\nServes as the top-level container for page content, headers, sidebars, and footers.\nProvides consistent spacing, alignment, and responsive behavior across the application.\nTypically used as the outermost wrapper for each route&#39;s content in the application.</p>\n<h3>Basic page layout</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page&gt;\n  &lt;eui-page-header label=&quot;Page Title&quot;&gt;&lt;/eui-page-header&gt;\n  &lt;eui-page-content&gt;\n    Main content here\n  &lt;/eui-page-content&gt;\n&lt;/eui-page&gt;</code></pre></div><h3>With columns</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page&gt;\n  &lt;eui-page-columns&gt;\n    &lt;eui-page-column label=&quot;Sidebar&quot;&gt;Sidebar content&lt;/eui-page-column&gt;\n    &lt;eui-page-column label=&quot;Main&quot;&gt;Main content&lt;/eui-page-column&gt;\n  &lt;/eui-page-columns&gt;\n&lt;/eui-page&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use semantic HTML within page sections for proper document structure</li>\n<li>Ensure proper heading hierarchy (h1, h2, h3) within page content</li>\n<li>Landmark regions help screen reader users navigate page sections</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Automatically applies column-specific styling when eui-page-columns is present</li>\n<li>Provides consistent spacing and layout across all application pages</li>\n<li>Works with both v1 and v2 page component variants</li>\n</ul>\n",
            "rawdescription": "\n\nRoot page layout component that provides the foundational structure for application pages.\nAutomatically detects and adapts styling based on the presence of column-based layouts.\nServes as the top-level container for page content, headers, sidebars, and footers.\nProvides consistent spacing, alignment, and responsive behavior across the application.\nTypically used as the outermost wrapper for each route's content in the application.\n\n### Basic page layout\n```html\n<eui-page>\n  <eui-page-header label=\"Page Title\"></eui-page-header>\n  <eui-page-content>\n    Main content here\n  </eui-page-content>\n</eui-page>\n```\n\n### With columns\n```html\n<eui-page>\n  <eui-page-columns>\n    <eui-page-column label=\"Sidebar\">Sidebar content</eui-page-column>\n    <eui-page-column label=\"Main\">Main content</eui-page-column>\n  </eui-page-columns>\n</eui-page>\n```\n\n### Accessibility\n- Use semantic HTML within page sections for proper document structure\n- Ensure proper heading hierarchy (h1, h2, h3) within page content\n- Landmark regions help screen reader users navigate page sections\n\n### Notes\n- Automatically applies column-specific styling when eui-page-columns is present\n- Provides consistent spacing and layout across all application pages\n- Works with both v1 and v2 page component variants\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ViewEncapsulation, QueryList, ContentChild, ChangeDetectionStrategy } from '@angular/core';\nimport { EuiPageColumnsComponent } from './components/eui-page-columns/eui-page-columns.component';\n\n/**\n * @description\n * Root page layout component that provides the foundational structure for application pages.\n * Automatically detects and adapts styling based on the presence of column-based layouts.\n * Serves as the top-level container for page content, headers, sidebars, and footers.\n * Provides consistent spacing, alignment, and responsive behavior across the application.\n * Typically used as the outermost wrapper for each route's content in the application.\n *\n * @usageNotes\n * ### Basic page layout\n * ```html\n * <eui-page>\n *   <eui-page-header label=\"Page Title\"></eui-page-header>\n *   <eui-page-content>\n *     Main content here\n *   </eui-page-content>\n * </eui-page>\n * ```\n *\n * ### With columns\n * ```html\n * <eui-page>\n *   <eui-page-columns>\n *     <eui-page-column label=\"Sidebar\">Sidebar content</eui-page-column>\n *     <eui-page-column label=\"Main\">Main content</eui-page-column>\n *   </eui-page-columns>\n * </eui-page>\n * ```\n *\n * ### Accessibility\n * - Use semantic HTML within page sections for proper document structure\n * - Ensure proper heading hierarchy (h1, h2, h3) within page content\n * - Landmark regions help screen reader users navigate page sections\n *\n * ### Notes\n * - Automatically applies column-specific styling when eui-page-columns is present\n * - Provides consistent spacing and layout across all application pages\n * - Works with both v1 and v2 page component variants\n */\n@Component({\n    selector: 'eui-page',\n    templateUrl: './eui-page.component.html',\n    styleUrls: ['./styles/_index.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiPageComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return ['eui-page', this.columns ? 'eui-page--with-columns' : ''].join(' ').trim();\n    }\n\n    @ContentChild(EuiPageColumnsComponent, { static: true }) columns: QueryList<EuiPageColumnsComponent>;\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@forward 'page';\n@forward 'page-with-columns';\n@forward 'page-breadcrumb';\n@forward 'page-header';\n@forward 'page-header.mq';\n@forward 'page-header-common';\n@forward 'page-header-expand-content';\n@forward 'page-content';\n@forward 'page-columns';\n@forward 'page-column';\n@forward 'page-column.mq';\n@forward 'page-column.sizes';\n@forward 'page-column.states';\n@forward 'page-hero-header';\n@forward 'page-footer';\n",
                    "styleUrl": "./styles/_index.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 52
                    }
                }
            },
            "templateData": "<ng-content select=\"eui-page-breadcrumb\" />\n<ng-content select=\"eui-page-top-content\" />\n<ng-content select=\"eui-page-hero-header\" />\n<ng-content select=\"eui-page-header\" />\n<ng-content select=\"eui-page-content\" />\n<ng-content select=\"eui-page-footer\" />\n<ng-content select=\"eui-page-columns\" />\n"
        },
        {
            "name": "EuiPageContent",
            "id": "component-EuiPageContent-5f2415fffbc3d38e9631b48e5be4af6cadb3a04f4c699ff9a66d9ed78287123ad77ae7859462502d7fec2b9cb71f5ac5e2c7b29f141504d9fedf627c28003aa2",
            "file": "packages/components/eui-page-v2/eui-page-content.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-content",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 30,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Main content container for page layouts that holds the primary page content.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-content&gt;\n  &lt;p&gt;Main page content goes here&lt;/p&gt;\n&lt;/eui-page-content&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Consider using role=&quot;main&quot; for primary content area</li>\n<li>Ensure content is keyboard accessible</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Provides consistent padding and spacing for page content</li>\n<li>Use within eui-page for proper layout structure</li>\n</ul>\n",
            "rawdescription": "\n\nMain content container for page layouts that holds the primary page content.\n\n```html\n<eui-page-content>\n  <p>Main page content goes here</p>\n</eui-page-content>\n```\n\n### Accessibility\n- Consider using role=\"main\" for primary content area\n- Ensure content is keyboard accessible\n\n### Notes\n- Provides consistent padding and spacing for page content\n- Use within eui-page for proper layout structure\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Main content container for page layouts that holds the primary page content.\n *\n * @usageNotes\n * ```html\n * <eui-page-content>\n *   <p>Main page content goes here</p>\n * </eui-page-content>\n * ```\n *\n * ### Accessibility\n * - Consider using role=\"main\" for primary content area\n * - Ensure content is keyboard accessible\n *\n * ### Notes\n * - Provides consistent padding and spacing for page content\n * - Use within eui-page for proper layout structure\n */\n@Component({\n    selector: 'eui-page-content',\n    template: '<ng-content/>',\n    styleUrl: './eui-page-content.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiPageContent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return 'eui-page-content';\n    }\n}\n",
            "styleUrl": "./eui-page-content.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 30
                    }
                }
            }
        },
        {
            "name": "EuiPageContentComponent",
            "id": "component-EuiPageContentComponent-2bf8475285bacddb32e47ee64385e846834f43ed120b59d77c682c6e3bb9e352578f90e7678946cf5eb590e96752e4a591722bdb0a7bcbf99843a79313dd9732",
            "file": "packages/components/eui-page/components/eui-page-content/eui-page-content.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-content",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "class",
                    "defaultValue": "'eui-page-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 40,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": ""
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-page-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 40,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Main content area component for eui-page that provides the primary container for page body content.\nServes as the central content region between page header and footer with appropriate spacing and layout.\nApplies consistent styling and responsive behavior for the main content area.\nTypically contains the primary information, forms, tables, or other interactive elements of the page.\nMust be used as a direct child of eui-page to maintain proper layout structure.</p>\n<h3>Basic usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page&gt;\n  &lt;eui-page-header label=&quot;Dashboard&quot;&gt;&lt;/eui-page-header&gt;\n  &lt;eui-page-content&gt;\n    &lt;p&gt;Main page content goes here&lt;/p&gt;\n    &lt;eui-table [data]=&quot;tableData&quot;&gt;&lt;/eui-table&gt;\n  &lt;/eui-page-content&gt;\n&lt;/eui-page&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Acts as the main content landmark for screen readers</li>\n<li>Should contain the primary page content and interactive elements</li>\n<li>Use proper heading hierarchy within content area</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be direct child of eui-page component</li>\n<li>Provides consistent spacing between header and footer</li>\n<li>Automatically adapts to responsive layouts</li>\n</ul>\n",
            "rawdescription": "\n\nMain content area component for eui-page that provides the primary container for page body content.\nServes as the central content region between page header and footer with appropriate spacing and layout.\nApplies consistent styling and responsive behavior for the main content area.\nTypically contains the primary information, forms, tables, or other interactive elements of the page.\nMust be used as a direct child of eui-page to maintain proper layout structure.\n\n### Basic usage\n```html\n<eui-page>\n  <eui-page-header label=\"Dashboard\"></eui-page-header>\n  <eui-page-content>\n    <p>Main page content goes here</p>\n    <eui-table [data]=\"tableData\"></eui-table>\n  </eui-page-content>\n</eui-page>\n```\n\n### Accessibility\n- Acts as the main content landmark for screen readers\n- Should contain the primary page content and interactive elements\n- Use proper heading hierarchy within content area\n\n### Notes\n- Must be direct child of eui-page component\n- Provides consistent spacing between header and footer\n- Automatically adapts to responsive layouts\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n * @description\n * Main content area component for eui-page that provides the primary container for page body content.\n * Serves as the central content region between page header and footer with appropriate spacing and layout.\n * Applies consistent styling and responsive behavior for the main content area.\n * Typically contains the primary information, forms, tables, or other interactive elements of the page.\n * Must be used as a direct child of eui-page to maintain proper layout structure.\n *\n * @usageNotes\n * ### Basic usage\n * ```html\n * <eui-page>\n *   <eui-page-header label=\"Dashboard\"></eui-page-header>\n *   <eui-page-content>\n *     <p>Main page content goes here</p>\n *     <eui-table [data]=\"tableData\"></eui-table>\n *   </eui-page-content>\n * </eui-page>\n * ```\n *\n * ### Accessibility\n * - Acts as the main content landmark for screen readers\n * - Should contain the primary page content and interactive elements\n * - Use proper heading hierarchy within content area\n *\n * ### Notes\n * - Must be direct child of eui-page component\n * - Provides consistent spacing between header and footer\n * - Automatically adapts to responsive layouts\n */\n@Component({\n    selector: 'eui-page-content',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiPageContentComponent {\n    @HostBinding() class = 'eui-page-content';\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiPageFooter",
            "id": "component-EuiPageFooter-f3cf5a3471aacacf984f006fb22befd1f158972ffec9c85547ab0056b054a95b68e3baed0c69777b115159bb4d987c91f7816c966cadee1e2a86ad075ee4b29d",
            "file": "packages/components/eui-page-v2/eui-page-footer.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-footer",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiHighlighted"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-page-footer'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 50,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 51,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 46,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Footer container for page layouts that displays actions or information at the bottom of the page.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-footer&gt;\n  &lt;button euiButton&gt;Save&lt;/button&gt;\n  &lt;button euiButton euiSecondary&gt;Cancel&lt;/button&gt;\n&lt;/eui-page-footer&gt;</code></pre></div><h3>With highlighted state</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-footer euiHighlighted&gt;\n  Footer content\n&lt;/eui-page-footer&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use role=&quot;contentinfo&quot; for page-level footer</li>\n<li>Ensure footer actions are keyboard accessible</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Supports <code>euiHighlighted</code> for visual emphasis</li>\n<li>Typically contains form actions or page-level controls</li>\n</ul>\n",
            "rawdescription": "\n\nFooter container for page layouts that displays actions or information at the bottom of the page.\n\n```html\n<eui-page-footer>\n  <button euiButton>Save</button>\n  <button euiButton euiSecondary>Cancel</button>\n</eui-page-footer>\n```\n\n### With highlighted state\n```html\n<eui-page-footer euiHighlighted>\n  Footer content\n</eui-page-footer>\n```\n\n### Accessibility\n- Use role=\"contentinfo\" for page-level footer\n- Ensure footer actions are keyboard accessible\n\n### Notes\n- Supports `euiHighlighted` for visual emphasis\n- Typically contains form actions or page-level controls\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, Input, ChangeDetectionStrategy, inject } from '@angular/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n/**\n * @description\n * Footer container for page layouts that displays actions or information at the bottom of the page.\n *\n * @usageNotes\n * ```html\n * <eui-page-footer>\n *   <button euiButton>Save</button>\n *   <button euiButton euiSecondary>Cancel</button>\n * </eui-page-footer>\n * ```\n *\n * ### With highlighted state\n * ```html\n * <eui-page-footer euiHighlighted>\n *   Footer content\n * </eui-page-footer>\n * ```\n *\n * ### Accessibility\n * - Use role=\"contentinfo\" for page-level footer\n * - Ensure footer actions are keyboard accessible\n *\n * ### Notes\n * - Supports `euiHighlighted` for visual emphasis\n * - Typically contains form actions or page-level controls\n */\n@Component({\n    selector: 'eui-page-footer',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiHighlighted',\n            ],\n        },\n    ],\n})\nexport class EuiPageFooter {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return this.baseStatesDirective.getCssClasses('eui-page-footer');\n    }\n\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-page-footer';\n    protected baseStatesDirective = inject(BaseStatesDirective);\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 46
                    }
                }
            }
        },
        {
            "name": "EuiPageFooterComponent",
            "id": "component-EuiPageFooterComponent-86663d2d08978b4da77144171c1f0d2dab88ae73ac8633718ad2682af2a2ffefa337447dca8f9a92a6d8c28aefd4bd2bf44a9ad7e6b2e032b441ea9b1e16647f",
            "file": "packages/components/eui-page/components/eui-page-footer/eui-page-footer.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-footer",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiHighlighted"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-page-footer'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2073,
                            "end": 2105,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2074,
                                "end": 2081,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-page-footer&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nData attribute used for end-to-end testing identification.\n",
                    "description": "<p>Data attribute used for end-to-end testing identification.</p>\n",
                    "line": 65,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 66,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 57,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Footer component for eui-page that provides a structured bottom section for page-level content.\nSupports highlighted visual states through the BaseStatesDirective for emphasis.\nTypically contains copyright information, links, actions, or supplementary page content.\nPositioned at the bottom of the page layout with consistent spacing and styling.\nMust be used as a direct child of eui-page to maintain proper layout structure.</p>\n<h3>Basic footer</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page&gt;\n  &lt;eui-page-content&gt;Main content&lt;/eui-page-content&gt;\n  &lt;eui-page-footer&gt;\n    &lt;p&gt;© 2024 European Commission&lt;/p&gt;\n  &lt;/eui-page-footer&gt;\n&lt;/eui-page&gt;</code></pre></div><h3>Highlighted footer</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-footer [euiHighlighted]=&quot;true&quot;&gt;\n  &lt;button euiButton euiPrimary&gt;Save Changes&lt;/button&gt;\n  &lt;button euiButton euiSecondary&gt;Cancel&lt;/button&gt;\n&lt;/eui-page-footer&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use semantic footer element for proper document structure</li>\n<li>Ensure links and buttons have descriptive labels</li>\n<li>Maintain sufficient color contrast for footer content</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be direct child of eui-page component</li>\n<li>Supports euiHighlighted directive for visual emphasis</li>\n<li>Provides consistent spacing at bottom of page layout</li>\n</ul>\n",
            "rawdescription": "\n\nFooter component for eui-page that provides a structured bottom section for page-level content.\nSupports highlighted visual states through the BaseStatesDirective for emphasis.\nTypically contains copyright information, links, actions, or supplementary page content.\nPositioned at the bottom of the page layout with consistent spacing and styling.\nMust be used as a direct child of eui-page to maintain proper layout structure.\n\n### Basic footer\n```html\n<eui-page>\n  <eui-page-content>Main content</eui-page-content>\n  <eui-page-footer>\n    <p>© 2024 European Commission</p>\n  </eui-page-footer>\n</eui-page>\n```\n\n### Highlighted footer\n```html\n<eui-page-footer [euiHighlighted]=\"true\">\n  <button euiButton euiPrimary>Save Changes</button>\n  <button euiButton euiSecondary>Cancel</button>\n</eui-page-footer>\n```\n\n### Accessibility\n- Use semantic footer element for proper document structure\n- Ensure links and buttons have descriptive labels\n- Maintain sufficient color contrast for footer content\n\n### Notes\n- Must be direct child of eui-page component\n- Supports euiHighlighted directive for visual emphasis\n- Provides consistent spacing at bottom of page layout\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ViewEncapsulation, Input, ChangeDetectionStrategy, inject } from '@angular/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n/**\n * @description\n * Footer component for eui-page that provides a structured bottom section for page-level content.\n * Supports highlighted visual states through the BaseStatesDirective for emphasis.\n * Typically contains copyright information, links, actions, or supplementary page content.\n * Positioned at the bottom of the page layout with consistent spacing and styling.\n * Must be used as a direct child of eui-page to maintain proper layout structure.\n *\n * @usageNotes\n * ### Basic footer\n * ```html\n * <eui-page>\n *   <eui-page-content>Main content</eui-page-content>\n *   <eui-page-footer>\n *     <p>© 2024 European Commission</p>\n *   </eui-page-footer>\n * </eui-page>\n * ```\n *\n * ### Highlighted footer\n * ```html\n * <eui-page-footer [euiHighlighted]=\"true\">\n *   <button euiButton euiPrimary>Save Changes</button>\n *   <button euiButton euiSecondary>Cancel</button>\n * </eui-page-footer>\n * ```\n *\n * ### Accessibility\n * - Use semantic footer element for proper document structure\n * - Ensure links and buttons have descriptive labels\n * - Maintain sufficient color contrast for footer content\n *\n * ### Notes\n * - Must be direct child of eui-page component\n * - Supports euiHighlighted directive for visual emphasis\n * - Provides consistent spacing at bottom of page layout\n */\n@Component({\n    selector: 'eui-page-footer',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiHighlighted',\n            ],\n        },\n    ],\n})\nexport class EuiPageFooterComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return this.baseStatesDirective.getCssClasses('eui-page-footer');\n    }\n\n    /**\n     * Data attribute used for end-to-end testing identification.\n     * @default 'eui-page-footer'\n     */\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-page-footer';\n    protected baseStatesDirective = inject(BaseStatesDirective);\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 57
                    }
                }
            }
        },
        {
            "name": "EuiPageHeader",
            "id": "component-EuiPageHeader-cd8c0605c60c3a33be516b1d81e21e2db0543e4dc191cd49aeb0f4c30cf3c8cd768f7dc2285f03d5c6539e1af1060aee2a2f0023b5f1a9eae22173335f788ee3",
            "file": "packages/components/eui-page-v2/eui-page-header/eui-page-header.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-header",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-page-header.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "collapsedLabel",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 101,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "expandedLabel",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 102,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCollapsed",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 93,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCollapsible",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 92,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isHeaderMultilines",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 94,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 85,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "labelTooltip",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 87,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "subLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 86,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "subLabelTooltip",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 88,
                    "type": "any",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "collapse",
                    "defaultValue": "new EventEmitter<boolean>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 103,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "pageHeaderBodyContent",
                    "deprecated": true,
                    "deprecationMessage": "Avoid using this property, use the `pageHeaderBodyContent` instead.",
                    "type": "QueryList<EuiPageHeaderBody>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 99,
                    "rawdescription": "\n\n",
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 2779,
                            "end": 2864,
                            "kind": 332,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2780,
                                "end": 2790,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "deprecated"
                            },
                            "comment": "<p>Avoid using this property, use the <code>pageHeaderBodyContent</code> instead.</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onToggle",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 105,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 74,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "<p>Page header component that displays the page title, subtitle, and optional collapsible content.\nSupports multi-line layouts and action items for page-level controls.</p>\n<h3>Basic usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-header label=&quot;Dashboard&quot; subLabel=&quot;Overview&quot;&gt;&lt;/eui-page-header&gt;</code></pre></div><h3>With tooltips</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-header\n  label=&quot;Settings&quot;\n  labelTooltip=&quot;Application settings&quot;\n  subLabel=&quot;Configuration&quot;\n  subLabelTooltip=&quot;Manage your preferences&quot;&gt;\n&lt;/eui-page-header&gt;</code></pre></div><h3>Collapsible header</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-header\n  [isCollapsible]=&quot;true&quot;\n  [isCollapsed]=&quot;collapsed&quot;\n  collapsedLabel=&quot;Expand details&quot;\n  expandedLabel=&quot;Collapse details&quot;\n  (collapse)=&quot;onCollapse($event)&quot;&gt;\n  &lt;eui-page-header-body&gt;\n    Additional header content\n  &lt;/eui-page-header-body&gt;\n&lt;/eui-page-header&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Label should be the main page heading (h1)</li>\n<li>Collapse button has descriptive aria-label</li>\n<li>Tooltips provide additional context for screen readers</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use <code>isHeaderMultilines</code> for headers with wrapping content</li>\n<li>Action items can be added via eui-page-header-action-items</li>\n<li>Collapsible mode useful for hiding secondary information</li>\n</ul>\n",
            "rawdescription": "\n\nPage header component that displays the page title, subtitle, and optional collapsible content.\nSupports multi-line layouts and action items for page-level controls.\n\n### Basic usage\n```html\n<eui-page-header label=\"Dashboard\" subLabel=\"Overview\"></eui-page-header>\n```\n\n### With tooltips\n```html\n<eui-page-header\n  label=\"Settings\"\n  labelTooltip=\"Application settings\"\n  subLabel=\"Configuration\"\n  subLabelTooltip=\"Manage your preferences\">\n</eui-page-header>\n```\n\n### Collapsible header\n```html\n<eui-page-header\n  [isCollapsible]=\"true\"\n  [isCollapsed]=\"collapsed\"\n  collapsedLabel=\"Expand details\"\n  expandedLabel=\"Collapse details\"\n  (collapse)=\"onCollapse($event)\">\n  <eui-page-header-body>\n    Additional header content\n  </eui-page-header-body>\n</eui-page-header>\n```\n\n### Accessibility\n- Label should be the main page heading (h1)\n- Collapse button has descriptive aria-label\n- Tooltips provide additional context for screen readers\n\n### Notes\n- Use `isHeaderMultilines` for headers with wrapping content\n- Action items can be added via eui-page-header-action-items\n- Collapsible mode useful for hiding secondary information\n",
            "type": "component",
            "sourceCode": "import { NgTemplateOutlet } from '@angular/common';\nimport {\n    Component,\n    ChangeDetectionStrategy,\n    HostBinding,\n    Input,\n    ContentChild,\n    forwardRef,\n    QueryList,\n    Output,\n    EventEmitter,\n    booleanAttribute,\n} from '@angular/core';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EuiPageHeaderBody } from './eui-page-header-body';\n\n/**\n * @description\n * Page header component that displays the page title, subtitle, and optional collapsible content.\n * Supports multi-line layouts and action items for page-level controls.\n *\n * @usageNotes\n * ### Basic usage\n * ```html\n * <eui-page-header label=\"Dashboard\" subLabel=\"Overview\"></eui-page-header>\n * ```\n *\n * ### With tooltips\n * ```html\n * <eui-page-header\n *   label=\"Settings\"\n *   labelTooltip=\"Application settings\"\n *   subLabel=\"Configuration\"\n *   subLabelTooltip=\"Manage your preferences\">\n * </eui-page-header>\n * ```\n *\n * ### Collapsible header\n * ```html\n * <eui-page-header\n *   [isCollapsible]=\"true\"\n *   [isCollapsed]=\"collapsed\"\n *   collapsedLabel=\"Expand details\"\n *   expandedLabel=\"Collapse details\"\n *   (collapse)=\"onCollapse($event)\">\n *   <eui-page-header-body>\n *     Additional header content\n *   </eui-page-header-body>\n * </eui-page-header>\n * ```\n *\n * ### Accessibility\n * - Label should be the main page heading (h1)\n * - Collapse button has descriptive aria-label\n * - Tooltips provide additional context for screen readers\n *\n * ### Notes\n * - Use `isHeaderMultilines` for headers with wrapping content\n * - Action items can be added via eui-page-header-action-items\n * - Collapsible mode useful for hiding secondary information\n */\n@Component({\n    selector: 'eui-page-header',\n    templateUrl: './eui-page-header.html',\n    styleUrl: './eui-page-header.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        NgTemplateOutlet,\n        ...EUI_ICON,\n    ],\n})\nexport class EuiPageHeader {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-page-header',\n            this.isCollapsible ? 'eui-page-header--collapsible' : '',\n            this.isCollapsed ? 'eui-page-header--collapsed' : '',\n            this.isHeaderMultilines ? 'eui-page-header--multilines' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    @Input() label;\n    @Input() subLabel;\n    @Input() labelTooltip;\n    @Input() subLabelTooltip;\n\n    // conventions if boolean : is / has prefix\n    // new v17 usage of transform / act like coerce and included in Angular natively now\n    @Input({ transform: booleanAttribute }) isCollapsible = false;\n    @Input({ transform: booleanAttribute }) isCollapsed = false;\n    @Input({ transform: booleanAttribute }) isHeaderMultilines = false;\n\n    /**\n     * @deprecated Avoid using this property, use the `pageHeaderBodyContent` instead.\n     */\n    @ContentChild(forwardRef(() => EuiPageHeaderBody)) pageHeaderBodyContent: QueryList<EuiPageHeaderBody>;\n\n    @Input() collapsedLabel = ''; // Expand\n    @Input() expandedLabel = ''; // Collapse\n    @Output() collapse = new EventEmitter<boolean>();\n\n    public onToggle(): void {\n        this.isCollapsed = !this.isCollapsed;\n        this.collapse.emit(this.isCollapsed);\n    }\n}\n",
            "styleUrl": "./eui-page-header.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 74
                    }
                }
            },
            "templateData": "<div class=\"eui-page-header__label-wrapper\">\n    <ng-content select=\"eui-page-header-label\"/>\n    <div class=\"eui-page-header__actions\">\n        <ng-content select=\"eui-page-header-action-items\"></ng-content>\n    </div>\n</div>\n<ng-content select=\"eui-page-header-sub-label\"/>\n\n\n@if (isCollapsible) {\n    @if (!isCollapsed) {\n        <ng-container *ngTemplateOutlet=\"body\" />\n    }\n    <div\n        class=\"eui-button__expand-trigger\"\n        [class.eui-button__expand-trigger--collapsed]=\"isCollapsed\"\n        role=\"document\"\n        (click)=\"onToggle()\"\n        aria-label=\"Expand / Collapse trigger\">\n        @if (isCollapsed) {\n            <button type=\"button\" class=\"eui-button eui-button--expand-toggle\" aria-label=\"Expand\">\n                @if (expandedLabel) {\n                    <span class=\"eui-label eui-u-mr-xs\">{{ expandedLabel }}</span>\n                }\n                <eui-icon-svg icon=\"eui-chevron-down\" size=\"s\" fillColor=\"neutral\"></eui-icon-svg>\n            </button>\n        } @else {\n            <button type=\"button\" class=\"eui-button eui-button--expand-toggle\" aria-label=\"Collapse\">\n                @if (collapsedLabel) {\n                    <span class=\"eui-label eui-u-mr-xs\">{{ collapsedLabel }}</span>\n                }\n                <eui-icon-svg icon=\"eui-chevron-up\" size=\"s\" fillColor=\"neutral\"></eui-icon-svg>\n            </button>\n        }\n    </div>\n}\n\n@if (!isCollapsible && pageHeaderBodyContent) {\n    <ng-container *ngTemplateOutlet=\"body\" />\n}\n\n<ng-template #body>\n    <ng-content select=\"eui-page-header-body\" />\n</ng-template>\n"
        },
        {
            "name": "EuiPageHeaderActionItems",
            "id": "component-EuiPageHeaderActionItems-da33728e7f91f07a22b8f09f5fe7d2b2c26c531bc00a1089ee8a79e4f7a1f3cbeb3ee0993c062a2d2d9388039b82d14e876d50ff0e9665197f3bdebd5c581f32",
            "file": "packages/components/eui-page-v2/eui-page-header/eui-page-header-action-items.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-header-action-items",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 27,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Container for action buttons or controls in the page header.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-header-action-items&gt;\n  &lt;button euiButton&gt;Save&lt;/button&gt;\n  &lt;button euiButton euiSecondary&gt;Cancel&lt;/button&gt;\n&lt;/eui-page-header-action-items&gt;</code></pre></div><h3>Notes</h3>\n<ul>\n<li>Use within eui-page-header for page-level actions</li>\n<li>Typically positioned on the right side of the header</li>\n</ul>\n",
            "rawdescription": "\n\nContainer for action buttons or controls in the page header.\n\n```html\n<eui-page-header-action-items>\n  <button euiButton>Save</button>\n  <button euiButton euiSecondary>Cancel</button>\n</eui-page-header-action-items>\n```\n\n### Notes\n- Use within eui-page-header for page-level actions\n- Typically positioned on the right side of the header\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Container for action buttons or controls in the page header.\n *\n * @usageNotes\n * ```html\n * <eui-page-header-action-items>\n *   <button euiButton>Save</button>\n *   <button euiButton euiSecondary>Cancel</button>\n * </eui-page-header-action-items>\n * ```\n *\n * ### Notes\n * - Use within eui-page-header for page-level actions\n * - Typically positioned on the right side of the header\n */\n@Component({\n    selector: 'eui-page-header-action-items',\n    template: '<ng-content/>',\n    styleUrl: './eui-page-header-action-items.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiPageHeaderActionItems {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return 'eui-page-header-action-items';\n    }\n}\n",
            "styleUrl": "./eui-page-header-action-items.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 27
                    }
                }
            }
        },
        {
            "name": "EuiPageHeaderActionItemsComponent",
            "id": "component-EuiPageHeaderActionItemsComponent-5b04158e7a0d62805fae9763a0ec28f55b1ff67ba4e2152936483e4d24cdd0cd2e060c123d70ca7e008cb2e550234248aeefa3143ce294ac979ff5a6407725b9",
            "file": "packages/components/eui-page/components/eui-page-header/components/eui-page-header-action-items.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-header-action-items",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 38,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Container for action buttons or controls in the page header (v1).\nProvides a dedicated area for primary and secondary actions related to the page.\nTypically positioned on the right side of the page header.</p>\n<h3>Basic usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-header label=&quot;Projects&quot;&gt;\n  &lt;eui-page-header-action-items&gt;\n    &lt;button euiButton euiPrimary&gt;Create New&lt;/button&gt;\n    &lt;button euiButton euiSecondary&gt;Import&lt;/button&gt;\n  &lt;/eui-page-header-action-items&gt;\n&lt;/eui-page-header&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Ensure buttons have descriptive labels</li>\n<li>Use appropriate button types (primary, secondary) for visual hierarchy</li>\n<li>Maintain logical tab order for keyboard navigation</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-page-header component</li>\n<li>Typically contains action buttons related to page content</li>\n<li>Automatically positioned in header layout</li>\n</ul>\n",
            "rawdescription": "\n\nContainer for action buttons or controls in the page header (v1).\nProvides a dedicated area for primary and secondary actions related to the page.\nTypically positioned on the right side of the page header.\n\n### Basic usage\n```html\n<eui-page-header label=\"Projects\">\n  <eui-page-header-action-items>\n    <button euiButton euiPrimary>Create New</button>\n    <button euiButton euiSecondary>Import</button>\n  </eui-page-header-action-items>\n</eui-page-header>\n```\n\n### Accessibility\n- Ensure buttons have descriptive labels\n- Use appropriate button types (primary, secondary) for visual hierarchy\n- Maintain logical tab order for keyboard navigation\n\n### Notes\n- Must be used within eui-page-header component\n- Typically contains action buttons related to page content\n- Automatically positioned in header layout\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n * @description\n * Container for action buttons or controls in the page header (v1).\n * Provides a dedicated area for primary and secondary actions related to the page.\n * Typically positioned on the right side of the page header.\n *\n * @usageNotes\n * ### Basic usage\n * ```html\n * <eui-page-header label=\"Projects\">\n *   <eui-page-header-action-items>\n *     <button euiButton euiPrimary>Create New</button>\n *     <button euiButton euiSecondary>Import</button>\n *   </eui-page-header-action-items>\n * </eui-page-header>\n * ```\n *\n * ### Accessibility\n * - Ensure buttons have descriptive labels\n * - Use appropriate button types (primary, secondary) for visual hierarchy\n * - Maintain logical tab order for keyboard navigation\n *\n * ### Notes\n * - Must be used within eui-page-header component\n * - Typically contains action buttons related to page content\n * - Automatically positioned in header layout\n */\n@Component({\n    selector: 'eui-page-header-action-items',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiPageHeaderActionItemsComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return 'eui-page-header-action-items';\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 38
                    }
                }
            }
        },
        {
            "name": "EuiPageHeaderBody",
            "id": "component-EuiPageHeaderBody-e91c96901dc8fd6b310e75a24f412d3acecfa92ecf9599ead81d969eb57ddec6bade9e1fc82b346f19da1334b2e1b6fed5d8c3b427e9929878f67e56e435941b",
            "file": "packages/components/eui-page-v2/eui-page-header/eui-page-header-body.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-header-body",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 25,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Body content area within the page header for additional header content.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-header-body&gt;\n  &lt;eui-tabs [items]=&quot;tabs&quot;&gt;&lt;/eui-tabs&gt;\n&lt;/eui-page-header-body&gt;</code></pre></div><h3>Notes</h3>\n<ul>\n<li>Use for tabs, filters, or other header-level controls</li>\n<li>Content appears below the main header labels</li>\n</ul>\n",
            "rawdescription": "\n\nBody content area within the page header for additional header content.\n\n```html\n<eui-page-header-body>\n  <eui-tabs [items]=\"tabs\"></eui-tabs>\n</eui-page-header-body>\n```\n\n### Notes\n- Use for tabs, filters, or other header-level controls\n- Content appears below the main header labels\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Body content area within the page header for additional header content.\n *\n * @usageNotes\n * ```html\n * <eui-page-header-body>\n *   <eui-tabs [items]=\"tabs\"></eui-tabs>\n * </eui-page-header-body>\n * ```\n *\n * ### Notes\n * - Use for tabs, filters, or other header-level controls\n * - Content appears below the main header labels\n */\n@Component({\n    selector: 'eui-page-header-body',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiPageHeaderBody {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return 'eui-page-header-body';\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 25
                    }
                }
            }
        },
        {
            "name": "EuiPageHeaderBodyComponent",
            "id": "component-EuiPageHeaderBodyComponent-4932dd34ae324605646fadfe993289204c49776207a002b078fbe1ab3327ec522de0d225a0244c30069e4b3f927e816540f843e13251f11dcd802b154736510e",
            "file": "packages/components/eui-page/components/eui-page-header/components/eui-page-header-body.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-header-body",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 44,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Body content area within the page header for additional header content (v1).\nProvides a flexible container for search bars, filters, tabs, or other header elements.\nPositioned below the main header label and action items.</p>\n<h3>With search bar</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-header label=&quot;Documents&quot;&gt;\n  &lt;eui-page-header-body&gt;\n    &lt;eui-search-bar placeholder=&quot;Search documents...&quot;&gt;&lt;/eui-search-bar&gt;\n  &lt;/eui-page-header-body&gt;\n&lt;/eui-page-header&gt;</code></pre></div><h3>With tabs</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-header-body&gt;\n  &lt;eui-tabs [items]=&quot;tabItems&quot;&gt;&lt;/eui-tabs&gt;\n&lt;/eui-page-header-body&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Ensure interactive elements within body are keyboard accessible</li>\n<li>Use semantic HTML for proper document structure</li>\n<li>Maintain logical focus order</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-page-header component</li>\n<li>Provides flexible space for header-related controls</li>\n<li>Automatically positioned in header layout structure</li>\n</ul>\n",
            "rawdescription": "\n\nBody content area within the page header for additional header content (v1).\nProvides a flexible container for search bars, filters, tabs, or other header elements.\nPositioned below the main header label and action items.\n\n### With search bar\n```html\n<eui-page-header label=\"Documents\">\n  <eui-page-header-body>\n    <eui-search-bar placeholder=\"Search documents...\"></eui-search-bar>\n  </eui-page-header-body>\n</eui-page-header>\n```\n\n### With tabs\n```html\n<eui-page-header-body>\n  <eui-tabs [items]=\"tabItems\"></eui-tabs>\n</eui-page-header-body>\n```\n\n### Accessibility\n- Ensure interactive elements within body are keyboard accessible\n- Use semantic HTML for proper document structure\n- Maintain logical focus order\n\n### Notes\n- Must be used within eui-page-header component\n- Provides flexible space for header-related controls\n- Automatically positioned in header layout structure\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n * @description\n * Body content area within the page header for additional header content (v1).\n * Provides a flexible container for search bars, filters, tabs, or other header elements.\n * Positioned below the main header label and action items.\n *\n * @usageNotes\n * ### With search bar\n * ```html\n * <eui-page-header label=\"Documents\">\n *   <eui-page-header-body>\n *     <eui-search-bar placeholder=\"Search documents...\"></eui-search-bar>\n *   </eui-page-header-body>\n * </eui-page-header>\n * ```\n *\n * ### With tabs\n * ```html\n * <eui-page-header-body>\n *   <eui-tabs [items]=\"tabItems\"></eui-tabs>\n * </eui-page-header-body>\n * ```\n *\n * ### Accessibility\n * - Ensure interactive elements within body are keyboard accessible\n * - Use semantic HTML for proper document structure\n * - Maintain logical focus order\n *\n * ### Notes\n * - Must be used within eui-page-header component\n * - Provides flexible space for header-related controls\n * - Automatically positioned in header layout structure\n */\n@Component({\n    selector: 'eui-page-header-body',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiPageHeaderBodyComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return 'eui-page-header-body';\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 44
                    }
                }
            }
        },
        {
            "name": "EuiPageHeaderComponent",
            "id": "component-EuiPageHeaderComponent-32db9e6b03666207c40345804a7fc8eedd699561b084f902537e257ed176027562df8d4329cc5789b3424b4014d50c7659a6607d7d95b004b638d2901be51288",
            "file": "packages/components/eui-page/components/eui-page-header/eui-page-header.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-header",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-page-header.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "collapsedLabel",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4932,
                            "end": 4949,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4933,
                                "end": 4940,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nAccessible label text for the toggle button when header is in collapsed state.\nDescribes the action to expand the header for screen readers.\n",
                    "description": "<p>Accessible label text for the toggle button when header is in collapsed state.\nDescribes the action to expand the header for screen readers.</p>\n",
                    "line": 146,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "expandedLabel",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5157,
                            "end": 5174,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5158,
                                "end": 5165,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nAccessible label text for the toggle button when header is in expanded state.\nDescribes the action to collapse the header for screen readers.\n",
                    "description": "<p>Accessible label text for the toggle button when header is in expanded state.\nDescribes the action to collapse the header for screen readers.</p>\n",
                    "line": 152,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCollapsed",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4272,
                            "end": 4292,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4273,
                                "end": 4280,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls the collapsed state of the header when collapsible is enabled.\nWhen true, hides header content; when false, displays full header.\n",
                    "description": "<p>Controls the collapsed state of the header when collapsible is enabled.\nWhen true, hides header content; when false, displays full header.</p>\n",
                    "line": 131,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCollapsible",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4014,
                            "end": 4034,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4015,
                                "end": 4022,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables expand/collapse functionality for the page header.\nAdds a toggle button to show or hide header content dynamically.\n",
                    "description": "<p>Enables expand/collapse functionality for the page header.\nAdds a toggle button to show or hide header content dynamically.</p>\n",
                    "line": 125,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isHeaderMultilines",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4539,
                            "end": 4559,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4540,
                                "end": 4547,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables multi-line layout mode for headers with extensive content.\nAdjusts spacing and alignment to accommodate multiple lines of text or components.\n",
                    "description": "<p>Enables multi-line layout mode for headers with extensive content.\nAdjusts spacing and alignment to accommodate multiple lines of text or components.</p>\n",
                    "line": 137,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nPrimary heading text displayed as the main page title.\nServes as the principal identifier for the page content.\n",
                    "description": "<p>Primary heading text displayed as the main page title.\nServes as the principal identifier for the page content.</p>\n",
                    "line": 103,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "labelTooltip",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nTooltip text displayed when hovering over the main label.\nProvides additional explanatory information for the page title.\n",
                    "description": "<p>Tooltip text displayed when hovering over the main label.\nProvides additional explanatory information for the page title.</p>\n",
                    "line": 113,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "subLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSecondary descriptive text displayed below or alongside the main label.\nProvides supplementary information or context about the page.\n",
                    "description": "<p>Secondary descriptive text displayed below or alongside the main label.\nProvides supplementary information or context about the page.</p>\n",
                    "line": 108,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "subLabelTooltip",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nTooltip text displayed when hovering over the sub-label.\nProvides additional explanatory information for the secondary text.\n",
                    "description": "<p>Tooltip text displayed when hovering over the sub-label.\nProvides additional explanatory information for the secondary text.</p>\n",
                    "line": 118,
                    "type": "any",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "collapse",
                    "defaultValue": "new EventEmitter<boolean>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the header's collapsed state changes via user interaction.\nPayload: boolean indicating the new collapsed state (true when collapsed, false when expanded).\nTriggered by clicking the collapse/expand toggle button.\n",
                    "description": "<p>Emitted when the header&#39;s collapsed state changes via user interaction.\nPayload: boolean indicating the new collapsed state (true when collapsed, false when expanded).\nTriggered by clicking the collapse/expand toggle button.</p>\n",
                    "line": 158,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "pageHeaderBodyContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiPageHeaderBodyComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 139,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onToggle",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 160,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 88,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EuiTooltipDirective",
                    "type": "directive"
                },
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_BUTTON"
                }
            ],
            "description": "<p>Page header component that provides a structured title area with optional collapsible functionality.\nDisplays primary and secondary labels with tooltip support for additional context.\nSupports multi-line layouts and expandable/collapsible behavior for complex headers.\nTypically positioned at the top of page content to establish page identity and navigation context.\nMust be used as a direct child of eui-page to maintain proper layout structure.</p>\n<h3>Basic header</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-header\n  label=&quot;User Management&quot;\n  subLabel=&quot;Manage user accounts and permissions&quot;&gt;\n&lt;/eui-page-header&gt;</code></pre></div><h3>Collapsible header</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-header\n  label=&quot;Advanced Settings&quot;\n  [isCollapsible]=&quot;true&quot;\n  [isCollapsed]=&quot;headerCollapsed&quot;\n  collapsedLabel=&quot;Expand settings&quot;\n  expandedLabel=&quot;Collapse settings&quot;\n  (collapse)=&quot;onHeaderToggle($event)&quot;&gt;\n  &lt;eui-page-header-body&gt;\n    &lt;p&gt;Additional header content&lt;/p&gt;\n  &lt;/eui-page-header-body&gt;\n&lt;/eui-page-header&gt;</code></pre></div><h3>With tooltips</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-header\n  label=&quot;Dashboard&quot;\n  labelTooltip=&quot;View your personalized dashboard&quot;\n  subLabel=&quot;Last updated: Today&quot;\n  subLabelTooltip=&quot;Data refreshes every 5 minutes&quot;&gt;\n&lt;/eui-page-header&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Header label uses appropriate heading level for document structure</li>\n<li>Collapse/expand buttons include descriptive aria-labels</li>\n<li>Tooltips provide additional context without hiding essential information</li>\n<li>Keyboard navigation supported for interactive elements</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be direct child of eui-page component</li>\n<li>Use isHeaderMultilines for headers with extensive content</li>\n<li>Collapse functionality requires isCollapsible to be true</li>\n<li>Tooltips appear on hover and focus for accessibility</li>\n</ul>\n",
            "rawdescription": "\n\nPage header component that provides a structured title area with optional collapsible functionality.\nDisplays primary and secondary labels with tooltip support for additional context.\nSupports multi-line layouts and expandable/collapsible behavior for complex headers.\nTypically positioned at the top of page content to establish page identity and navigation context.\nMust be used as a direct child of eui-page to maintain proper layout structure.\n\n### Basic header\n```html\n<eui-page-header\n  label=\"User Management\"\n  subLabel=\"Manage user accounts and permissions\">\n</eui-page-header>\n```\n\n### Collapsible header\n```html\n<eui-page-header\n  label=\"Advanced Settings\"\n  [isCollapsible]=\"true\"\n  [isCollapsed]=\"headerCollapsed\"\n  collapsedLabel=\"Expand settings\"\n  expandedLabel=\"Collapse settings\"\n  (collapse)=\"onHeaderToggle($event)\">\n  <eui-page-header-body>\n    <p>Additional header content</p>\n  </eui-page-header-body>\n</eui-page-header>\n```\n\n### With tooltips\n```html\n<eui-page-header\n  label=\"Dashboard\"\n  labelTooltip=\"View your personalized dashboard\"\n  subLabel=\"Last updated: Today\"\n  subLabelTooltip=\"Data refreshes every 5 minutes\">\n</eui-page-header>\n```\n\n### Accessibility\n- Header label uses appropriate heading level for document structure\n- Collapse/expand buttons include descriptive aria-labels\n- Tooltips provide additional context without hiding essential information\n- Keyboard navigation supported for interactive elements\n\n### Notes\n- Must be direct child of eui-page component\n- Use isHeaderMultilines for headers with extensive content\n- Collapse functionality requires isCollapsible to be true\n- Tooltips appear on hover and focus for accessibility\n",
            "type": "component",
            "sourceCode": "import { NgTemplateOutlet } from '@angular/common';\nimport {\n    Component,\n    ChangeDetectionStrategy,\n    HostBinding,\n    ViewEncapsulation,\n    Input,\n    ContentChild,\n    forwardRef,\n    QueryList,\n    Output,\n    EventEmitter,\n    booleanAttribute,\n} from '@angular/core';\nimport { EuiTooltipDirective } from '@eui/components/directives';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EuiPageHeaderBodyComponent } from './components/eui-page-header-body.component';\n\n/**\n * @description\n * Page header component that provides a structured title area with optional collapsible functionality.\n * Displays primary and secondary labels with tooltip support for additional context.\n * Supports multi-line layouts and expandable/collapsible behavior for complex headers.\n * Typically positioned at the top of page content to establish page identity and navigation context.\n * Must be used as a direct child of eui-page to maintain proper layout structure.\n *\n * @usageNotes\n * ### Basic header\n * ```html\n * <eui-page-header \n *   label=\"User Management\" \n *   subLabel=\"Manage user accounts and permissions\">\n * </eui-page-header>\n * ```\n *\n * ### Collapsible header\n * ```html\n * <eui-page-header \n *   label=\"Advanced Settings\"\n *   [isCollapsible]=\"true\"\n *   [isCollapsed]=\"headerCollapsed\"\n *   collapsedLabel=\"Expand settings\"\n *   expandedLabel=\"Collapse settings\"\n *   (collapse)=\"onHeaderToggle($event)\">\n *   <eui-page-header-body>\n *     <p>Additional header content</p>\n *   </eui-page-header-body>\n * </eui-page-header>\n * ```\n *\n * ### With tooltips\n * ```html\n * <eui-page-header \n *   label=\"Dashboard\"\n *   labelTooltip=\"View your personalized dashboard\"\n *   subLabel=\"Last updated: Today\"\n *   subLabelTooltip=\"Data refreshes every 5 minutes\">\n * </eui-page-header>\n * ```\n *\n * ### Accessibility\n * - Header label uses appropriate heading level for document structure\n * - Collapse/expand buttons include descriptive aria-labels\n * - Tooltips provide additional context without hiding essential information\n * - Keyboard navigation supported for interactive elements\n *\n * ### Notes\n * - Must be direct child of eui-page component\n * - Use isHeaderMultilines for headers with extensive content\n * - Collapse functionality requires isCollapsible to be true\n * - Tooltips appear on hover and focus for accessibility\n */\n@Component({\n    selector: 'eui-page-header',\n    templateUrl: './eui-page-header.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        EuiTooltipDirective,\n        NgTemplateOutlet,\n        ...EUI_ICON,\n        ...EUI_BUTTON,\n    ],\n})\nexport class EuiPageHeaderComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-page-header',\n            this.isCollapsible ? 'eui-page-header--collapsible' : '',\n            this.isCollapsed ? 'eui-page-header--collapsed' : '',\n            this.isHeaderMultilines ? 'eui-page-header--multilines' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * Primary heading text displayed as the main page title.\n     * Serves as the principal identifier for the page content.\n     */\n    @Input() label;\n    /**\n     * Secondary descriptive text displayed below or alongside the main label.\n     * Provides supplementary information or context about the page.\n     */\n    @Input() subLabel;\n    /**\n     * Tooltip text displayed when hovering over the main label.\n     * Provides additional explanatory information for the page title.\n     */\n    @Input() labelTooltip;\n    /**\n     * Tooltip text displayed when hovering over the sub-label.\n     * Provides additional explanatory information for the secondary text.\n     */\n    @Input() subLabelTooltip;\n\n    /**\n     * Enables expand/collapse functionality for the page header.\n     * Adds a toggle button to show or hide header content dynamically.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsible = false;\n    /**\n     * Controls the collapsed state of the header when collapsible is enabled.\n     * When true, hides header content; when false, displays full header.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCollapsed = false;\n    /**\n     * Enables multi-line layout mode for headers with extensive content.\n     * Adjusts spacing and alignment to accommodate multiple lines of text or components.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHeaderMultilines = false;\n\n    @ContentChild(forwardRef(() => EuiPageHeaderBodyComponent)) pageHeaderBodyContent: QueryList<EuiPageHeaderBodyComponent>;\n\n    /**\n     * Accessible label text for the toggle button when header is in collapsed state.\n     * Describes the action to expand the header for screen readers.\n     * @default ''\n     */\n    @Input() collapsedLabel = '';\n    /**\n     * Accessible label text for the toggle button when header is in expanded state.\n     * Describes the action to collapse the header for screen readers.\n     * @default ''\n     */\n    @Input() expandedLabel = '';\n    /**\n     * Emitted when the header's collapsed state changes via user interaction.\n     * Payload: boolean indicating the new collapsed state (true when collapsed, false when expanded).\n     * Triggered by clicking the collapse/expand toggle button.\n     */\n    @Output() collapse = new EventEmitter<boolean>();\n\n    public onToggle(): void {\n        this.isCollapsed = !this.isCollapsed;\n        this.collapse.emit(this.isCollapsed);\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 88
                    }
                }
            },
            "templateData": "<div class=\"eui-common-header__label\">\n    <div class=\"eui-common-header__label-text\" role=\"heading\" aria-level=\"1\" attr.aria-label=\"{{ label }}\" [euiTooltip]=\"labelTooltip ? labelTooltip : null\">{{ label }}</div>\n    <div class=\"eui-common-header__actions\">\n        <ng-content select=\"eui-page-header-action-items\"></ng-content>\n    </div>\n</div>\n@if (subLabel) {\n    <div\n        class=\"eui-common-header__sub-label\"\n        role=\"heading\"\n        aria-level=\"2\"\n        [class.eui-common-header__sub-label--collapsed]=\"isCollapsed\"\n        attr.aria-label=\"{{ subLabel }}\"\n        [euiTooltip]=\"subLabelTooltip ? subLabelTooltip : null\">\n        <div class=\"eui-common-header__sub-label-text\">{{ subLabel }}</div>\n    </div>\n} @else {\n    <ng-content select=\"eui-page-header-sub-label\" />\n}\n\n\n@if (isCollapsible) {\n    @if (!isCollapsed) {\n        <ng-container *ngTemplateOutlet=\"body\" />\n    }\n    <div\n        class=\"eui-button__expand-trigger\"\n        [class.eui-button__expand-trigger--collapsed]=\"isCollapsed\"\n        role=\"document\"\n        (click)=\"onToggle()\"\n        aria-label=\"Expand / Collapse trigger\">\n        @if (isCollapsed) {\n            <!-- TODO v21 refactor using eui-icon-button-expander -->\n            <button type=\"button\" class=\"eui-button eui-button--expand-toggle eui-u-c-secondary\" aria-label=\"Expand\">\n                @if (expandedLabel) {\n                    {{ expandedLabel }}\n                }\n                <eui-icon-svg icon=\"eui-chevron-down\" size=\"s\" fillColor=\"secondary\"></eui-icon-svg>\n            </button>\n        } @else {\n            <button type=\"button\" class=\"eui-button eui-button--expand-toggle eui-u-c-secondary\" aria-label=\"Collapse\">\n                @if (collapsedLabel) {\n                    {{ collapsedLabel }}\n                }\n                <eui-icon-svg icon=\"eui-chevron-up\" size=\"s\" fillColor=\"secondary\"></eui-icon-svg>\n            </button>\n        }\n    </div>\n}\n\n@if (!isCollapsible && pageHeaderBodyContent) {\n    <ng-container *ngTemplateOutlet=\"body\" />\n}\n\n<ng-template #body>\n    <ng-content select=\"eui-page-header-body\" />\n</ng-template>\n"
        },
        {
            "name": "EuiPageHeaderLabel",
            "id": "component-EuiPageHeaderLabel-a4a3d27e3292f4dcdf1fc79398588a8df0953df0b0fb89c6084ad293143dfd8741f01dd3d534d64b24b28f03e025249ca993ec4135d431cb74233b6da5b46798",
            "file": "packages/components/eui-page-v2/eui-page-header/eui-page-header-label.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-header-label",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 20,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Primary label text for the page header.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-header-label&gt;Dashboard&lt;/eui-page-header-label&gt;</code></pre></div>",
            "rawdescription": "\n\nPrimary label text for the page header.\n\n```html\n<eui-page-header-label>Dashboard</eui-page-header-label>\n```\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Primary label text for the page header.\n *\n * @usageNotes\n * ```html\n * <eui-page-header-label>Dashboard</eui-page-header-label>\n * ```\n */\n@Component({\n    selector: 'eui-page-header-label',\n    template: '<ng-content/>',\n    styleUrl: './eui-page-header-label.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiPageHeaderLabel {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return 'eui-page-header-label';\n    }\n}\n",
            "styleUrl": "./eui-page-header-label.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 20
                    }
                }
            }
        },
        {
            "name": "EuiPageHeaderSubLabel",
            "id": "component-EuiPageHeaderSubLabel-c6d88e7ab42089e92f5b455c4fffd559365999e4bb84cb7904b3a257e14f19b32dfe56c9de69989f2a5f2f69404fb349a68727f6cdada2bcec885a1e72dd6e68",
            "file": "packages/components/eui-page-v2/eui-page-header/eui-page-header-sub-label.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-header-sub-label",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 20,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Secondary descriptive text for the page header.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-header-sub-label&gt;Overview and statistics&lt;/eui-page-header-sub-label&gt;</code></pre></div>",
            "rawdescription": "\n\nSecondary descriptive text for the page header.\n\n```html\n<eui-page-header-sub-label>Overview and statistics</eui-page-header-sub-label>\n```\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Secondary descriptive text for the page header.\n *\n * @usageNotes\n * ```html\n * <eui-page-header-sub-label>Overview and statistics</eui-page-header-sub-label>\n * ```\n */\n@Component({\n    selector: 'eui-page-header-sub-label',\n    template: '<ng-content/>',\n    styleUrl: './eui-page-header-sub-label.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiPageHeaderSubLabel {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return 'eui-page-header-sub-label';\n    }\n}\n",
            "styleUrl": "./eui-page-header-sub-label.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 20
                    }
                }
            }
        },
        {
            "name": "EuiPageHeaderSubLabelComponent",
            "id": "component-EuiPageHeaderSubLabelComponent-0ef69f8aeba7df07fba5c1d48b2a5e5e2faa1331ca3bc36758dc89ea44b2730d29a64a7e15135195f451dc8d8028ccacf9999213717864e6a85dc1d37590e08e",
            "file": "packages/components/eui-page/components/eui-page-header/components/eui-page-header-sub-label.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-header-sub-label",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 37,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Secondary descriptive text component for the page header (v1).\nDisplays supplementary information below the main page header label.\nProvides additional context or description for the page content.</p>\n<h3>Basic usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-header label=&quot;User Settings&quot;&gt;\n  &lt;eui-page-header-sub-label&gt;\n    Manage your account preferences and security settings\n  &lt;/eui-page-header-sub-label&gt;\n&lt;/eui-page-header&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use clear, concise descriptive text</li>\n<li>Ensure sufficient color contrast for readability</li>\n<li>Text should complement, not duplicate, the main label</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-page-header component</li>\n<li>Provides secondary descriptive information</li>\n<li>Automatically styled and positioned in header layout</li>\n</ul>\n",
            "rawdescription": "\n\nSecondary descriptive text component for the page header (v1).\nDisplays supplementary information below the main page header label.\nProvides additional context or description for the page content.\n\n### Basic usage\n```html\n<eui-page-header label=\"User Settings\">\n  <eui-page-header-sub-label>\n    Manage your account preferences and security settings\n  </eui-page-header-sub-label>\n</eui-page-header>\n```\n\n### Accessibility\n- Use clear, concise descriptive text\n- Ensure sufficient color contrast for readability\n- Text should complement, not duplicate, the main label\n\n### Notes\n- Must be used within eui-page-header component\n- Provides secondary descriptive information\n- Automatically styled and positioned in header layout\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n * @description\n * Secondary descriptive text component for the page header (v1).\n * Displays supplementary information below the main page header label.\n * Provides additional context or description for the page content.\n *\n * @usageNotes\n * ### Basic usage\n * ```html\n * <eui-page-header label=\"User Settings\">\n *   <eui-page-header-sub-label>\n *     Manage your account preferences and security settings\n *   </eui-page-header-sub-label>\n * </eui-page-header>\n * ```\n *\n * ### Accessibility\n * - Use clear, concise descriptive text\n * - Ensure sufficient color contrast for readability\n * - Text should complement, not duplicate, the main label\n *\n * ### Notes\n * - Must be used within eui-page-header component\n * - Provides secondary descriptive information\n * - Automatically styled and positioned in header layout\n */\n@Component({\n    selector: 'eui-page-header-sub-label',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiPageHeaderSubLabelComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return 'eui-page-header-sub-label';\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 37
                    }
                }
            }
        },
        {
            "name": "EuiPageHeroHeaderComponent",
            "id": "component-EuiPageHeroHeaderComponent-861bd13b709b4b75c012040362e3e488316be1ca23948f35afd5cea6c836671343c79d1c313adfe0ece265625cb68425852870e9dcae8a7ae8aaa1c66ede3cc1",
            "file": "packages/components/eui-page/components/eui-page-hero-header/eui-page-hero-header.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-hero-header",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-page-hero-header.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nPrimary heading text displayed prominently in the hero header.\nServes as the main page title or section heading.\n",
                    "description": "<p>Primary heading text displayed prominently in the hero header.\nServes as the main page title or section heading.</p>\n",
                    "line": 45,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "subLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSecondary descriptive text displayed below the main label.\nProvides additional context or explanation for the page content.\n",
                    "description": "<p>Secondary descriptive text displayed below the main label.\nProvides additional context or explanation for the page content.</p>\n",
                    "line": 50,
                    "type": "any",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 53,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Hero header component for eui-page that displays a prominent page title with optional subtitle.\nProvides a visually distinct header section with larger typography and enhanced spacing.\nTypically used for landing pages, dashboards, or major section introductions.\nCreates visual hierarchy and establishes page context for users.\nMust be used as a direct child of eui-page to maintain proper layout structure.</p>\n<h3>Basic hero header</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page&gt;\n  &lt;eui-page-hero-header\n    label=&quot;Welcome to the Portal&quot;\n    subLabel=&quot;Your central hub for managing applications&quot;&gt;\n  &lt;/eui-page-hero-header&gt;\n  &lt;eui-page-content&gt;Content here&lt;/eui-page-content&gt;\n&lt;/eui-page&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses semantic heading structure for proper document outline</li>\n<li>Ensure label text is descriptive and meaningful</li>\n<li>Maintain sufficient color contrast for readability</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be direct child of eui-page component</li>\n<li>Provides larger, more prominent styling than standard page header</li>\n<li>Best suited for landing pages or major section introductions</li>\n<li>Use sparingly to maintain visual hierarchy</li>\n</ul>\n",
            "rawdescription": "\n\nHero header component for eui-page that displays a prominent page title with optional subtitle.\nProvides a visually distinct header section with larger typography and enhanced spacing.\nTypically used for landing pages, dashboards, or major section introductions.\nCreates visual hierarchy and establishes page context for users.\nMust be used as a direct child of eui-page to maintain proper layout structure.\n\n### Basic hero header\n```html\n<eui-page>\n  <eui-page-hero-header\n    label=\"Welcome to the Portal\"\n    subLabel=\"Your central hub for managing applications\">\n  </eui-page-hero-header>\n  <eui-page-content>Content here</eui-page-content>\n</eui-page>\n```\n\n### Accessibility\n- Uses semantic heading structure for proper document outline\n- Ensure label text is descriptive and meaningful\n- Maintain sufficient color contrast for readability\n\n### Notes\n- Must be direct child of eui-page component\n- Provides larger, more prominent styling than standard page header\n- Best suited for landing pages or major section introductions\n- Use sparingly to maintain visual hierarchy\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ViewEncapsulation, Input, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * @description\n * Hero header component for eui-page that displays a prominent page title with optional subtitle.\n * Provides a visually distinct header section with larger typography and enhanced spacing.\n * Typically used for landing pages, dashboards, or major section introductions.\n * Creates visual hierarchy and establishes page context for users.\n * Must be used as a direct child of eui-page to maintain proper layout structure.\n *\n * @usageNotes\n * ### Basic hero header\n * ```html\n * <eui-page>\n *   <eui-page-hero-header \n *     label=\"Welcome to the Portal\"\n *     subLabel=\"Your central hub for managing applications\">\n *   </eui-page-hero-header>\n *   <eui-page-content>Content here</eui-page-content>\n * </eui-page>\n * ```\n *\n * ### Accessibility\n * - Uses semantic heading structure for proper document outline\n * - Ensure label text is descriptive and meaningful\n * - Maintain sufficient color contrast for readability\n *\n * ### Notes\n * - Must be direct child of eui-page component\n * - Provides larger, more prominent styling than standard page header\n * - Best suited for landing pages or major section introductions\n * - Use sparingly to maintain visual hierarchy\n */\n@Component({\n    selector: 'eui-page-hero-header',\n    templateUrl: './eui-page-hero-header.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiPageHeroHeaderComponent {\n    /**\n     * Primary heading text displayed prominently in the hero header.\n     * Serves as the main page title or section heading.\n     */\n    @Input() label;\n    /**\n     * Secondary descriptive text displayed below the main label.\n     * Provides additional context or explanation for the page content.\n     */\n    @Input() subLabel;\n\n    @HostBinding('class')\n    get cssClasses(): string {\n        return ['eui-page-hero-header'].join(' ').trim();\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 53
                    }
                }
            },
            "templateData": "<div class=\"eui-page-hero-header__logo\"></div>\n\n<div class=\"eui-page-hero-header__label\">\n    <strong>{{ label }}</strong>\n</div>\n<div class=\"eui-page-hero-header__sub-label\">{{ subLabel }}</div>\n"
        },
        {
            "name": "EuiPageTopContent",
            "id": "component-EuiPageTopContent-f04b2d6c7c2a561f1051a8d0f30b341bf95f2d624068cc3b90edc49cf90a1de41c6c80fd24ffa3c927839444f4fe70ab2167a4a6a54006b42c28d6212e1c0eab",
            "file": "packages/components/eui-page-v2/eui-page-top-content.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-top-content",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-page-top-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 28,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 25,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Top content container for page layouts that displays content above the main header.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page-top-content&gt;\n  &lt;eui-alert&gt;Important notification&lt;/eui-alert&gt;\n&lt;/eui-page-top-content&gt;</code></pre></div><h3>Notes</h3>\n<ul>\n<li>Use for alerts, banners, or announcements above the page header</li>\n<li>Positioned at the very top of the page layout</li>\n</ul>\n",
            "rawdescription": "\n\nTop content container for page layouts that displays content above the main header.\n\n```html\n<eui-page-top-content>\n  <eui-alert>Important notification</eui-alert>\n</eui-page-top-content>\n```\n\n### Notes\n- Use for alerts, banners, or announcements above the page header\n- Positioned at the very top of the page layout\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, Input, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * @description\n * Top content container for page layouts that displays content above the main header.\n *\n * @usageNotes\n * ```html\n * <eui-page-top-content>\n *   <eui-alert>Important notification</eui-alert>\n * </eui-page-top-content>\n * ```\n *\n * ### Notes\n * - Use for alerts, banners, or announcements above the page header\n * - Positioned at the very top of the page layout\n */\n@Component({\n    selector: 'eui-page-top-content',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiPageTopContent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return 'eui-page-top-content';\n    }\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-page-top-content';\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 25
                    }
                }
            }
        },
        {
            "name": "EuiPageTopContentComponent",
            "id": "component-EuiPageTopContentComponent-dfd95074d7443a72c4cec0f3e8226a20ec1c6c4950007bdcf58d74707cdf17bf09837cd05f757fdb7310504d39418b88ce105d80caedcefd80097e927f38bc6d",
            "file": "packages/components/eui-page/components/eui-page-top-content/eui-page-top-content.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-page-top-content",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-page-top-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1643,
                            "end": 1680,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1644,
                                "end": 1651,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-page-top-content&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nData attribute used for end-to-end testing identification.\n",
                    "description": "<p>Data attribute used for end-to-end testing identification.</p>\n",
                    "line": 47,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 40,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Top content area component for eui-page that provides a structured section above the main page content.\nTypically contains page-level alerts, notifications, or contextual information displayed prominently.\nPositioned between the page header and main content area with consistent spacing.\nMust be used as a direct child of eui-page to maintain proper layout structure.</p>\n<h3>With alert message</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-page&gt;\n  &lt;eui-page-header label=&quot;Settings&quot;&gt;&lt;/eui-page-header&gt;\n  &lt;eui-page-top-content&gt;\n    &lt;eui-alert type=&quot;info&quot;&gt;Your changes have been saved successfully.&lt;/eui-alert&gt;\n  &lt;/eui-page-top-content&gt;\n  &lt;eui-page-content&gt;Main content&lt;/eui-page-content&gt;\n&lt;/eui-page&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use appropriate ARIA roles for alerts and notifications</li>\n<li>Ensure important messages are announced to screen readers</li>\n<li>Maintain sufficient color contrast for content</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be direct child of eui-page component</li>\n<li>Positioned between header and main content</li>\n<li>Ideal for page-level notifications and contextual information</li>\n</ul>\n",
            "rawdescription": "\n\nTop content area component for eui-page that provides a structured section above the main page content.\nTypically contains page-level alerts, notifications, or contextual information displayed prominently.\nPositioned between the page header and main content area with consistent spacing.\nMust be used as a direct child of eui-page to maintain proper layout structure.\n\n### With alert message\n```html\n<eui-page>\n  <eui-page-header label=\"Settings\"></eui-page-header>\n  <eui-page-top-content>\n    <eui-alert type=\"info\">Your changes have been saved successfully.</eui-alert>\n  </eui-page-top-content>\n  <eui-page-content>Main content</eui-page-content>\n</eui-page>\n```\n\n### Accessibility\n- Use appropriate ARIA roles for alerts and notifications\n- Ensure important messages are announced to screen readers\n- Maintain sufficient color contrast for content\n\n### Notes\n- Must be direct child of eui-page component\n- Positioned between header and main content\n- Ideal for page-level notifications and contextual information\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ViewEncapsulation, Input, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * @description\n * Top content area component for eui-page that provides a structured section above the main page content.\n * Typically contains page-level alerts, notifications, or contextual information displayed prominently.\n * Positioned between the page header and main content area with consistent spacing.\n * Must be used as a direct child of eui-page to maintain proper layout structure.\n *\n * @usageNotes\n * ### With alert message\n * ```html\n * <eui-page>\n *   <eui-page-header label=\"Settings\"></eui-page-header>\n *   <eui-page-top-content>\n *     <eui-alert type=\"info\">Your changes have been saved successfully.</eui-alert>\n *   </eui-page-top-content>\n *   <eui-page-content>Main content</eui-page-content>\n * </eui-page>\n * ```\n *\n * ### Accessibility\n * - Use appropriate ARIA roles for alerts and notifications\n * - Ensure important messages are announced to screen readers\n * - Maintain sufficient color contrast for content\n *\n * ### Notes\n * - Must be direct child of eui-page component\n * - Positioned between header and main content\n * - Ideal for page-level notifications and contextual information\n */\n@Component({\n    selector: 'eui-page-top-content',\n    template: '<ng-content/>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiPageTopContentComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return 'eui-page-top-content';\n    }\n    /**\n     * Data attribute used for end-to-end testing identification.\n     * @default 'eui-page-top-content'\n     */\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-page-top-content';\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 40
                    }
                }
            }
        },
        {
            "name": "EuiPaginatorComponent",
            "id": "component-EuiPaginatorComponent-35e16aa7125118ea741b7a72eb88fe411dc634f3606b4b8d38cd9db3c0682bba7e7f1bc3c297e266b1600d0fc113570f96ee64b6cc3481c42ce8d4fb4782bdac",
            "file": "packages/components/eui-paginator/eui-paginator.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [
                {
                    "name": "DecimalPipe",
                    "type": "pipe"
                }
            ],
            "selector": "eui-paginator",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-paginator.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-paginator'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3686,
                            "end": 3716,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3687,
                                "end": 3694,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-paginator&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `data-e2e` attribute for the host element.\n\n",
                    "description": "<p>Sets the <code>data-e2e</code> attribute for the host element.</p>\n",
                    "line": 103,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasDynamicLength",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5691,
                            "end": 5711,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5692,
                                "end": 5699,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the datasource length is dynamic or not.\n\n",
                    "description": "<p>Whether the datasource length is dynamic or not.</p>\n",
                    "line": 176,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasPageNumberNavigation",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5328,
                            "end": 5348,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5329,
                                "end": 5336,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the page number is displayed or not.\n\n",
                    "description": "<p>Whether the page number is displayed or not.</p>\n",
                    "line": 164,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasPageNumberNavigationCompact",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5502,
                            "end": 5522,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5503,
                                "end": 5510,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the page number is displayed or not.\n\n",
                    "description": "<p>Whether the page number is displayed or not.</p>\n",
                    "line": 170,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasPageSize",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5871,
                            "end": 5890,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5872,
                                "end": 5879,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the page size is displayed or not. Default: true.\n\n",
                    "description": "<p>Whether the page size is displayed or not. Default: true.</p>\n",
                    "line": 182,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isBasicMode",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5166,
                            "end": 5186,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5167,
                                "end": 5174,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the paginator is in basic mode or not.\nIn this mode, the paginator will only display the previous and next buttons.\n\n",
                    "description": "<p>Whether the paginator is in basic mode or not.\nIn this mode, the paginator will only display the previous and next buttons.</p>\n",
                    "line": 158,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isHidden",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4911,
                            "end": 4941,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4912,
                                "end": 4919,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false (visible)</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the paginator is hidden or not.\n\n",
                    "description": "<p>Whether the paginator is hidden or not.</p>\n",
                    "line": 151,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "length",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4602,
                            "end": 4618,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4603,
                                "end": 4610,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>0</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the total number of items.\n\n",
                    "description": "<p>Sets the total number of items.</p>\n",
                    "line": 139,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "nbPageNumberNavigation",
                    "defaultValue": "5",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4782,
                            "end": 4798,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4783,
                                "end": 4790,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>5</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIn combination with `hasPageNumberNavigation`, sets the number of page numbers displayed in the paginator.\n\n",
                    "description": "<p>In combination with <code>hasPageNumberNavigation</code>, sets the number of page numbers displayed in the paginator.</p>\n",
                    "line": 145,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "page",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4499,
                            "end": 4515,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4500,
                                "end": 4507,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>0</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the current page number.\n\n",
                    "description": "<p>Sets the current page number.</p>\n",
                    "line": 133,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "pageSize",
                    "defaultValue": "10",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4392,
                            "end": 4409,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4393,
                                "end": 4400,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>10</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the number of items displayed in the page.\n\n",
                    "description": "<p>Sets the number of items displayed in the page.</p>\n",
                    "line": 127,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "pageSizeOptions",
                    "defaultValue": "[5, 10, 25, 50, 100]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4214,
                            "end": 4249,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4215,
                                "end": 4222,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>[5, 10, 25, 50, 100]</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the page size options that will be displayed in the dropdown.\n\n",
                    "description": "<p>Sets the page size options that will be displayed in the dropdown.</p>\n",
                    "line": 121,
                    "type": "number[]",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "pageChange",
                    "defaultValue": "new EventEmitter<EuiPaginationEvent>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nEvent emitted when the page has changed.",
                    "description": "<p>Event emitted when the page has changed.</p>\n",
                    "line": 185,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "length$",
                    "defaultValue": "new BehaviorSubject(0)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BehaviorSubject<number>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Observable that emits the length of the datasource</p>\n",
                    "line": 194,
                    "rawdescription": "\n\nObservable that emits the length of the datasource\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "nbPage",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The number of pages.</p>\n",
                    "line": 206,
                    "rawdescription": "\n\nThe number of pages.\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "page$",
                    "defaultValue": "new BehaviorSubject(null)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BehaviorSubject<EuiPaginationEvent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Observable that emits the current page number, the page size and the number of pages.</p>\n",
                    "line": 190,
                    "rawdescription": "\n\nObservable that emits the current page number, the page size and the number of pages.\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "range",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The range of items displayed in the paginator.</p>\n",
                    "line": 198,
                    "rawdescription": "\n\nThe range of items displayed in the paginator.\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "rangeLength",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The range length of items displayed in the paginator.</p>\n",
                    "line": 202,
                    "rawdescription": "\n\nThe range length of items displayed in the paginator.\n",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "changePageSize",
                    "args": [
                        {
                            "name": "size",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 295,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nChanges the page size by the one provided as parameter.\n\n",
                    "description": "<p>Changes the page size by the one provided as parameter.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 9294,
                                "end": 9298,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "size"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 9288,
                                "end": 9293,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>New page size.</p>\n"
                        }
                    ]
                },
                {
                    "name": "getCurrentPagination",
                    "args": [],
                    "optional": false,
                    "returnType": "EuiPaginationEvent",
                    "typeParameters": [],
                    "line": 417,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nReturns the current pagination state.\n\n",
                    "description": "<p>Returns the current pagination state.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "tagName": {
                                "pos": 13447,
                                "end": 13454,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>An object with the properties of the paginator state.</p>\n"
                        }
                    ]
                },
                {
                    "name": "getPage",
                    "args": [
                        {
                            "name": "page",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "options",
                            "type": "literal type",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 406,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nChange the pagination to the given page number\n\n`emitEvent`: When true or not provided, event is emitted. When false, no events are emitted\n",
                    "description": "<p>Change the pagination to the given page number</p>\n<p><code>emitEvent</code>: When true or not provided, event is emitted. When false, no events are emitted</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 13046,
                                "end": 13050,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "page"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 13040,
                                "end": 13045,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>0-based page number to be displayed</p>\n"
                        },
                        {
                            "name": {
                                "pos": 13101,
                                "end": 13108,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "options"
                            },
                            "type": "literal type",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 13095,
                                "end": 13100,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p><code>emitEvent</code>: When true or not provided, event is emitted. When false, no events are emitted</p>\n"
                        }
                    ]
                },
                {
                    "name": "getRange",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 391,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCalculates the range of items displayed in the paginator.\n",
                    "description": "<p>Calculates the range of items displayed in the paginator.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "goFirstPage",
                    "args": [
                        {
                            "name": "options",
                            "type": "literal type",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 334,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the page number to 0 (first page).\n\n`emitEvent`: When true or not provided, event is emitted. When false, no events are emitted\n",
                    "description": "<p>Sets the page number to 0 (first page).</p>\n<p><code>emitEvent</code>: When true or not provided, event is emitted. When false, no events are emitted</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 10612,
                                "end": 10619,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "options"
                            },
                            "type": "literal type",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 10606,
                                "end": 10611,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p><code>emitEvent</code>: When true or not provided, event is emitted. When false, no events are emitted</p>\n"
                        }
                    ]
                },
                {
                    "name": "goLastPage",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 367,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the page number to last page.\n",
                    "description": "<p>Sets the page number to last page.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "goNextPage",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 357,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the page number to current + 1.\n",
                    "description": "<p>Sets the page number to current + 1.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "goPreviousPage",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 347,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the page number to current - 1.\n",
                    "description": "<p>Sets the page number to current - 1.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "goToPage",
                    "args": [
                        {
                            "name": "page",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "options",
                            "type": "literal type",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 318,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the page number to the one provided as parameter.\n\n`emitEvent`: When true or not provided, event is emitted. When false, no events are emitted\n",
                    "description": "<p>Sets the page number to the one provided as parameter.</p>\n<p><code>emitEvent</code>: When true or not provided, event is emitted. When false, no events are emitted</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 10009,
                                "end": 10013,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "page"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 10003,
                                "end": 10008,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>New page</p>\n"
                        },
                        {
                            "name": {
                                "pos": 10037,
                                "end": 10044,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "options"
                            },
                            "type": "literal type",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 10031,
                                "end": 10036,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p><code>emitEvent</code>: When true or not provided, event is emitted. When false, no events are emitted</p>\n"
                        }
                    ]
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "c",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 213,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "c",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 254,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 228,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "setLength",
                    "args": [
                        {
                            "name": "length",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 384,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nGives new value to the length of the datasource.\n",
                    "description": "<p>Gives new value to the length of the datasource.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "length",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "setPage",
                    "args": [
                        {
                            "name": "page",
                            "type": "EuiPaginationEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 377,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nGives new values to page number, page size and number of pages.\n",
                    "description": "<p>Gives new values to page number, page size and number of pages.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "page",
                            "type": "EuiPaginationEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3867,
                            "end": 3920,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3868,
                                "end": 3875,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>A string with all CSS classes applied.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `class` attribute for the host element.\n\n",
                    "description": "<p>Sets the <code>class</code> attribute for the host element.</p>\n",
                    "line": 110,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "DecimalPipe",
                    "type": "pipe"
                },
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "TranslateModule",
                    "type": "module"
                },
                {
                    "name": "FormsModule",
                    "type": "module"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_SELECT"
                }
            ],
            "description": "<p>The eui-paginator component is in charge of the pagination by splitting up content or data into several pages and adding visual controls for better user experience like:</p>\n<ul>\n<li>identifying the current page: clearly identify which page the user is on by displaying the current page number.</li>\n<li>providing context into how many pages there are in total: can help provide clarity around the data displayed.</li>\n<li>providing various options for navigating: previous and next chevrons or links are the most useful way for the user to move forward or backward through pages of data.</li>\n<li>items per page: allows selecting the amount of data displayed per page.</li>\n</ul>\n<p> Best practices &amp; Usage\nGenerally, pagination is recommended to be used if there are more than 25 items displayed in one view. The default number of displayed items may vary depending on the context.</p>\n<p>The main benefits of using pagination:</p>\n<ul>\n<li>delivers structure and feedback over the displayed data</li>\n<li>supports embedded navigation (and in particular back and forward, first and last)</li>\n<li>pagination is accessible (see A11Y)</li>\n<li>pagination typically means smaller, shorter pages and as a result reduced load times</li>\n<li>compared to infinite scroll display, it helps to focus the user&#39;s mind and not continue to offer more and more choices.</li>\n</ul>\n<h3>Basic usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-paginator\n  [length]=&quot;totalItems&quot;\n  [pageSize]=&quot;10&quot;\n  (pageChange)=&quot;onPageChange($event)&quot;&gt;\n&lt;/eui-paginator&gt;</code></pre></div><h3>With page number navigation</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-paginator\n  [length]=&quot;100&quot;\n  [page]=&quot;currentPage&quot;\n  [hasPageNumberNavigation]=&quot;true&quot;\n  [nbPageNumberNavigation]=&quot;5&quot;&gt;\n&lt;/eui-paginator&gt;</code></pre></div><h3>Basic mode (minimal UI)</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-paginator [length]=&quot;50&quot; [isBasicMode]=&quot;true&quot;&gt;&lt;/eui-paginator&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Navigation buttons have descriptive labels for screen readers</li>\n<li>Current page and total pages announced to assistive technologies</li>\n<li>Keyboard navigable with standard tab and enter interactions</li>\n<li>Page size selector is a standard accessible dropdown</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use <code>hasDynamicLength</code> when total items count changes during pagination</li>\n<li>Page numbers are zero-indexed internally but displayed as 1-indexed</li>\n<li>Hide with <code>isHidden</code> when only one page exists</li>\n<li>Customize page size options via <code>pageSizeOptions</code> array</li>\n</ul>\n",
            "rawdescription": "\n\nThe eui-paginator component is in charge of the pagination by splitting up content or data into several pages and adding visual controls for better user experience like:\n- identifying the current page: clearly identify which page the user is on by displaying the current page number.\n- providing context into how many pages there are in total: can help provide clarity around the data displayed.\n- providing various options for navigating: previous and next chevrons or links are the most useful way for the user to move forward or backward through pages of data.\n- items per page: allows selecting the amount of data displayed per page.\n\n Best practices & Usage\nGenerally, pagination is recommended to be used if there are more than 25 items displayed in one view. The default number of displayed items may vary depending on the context.\n\nThe main benefits of using pagination:\n- delivers structure and feedback over the displayed data\n- supports embedded navigation (and in particular back and forward, first and last)\n- pagination is accessible (see A11Y)\n- pagination typically means smaller, shorter pages and as a result reduced load times\n- compared to infinite scroll display, it helps to focus the user's mind and not continue to offer more and more choices.\n\n### Basic usage\n```html\n<eui-paginator\n  [length]=\"totalItems\"\n  [pageSize]=\"10\"\n  (pageChange)=\"onPageChange($event)\">\n</eui-paginator>\n```\n\n### With page number navigation\n```html\n<eui-paginator\n  [length]=\"100\"\n  [page]=\"currentPage\"\n  [hasPageNumberNavigation]=\"true\"\n  [nbPageNumberNavigation]=\"5\">\n</eui-paginator>\n```\n\n### Basic mode (minimal UI)\n```html\n<eui-paginator [length]=\"50\" [isBasicMode]=\"true\"></eui-paginator>\n```\n\n### Accessibility\n- Navigation buttons have descriptive labels for screen readers\n- Current page and total pages announced to assistive technologies\n- Keyboard navigable with standard tab and enter interactions\n- Page size selector is a standard accessible dropdown\n\n### Notes\n- Use `hasDynamicLength` when total items count changes during pagination\n- Page numbers are zero-indexed internally but displayed as 1-indexed\n- Hide with `isHidden` when only one page exists\n- Customize page size options via `pageSizeOptions` array\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    OnInit,\n    Input,\n    OnDestroy,\n    EventEmitter,\n    Output,\n    OnChanges,\n    SimpleChanges,\n    HostBinding,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\nimport { Subject, BehaviorSubject } from 'rxjs';\nimport { takeUntil, distinctUntilChanged } from 'rxjs/operators';\n// import { EuiAppShellService } from '@eui/core';\n\nimport { EuiPaginationEvent } from './models/pagination-event.model';\nimport { AsyncPipe, DecimalPipe } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_SELECT } from '@eui/components/eui-select';\n\n/**\n * @description\n * The eui-paginator component is in charge of the pagination by splitting up content or data into several pages and adding visual controls for better user experience like:\n * - identifying the current page: clearly identify which page the user is on by displaying the current page number.\n * - providing context into how many pages there are in total: can help provide clarity around the data displayed.\n * - providing various options for navigating: previous and next chevrons or links are the most useful way for the user to move forward or backward through pages of data.\n * - items per page: allows selecting the amount of data displayed per page.\n *\n *  Best practices & Usage\n * Generally, pagination is recommended to be used if there are more than 25 items displayed in one view. The default number of displayed items may vary depending on the context.\n *\n * The main benefits of using pagination:\n * - delivers structure and feedback over the displayed data\n * - supports embedded navigation (and in particular back and forward, first and last)\n * - pagination is accessible (see A11Y)\n * - pagination typically means smaller, shorter pages and as a result reduced load times\n * - compared to infinite scroll display, it helps to focus the user's mind and not continue to offer more and more choices.\n *\n * @usageNotes\n * ### Basic usage\n * ```html\n * <eui-paginator \n *   [length]=\"totalItems\" \n *   [pageSize]=\"10\" \n *   (pageChange)=\"onPageChange($event)\">\n * </eui-paginator>\n * ```\n *\n * ### With page number navigation\n * ```html\n * <eui-paginator \n *   [length]=\"100\" \n *   [page]=\"currentPage\"\n *   [hasPageNumberNavigation]=\"true\"\n *   [nbPageNumberNavigation]=\"5\">\n * </eui-paginator>\n * ```\n *\n * ### Basic mode (minimal UI)\n * ```html\n * <eui-paginator [length]=\"50\" [isBasicMode]=\"true\"></eui-paginator>\n * ```\n *\n * ### Accessibility\n * - Navigation buttons have descriptive labels for screen readers\n * - Current page and total pages announced to assistive technologies\n * - Keyboard navigable with standard tab and enter interactions\n * - Page size selector is a standard accessible dropdown\n *\n * ### Notes\n * - Use `hasDynamicLength` when total items count changes during pagination\n * - Page numbers are zero-indexed internally but displayed as 1-indexed\n * - Hide with `isHidden` when only one page exists\n * - Customize page size options via `pageSizeOptions` array\n */\n@Component({\n    selector: 'eui-paginator',\n    templateUrl: './eui-paginator.component.html',\n    styleUrl: './eui-paginator.scss',\n    imports: [\n        DecimalPipe,\n        AsyncPipe,\n        TranslateModule,\n        FormsModule,\n        ...EUI_ICON,\n        ...EUI_BUTTON,\n        ...EUI_SELECT,\n    ],\n    providers: [DecimalPipe],\n})\nexport class EuiPaginatorComponent implements OnInit, OnDestroy, OnChanges {\n    /**\n     * Sets the `data-e2e` attribute for the host element.\n     *\n     * @default 'eui-paginator'\n     */\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-paginator';\n    /**\n     * Sets the `class` attribute for the host element.\n     *\n     * @returns A string with all CSS classes applied.\n     */\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-paginator',\n            this.isHidden ? 'eui-paginator--hidden' : '',\n        ].join(' ').trim();\n    }\n    /**\n     * Sets the page size options that will be displayed in the dropdown.\n     *\n     * @default [5, 10, 25, 50, 100]\n     */\n    @Input() pageSizeOptions: number[] = [5, 10, 25, 50, 100];\n    /**\n     * Sets the number of items displayed in the page.\n     *\n     * @default 10\n     */\n    @Input() pageSize = 10;\n    /**\n     * Sets the current page number.\n     *\n     * @default 0\n     */\n    @Input() page = 0;\n    /**\n     * Sets the total number of items.\n     *\n     * @default 0\n     */\n    @Input() length = 0;\n    /**\n     * In combination with `hasPageNumberNavigation`, sets the number of page numbers displayed in the paginator.\n     *\n     * @default 5\n     */\n    @Input() nbPageNumberNavigation = 5;\n    /**\n     * Whether the paginator is hidden or not.\n     *\n     * @default false (visible)\n     */\n    @Input({ transform: booleanAttribute }) isHidden = false;\n    /**\n     * Whether the paginator is in basic mode or not.\n     * In this mode, the paginator will only display the previous and next buttons.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isBasicMode = false;\n    /**\n     * Whether the page number is displayed or not.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasPageNumberNavigation = false;\n    /**\n     * Whether the page number is displayed or not.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasPageNumberNavigationCompact = false;    \n    /**\n     * Whether the datasource length is dynamic or not.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasDynamicLength = false;\n    /**\n     * Whether the page size is displayed or not. Default: true.\n     *\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasPageSize = true;\n\n    /** Event emitted when the page has changed. */\n    @Output() pageChange = new EventEmitter<EuiPaginationEvent>();\n\n    /**\n     * Observable that emits the current page number, the page size and the number of pages.\n     */\n    public page$: BehaviorSubject<EuiPaginationEvent> = new BehaviorSubject(null);\n    /**\n     * Observable that emits the length of the datasource\n     */\n    public length$: BehaviorSubject<number> = new BehaviorSubject(0);\n    /**\n     * The range of items displayed in the paginator.\n     */\n    public range: string;\n    /**\n     * The range length of items displayed in the paginator.\n     */\n    public rangeLength: string;\n    /**\n     * The number of pages.\n     */\n    public nbPage: number;\n\n    // EuiAppShellService = inject(EuiAppShellService);\n    private nbPageNumberNav: number;\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private decimal = inject(DecimalPipe);\n\n    ngOnChanges(c: SimpleChanges): void {\n        if (c && c.length) {\n            this.length$.next(c.length.currentValue);\n            this.getRange();\n        }\n        if (c && c.page) {\n            this.page$.next({ page: c.page.currentValue, pageSize: this.pageSize, nbPage: this.nbPage });\n            this.getRange();\n        }\n        if (c && c.pageSize) {\n            this.page$.next({ page: this.page, pageSize: c.pageSize.currentValue, nbPage: this.nbPage });\n            this.getRange();\n        }\n    }\n\n    ngOnInit(): void {\n        if (this.length) {\n            this.length$.next(this.length);\n        }\n\n        this.nbPageNumberNav = this.nbPageNumberNavigation;\n\n        this.length$.pipe(takeUntil(this.destroy$), distinctUntilChanged()).subscribe((length) => {\n            this.length = length;\n            this.nbPage = Math.ceil(this.length / this.pageSize);\n            if (!this.hasDynamicLength) {\n                this.page = 0;\n            }\n            this.getRange();\n\n            if (this.nbPage < this.nbPageNumberNavigation) {\n                this.nbPageNumberNav = this.nbPage;\n            } else {\n                this.nbPageNumberNav = this.nbPageNumberNavigation;\n            }\n\n            this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n        });\n        this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    /**\n     * Returns the page number navigation array.\n     *\n     * @returns An array of page numbers.\n     */\n    get pageNumberNavigation(): number[] {\n        const pages = [];\n        for (let i = 0; i < this.nbPage; i++) {\n            pages.push(i);\n        }\n\n        const delta = Math.floor(this.nbPageNumberNav / 2);\n        let start = 0;\n        if (this.page - delta > 0) {\n            start = this.page - delta;\n        } else {\n            start = 0;\n        }\n\n        if (this.nbPage - this.page <= this.nbPageNumberNav - (delta + 1)) {\n            start = this.nbPage - this.nbPageNumberNav;\n        }\n\n        if (start < 0) {\n            start = 0;\n        }\n\n        const end = start + this.nbPageNumberNav;\n        return pages.slice(start, end);\n    }\n\n    /**\n     * Changes the page size by the one provided as parameter.\n     *\n     * @param size New page size.\n     */\n    public changePageSize(size: string): void {\n        this.pageSize = parseInt(size, 10);\n        this.nbPage = Math.ceil(this.length / this.pageSize);\n        this.page = 0;\n        this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n        this.getRange();\n\n        if (this.nbPage < this.nbPageNumberNavigation) {\n            this.nbPageNumberNav = this.nbPage;\n        } else {\n            this.nbPageNumberNav = this.nbPageNumberNavigation;\n        }\n\n        this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n    }\n\n    /**\n     * Sets the page number to the one provided as parameter.\n     *\n     * @param page New page\n     * @param options\n     * `emitEvent`: When true or not provided, event is emitted. When false, no events are emitted\n     */\n    public goToPage(page: number, options?: { emitEvent: boolean }): void {\n        this.page = page;\n        this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n        this.getRange();\n\n        if (!options || options?.emitEvent) {\n            this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n        }\n    }\n\n    /**\n     * Sets the page number to 0 (first page).\n     *\n     * @param options\n     * `emitEvent`: When true or not provided, event is emitted. When false, no events are emitted\n     */\n    public goFirstPage(options?: { emitEvent: boolean }): void {\n        this.page = 0;\n        this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n        this.getRange();\n\n        if (!options || options?.emitEvent) {\n            this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n        }\n    }\n\n    /**\n     * Sets the page number to current - 1.\n     */\n    public goPreviousPage(): void {\n        this.page--;\n        this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n        this.getRange();\n        this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n    }\n\n    /**\n     * Sets the page number to current + 1.\n     */\n    public goNextPage(): void {\n        this.page++;\n        this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n        this.getRange();\n        this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n    }\n\n    /**\n     * Sets the page number to last page.\n     */\n    public goLastPage(): void {\n        this.page = this.nbPage - 1;\n        this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n        this.getRange();\n        this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n    }\n\n    /**\n     * Gives new values to page number, page size and number of pages.\n     */\n    public setPage(page: EuiPaginationEvent): void {\n        this.page$.next(page);\n    }\n\n    /**\n     * Gives new value to the length of the datasource.\n     */\n    public setLength(length: number): void {\n        this.length$.next(length);\n    }\n\n    /**\n     * Calculates the range of items displayed in the paginator.\n     */\n    public getRange(): void {\n        const from = this.length > 0 ? this.page * this.pageSize + 1 : 0;\n        const limit = this.page * this.pageSize + this.pageSize;\n        const to = limit <= this.length ? limit : this.length;\n        this.range = from && to && this.length ? this.decimal.transform(from) + '–' + this.decimal.transform(to) : '';\n        this.rangeLength = this.length ? this.length.toString() : '';\n    }\n\n    /**\n     * Change the pagination to the given page number\n     *\n     * @param page 0-based page number to be displayed\n     * @param options\n     * `emitEvent`: When true or not provided, event is emitted. When false, no events are emitted\n     */\n    public getPage(page: number, options?: { emitEvent: boolean }): void {\n        setTimeout(() => {\n            this.goToPage(page, options);\n        });\n    }\n\n    /**\n     * Returns the current pagination state.\n     *\n     * @returns An object with the properties of the paginator state.\n     */\n    public getCurrentPagination(): EuiPaginationEvent {\n        return {\n            page: this.page,\n            pageSize: this.pageSize,\n            nbPage: this.nbPage,\n        };\n    }\n}\n",
            "styleUrl": "./eui-paginator.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy",
                "OnChanges"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 110,
                        "rawdescription": "\n\nSets the `class` attribute for the host element.\n\n",
                        "description": "<p>Sets the <code>class</code> attribute for the host element.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 3867,
                                "end": 3920,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 3868,
                                    "end": 3875,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>A string with all CSS classes applied.</p>\n"
                            }
                        ]
                    }
                },
                "pageNumberNavigation": {
                    "name": "pageNumberNavigation",
                    "getSignature": {
                        "name": "pageNumberNavigation",
                        "type": "[]",
                        "returnType": "number[]",
                        "line": 264,
                        "rawdescription": "\n\nReturns the page number navigation array.\n\n",
                        "description": "<p>Returns the page number navigation array.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 8494,
                                "end": 8534,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 8495,
                                    "end": 8502,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>An array of page numbers.</p>\n"
                            }
                        ]
                    }
                }
            },
            "templateData": "<div class=\"eui-paginator__page\">\n    @if (!isBasicMode || hasPageSize) {\n        <div class=\"eui-paginator__page-selector-wrapper\" [class.eui-paginator__page-selector-wrapper--compact]=\"hasPageNumberNavigationCompact\">\n            <div class=\"eui-paginator__page-selector\">\n                <div>{{ 'eui.euitable.ITEMS-PER-PAGE' | translate }}:</div>\n                <div class=\"page-size__select-wrapper\">\n                    <select euiSelect class=\"page-size__select\" ariaLabel=\"{{ 'eui.euitable.ITEMS-PER-PAGE' | translate }}\" [(ngModel)]=\"pageSize\" (ngModelChange)=\"changePageSize($event)\">\n                        @for (pageSizeOption of pageSizeOptions; track pageSizeOption) {\n                            <option value=\"{{ pageSizeOption }}\">{{ pageSizeOption }}</option>\n                        }\n                    </select>\n                </div>\n            </div>\n            @if ((length$ | async) > 0) {\n                <div class=\"eui-paginator__page-range-main\" role=\"status\">\n                    {{ 'eui.euitable.SHOWING-RANGE' | translate: { range: range } }} {{ 'eui.euitable.RANGE-LABEL' | translate }}\n                    {{ rangeLength | number }}\n                </div>\n            }\n        </div>\n    }\n</div>\n\n<nav class=\"eui-paginator__page-navigation\" [attr.aria-label]=\"'Table pagination navigation with ' + rangeLength + ' total items'\">\n    @if (isBasicMode) {\n\n        <div class=\"eui-paginator__page-navigation-item\">\n            <button\n                type=\"button\"\n                euiSizeS\n                euiButton\n                euiIconButton\n                euiBasicButton\n                aria-label=\"Go to previous page\" \n                [euiDisabled]=\"page === 0 || length === 0\"\n                (click)=\"goPreviousPage()\">\n                <eui-icon-svg icon=\"eui-caret-left\" fillColor=\"primary\"/>\n            </button>\n        </div>\n        <div class=\"eui-paginator__page-navigation-item\">\n            <button\n                type=\"button\"\n                euiSizeS\n                euiButton\n                euiIconButton\n                euiBasicButton\n                aria-label=\"Go to next page\" \n                [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n                (click)=\"goNextPage()\">\n                <eui-icon-svg icon=\"eui-caret-right\" fillColor=\"primary\"/>\n            </button>\n        </div>\n\n    } @else {\n        <div class=\"eui-paginator__page-navigation-item\">\n            <button\n                type=\"button\"\n                euiSizeS\n                euiButton\n                euiIconButton\n                euiBasicButton\n                aria-label=\"Go to first page\" \n                [euiDisabled]=\"page === 0 || length === 0\"\n                (click)=\"goFirstPage()\">\n                <eui-icon-svg icon=\"eui-caret-first\" fillColor=\"primary\"/>\n            </button>\n        </div>\n        <div class=\"eui-paginator__page-navigation-item\">\n            <button\n                type=\"button\"\n                euiSizeS\n                euiButton\n                euiIconButton\n                euiBasicButton\n                aria-label=\"Go to previous page\" \n                [euiDisabled]=\"page === 0 || length === 0\"\n                (click)=\"goPreviousPage()\">\n                <eui-icon-svg icon=\"eui-caret-left\" fillColor=\"primary\"/>\n            </button>\n        </div>\n        @if (hasPageNumberNavigation) {\n        <div class=\"eui-paginator__page-navigation-numbers\">\n            @for (pageNumber of pageNumberNavigation; track pageNumber) {\n            <button\n                type=\"button\"\n                [attr.aria-current]=\"pageNumber === page\"\n                euiSizeS\n                euiButton\n                euiBasicButton\n                [euiPrimary]=\"pageNumber === page\"\n                [euiOutline]=\"pageNumber === page\"\n                (click)=\"goToPage(pageNumber)\">\n                {{ pageNumber + 1 | number }}\n            </button>\n            }\n        </div>\n        }\n        @if ((length$ | async) > 0) {\n        <div class=\"eui-paginator__page-range\">\n            {{ range }} {{ 'eui.euitable.RANGE-LABEL' | translate }} {{ rangeLength }}\n        </div>\n        }\n        <div class=\"eui-paginator__page-navigation-item\">\n            <button\n                type=\"button\"\n                euiSizeS\n                euiButton\n                euiIconButton\n                euiBasicButton\n                aria-label=\"Go to next page\" \n                [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n                (click)=\"goNextPage()\">\n                <eui-icon-svg icon=\"eui-caret-right\" fillColor=\"primary\"/>\n            </button>\n        </div>\n        <div class=\"eui-paginator__page-navigation-item\">\n            <button\n                type=\"button\"\n                euiSizeS\n                euiButton\n                euiIconButton\n                euiBasicButton\n                aria-label=\"Go to last page\" \n                [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n                (click)=\"goLastPage()\">\n                <eui-icon-svg icon=\"eui-caret-last\" fillColor=\"primary\"/>\n            </button>\n        </div>\n    }\n</nav>\n\n"
        },
        {
            "name": "EuiPopoverComponent",
            "id": "component-EuiPopoverComponent-86d5ebad733da9aa55974a6b279b9bd3ff7cfa4dbc16c43f66d33dcabb9eff74269074e5e78f23de37364ed1d12895015fcbdf96aafcfa1c80b3e6736577ac82",
            "file": "packages/components/eui-popover/eui-popover.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-popover",
            "styleUrls": [
                "./styles/_index.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-popover.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiSizeS",
                        "euiSizeM",
                        "euiSizeL",
                        "euiSizeXL",
                        "euiSize2XL",
                        "euiSizeAuto",
                        "euiSizeVariant"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "required": false,
                    "name": "hasBackDrop",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4779,
                            "end": 4799,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4780,
                                "end": 4787,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether to show a semi-transparent backdrop behind the popover.\nWhen true, creates a visual overlay that dims the rest of the UI.\n\n",
                    "description": "<p>Whether to show a semi-transparent backdrop behind the popover.\nWhen true, creates a visual overlay that dims the rest of the UI.</p>\n",
                    "line": 156,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasCloseButton",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5032,
                            "end": 5051,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5033,
                                "end": 5040,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether to show a close button in the top-right corner of the popover.\nWhen clicked, the close button will dismiss the popover.\n\n",
                    "description": "<p>Whether to show a close button in the top-right corner of the popover.\nWhen clicked, the close button will dismiss the popover.</p>\n",
                    "line": 164,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasNoContentPadding",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5541,
                            "end": 5561,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5542,
                                "end": 5549,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIf the content of the popover should receive a default padding\n\n",
                    "description": "<p>If the content of the popover should receive a default padding</p>\n",
                    "line": 180,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isDismissable",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5360,
                            "end": 5379,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5361,
                                "end": 5368,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the popover can be dismissed by clicking outside its boundaries.\nWhen false, the popover will remain open until explicitly closed via code\nor by clicking the close button (if available).\n\n",
                    "description": "<p>Whether the popover can be dismissed by clicking outside its boundaries.\nWhen false, the popover will remain open until explicitly closed via code\nor by clicking the close button (if available).</p>\n",
                    "line": 173,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "position",
                    "defaultValue": "'bottom'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4285,
                            "end": 4308,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4286,
                                "end": 4293,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;bottom&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nDetermines the preferred placement of the popover relative to its origin element.\nThe component will attempt to use this position first, falling back to alternatives\nif there's not enough space in the viewport.\n\n",
                    "description": "<p>Determines the preferred placement of the popover relative to its origin element.\nThe component will attempt to use this position first, falling back to alternatives\nif there&#39;s not enough space in the viewport.</p>\n",
                    "line": 139,
                    "type": "EuiPopoverPosition",
                    "decorators": []
                },
                {
                    "name": "title",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nOptional title text to display in the popover header.\nWhen provided, adds a title element at the top of the popover content.\n",
                    "description": "<p>Optional title text to display in the popover header.\nWhen provided, adds a title element at the top of the popover content.</p>\n",
                    "line": 130,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "width",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4555,
                            "end": 4574,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4556,
                                "end": 4563,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>null</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nCustom width for the popover.\nCan be specified in any valid CSS unit (px, %, em, etc).\nWhen null, the popover width is determined by its content.\n\n",
                    "description": "<p>Custom width for the popover.\nCan be specified in any valid CSS unit (px, %, em, etc).\nWhen null, the popover width is determined by its content.</p>\n",
                    "line": 148,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "outsideClick",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when a click occurs outside the popover boundaries.\nOnly emitted when isDismissable is true.\n",
                    "description": "<p>Event emitted when a click occurs outside the popover boundaries.\nOnly emitted when isDismissable is true.</p>\n",
                    "line": 186,
                    "type": "EventEmitter"
                },
                {
                    "name": "popoverClose",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when the popover is closed.\nFires after the popover content has been removed from the DOM.\n",
                    "description": "<p>Event emitted when the popover is closed.\nFires after the popover content has been removed from the DOM.</p>\n",
                    "line": 198,
                    "type": "EventEmitter"
                },
                {
                    "name": "popoverOpen",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when the popover is opened.\nFires after the popover content has been attached to the DOM and positioned.\n",
                    "description": "<p>Event emitted when the popover is opened.\nFires after the popover content has been attached to the DOM and positioned.</p>\n",
                    "line": 192,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "position$",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Observable<unknown>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 200,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "templatePortalContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<unknown>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 202,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'templatePortalContent'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "closePopover",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 331,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCloses the popover.\nCleans up subscriptions, disposes the overlay, and emits the popoverClose event.\n",
                    "description": "<p>Closes the popover.\nCleans up subscriptions, disposes the overlay, and emits the popoverClose event.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 234,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "c",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 218,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "c",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 238,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 230,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onContentChange",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 267,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUpdates the position strategy when content changes.\nRecalculates and updates the overlay position to handle content size changes.\n",
                    "description": "<p>Updates the position strategy when content changes.\nRecalculates and updates the overlay position to handle content size changes.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "onKeyDown",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 345,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles keyboard events to allow closing the popover with the Escape key.\nCan be used as an alternative to the close button or when hasCloseButton is false.\n\n",
                    "description": "<p>Handles keyboard events to allow closing the popover with the Escape key.\nCan be used as an alternative to the close button or when hasCloseButton is false.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 11492,
                                "end": 11497,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 11486,
                                "end": 11491,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The keyboard event</li>\n</ul>\n"
                        }
                    ]
                },
                {
                    "name": "openPopover",
                    "args": [
                        {
                            "name": "origin",
                            "type": "ElementRef",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 280,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nOpens the popover relative to the provided origin element.\nSets up scroll monitoring, position strategy, and attaches the popover content to the overlay.\nEmits the popoverOpen event when complete.\n\n",
                    "description": "<p>Opens the popover relative to the provided origin element.\nSets up scroll monitoring, position strategy, and attaches the popover content to the overlay.\nEmits the popoverOpen event when complete.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 9046,
                                "end": 9052,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "origin"
                            },
                            "type": "ElementRef",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 9040,
                                "end": 9045,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>Reference to the element that triggers the popover</li>\n</ul>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "OverlayModule",
                    "type": "module"
                },
                {
                    "name": "A11yModule",
                    "type": "module"
                },
                {
                    "name": "ObserversModule",
                    "type": "module"
                },
                {
                    "name": "EuiPopoverArrowPositionDirective",
                    "type": "directive"
                },
                {
                    "name": "CdkTrapFocus"
                },
                {
                    "name": "EUI_ICON_BUTTON"
                }
            ],
            "description": "<p>A flexible popover component that displays content in an overlay positioned relative to an origin element.</p>\n<p>The popover can be positioned at four different positions (top, right, bottom, left) relative to the\norigin element, with automatic fallback positions if the preferred position doesn&#39;t fit in the viewport.\nIt supports various visual styles, dismissal behaviors, and size variants.</p>\n<h3>Basic usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">&#64;ViewChild(&#39;popover&#39;) popover: EuiPopoverComponent;\n&#64;ViewChild(&#39;trigger&#39;) trigger: ElementRef;\n\nopenPopover() {\n  this.popover.openPopover(this.trigger);\n}</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;button #trigger (click)=&quot;openPopover()&quot;&gt;Open&lt;/button&gt;\n&lt;eui-popover #popover title=&quot;Popover Title&quot;&gt;\n  &lt;p&gt;Popover content goes here&lt;/p&gt;\n&lt;/eui-popover&gt;</code></pre></div><h3>With positioning</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-popover position=&quot;top&quot; [width]=&quot;&#39;300px&#39;&quot;&gt;\n  Content\n&lt;/eui-popover&gt;</code></pre></div><h3>With backdrop</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-popover [hasBackDrop]=&quot;true&quot; [isDismissable]=&quot;true&quot;&gt;\n  Content\n&lt;/eui-popover&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Escape key closes the popover when focused</li>\n<li>Focus trap keeps keyboard navigation within popover when open</li>\n<li>Close button provides clear dismissal option</li>\n<li>Backdrop click dismissal when <code>isDismissable</code> is true</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Popover automatically repositions if preferred position doesn&#39;t fit viewport</li>\n<li>Use <code>hasNoContentPadding</code> to remove default content padding for custom layouts</li>\n<li>Listen to <code>popoverOpen</code> and <code>popoverClose</code> events for state management</li>\n<li>Popover closes automatically when origin element scrolls out of view</li>\n</ul>\n",
            "rawdescription": "\n\nA flexible popover component that displays content in an overlay positioned relative to an origin element.\n\nThe popover can be positioned at four different positions (top, right, bottom, left) relative to the\norigin element, with automatic fallback positions if the preferred position doesn't fit in the viewport.\nIt supports various visual styles, dismissal behaviors, and size variants.\n\n### Basic usage\n```typescript\n@ViewChild('popover') popover: EuiPopoverComponent;\n@ViewChild('trigger') trigger: ElementRef;\n\nopenPopover() {\n  this.popover.openPopover(this.trigger);\n}\n```\n```html\n<button #trigger (click)=\"openPopover()\">Open</button>\n<eui-popover #popover title=\"Popover Title\">\n  <p>Popover content goes here</p>\n</eui-popover>\n```\n\n### With positioning\n```html\n<eui-popover position=\"top\" [width]=\"'300px'\">\n  Content\n</eui-popover>\n```\n\n### With backdrop\n```html\n<eui-popover [hasBackDrop]=\"true\" [isDismissable]=\"true\">\n  Content\n</eui-popover>\n```\n\n### Accessibility\n- Escape key closes the popover when focused\n- Focus trap keeps keyboard navigation within popover when open\n- Close button provides clear dismissal option\n- Backdrop click dismissal when `isDismissable` is true\n\n### Notes\n- Popover automatically repositions if preferred position doesn't fit viewport\n- Use `hasNoContentPadding` to remove default content padding for custom layouts\n- Listen to `popoverOpen` and `popoverClose` events for state management\n- Popover closes automatically when origin element scrolls out of view\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    ChangeDetectionStrategy,\n    ViewEncapsulation,\n    Input,\n    ViewChild,\n    TemplateRef,\n    ViewContainerRef,\n    AfterViewInit,\n    OnDestroy,\n    OnInit,\n    Output,\n    EventEmitter,\n    ElementRef,\n    OnChanges,\n    SimpleChanges,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n    Overlay,\n    OverlayRef,\n    ConnectionPositionPair,\n    FlexibleConnectedPositionStrategyOrigin,\n    ScrollDispatcher,\n    CdkScrollable,\n    FlexibleConnectedPositionStrategy,\n    OverlayModule,\n} from '@angular/cdk/overlay';\n\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs';\nimport { distinctUntilChanged, map, switchMap, takeUntil } from 'rxjs/operators';\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiPopoverPosition, BOTTOM, LEFT, RIGHT, TOP, getPosition } from './models/eui-popover-position.model';\nimport { EuiPopoverArrowPositionDirective } from './directives/eui-popover-arrow-position.directive';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * @description\n * A flexible popover component that displays content in an overlay positioned relative to an origin element.\n *\n * The popover can be positioned at four different positions (top, right, bottom, left) relative to the\n * origin element, with automatic fallback positions if the preferred position doesn't fit in the viewport.\n * It supports various visual styles, dismissal behaviors, and size variants.\n *\n * @usageNotes\n * ### Basic usage\n * ```typescript\n * @ViewChild('popover') popover: EuiPopoverComponent;\n * @ViewChild('trigger') trigger: ElementRef;\n * \n * openPopover() {\n *   this.popover.openPopover(this.trigger);\n * }\n * ```\n * ```html\n * <button #trigger (click)=\"openPopover()\">Open</button>\n * <eui-popover #popover title=\"Popover Title\">\n *   <p>Popover content goes here</p>\n * </eui-popover>\n * ```\n *\n * ### With positioning\n * ```html\n * <eui-popover position=\"top\" [width]=\"'300px'\">\n *   Content\n * </eui-popover>\n * ```\n *\n * ### With backdrop\n * ```html\n * <eui-popover [hasBackDrop]=\"true\" [isDismissable]=\"true\">\n *   Content\n * </eui-popover>\n * ```\n *\n * ### Accessibility\n * - Escape key closes the popover when focused\n * - Focus trap keeps keyboard navigation within popover when open\n * - Close button provides clear dismissal option\n * - Backdrop click dismissal when `isDismissable` is true\n *\n * ### Notes\n * - Popover automatically repositions if preferred position doesn't fit viewport\n * - Use `hasNoContentPadding` to remove default content padding for custom layouts\n * - Listen to `popoverOpen` and `popoverClose` events for state management\n * - Popover closes automatically when origin element scrolls out of view\n */\n@Component({\n    selector: 'eui-popover',\n    templateUrl: './eui-popover.component.html',\n    styleUrls: ['./styles/_index.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSizeS',\n                'euiSizeM',\n                'euiSizeL',\n                'euiSizeXL',\n                'euiSize2XL',\n                'euiSizeAuto',\n                'euiSizeVariant',\n            ],\n        },\n    ],\n    imports: [\n        NgTemplateOutlet,\n        OverlayModule,\n        A11yModule,\n        ObserversModule,\n        EuiPopoverArrowPositionDirective,\n        CdkTrapFocus,\n        ...EUI_ICON_BUTTON,\n    ],\n})\nexport class EuiPopoverComponent implements AfterViewInit, OnDestroy, OnInit, OnChanges {\n    /**\n     * Optional title text to display in the popover header.\n     * When provided, adds a title element at the top of the popover content.\n     */\n    @Input() title: string;\n\n    /**\n     * Determines the preferred placement of the popover relative to its origin element.\n     * The component will attempt to use this position first, falling back to alternatives\n     * if there's not enough space in the viewport.\n     *\n     * @default 'bottom'\n     */\n    @Input() position: EuiPopoverPosition = 'bottom';\n\n    /**\n     * Custom width for the popover.\n     * Can be specified in any valid CSS unit (px, %, em, etc).\n     * When null, the popover width is determined by its content.\n     *\n     * @default null\n     */\n    @Input() width: string = null;\n\n    /**\n     * Whether to show a semi-transparent backdrop behind the popover.\n     * When true, creates a visual overlay that dims the rest of the UI.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasBackDrop = false;\n\n    /**\n     * Whether to show a close button in the top-right corner of the popover.\n     * When clicked, the close button will dismiss the popover.\n     *\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasCloseButton = true;\n\n    /**\n     * Whether the popover can be dismissed by clicking outside its boundaries.\n     * When false, the popover will remain open until explicitly closed via code\n     * or by clicking the close button (if available).\n     *\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isDismissable = true;\n\n    /**\n     * If the content of the popover should receive a default padding\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasNoContentPadding = false;\n\n    /**\n     * Event emitted when a click occurs outside the popover boundaries.\n     * Only emitted when isDismissable is true.\n     */\n    @Output() outsideClick = new EventEmitter();\n\n    /**\n     * Event emitted when the popover is opened.\n     * Fires after the popover content has been attached to the DOM and positioned.\n     */\n    @Output() popoverOpen = new EventEmitter();\n\n    /**\n     * Event emitted when the popover is closed.\n     * Fires after the popover content has been removed from the DOM.\n     */\n    @Output() popoverClose = new EventEmitter();\n\n    public position$: Observable<[EuiPopoverPosition, DOMRect]>;\n\n    @ViewChild('templatePortalContent') templatePortalContent: TemplateRef<unknown>;\n\n    private templatePortal: TemplatePortal;\n    private overlayRef: OverlayRef;\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private isOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n    private scrollDispatcherSubscription = new Subscription();\n    private origin: ElementRef;\n    private preferredPositons: ConnectionPositionPair[] = [BOTTOM, TOP, LEFT, RIGHT];\n    private positionStrategy: FlexibleConnectedPositionStrategy;\n    private positionStrategyUpdate$: Subject<void> = new Subject();\n    private overlay = inject(Overlay);\n    private viewContainerRef = inject(ViewContainerRef);\n    private scrollDispatcher = inject(ScrollDispatcher);\n    private baseStatesDirective = inject(BaseStatesDirective);\n\n    ngOnChanges(c: SimpleChanges): void {\n        if (this.position === 'top') {\n            this.preferredPositons = [TOP, BOTTOM, LEFT, RIGHT];\n        } else if (this.position === 'right') {\n            this.preferredPositons = [RIGHT, LEFT, TOP, BOTTOM];\n        } else if (this.position === 'left') {\n            this.preferredPositons = [LEFT, RIGHT, TOP, BOTTOM];\n        } else {\n            this.preferredPositons = [BOTTOM, TOP, LEFT, RIGHT];\n        }\n    }\n\n    ngOnInit(): void {\n        this.setPositionStream();\n    }\n\n    ngAfterViewInit(): void {\n        this.templatePortal = new TemplatePortal(this.templatePortalContent, this.viewContainerRef);\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n        this.scrollDispatcherSubscription.unsubscribe();\n        this.overlayRef?.dispose();\n        this.overlayRef = null;\n    }\n\n    /**\n     * Whether the eui-popover is open.\n     *\n     * @usageNotes\n     * ```HTML\n     * <eui-popover #popover>\n     *     @if (popover.isOpen) {\n     *          <my-component></my-component>\n     *     }\n     * </eui-popover>\n     * ```\n     * @returns A boolean with value `true` when open, otherwise `false`.\n     */\n    get isOpen(): boolean {\n        return this.isOpen$.value;\n    }\n\n    /**\n     * Updates the position strategy when content changes.\n     * Recalculates and updates the overlay position to handle content size changes.\n     */\n    public onContentChange(): void {\n        this.positionStrategy = this.getPositionStrategy();\n        this.positionStrategyUpdate$.next();\n        this.overlayRef.updatePositionStrategy(this.positionStrategy);\n    }\n\n    /**\n     * Opens the popover relative to the provided origin element.\n     * Sets up scroll monitoring, position strategy, and attaches the popover content to the overlay.\n     * Emits the popoverOpen event when complete.\n     *\n     * @param origin - Reference to the element that triggers the popover\n     */\n    public openPopover(origin: ElementRef): void {\n        if (!this.isOpen) {\n            this.scrollDispatcherSubscription = this.scrollDispatcher.ancestorScrolled(origin).subscribe((event: CdkScrollable) => {\n                const scrollableParent = event ? event.getElementRef().nativeElement : document.querySelector('body');\n                if (!this.isVisible(origin as unknown as HTMLElement, scrollableParent)) {\n                    this.closePopover();\n                }\n            });\n\n            this.origin = origin;\n            const positionStrategy = this.getPositionStrategy();\n\n            const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n\n            this.overlayRef = this.overlay.create({\n                positionStrategy,\n                scrollStrategy,\n                disposeOnNavigation: true,\n                width: this.width,\n                panelClass: this.baseStatesDirective.getCssClasses('eui-popover').split(' '),\n            });\n            this.overlayRef.attach(this.templatePortal);\n\n            document.querySelectorAll('.cdk-overlay-container')?.forEach(el => {\n                if (!el.classList.contains('eui-21')) {\n                    el.classList.add('eui-21');\n                }\n            });\n\n            this.positionStrategy = positionStrategy;\n            this.positionStrategyUpdate$.next();\n\n            this.overlayRef\n                .outsidePointerEvents()\n                .pipe(takeUntil(this.destroy$))\n                .subscribe(() => {\n                    if (this.isDismissable) {\n                        this.outsideClick.emit();\n                        this.closePopover();\n                    }\n                });\n\n            this.isOpen$.next(true);\n            this.popoverOpen.emit();\n        }\n    }\n\n    /**\n     * Closes the popover.\n     * Cleans up subscriptions, disposes the overlay, and emits the popoverClose event.\n     */\n    public closePopover(): void {\n        this.scrollDispatcherSubscription.unsubscribe();\n        this.overlayRef.dispose();\n        this.overlayRef = null;\n        this.isOpen$.next(false);\n        this.popoverClose.emit();\n    }\n\n    /**\n     * Handles keyboard events to allow closing the popover with the Escape key.\n     * Can be used as an alternative to the close button or when hasCloseButton is false.\n     *\n     * @param event - The keyboard event\n     */\n    public onKeyDown(event: KeyboardEvent): void {\n        if (event.key === 'Escape') {\n            this.closePopover();\n        }\n    }\n\n    /**\n     * Checks whether the origin element is currently visible within the scrollable parent's viewport.\n     * Used to determine if the popover should remain open during scroll events.\n     *\n     * @param origin - The HTML element that triggers the popover\n     * @param scrollableParent - The scrollable container element\n     * @returns True if the origin element is visible in the viewport, otherwise false\n     */\n    private isVisible(origin: HTMLElement, scrollableParent: HTMLElement): boolean {\n        const originY = origin.getBoundingClientRect().y;\n        const scrollableParentY = Math.abs(scrollableParent.getBoundingClientRect().y);\n        const scrollableParentHeight = scrollableParent.getBoundingClientRect().height - 50;\n\n        return (\n            (originY > 0 && originY < scrollableParentHeight) ||\n            (originY - scrollableParentY > 0 && originY < scrollableParentY + scrollableParentHeight)\n        );\n    }\n\n    /**\n     * Creates and returns a position strategy for the overlay.\n     * Configures the overlay to be positioned relative to the origin element\n     * with fallback positions if the preferred one doesn't fit.\n     *\n     * @returns A flexible connected position strategy configured for the popover\n     */\n    private getPositionStrategy(): FlexibleConnectedPositionStrategy {\n        return this.overlay\n            .position()\n            .flexibleConnectedTo(this.origin as FlexibleConnectedPositionStrategyOrigin)\n            .withPositions(this.preferredPositons)\n            .withFlexibleDimensions(false)\n            .withLockedPosition(true);\n    }\n\n    /**\n     * Sets up the position stream for the arrow positioning directive.\n     * Creates an observable that emits the current popover position and the origin element's bounding rectangle\n     * whenever the popover's position changes.\n     */\n    private setPositionStream(): void {\n        this.position$ = this.positionStrategyUpdate$.pipe(\n            switchMap(() => this.positionStrategy.positionChanges),\n            map(getPosition),\n            distinctUntilChanged(),\n            map((position) => {\n                const rect = this.origin.nativeElement ?\n                    this.origin.nativeElement.getBoundingClientRect() :\n                    (this.origin as unknown as HTMLElement).getBoundingClientRect();\n                return [position, rect];\n            }),\n        );\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@forward './eui-popover.scss';\n@forward './eui-popover.sizes.scss';\n",
                    "styleUrl": "./styles/_index.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterViewInit",
                "OnDestroy",
                "OnInit",
                "OnChanges"
            ],
            "accessors": {
                "isOpen": {
                    "name": "isOpen",
                    "getSignature": {
                        "name": "isOpen",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 259,
                        "rawdescription": "\n\nWhether the eui-popover is open.\n\n```HTML\n<eui-popover #popover>\n    @if (popover.isOpen) {\n         <my-component></my-component>\n    }\n</eui-popover>\n```\n",
                        "description": "<p>Whether the eui-popover is open.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-HTML\">&lt;eui-popover #popover&gt;\n    &#64;if (popover.isOpen) {\n         &lt;my-component&gt;&lt;/my-component&gt;\n    }\n&lt;/eui-popover&gt;</code></pre></div>",
                        "jsdoctags": [
                            {
                                "pos": 8084,
                                "end": 8152,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 8085,
                                    "end": 8095,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "usageNotes"
                                },
                                "comment": "<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-HTML\">&lt;eui-popover #popover&gt;</code></pre></div>"
                            },
                            {
                                "pos": 8152,
                                "end": 8274,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 8153,
                                    "end": 8155,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "if"
                                },
                                "comment": "<p>(popover.isOpen) {\n     <my-component></my-component>\n}\n</eui-popover>\n```</p>\n"
                            },
                            {
                                "pos": 8274,
                                "end": 8346,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 8275,
                                    "end": 8282,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>A boolean with value <code>true</code> when open, otherwise <code>false</code>.</p>\n"
                            }
                        ]
                    }
                }
            },
            "templateData": "<ng-template #templatePortalContent>\n    <ng-container *ngTemplateOutlet=\"template\" />\n</ng-template>\n\n<ng-template #template>\n    <div class=\"eui-popover__container\" cdkTrapFocus cdkTrapFocusAutoCapture (keydown)=\"onKeyDown($event)\">\n        <div class=\"eui-popover__arrow\" [euiPopoverArrowPosition]=\"position$\">\n            <div class=\"eui-popover__arrow-inner\"></div>\n        </div>\n        @if (title) {\n            <div class=\"eui-popover__header\">\n                <div class=\"eui-popover__header-title\">{{ title }}</div>\n                @if (hasCloseButton) {\n                <eui-icon-button class=\"eui-popover__header-close\"\n                    icon=\"eui-close\"\n                    euiRounded\n                    (buttonClick)=\"closePopover()\"\n                    fillColor=\"secondary\"\n                    ariaLabel=\"Dialog close icon\"/>                    \n                }\n            </div>\n        }\n        <div (cdkObserveContent)=\"onContentChange()\" class=\"eui-popover__content\" [class.eui-popover__content--no-padding]=\"hasNoContentPadding\">\n            <ng-content></ng-content>\n        </div>\n    </div>\n</ng-template>\n"
        },
        {
            "name": "EuiProgressBarComponent",
            "id": "component-EuiProgressBarComponent-01de0efa5baa5002b6b9db4641c2013961d822a0608b8debc2b0f6c29fdf78305ad04372abbd8fe5dfecee727047545905c584864dd0c41c02f205cceda80609",
            "file": "packages/components/eui-progress-bar/eui-progress-bar.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-progress-bar",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-progress-bar.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiSecondary",
                        "euiSuccess",
                        "euiInfo",
                        "euiWarning",
                        "euiDanger",
                        "euiSize2XS",
                        "euiSizeXS",
                        "euiSizeS",
                        "euiSizeM",
                        "euiSizeL",
                        "euiSizeXL",
                        "euiVariant",
                        "euiSizeVariant"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-progress-bar'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nElement attribute for e2e testing",
                    "description": "<p>Element attribute for e2e testing</p>\n",
                    "line": 95,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasStatusIcon",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nWhen true, displays a status icon based on the current state\n(success, warning, error, etc.)\n",
                    "description": "<p>When true, displays a status icon based on the current state\n(success, warning, error, etc.)</p>\n",
                    "line": 125,
                    "type": "BooleanInput",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isIndeterminate",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nWhen true, shows an indeterminate progress animation\ninstead of a specific progress value\n",
                    "description": "<p>When true, shows an indeterminate progress animation\ninstead of a specific progress value</p>\n",
                    "line": 118,
                    "type": "BooleanInput",
                    "decorators": []
                },
                {
                    "name": "label",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nOptional label displayed above the progress bar",
                    "description": "<p>Optional label displayed above the progress bar</p>\n",
                    "line": 104,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "progress",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCurrent progress value (0-100)\nValues greater than 100 will be capped at 100\n",
                    "description": "<p>Current progress value (0-100)\nValues greater than 100 will be capped at 100</p>\n",
                    "line": 111,
                    "type": "NumberInput",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BaseStatesDirective",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Reference to the BaseStatesDirective for managing component states</p>\n",
                    "line": 130,
                    "rawdescription": "\n\nReference to the BaseStatesDirective for managing component states\n",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 132,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nCSS classes applied to the host element",
                    "description": "<p>CSS classes applied to the host element</p>\n",
                    "line": 99,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_ICON_STATE"
                }
            ],
            "description": "<p>Horizontal progress indicator component that visualizes task completion or loading states.\nSupports determinate progress with percentage values and indeterminate loading animations.\nProvides optional labeling and status icons for contextual feedback.\nIntegrates with BaseStatesDirective for theming variants (success, warning, danger) and sizing options.\nCommonly used for file uploads, form submissions, data processing, and loading indicators.</p>\n<h3>Basic usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-progress-bar [progress]=&quot;75&quot; label=&quot;Upload progress&quot;&gt;&lt;/eui-progress-bar&gt;</code></pre></div><h3>Indeterminate loading</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-progress-bar [isIndeterminate]=&quot;true&quot; label=&quot;Loading...&quot;&gt;&lt;/eui-progress-bar&gt;</code></pre></div><h3>With status variants</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-progress-bar [progress]=&quot;90&quot; euiSuccess [hasStatusIcon]=&quot;true&quot;&gt;&lt;/eui-progress-bar&gt;\n&lt;eui-progress-bar [progress]=&quot;50&quot; euiWarning&gt;&lt;/eui-progress-bar&gt;\n&lt;eui-progress-bar [progress]=&quot;25&quot; euiDanger&gt;&lt;/eui-progress-bar&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Uses ARIA attributes to communicate progress state to assistive technologies</li>\n<li>Label provides context for screen readers</li>\n<li>Status icons enhance visual feedback for users with color vision deficiencies</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Progress values are automatically capped at 100</li>\n<li>Indeterminate mode shows continuous animation for unknown duration tasks</li>\n<li>Combine with status variants to indicate success, warning, or error states</li>\n</ul>\n",
            "rawdescription": "\n\nHorizontal progress indicator component that visualizes task completion or loading states.\nSupports determinate progress with percentage values and indeterminate loading animations.\nProvides optional labeling and status icons for contextual feedback.\nIntegrates with BaseStatesDirective for theming variants (success, warning, danger) and sizing options.\nCommonly used for file uploads, form submissions, data processing, and loading indicators.\n\n### Basic usage\n```html\n<eui-progress-bar [progress]=\"75\" label=\"Upload progress\"></eui-progress-bar>\n```\n\n### Indeterminate loading\n```html\n<eui-progress-bar [isIndeterminate]=\"true\" label=\"Loading...\"></eui-progress-bar>\n```\n\n### With status variants\n```html\n<eui-progress-bar [progress]=\"90\" euiSuccess [hasStatusIcon]=\"true\"></eui-progress-bar>\n<eui-progress-bar [progress]=\"50\" euiWarning></eui-progress-bar>\n<eui-progress-bar [progress]=\"25\" euiDanger></eui-progress-bar>\n```\n\n### Accessibility\n- Uses ARIA attributes to communicate progress state to assistive technologies\n- Label provides context for screen readers\n- Status icons enhance visual feedback for users with color vision deficiencies\n\n### Notes\n- Progress values are automatically capped at 100\n- Indeterminate mode shows continuous animation for unknown duration tasks\n- Combine with status variants to indicate success, warning, or error states\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    Input,\n    ChangeDetectionStrategy,\n    SimpleChanges,\n    OnChanges,\n    HostBinding,\n    booleanAttribute,\n    numberAttribute,\n    inject,\n} from '@angular/core';\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_ICON_STATE } from '@eui/components/eui-icon-state';\n\n/**\n * Transform function that ensures progress value doesn't exceed 100\n * @param value - The input progress value\n * @returns A number between 0 and 100\n */\nconst progressAttribute = (value: NumberInput): number => Math.min(numberAttribute(value), 100);\n\n/**\n * @description\n * Horizontal progress indicator component that visualizes task completion or loading states.\n * Supports determinate progress with percentage values and indeterminate loading animations.\n * Provides optional labeling and status icons for contextual feedback.\n * Integrates with BaseStatesDirective for theming variants (success, warning, danger) and sizing options.\n * Commonly used for file uploads, form submissions, data processing, and loading indicators.\n *\n * @usageNotes\n * ### Basic usage\n * ```html\n * <eui-progress-bar [progress]=\"75\" label=\"Upload progress\"></eui-progress-bar>\n * ```\n *\n * ### Indeterminate loading\n * ```html\n * <eui-progress-bar [isIndeterminate]=\"true\" label=\"Loading...\"></eui-progress-bar>\n * ```\n *\n * ### With status variants\n * ```html\n * <eui-progress-bar [progress]=\"90\" euiSuccess [hasStatusIcon]=\"true\"></eui-progress-bar>\n * <eui-progress-bar [progress]=\"50\" euiWarning></eui-progress-bar>\n * <eui-progress-bar [progress]=\"25\" euiDanger></eui-progress-bar>\n * ```\n *\n * ### Accessibility\n * - Uses ARIA attributes to communicate progress state to assistive technologies\n * - Label provides context for screen readers\n * - Status icons enhance visual feedback for users with color vision deficiencies\n *\n * ### Notes\n * - Progress values are automatically capped at 100\n * - Indeterminate mode shows continuous animation for unknown duration tasks\n * - Combine with status variants to indicate success, warning, or error states\n */\n@Component({\n    templateUrl: './eui-progress-bar.component.html',\n    selector: 'eui-progress-bar',\n    styleUrl: './eui-progress-bar.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        ...EUI_ICON, \n        ...EUI_ICON_STATE,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSecondary',\n                'euiSuccess',\n                'euiInfo',\n                'euiWarning',\n                'euiDanger',\n                'euiSize2XS',\n                'euiSizeXS',\n                'euiSizeS',\n                'euiSizeM',\n                'euiSizeL',\n                'euiSizeXL',\n                'euiVariant',\n                'euiSizeVariant',\n            ],\n        },\n    ],\n})\nexport class EuiProgressBarComponent implements OnChanges {\n    /** Element attribute for e2e testing */\n    @HostBinding('attr.data-e2e')\n    @Input()\n    e2eAttr = 'eui-progress-bar';\n\n    /** CSS classes applied to the host element */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return this.getCssClasses();\n    }\n\n    /** Optional label displayed above the progress bar */\n    @Input() label = '';\n\n    /**\n     * Current progress value (0-100)\n     * Values greater than 100 will be capped at 100\n     */\n    @Input({ transform: numberAttribute })\n    progress: NumberInput;\n\n    /**\n     * When true, shows an indeterminate progress animation\n     * instead of a specific progress value\n     */\n    @Input({ transform: booleanAttribute })\n    isIndeterminate: BooleanInput = false;\n\n    /**\n     * When true, displays a status icon based on the current state\n     * (success, warning, error, etc.)\n     */\n    @Input({ transform: booleanAttribute })\n    hasStatusIcon: BooleanInput = false;\n\n    /**\n     * Reference to the BaseStatesDirective for managing component states\n     */\n    public baseStatesDirective: BaseStatesDirective = inject(BaseStatesDirective);\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes['progress']) {\n            this.progress = changes['progress'].currentValue;\n            if ((this?.progress as number) > 100) {\n                this.progress = 100;\n            }\n        }\n    }\n\n    /**\n     * Generates CSS classes for the component based on current state\n     * @returns Space-separated string of CSS class names\n     */\n    private getCssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-progress-bar'),\n            this.isIndeterminate ? 'eui-progress-bar--indeterminate' : '',\n            this.hasStatusIcon ? 'eui-progress-bar--hasStatusIcon' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n}\n",
            "styleUrl": "./eui-progress-bar.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnChanges"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 99,
                        "rawdescription": "\nCSS classes applied to the host element",
                        "description": "<p>CSS classes applied to the host element</p>\n"
                    }
                }
            },
            "templateData": "@if(label || hasStatusIcon) {\n    <div class=\"eui-progress-bar__header\">\n        @if(label) {\n            <div class=\"eui-progress-bar__header-label\">{{ label }}</div>\n        }\n        @if(hasStatusIcon) {\n            <div class=\"eui-progress-bar__header-status\">\n                <eui-icon-state [euiVariant]=\"baseStatesDirective.euiVariant\"/>\n            </div>\n        }\n    </div>\n}\n<div class=\"eui-progress-bar__indicator-container\">\n    <div class=\"eui-progress-bar__indicator\" [style.width]=\"!isIndeterminate ? progress + '%' : null\"></div>\n</div>\n"
        },
        {
            "name": "EuiProgressCircleComponent",
            "id": "component-EuiProgressCircleComponent-ebfeff3bcdafdfe766bf87cb81dc2658ef0d87f24a1e3887c569a22d9fbfc6ded117e897f95be86d628df5eca34bb5b2ffd3146cbf744c453696044f4ccca3ea",
            "file": "packages/components/eui-progress-circle/eui-progress-circle.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-progress-circle",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-progress-circle.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiSizeS",
                        "euiSizeM",
                        "euiSizeL",
                        "euiSizeVariant"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "ariaLabel",
                    "defaultValue": "'progress circle'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3492,
                            "end": 3524,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3493,
                                "end": 3500,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;progress circle&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nAccessibility label for the progress circle\n",
                    "description": "<p>Accessibility label for the progress circle</p>\n",
                    "line": 118,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "tabindex",
                    "defaultValue": "'0'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4728,
                            "end": 4746,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4729,
                                "end": 4736,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;0&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nTab index for accessibility\n",
                    "description": "<p>Tab index for accessibility</p>\n",
                    "line": 164,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "colorSteps",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Custom color step thresholds (space or comma separated values)</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\"></code></pre></div>",
                    "line": 153,
                    "rawdescription": "\n\nCustom color step thresholds (space or comma separated values)\n```html\n```",
                    "jsdoctags": [
                        {
                            "pos": 4424,
                            "end": 4457,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4425,
                                "end": 4432,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "example"
                            },
                            "comment": "<p>&#39;33 66&#39; or &#39;33,66&#39;</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "colorType",
                    "defaultValue": "null, { transform: colorTypeTransform }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Override color type (&#39;info&#39;, &#39;success&#39;, &#39;warning&#39;, &#39;danger&#39;)</p>\n",
                    "line": 158,
                    "rawdescription": "\n\nOverride color type ('info', 'success', 'warning', 'danger')\n",
                    "required": false
                },
                {
                    "name": "emptyLabel",
                    "defaultValue": "'N/A'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Label to display when value is 0</p>\n",
                    "line": 142,
                    "rawdescription": "\n\nLabel to display when value is 0\n",
                    "jsdoctags": [
                        {
                            "pos": 4146,
                            "end": 4166,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4147,
                                "end": 4154,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;N/A&#39;</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "fillColor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Svg icon fill color option</p>\n",
                    "line": 175,
                    "rawdescription": "\n\nSvg icon fill color option\n",
                    "jsdoctags": [
                        {
                            "pos": 4909,
                            "end": 4941,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4910,
                                "end": 4917,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;neutral&#39; (black)</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "hasBottomLabel",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether to display the label at the bottom of the circle</p>\n",
                    "line": 130,
                    "rawdescription": "\n\nWhether to display the label at the bottom of the circle\n",
                    "jsdoctags": [
                        {
                            "pos": 3865,
                            "end": 3885,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3866,
                                "end": 3873,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "icon",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Svg icon option</p>\n",
                    "line": 169,
                    "rawdescription": "\n\nSvg icon option\n",
                    "required": false
                },
                {
                    "name": "isDefaultColorSteps",
                    "defaultValue": "true, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether to use default color steps based on value thresholds</p>\n",
                    "line": 124,
                    "rawdescription": "\n\nWhether to use default color steps based on value thresholds\n",
                    "jsdoctags": [
                        {
                            "pos": 3691,
                            "end": 3710,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3692,
                                "end": 3699,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "size",
                    "defaultValue": "'m'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Svg icon size option</p>\n",
                    "line": 181,
                    "rawdescription": "\n\nSvg icon size option\n",
                    "jsdoctags": [
                        {
                            "pos": 5034,
                            "end": 5052,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5035,
                                "end": 5042,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;m&#39;</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "value",
                    "defaultValue": "0, { transform: transformNumberInRange }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Current progress value (0-100)</p>\n",
                    "line": 136,
                    "rawdescription": "\n\nCurrent progress value (0-100)\n",
                    "jsdoctags": [
                        {
                            "pos": 4010,
                            "end": 4026,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4011,
                                "end": 4018,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>0</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "valueLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Custom label to display instead of percentage</p>\n",
                    "line": 147,
                    "rawdescription": "\n\nCustom label to display instead of percentage\n",
                    "required": false
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 224,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "isLongLabel",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether the label exceeds a width threshold</p>\n",
                    "line": 213,
                    "rawdescription": "\n\nWhether the label exceeds a width threshold\n\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "pos": 5721,
                            "end": 5741,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5722,
                                "end": 5729,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ]
                },
                {
                    "name": "labelValue",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Currently displayed label value</p>\n",
                    "line": 195,
                    "rawdescription": "\n\nCurrently displayed label value\n\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "pos": 5343,
                            "end": 5360,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5344,
                                "end": 5351,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;&#39;</p>\n"
                        }
                    ]
                },
                {
                    "name": "labelValueEl",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef<HTMLSpanElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Reference to the label value element</p>\n",
                    "line": 223,
                    "rawdescription": "\nReference to the label value element",
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'labelValueEl'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "offsetWidth",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Current width of the label element</p>\n",
                    "line": 220,
                    "rawdescription": "\n\nCurrent width of the label element\n\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "pos": 5841,
                            "end": 5857,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5842,
                                "end": 5849,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>0</p>\n"
                        }
                    ]
                },
                {
                    "name": "percentValue",
                    "defaultValue": "''",
                    "deprecated": true,
                    "deprecationMessage": "This will be removed in next version of eui as it's unused",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Percentage value as string</p>\n",
                    "line": 203,
                    "rawdescription": "\n\nPercentage value as string\n\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "pos": 5441,
                            "end": 5526,
                            "kind": 332,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5442,
                                "end": 5452,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "deprecated"
                            },
                            "comment": "<p>This will be removed in next version of eui as it&#39;s unused</p>\n"
                        },
                        {
                            "pos": 5526,
                            "end": 5543,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5527,
                                "end": 5534,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;&#39;</p>\n"
                        }
                    ]
                },
                {
                    "name": "roundedValue",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Rounded value for display</p>\n",
                    "line": 206,
                    "rawdescription": "\nRounded value for display",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "stateColorNumberClass",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>CSS class for the current color state</p>\n",
                    "line": 188,
                    "rawdescription": "\n\nCSS class for the current color state\n\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "pos": 5222,
                            "end": 5239,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5223,
                                "end": 5230,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterContentChecked",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 238,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nChecks and updates label width after content changes\n",
                    "description": "<p>Checks and updates label width after content changes</p>\n"
                },
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 230,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nInitializes color steps and labels after content is initialized\n",
                    "description": "<p>Initializes color steps and labels after content is initialized</p>\n"
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "c",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 251,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles changes to input properties\n",
                    "description": "<p>Handles changes to input properties</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 6703,
                                "end": 6704,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "c"
                            },
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 6697,
                                "end": 6702,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>SimpleChanges object containing changed properties</li>\n</ul>\n"
                        }
                    ]
                },
                {
                    "name": "setColorSteps",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 263,
                    "deprecated": true,
                    "deprecationMessage": "avoid using this method. It will become private in the future.",
                    "rawdescription": "\n\nSets the color state based on value and thresholds\n",
                    "description": "<p>Sets the color state based on value and thresholds</p>\n",
                    "jsdoctags": []
                },
                {
                    "name": "setLabels",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 289,
                    "deprecated": true,
                    "deprecationMessage": "avoid using this method. It will become private in the future.",
                    "rawdescription": "\n\nSets the display label based on current value and configuration\n",
                    "description": "<p>Sets the display label based on current value and configuration</p>\n",
                    "jsdoctags": []
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nCSS classes applied to the host element",
                    "description": "<p>CSS classes applied to the host element</p>\n",
                    "line": 104,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "<p>Circular progress indicator component that displays progress as a ring with customizable colors and labels.\nSupports automatic color transitions based on value thresholds and custom label positioning.\nProvides icon display option for visual enhancement and flexible sizing variants.</p>\n<h3>Basic usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-progress-circle [value]=&quot;65&quot;&gt;&lt;/eui-progress-circle&gt;</code></pre></div><h3>With custom label</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-progress-circle [value]=&quot;80&quot; valueLabel=&quot;4 of 5 tasks&quot;&gt;&lt;/eui-progress-circle&gt;</code></pre></div><h3>With icon</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-progress-circle [value]=&quot;100&quot; icon=&quot;check&quot; fillColor=&quot;success&quot;&gt;&lt;/eui-progress-circle&gt;</code></pre></div><h3>Custom color thresholds</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-progress-circle [value]=&quot;45&quot; colorSteps=&quot;25 75&quot;&gt;&lt;/eui-progress-circle&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Provide meaningful aria-label to describe the progress context</li>\n<li>Color states should not be the only indicator of status</li>\n<li>Ensure sufficient contrast between progress ring and background</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Default color steps: 0-33% success, 34-66% warning, 67-100% danger</li>\n<li>Use <code>isDefaultColorSteps=&quot;false&quot;</code> to disable automatic color transitions</li>\n<li>Bottom label positioning available via <code>hasBottomLabel</code> for longer text</li>\n</ul>\n",
            "rawdescription": "\n\nCircular progress indicator component that displays progress as a ring with customizable colors and labels.\nSupports automatic color transitions based on value thresholds and custom label positioning.\nProvides icon display option for visual enhancement and flexible sizing variants.\n\n### Basic usage\n```html\n<eui-progress-circle [value]=\"65\"></eui-progress-circle>\n```\n\n### With custom label\n```html\n<eui-progress-circle [value]=\"80\" valueLabel=\"4 of 5 tasks\"></eui-progress-circle>\n```\n\n### With icon\n```html\n<eui-progress-circle [value]=\"100\" icon=\"check\" fillColor=\"success\"></eui-progress-circle>\n```\n\n### Custom color thresholds\n```html\n<eui-progress-circle [value]=\"45\" colorSteps=\"25 75\"></eui-progress-circle>\n```\n\n### Accessibility\n- Provide meaningful aria-label to describe the progress context\n- Color states should not be the only indicator of status\n- Ensure sufficient contrast between progress ring and background\n\n### Notes\n- Default color steps: 0-33% success, 34-66% warning, 67-100% danger\n- Use `isDefaultColorSteps=\"false\"` to disable automatic color transitions\n- Bottom label positioning available via `hasBottomLabel` for longer text\n",
            "type": "component",
            "sourceCode": "import {\n    AfterContentChecked,\n    AfterContentInit,\n    ChangeDetectorRef,\n    Component,\n    ElementRef,\n    Input,\n    OnChanges,\n    SimpleChanges,\n    ViewChild,\n    ViewEncapsulation,\n    ChangeDetectionStrategy,\n    HostBinding,\n    booleanAttribute,\n    input,\n    InputSignal,\n    inject,\n} from '@angular/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\n/**\n * @description\n * Utility function to transform a value into a number in the range of 0-100.\n * @param value\n */\nconst transformNumberInRange = (value: string | number): number => {\n    const num = Number(value);\n    return isNaN(num) ? 0 : Math.max(0, Math.min(num, 100));\n}\n\ntype ColorType = 'info' | 'success' | 'warning' | 'danger';\n/**\n * @description\n * Utility function to transform a value into a color type 'info', 'success', 'warning', 'danger'\n * @param value\n */\nconst colorTypeTransform = (value: string | ColorType): ColorType => {\n    const types = ['info', 'success', 'warning', 'danger'];\n    return types.includes(value) ? value as ColorType : 'info';\n}\n\n/**\n * @description\n * Circular progress indicator component that displays progress as a ring with customizable colors and labels.\n * Supports automatic color transitions based on value thresholds and custom label positioning.\n * Provides icon display option for visual enhancement and flexible sizing variants.\n *\n * @usageNotes\n * ### Basic usage\n * ```html\n * <eui-progress-circle [value]=\"65\"></eui-progress-circle>\n * ```\n *\n * ### With custom label\n * ```html\n * <eui-progress-circle [value]=\"80\" valueLabel=\"4 of 5 tasks\"></eui-progress-circle>\n * ```\n *\n * ### With icon\n * ```html\n * <eui-progress-circle [value]=\"100\" icon=\"check\" fillColor=\"success\"></eui-progress-circle>\n * ```\n *\n * ### Custom color thresholds\n * ```html\n * <eui-progress-circle [value]=\"45\" colorSteps=\"25 75\"></eui-progress-circle>\n * ```\n *\n * ### Accessibility\n * - Provide meaningful aria-label to describe the progress context\n * - Color states should not be the only indicator of status\n * - Ensure sufficient contrast between progress ring and background\n *\n * ### Notes\n * - Default color steps: 0-33% success, 34-66% warning, 67-100% danger\n * - Use `isDefaultColorSteps=\"false\"` to disable automatic color transitions\n * - Bottom label positioning available via `hasBottomLabel` for longer text\n */\n@Component({\n    templateUrl: './eui-progress-circle.component.html',\n    selector: 'eui-progress-circle',\n    styleUrl: './eui-progress-circle.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        ...EUI_ICON,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSizeS',\n                'euiSizeM',\n                'euiSizeL',\n                'euiSizeVariant',\n            ],\n        },\n    ],\n})\nexport class EuiProgressCircleComponent implements AfterContentInit, OnChanges, AfterContentChecked {\n    /** CSS classes applied to the host element */\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-progress-circle'),\n            this.isLongLabel || this.hasBottomLabel() ? 'eui-progress-circle-content--with-bottom-label' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * Accessibility label for the progress circle\n     * @default 'progress circle'\n     */\n    @HostBinding('attr.aria-label')\n    @Input() ariaLabel = 'progress circle';\n\n    /**\n     * Whether to use default color steps based on value thresholds\n     * @default true\n     */\n    isDefaultColorSteps = input(true, { transform: booleanAttribute });\n\n    /**\n     * Whether to display the label at the bottom of the circle\n     * @default false\n     */\n    hasBottomLabel = input(false, { transform: booleanAttribute });\n\n    /**\n     * Current progress value (0-100)\n     * @default 0\n     */\n    value = input(0, { transform: transformNumberInRange });\n\n    /**\n     * Label to display when value is 0\n     * @default 'N/A'\n     */\n    emptyLabel: InputSignal<string> = input('N/A');\n\n    /**\n     * Custom label to display instead of percentage\n     */\n    valueLabel: InputSignal<string> = input();\n\n    /**\n     * Custom color step thresholds (space or comma separated values)\n     * @example '33 66' or '33,66'\n     */\n    colorSteps: InputSignal<string> = input();\n\n    /**\n     * Override color type ('info', 'success', 'warning', 'danger')\n     */\n    colorType: InputSignal<string> = input(null, { transform: colorTypeTransform });\n\n    /**\n     * Tab index for accessibility\n     * @default '0'\n     */\n    @Input() tabindex = '0';\n\n    /**\n     * Svg icon option\n     */\n    icon: InputSignal<string> = input();\n\n    /**\n     * Svg icon fill color option\n     * @default 'neutral' (black)\n     */\n    fillColor: InputSignal<string> = input();\n\n    /**\n     * Svg icon size option\n     * @default 'm'\n     */\n    size: InputSignal<'2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl'> = input('m');\n\n    /**\n     * CSS class for the current color state\n     *\n     * @default ''\n     */\n    public stateColorNumberClass = '';\n\n    /**\n     * Currently displayed label value\n     *\n     * @default ''\n     */\n    public labelValue = '';\n\n    /**\n     * Percentage value as string\n     * @deprecated This will be removed in next version of eui as it's unused\n     *\n     * @default ''\n     */\n    public percentValue = '';\n\n    /** Rounded value for display */\n    public roundedValue: number;\n\n    /**\n     * Whether the label exceeds a width threshold\n     *\n     * @default false\n     */\n    public isLongLabel = false;\n\n    /**\n     * Current width of the label element\n     *\n     * @default 0\n     */\n    public offsetWidth = 0;\n\n    /** Reference to the label value element */\n    @ViewChild('labelValueEl') labelValueEl: ElementRef<HTMLSpanElement>;\n    protected baseStatesDirective = inject(BaseStatesDirective);\n    private cd = inject(ChangeDetectorRef);\n\n    /**\n     * Initializes color steps and labels after content is initialized\n     */\n    ngAfterContentInit(): void {\n        this.setColorSteps();\n        this.setLabels();\n    }\n\n    /**\n     * Checks and updates label width after content changes\n     */\n    ngAfterContentChecked(): void {\n        if (this.labelValueEl) {\n            this.offsetWidth = this.labelValueEl.nativeElement.offsetWidth;\n            if (this.offsetWidth > 65) {\n                this.isLongLabel = true;\n            }\n        }\n    }\n\n    /**\n     * Handles changes to input properties\n     * @param c - SimpleChanges object containing changed properties\n     */\n    ngOnChanges(c: SimpleChanges): void {\n        if (c.value) {\n            this.setColorSteps();\n            this.setLabels();\n        }\n        this.cd.detectChanges();\n    }\n\n    /**\n     * Sets the color state based on value and thresholds\n     * @deprecated avoid using this method. It will become private in the future.\n     */\n    setColorSteps(): void {\n        const prefix = 'eui-progress-circle-content--';\n        this.roundedValue = Math.round(this.value());\n\n        const steps = this.colorSteps()\n            ? this.colorSteps().split(/[ ,]+/g).map(s => Number.parseInt(s, 10))\n            : [33, 66];\n\n        if (this.colorType()) {\n            this.stateColorNumberClass = prefix + this.colorType();\n        } else if (this.isDefaultColorSteps()) {\n            const val = this.value();\n            if (val <= steps[0]) {\n                this.stateColorNumberClass = prefix + 'success';\n            } else if (val <= steps[1]) {\n                this.stateColorNumberClass = prefix + 'warning';\n            } else {\n                this.stateColorNumberClass = prefix + 'danger';\n            }\n        }\n    }\n\n    /**\n     * Sets the display label based on current value and configuration\n     * @deprecated avoid using this method. It will become private in the future.\n     */\n    setLabels(): void {\n        if (this.value() === 0) {\n            this.labelValue = this.hasBottomLabel() ? this.valueLabel() : this.emptyLabel();\n        } else {\n            this.labelValue = this.valueLabel() || this.value() + '%';\n        }\n    }\n}\n",
            "styleUrl": "./eui-progress-circle.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterContentInit",
                "OnChanges",
                "AfterContentChecked"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 104,
                        "rawdescription": "\nCSS classes applied to the host element",
                        "description": "<p>CSS classes applied to the host element</p>\n"
                    }
                }
            },
            "templateData": "<div\n    class=\"eui-progress-circle-content p{{ roundedValue }} {{ stateColorNumberClass }}\"\n    [class.eui-progress-circle-content--over50]=\"roundedValue > 50\">\n    @if ( !isLongLabel && !hasBottomLabel() ) {\n        <span class=\"eui-progress-circle-content__label\">\n            <span #labelValueEl>{{ labelValue }}</span>\n        </span>\n    }\n    <div class=\"eui-progress-circle-content__left-half-clipper\">\n        <div class=\"eui-progress-circle-content__first50-bar\"></div>\n        <div class=\"eui-progress-circle-content__value-bar\"></div>\n    </div>\n</div>\n@if ( isLongLabel || hasBottomLabel() ) {\n    <div class=\"eui-progress-circle-content__bottom-label\">\n        <span class=\"label\">{{ labelValue }}</span>\n    </div>\n}\n@if ( icon() ) {\n    <eui-icon-svg [icon]=\"icon()\" [fillColor]=\"fillColor()\" [size]=\"size()\" class=\"eui-progress-circle-content__icon-label\" />\n}\n"
        },
        {
            "name": "EuiRatingComponent",
            "id": "component-EuiRatingComponent-78c23f9d8ebdff6f424bcbdf6f91eda0e6332fa3cf7b98fbd18dd8f744e863a86d407387b6322b701b3262f9e12c86b44e656861a92804249277e0160a2f59eb",
            "file": "packages/components/eui-rating/eui-rating.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [
                {
                    "name": ")"
                }
            ],
            "selector": "eui-rating",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-rating.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "ariaLabel",
                    "defaultValue": "'eUI Rating'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3721,
                            "end": 3748,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3722,
                                "end": 3729,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eUI Rating&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the aria-label attribute to the component.\n",
                    "description": "<p>Binds the aria-label attribute to the component.</p>\n",
                    "line": 129,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2862,
                            "end": 2922,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2863,
                                "end": 2870,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>Generated unique ID with &#39;eui-rating-&#39; prefix</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the toggle is disabled\n",
                    "description": "<p>Whether the toggle is disabled</p>\n",
                    "line": 103,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "numberOfStars",
                    "defaultValue": "5",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3182,
                            "end": 3198,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3183,
                                "end": 3190,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>5</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nCurrent numbers of stars rating to display\n",
                    "description": "<p>Current numbers of stars rating to display</p>\n",
                    "line": 109,
                    "type": "number",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "rating",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3308,
                            "end": 3324,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3309,
                                "end": 3316,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>0</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nCurrent rating number\n",
                    "description": "<p>Current rating number</p>\n",
                    "line": 115,
                    "type": "number",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "ratingChange",
                    "defaultValue": "new EventEmitter<number>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when toggle state changes\n",
                    "description": "<p>Event emitted when toggle state changes</p>\n",
                    "jsdoctags": [
                        {
                            "pos": 3445,
                            "end": 3488,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3446,
                                "end": 3451,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "emits"
                            },
                            "comment": "<p>boolean - The new toggle state</p>\n"
                        }
                    ],
                    "line": 121,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 140,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "cd",
                    "defaultValue": "inject(ChangeDetectorRef)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 141,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "numbers",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 138,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "ratingButtons",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<ElementRef>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 123,
                    "decorators": [
                        {
                            "name": "ViewChildren",
                            "stringifiedArguments": "'euiRatingButtonRef', {read: ElementRef}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "role",
                    "defaultValue": "'radiogroup'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Binds the role attribute to the component.</p>\n",
                    "line": 135,
                    "rawdescription": "\n\nBinds the role attribute to the component.\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 3888,
                            "end": 3915,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3889,
                                "end": 3896,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;radiogroup&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "getTabIndexValue",
                    "args": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "number",
                    "typeParameters": [],
                    "line": 277,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nReturns the tab index value based on the current rating and index\n",
                    "description": "<p>Returns the tab index value based on the current rating and index</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 8263,
                                "end": 8268,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "index"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 8257,
                                "end": 8262,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The index of the star button</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 8306,
                                "end": 8313,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>number - 0 if the star is focusable, -1 otherwise</p>\n"
                        }
                    ]
                },
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 149,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 157,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 145,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onFocusOut",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 185,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles focus out event\nNotifies form control of touch event\n",
                    "description": "<p>Handles focus out event\nNotifies form control of touch event</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "onKeydown",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 215,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nActions applied upon a keydown event\n\n",
                    "description": "<p>Actions applied upon a keydown event</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 5912,
                                "end": 5917,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 5906,
                                "end": 5911,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The keyboard event</p>\n"
                        },
                        {
                            "name": {
                                "pos": 5951,
                                "end": 5956,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "index"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 5945,
                                "end": 5950,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The index of the current star button</p>\n"
                        }
                    ]
                },
                {
                    "name": "onUpdate",
                    "args": [
                        {
                            "name": "rating",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 261,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nToggles the current state if not disabled\nEmits the new state and notifies form control\n",
                    "description": "<p>Toggles the current state if not disabled\nEmits the new state and notifies form control</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "rating",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "registerOnChange",
                    "args": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 195,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nImplements ControlValueAccessor\nRegisters change handler\n",
                    "description": "<p>Implements ControlValueAccessor\nRegisters change handler</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "registerOnTouched",
                    "args": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 205,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nImplements ControlValueAccessor\nRegisters touch handler\n",
                    "description": "<p>Implements ControlValueAccessor\nRegisters touch handler</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "setDisabledState",
                    "args": [
                        {
                            "name": "isDisabled",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 176,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nImplements ControlValueAccessor\nUpdates the rating's disabled state\n",
                    "description": "<p>Implements ControlValueAccessor\nUpdates the rating&#39;s disabled state</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "isDisabled",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "updateCheckedState",
                    "args": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 269,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUpdates the checked state of the star button based on the index\n",
                    "description": "<p>Updates the checked state of the star button based on the index</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 7942,
                                "end": 7947,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "index"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 7936,
                                "end": 7941,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The index of the star button</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 7985,
                                "end": 7992,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>boolean - true if the index matches the rating, false otherwise</p>\n"
                        }
                    ]
                },
                {
                    "name": "writeValue",
                    "args": [
                        {
                            "name": "value",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 166,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nImplements ControlValueAccessor\nUpdates the toggle's checked state\n",
                    "description": "<p>Implements ControlValueAccessor\nUpdates the toggle&#39;s checked state</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'radiogroup'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3888,
                            "end": 3915,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3889,
                                "end": 3896,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;radiogroup&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nBinds the role attribute to the component.\n",
                    "description": "<p>Binds the role attribute to the component.</p>\n",
                    "line": 135,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nCSS classes applied to the host element",
                    "description": "<p>CSS classes applied to the host element</p>\n",
                    "line": 89,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "ReactiveFormsModule",
                    "type": "module"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_BUTTON"
                }
            ],
            "description": "<p>Interactive star rating component for collecting user feedback and displaying rating values.\nImplements ControlValueAccessor for seamless integration with Angular reactive and template-driven forms.\nSupports keyboard navigation with arrow keys, Home, and End for accessibility.\nProvides customizable number of stars and visual feedback for current rating state.\nCommonly used for product reviews, feedback forms, and quality assessments.</p>\n<h3>Basic usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-rating [(rating)]=&quot;userRating&quot;&gt;&lt;/eui-rating&gt;</code></pre></div><h3>With reactive forms</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">ratingControl = new FormControl(3);</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-rating [formControl]=&quot;ratingControl&quot; [numberOfStars]=&quot;5&quot;&gt;&lt;/eui-rating&gt;</code></pre></div><h3>Disabled state</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-rating [rating]=&quot;4&quot; [euiDisabled]=&quot;true&quot;&gt;&lt;/eui-rating&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Full keyboard navigation: Arrow keys to change rating, Home/End for first/last</li>\n<li>ARIA radiogroup role with proper labeling</li>\n<li>Each star is focusable and announces its value to screen readers</li>\n<li>Visual focus indicators for keyboard users</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Click same star again to clear rating (set to 0)</li>\n<li>Only one star is focusable at a time (roving tabindex pattern)</li>\n<li>Emits <code>ratingChange</code> event on user interaction</li>\n</ul>\n",
            "rawdescription": "\n\nInteractive star rating component for collecting user feedback and displaying rating values.\nImplements ControlValueAccessor for seamless integration with Angular reactive and template-driven forms.\nSupports keyboard navigation with arrow keys, Home, and End for accessibility.\nProvides customizable number of stars and visual feedback for current rating state.\nCommonly used for product reviews, feedback forms, and quality assessments.\n\n### Basic usage\n```html\n<eui-rating [(rating)]=\"userRating\"></eui-rating>\n```\n\n### With reactive forms\n```typescript\nratingControl = new FormControl(3);\n```\n```html\n<eui-rating [formControl]=\"ratingControl\" [numberOfStars]=\"5\"></eui-rating>\n```\n\n### Disabled state\n```html\n<eui-rating [rating]=\"4\" [euiDisabled]=\"true\"></eui-rating>\n```\n\n### Accessibility\n- Full keyboard navigation: Arrow keys to change rating, Home/End for first/last\n- ARIA radiogroup role with proper labeling\n- Each star is focusable and announces its value to screen readers\n- Visual focus indicators for keyboard users\n\n### Notes\n- Click same star again to clear rating (set to 0)\n- Only one star is focusable at a time (roving tabindex pattern)\n- Emits `ratingChange` event on user interaction\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ChangeDetectionStrategy,\n    Input,\n    Output,\n    EventEmitter,\n    ChangeDetectorRef,\n    booleanAttribute,\n    numberAttribute,\n    OnInit,\n    forwardRef,\n    inject,\n    ViewChildren,\n    QueryList,\n    ElementRef,\n    AfterViewInit,\n    OnDestroy,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\n\n/**\n * @description\n * Interactive star rating component for collecting user feedback and displaying rating values.\n * Implements ControlValueAccessor for seamless integration with Angular reactive and template-driven forms.\n * Supports keyboard navigation with arrow keys, Home, and End for accessibility.\n * Provides customizable number of stars and visual feedback for current rating state.\n * Commonly used for product reviews, feedback forms, and quality assessments.\n *\n * @usageNotes\n * ### Basic usage\n * ```html\n * <eui-rating [(rating)]=\"userRating\"></eui-rating>\n * ```\n *\n * ### With reactive forms\n * ```typescript\n * ratingControl = new FormControl(3);\n * ```\n * ```html\n * <eui-rating [formControl]=\"ratingControl\" [numberOfStars]=\"5\"></eui-rating>\n * ```\n *\n * ### Disabled state\n * ```html\n * <eui-rating [rating]=\"4\" [euiDisabled]=\"true\"></eui-rating>\n * ```\n *\n * ### Accessibility\n * - Full keyboard navigation: Arrow keys to change rating, Home/End for first/last\n * - ARIA radiogroup role with proper labeling\n * - Each star is focusable and announces its value to screen readers\n * - Visual focus indicators for keyboard users\n *\n * ### Notes\n * - Click same star again to clear rating (set to 0)\n * - Only one star is focusable at a time (roving tabindex pattern)\n * - Emits `ratingChange` event on user interaction\n */\n\n@Component({\n    templateUrl: './eui-rating.component.html',\n    selector: 'eui-rating',\n    styleUrl: './eui-rating.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n        },\n    ],\n    imports: [ReactiveFormsModule, ...EUI_ICON, ...EUI_BUTTON],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => EuiRatingComponent),\n            multi: true,\n        },\n    ],\n})\nexport class EuiRatingComponent implements ControlValueAccessor, OnInit, AfterViewInit, OnDestroy {\n    /** CSS classes applied to the host element */\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [this.baseStatesDirective.getCssClasses('eui-rating')].join(' ').trim();\n    }\n\n    /**\n     * Unique identifier for the toggle\n     * @default Generated unique ID with 'eui-rating-' prefix\n     */\n    // @Input() id = `eui-rating-${uniqueId()}`;\n\n    /**\n     * Whether the toggle is disabled\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiDisabled = false;\n\n    /**\n     * Current numbers of stars rating to display\n     * @default 5\n     */\n    @Input({ transform: numberAttribute }) numberOfStars = 5;\n\n    /**\n     * Current rating number\n     * @default 0\n     */\n    @Input({ transform: numberAttribute }) rating = 0;\n\n    /**\n     * Event emitted when toggle state changes\n     * @emits boolean - The new toggle state\n     */\n    @Output() ratingChange = new EventEmitter<number>();\n\n    @ViewChildren('euiRatingButtonRef', { read: ElementRef }) ratingButtons: QueryList<ElementRef>;\n\n    /**\n     * Binds the aria-label attribute to the component.\n     * @default 'eUI Rating'\n     */\n    @HostBinding('attr.aria-label') @Input() ariaLabel = 'eUI Rating';\n\n    /**\n     * Binds the role attribute to the component.\n     * @default 'radiogroup'\n     */\n    @HostBinding('attr.role') role = 'radiogroup';\n\n    // eslint-disable-next-line\n    protected numbers: any[] = [];\n\n    protected baseStatesDirective = inject(BaseStatesDirective);\n    protected cd = inject(ChangeDetectorRef);\n\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n\n    ngOnInit(): void {\n        this.initState();\n    }\n\n    ngAfterViewInit(): void {\n        this.ratingButtons.toArray().forEach((buttonRef) => {\n            fromEvent(buttonRef.nativeElement, 'blur').pipe(takeUntil(this.destroy$)).subscribe(() => {\n                this.onTouch();\n            });\n        });\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    /**\n     * Implements ControlValueAccessor\n     * Updates the toggle's checked state\n     */\n    public writeValue(value: number): void {\n        this.rating = value;\n        this.updateState();\n        this.cd.detectChanges();\n    }\n\n    /**\n     * Implements ControlValueAccessor\n     * Updates the rating's disabled state\n     */\n    public setDisabledState(isDisabled: boolean): void {\n        this.euiDisabled = isDisabled;\n        this.cd.detectChanges();\n    }\n\n    /**\n     * Handles focus out event\n     * Notifies form control of touch event\n     */\n    public onFocusOut(): void {\n        this.onTouch();\n    }\n\n    /**\n     * Implements ControlValueAccessor\n     * Registers change handler\n     * @todo Improve type definition or make generic\n     */\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    public registerOnChange(fn: any): void {\n        this.onChange = fn;\n    }\n\n    /**\n     * Implements ControlValueAccessor\n     * Registers touch handler\n     * @todo Improve type definition or make generic\n     */\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    public registerOnTouched(fn: any): void {\n        this.onTouch = fn;\n    }\n\n    /**\n     * Actions applied upon a keydown event\n     *\n     * @param event The keyboard event\n     * @param index The index of the current star button\n     */\n    protected onKeydown(event: KeyboardEvent, index: number): void {\n        switch (event.key) {\n            case 'Home': {\n                // Focus the first star\n                this.ratingButtons.toArray()[0].nativeElement.focus();\n                event.preventDefault();\n                this.updateRating(0, false);\n                break;\n            }\n            case 'End': {\n                // Focus the last star\n                this.ratingButtons.toArray()[this.numberOfStars - 1].nativeElement.focus();\n                event.preventDefault();\n                this.updateRating(this.numberOfStars, false);\n                break;\n            }\n            case 'ArrowRight': {\n                // Focus the next star button\n                if (this.rating < this.numberOfStars) {\n                    this.ratingButtons.toArray()[index].nativeElement.focus();\n                    // Update the rating\n                    if (this.rating === 0) {\n                        this.updateRating(2, false);\n                    } else {\n                        this.updateRating(this.rating + 1, false);\n                    }\n                }\n                break;\n            }\n            case 'ArrowLeft': {\n                // Focus the previous star\n                if (this.rating === 1) {\n                    this.ratingButtons.toArray()[0].nativeElement.focus();\n                } else if (this.rating > 1) {\n                    this.ratingButtons.toArray()[index - 2].nativeElement.focus();\n                    this.updateRating(this.rating - 1, false);\n                }\n                break;\n            }\n        }\n    }\n\n    /**\n     * Toggles the current state if not disabled\n     * Emits the new state and notifies form control\n     */\n    protected onUpdate(rating: number): void {\n        this.updateRating(rating, true);\n    }\n    /**\n     * Updates the checked state of the star button based on the index\n     * @param index The index of the star button\n     * @returns boolean - true if the index matches the rating, false otherwise\n     */\n    protected updateCheckedState(index: number): boolean {\n        return index === this.rating;\n    }\n    /**\n     * Returns the tab index value based on the current rating and index\n     * @param index The index of the star button\n     * @returns number - 0 if the star is focusable, -1 otherwise\n     */\n    protected getTabIndexValue(index: number): number {\n        if (this.rating === 0) {\n            return index === 1 ? 0 : -1; // Only the first star is focusable when no rating is set\n        } else {\n            return index === this.rating ? 0 : -1; // Only the current star is focusable\n        }\n    }\n\n    private initState(): void {\n        for (let i = 1; i < this.numberOfStars + 1; i++) {\n            this.numbers.push({\n                index: i,\n                value: i <= this.rating,\n            });\n        }\n    }\n    private updateState(): void {\n        for (let i = 1; i < this.numberOfStars + 1; i++) {\n            this.numbers[i - 1].value = i <= this.rating;\n        }\n    }\n    private updateRating(rating: number, clearifSame = false): void {\n        if (!this.euiDisabled) {\n            if (this.rating === rating && clearifSame) {\n                this.rating = 0;\n            } else {\n                this.rating = rating;\n            }\n            this.updateState();\n            this.onChange(this.rating);\n            this.ratingChange.next(this.rating);\n        }\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    private onChange: any = () => {\n        /* empty */\n    };\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    private onTouch: any = () => {\n        /* empty */\n    };\n}\n",
            "styleUrl": "./eui-rating.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "ControlValueAccessor",
                "OnInit",
                "AfterViewInit",
                "OnDestroy"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 89,
                        "rawdescription": "\nCSS classes applied to the host element",
                        "description": "<p>CSS classes applied to the host element</p>\n"
                    }
                }
            },
            "templateData": "@for (n of numbers; track n.index) {\n<button\n    #euiRatingButtonRef\n    euiButton\n    euiPrimary\n    euiRounded\n    euiBasicButton\n    euiIconButton\n    euiSizeS\n    hasNoFocusRing\n    isCompact\n    [euiDisabled]=\"euiDisabled\"\n    (click)=\"onUpdate(n.index)\"\n    (keydown)=\"onKeydown($event, n.index)\"\n    [attr.tabindex]=\"getTabIndexValue(n.index)\"\n    [attr.aria-label]=\"'Rating star ' + n.index + ' - ' + (n.value ? 'Selected' : 'Not selected')\"\n    role=\"radio\"\n    [attr.aria-checked]=\"updateCheckedState(n.index)\">\n    @if (n.value) {\n        <eui-icon-svg icon=\"eui-star-fill\" fillColor=\"primary\" />\n    } @else {\n        <eui-icon-svg icon=\"eui-star\" fillColor=\"primary\" />\n    }\n</button>\n}\n"
        },
        {
            "name": "EuiRatingTestComponent",
            "id": "component-EuiRatingTestComponent-d382c08e89b9210b85a8a57febb36e155e20849dc8c8fa79eb959ab080821d7e46d483e826fc7103dddcf0843ca357681ffbc045a081338c01dec0d676687c6d",
            "file": "packages/components/eui-rating/testing/eui-rating-test.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "styleUrls": [],
            "styles": [],
            "template": "<form [formGroup]=\"form\">\n    <eui-rating formControlName=\"rating\"/><br />\n    <input class=\"default-formcontrol\" type=\"text\" formControlName=\"text\" /><br/>\n</form>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "form",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "FormGroup",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 21,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 23,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EuiRatingComponent",
                    "type": "component"
                },
                {
                    "name": "FormsModule",
                    "type": "module"
                },
                {
                    "name": "ReactiveFormsModule",
                    "type": "module"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';\n\nimport { EuiRatingComponent } from '../eui-rating.component';\n\n@Component({\n    template: `\n    <form [formGroup]=\"form\">\n        <eui-rating formControlName=\"rating\"/><br />\n        <input class=\"default-formcontrol\" type=\"text\" formControlName=\"text\" /><br/>\n    </form>`,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        EuiRatingComponent,\n        FormsModule,\n        ReactiveFormsModule,\n    ],\n})\nexport class EuiRatingTestComponent implements OnInit {\n    public form: FormGroup;\n\n    ngOnInit(): void {\n        this.form = new FormGroup({\n            rating: new FormControl<number>(null, Validators.required),\n            text: new FormControl(null, Validators.required),\n        });\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit"
            ]
        },
        {
            "name": "EuiResizableComponent",
            "id": "component-EuiResizableComponent-8e03535854f9ce1478d8b5ff202c53d37288a9fa0fca4a71ced3303d0af819e081a39fafe36f68619a4c1a9b1bbd2cada3c486a4e7607c1f4b9691a74ced71dd",
            "file": "packages/components/directives/eui-resizable/eui-resizable.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-resizable",
            "styleUrls": [
                "./styles/index.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-resizable.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "ariaLabel",
                    "defaultValue": "'Press the left or right arrow key to resize the panel'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Accessible label for the separator handle.</p>\n",
                    "line": 36,
                    "rawdescription": "\nAccessible label for the separator handle.",
                    "required": false
                },
                {
                    "name": "ariaValueMax",
                    "defaultValue": "undefined",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Maximum width value in pixels for aria-valuemax.</p>\n",
                    "line": 42,
                    "rawdescription": "\nMaximum width value in pixels for aria-valuemax.",
                    "required": false
                },
                {
                    "name": "ariaValueMin",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Minimum width value in pixels for aria-valuemin.</p>\n",
                    "line": 40,
                    "rawdescription": "\nMinimum width value in pixels for aria-valuemin.",
                    "required": false
                },
                {
                    "name": "ariaValueNow",
                    "defaultValue": "undefined",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Current width value in pixels for aria-valuenow.</p>\n",
                    "line": 38,
                    "rawdescription": "\nCurrent width value in pixels for aria-valuenow.",
                    "required": false
                },
                {
                    "name": "euiResizableHidden",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Determines if the resizable feature is disable or not</p>\n",
                    "line": 44,
                    "rawdescription": "\nDetermines if the resizable feature is disable or not",
                    "required": false
                },
                {
                    "name": "position",
                    "defaultValue": "'right'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiResizablePosition",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Determines the placement of the resizable handle and the direction of resize behavior.\nWhen set to &#39;left&#39;, the handle appears on the left edge and resizing expands/contracts from the left.\nWhen set to &#39;right&#39;, the handle appears on the right edge and resizing expands/contracts from the right.</p>\n",
                    "line": 34,
                    "rawdescription": "\n\nDetermines the placement of the resizable handle and the direction of resize behavior.\nWhen set to 'left', the handle appears on the left edge and resizing expands/contracts from the left.\nWhen set to 'right', the handle appears on the right edge and resizing expands/contracts from the right.\n",
                    "jsdoctags": [
                        {
                            "pos": 1432,
                            "end": 1454,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1433,
                                "end": 1440,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;right&#39;</p>\n"
                        }
                    ],
                    "required": false
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "e2e",
                    "defaultValue": "'eui-resizable'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 53,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.data-e2e'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.data-e2e",
                    "defaultValue": "'eui-resizable'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 53,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 46,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": true,
            "imports": [
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "<p>A resizable container component that allows users to dynamically adjust the width of its content.\nThe component provides a draggable handle positioned on either the left or right edge, enabling\nflexible layout adjustments. Commonly used for collapsible sidebars, adjustable panels, or\nresponsive content areas where users need manual control over element dimensions.</p>\n",
            "rawdescription": "\n\nA resizable container component that allows users to dynamically adjust the width of its content.\nThe component provides a draggable handle positioned on either the left or right edge, enabling\nflexible layout adjustments. Commonly used for collapsible sidebars, adjustable panels, or\nresponsive content areas where users need manual control over element dimensions.\n",
            "type": "component",
            "sourceCode": "import { booleanAttribute, Component, HostBinding, input, ViewEncapsulation } from '@angular/core';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\n/**\n * Defines the position of the resizable handle relative to the component.\n * 'left' places the handle on the left edge for left-side resizing.\n * 'right' places the handle on the right edge for right-side resizing.\n */\nexport type EuiResizablePosition = 'left' | 'right';\n\n/**\n * A resizable container component that allows users to dynamically adjust the width of its content.\n * The component provides a draggable handle positioned on either the left or right edge, enabling\n * flexible layout adjustments. Commonly used for collapsible sidebars, adjustable panels, or\n * responsive content areas where users need manual control over element dimensions.\n */\n@Component({\n    selector: 'eui-resizable',\n    templateUrl: './eui-resizable.component.html',\n    styleUrls: ['./styles/index.scss'],\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        ...EUI_ICON,\n    ],\n    standalone: true,\n})\nexport class EuiResizableComponent {\n    /**\n     * Determines the placement of the resizable handle and the direction of resize behavior.\n     * When set to 'left', the handle appears on the left edge and resizing expands/contracts from the left.\n     * When set to 'right', the handle appears on the right edge and resizing expands/contracts from the right.\n     * @default 'right'\n     */\n    position = input<EuiResizablePosition>('right');\n    /** Accessible label for the separator handle. */\n    ariaLabel = input<string>('Press the left or right arrow key to resize the panel');\n    /** Current width value in pixels for aria-valuenow. */\n    ariaValueNow = input<number>(undefined);\n    /** Minimum width value in pixels for aria-valuemin. */\n    ariaValueMin = input<number>(0);\n    /** Maximum width value in pixels for aria-valuemax. */\n    ariaValueMax = input<number>(undefined);\n    /** Determines if the resizable feature is disable or not */\n    euiResizableHidden = input(false, { transform: booleanAttribute });\n\n    @HostBinding('class') get cssClasses(): string {\n        return [\n            'eui-resizable',\n            this.position() === 'left' ? 'eui-resizable--left' : 'eui-resizable--right',\n            this.euiResizableHidden() ? 'eui-resizable--disabled' : '',\n        ].join(' ').trim();\n    }\n    @HostBinding('attr.data-e2e') e2e = 'eui-resizable';\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@use '../../../base' as base;\n\n.eui-21 {\n    .eui-resizable {\n        display: flex;\n        vertical-align: middle;\n\n        &--left {\n            justify-content: flex-start;\n\n            .eui-resizable-bar {\n                left: 15px;\n            }\n        }\n\n        &--right {\n            justify-content: flex-end;\n        }\n\n        &--disabled {\n            display: none;\n        }\n\n        .eui-resizable-bar {\n            background: var(--eui-c-primary-surface);\n            background-clip: content-box;\n            bottom: 0;\n            border-left: var(--eui-s-3xs) solid transparent;\n            border-right: var(--eui-s-3xs) solid transparent;\n            cursor: ew-resize;\n            margin: 0 calc(-1.1 * #{var(--eui-s-m)});\n            opacity: var(--eui-o-none);\n            position: absolute;\n            top: 0;\n            transition: opacity 0.3s;\n            width: var(--eui-s-s);\n\n            @include base.eui-accessible-focus();\n\n            &:hover,\n            &:active,\n            &:focus {\n                opacity: var(--eui-o-100);\n            }\n        }\n\n        .eui-resizable-icon__container {\n            height: var(--eui-s-m);\n            margin-right: calc(-1 * (#{var(--eui-s-m)} + #{var(--eui-s-3xs)}));\n            position: absolute;\n            top: calc(-1 * var(--eui-s-3xs));\n            transform: translateY( calc(#{var(--eui-s-m)} + 2px) ); // Resize icon top offset position\n\n            .eui-resizable-icon {\n                color: var(--eui-c-primary);\n                fill: var(--eui-c-primary);\n                height: var(--eui-is-s);\n                width: var(--eui-is-s);\n            }\n        }\n    }\n\n    // Resizable elements/containers, except tables, must have a relative position\n    *:not(th) {\n        &[euiresizable] {\n            position: relative;\n        }\n    }\n}\n",
                    "styleUrl": "./styles/index.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 46
                    }
                }
            },
            "templateData": "<div class=\"eui-resizable-icon__container\">\n    <eui-icon-svg icon=\"eui-arrows-left-right\" size=\"xs\" fillColor=\"primary\" class=\"eui-resizable-icon\"/>\n</div>\n<div\n    class=\"eui-resizable-bar\"\n    role=\"separator\"\n    aria-orientation=\"vertical\"\n    tabindex=\"0\"\n    [attr.aria-label]=\"ariaLabel()\"\n    [attr.aria-valuenow]=\"ariaValueNow()\"\n    [attr.aria-valuemin]=\"ariaValueMin()\"\n    [attr.aria-valuemax]=\"ariaValueMax()\"\n></div>\n"
        },
        {
            "name": "EuiSectionHeaderActionComponent",
            "id": "component-EuiSectionHeaderActionComponent-1ac1ed1cab9af8f34e4b1e337f21b2cda272bf097e410087afccda8e36a3da24eec2dbecf8f9a889ee94bf71090a9735ea06b11ac3009232edf58962c5e08ce3",
            "file": "packages/components/eui-section-header/eui-section-header-action.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-section-header-action",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-section-header-action'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 21,
                    "rawdescription": "\nCSS class applied to the host element",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-section-header-action'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nCSS class applied to the host element",
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 21,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Action container for EuiSectionHeader that holds interactive elements like buttons or links.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-section-header-action&gt;\n  &lt;button euiButton&gt;Action&lt;/button&gt;\n&lt;/eui-section-header-action&gt;</code></pre></div>",
            "rawdescription": "\n\nAction container for EuiSectionHeader that holds interactive elements like buttons or links.\n\n```html\n<eui-section-header-action>\n  <button euiButton>Action</button>\n</eui-section-header-action>\n```\n",
            "type": "component",
            "sourceCode": "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",
            "styleUrl": "./eui-section-header-action.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiSectionHeaderComponent",
            "id": "component-EuiSectionHeaderComponent-1eda3af4e636836d6aacf6c0045aca5e7db94800f5c6780616186c2b67fb6b98bef72e08f352dbe2ee51babadc0858c611584f88d26414c13f9d9cf8626d1cce",
            "file": "packages/components/eui-section-header/eui-section-header.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-section-header",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-section-header.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiSecondary",
                        "euiSuccess",
                        "euiInfo",
                        "euiWarning",
                        "euiDanger",
                        "euiVariant",
                        "euiHighlighted"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-section-header'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nElement attribute for e2e testing",
                    "description": "<p>Element attribute for e2e testing</p>\n",
                    "line": 97,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nUnique identifier for the fieldset",
                    "description": "<p>Unique identifier for the fieldset</p>\n",
                    "line": 100,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isExpandable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nWhether the fieldset can be expanded/collapsed",
                    "description": "<p>Whether the fieldset can be expanded/collapsed</p>\n",
                    "line": 103,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isExpanded",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nWhether the fieldset is currently expanded",
                    "description": "<p>Whether the fieldset is currently expanded</p>\n",
                    "line": 106,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isFirst",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nWhether this is the first fieldset in a group",
                    "description": "<p>Whether this is the first fieldset in a group</p>\n",
                    "line": 109,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "expand",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nEvent emitted when the fieldset is expanded or collapsed",
                    "description": "<p>Event emitted when the fieldset is expanded or collapsed</p>\n",
                    "line": 112,
                    "type": "EventEmitter<string>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BaseStatesDirective",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 120,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "collapseMenuLabel",
                    "defaultValue": "'Collapse'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Label for collapse button accessibility</p>\n",
                    "line": 118,
                    "rawdescription": "\nLabel for collapse button accessibility",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "expandMenuLabel",
                    "defaultValue": "'Expand'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Label for expand button accessibility</p>\n",
                    "line": 115,
                    "rawdescription": "\nLabel for expand button accessibility",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onToggle",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 126,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles expand/collapse toggle events\nEmits the fieldset ID when toggled\n",
                    "description": "<p>Handles expand/collapse toggle events\nEmits the fieldset ID when toggled</p>\n"
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nCSS classes applied to the host element",
                    "description": "<p>CSS classes applied to the host element</p>\n",
                    "line": 87,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_ICON_BUTTON_EXPANDER"
                }
            ],
            "description": "<p>Section header component that provides a grouped container with optional expand/collapse functionality\nand customizable label content. Used to organize and separate content sections with clear visual hierarchy.</p>\n<h3>Basic usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-section-header&gt;\n  &lt;eui-section-header-title&gt;Section Title&lt;/eui-section-header-title&gt;\n  &lt;eui-section-header-description&gt;Description text&lt;/eui-section-header-description&gt;\n&lt;/eui-section-header&gt;</code></pre></div><h3>With icon and action</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-section-header&gt;\n  &lt;eui-section-header-icon icon=&quot;info&quot;&gt;&lt;/eui-section-header-icon&gt;\n  &lt;eui-section-header-title&gt;Settings&lt;/eui-section-header-title&gt;\n  &lt;eui-section-header-action&gt;\n    &lt;button euiButton&gt;Edit&lt;/button&gt;\n  &lt;/eui-section-header-action&gt;\n&lt;/eui-section-header&gt;</code></pre></div><h3>Expandable section</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-section-header\n  [isExpandable]=&quot;true&quot;\n  [isExpanded]=&quot;expanded&quot;\n  (expand)=&quot;onToggle($event)&quot;&gt;\n  &lt;eui-section-header-title&gt;Advanced Options&lt;/eui-section-header-title&gt;\n&lt;/eui-section-header&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Expandable sections use proper ARIA attributes for disclosure widgets</li>\n<li>Keyboard accessible expand/collapse with Enter and Space</li>\n<li>Clear visual indicators for expanded/collapsed state</li>\n<li>Action buttons maintain their own accessibility requirements</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use <code>isFirst</code> to remove top border for the first section in a group</li>\n<li>Supports color variants via <code>euiVariant</code> (primary, secondary, success, etc.)</li>\n<li><code>euiHighlighted</code> adds visual emphasis to important sections</li>\n<li>Combine with content containers for complete section structure</li>\n</ul>\n",
            "rawdescription": "\n\nSection header component that provides a grouped container with optional expand/collapse functionality\nand customizable label content. Used to organize and separate content sections with clear visual hierarchy.\n\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",
            "type": "component",
            "sourceCode": "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",
            "styleUrl": "./eui-section-header.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 87,
                        "rawdescription": "\nCSS classes applied to the host element",
                        "description": "<p>CSS classes applied to the host element</p>\n"
                    }
                }
            },
            "templateData": "<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"
        },
        {
            "name": "EuiSectionHeaderDescriptionComponent",
            "id": "component-EuiSectionHeaderDescriptionComponent-824b88945066a0f9833bd8e97c0a6576d038cdb5f984bf7d754ecd304f33a953469403bb350ce92d59d933e822952ae99d1a43012068651d91a1cd5aa41502a8",
            "file": "packages/components/eui-section-header/eui-section-header-description.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-section-header-description",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-section-header-description'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 19,
                    "rawdescription": "\nCSS class applied to the host element",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-section-header-description'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nCSS class applied to the host element",
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 19,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Description container for EuiSectionHeader that displays supplementary text below the title.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-section-header-description&gt;Additional context or instructions&lt;/eui-section-header-description&gt;</code></pre></div>",
            "rawdescription": "\n\nDescription container for EuiSectionHeader that displays supplementary text below the title.\n\n```html\n<eui-section-header-description>Additional context or instructions</eui-section-header-description>\n```\n",
            "type": "component",
            "sourceCode": "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",
            "styleUrl": "./eui-section-header-description.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiSectionHeaderIconComponent",
            "id": "component-EuiSectionHeaderIconComponent-7d3507c4b6095fec2940d46bf14ce53b5d6856a7bbad5fdebd3cd4294578528763c6f1c94814becdd91470a6176415f3224a2d933f55db625ed1f6289ef44135",
            "file": "packages/components/eui-section-header/eui-section-header-icon.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-section-header-icon",
            "styleUrls": [],
            "styles": [],
            "template": "<eui-icon-svg [icon]=\"icon\" size=\"s\"/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "icon",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 25,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-section-header-icon'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 23,
                    "rawdescription": "\nCSS class applied to the host element",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-section-header-icon'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nCSS class applied to the host element",
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 23,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "<p>Icon container for EuiSectionHeader that displays an icon before the title.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-section-header-icon icon=&quot;settings&quot;&gt;&lt;/eui-section-header-icon&gt;</code></pre></div>",
            "rawdescription": "\n\nIcon container for EuiSectionHeader that displays an icon before the title.\n\n```html\n<eui-section-header-icon icon=\"settings\"></eui-section-header-icon>\n```\n",
            "type": "component",
            "sourceCode": "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",
            "styleUrl": "./eui-section-header-icon.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiSectionHeaderTitleComponent",
            "id": "component-EuiSectionHeaderTitleComponent-7ce88b571db042c29b86c65e5ce2a35eb3c25b40c828005e48e524b242072a52406c5078289d959e6bc42d8c313d0ed487a30c971402eddabc6e70e84a071922",
            "file": "packages/components/eui-section-header/eui-section-header-title.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-section-header-title",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-section-header-title'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 19,
                    "rawdescription": "\nCSS class applied to the host element",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-section-header-title'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nCSS class applied to the host element",
                    "description": "<p>CSS class applied to the host element</p>\n",
                    "line": 19,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Title container for EuiSectionHeader that displays the main heading text.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-section-header-title&gt;Section Title&lt;/eui-section-header-title&gt;</code></pre></div>",
            "rawdescription": "\n\nTitle container for EuiSectionHeader that displays the main heading text.\n\n```html\n<eui-section-header-title>Section Title</eui-section-header-title>\n```\n",
            "type": "component",
            "sourceCode": "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",
            "styleUrl": "./eui-section-header-title.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiSelectComponent",
            "id": "component-EuiSelectComponent-f9991e77363fe962b206a73ec06938693e5fb0202efe298c944a1d8d43f7341c2d837b418b8c4353c3874864f5aed38e18ac26bf7d700d273a2ec3c48c1e9e56",
            "file": "packages/components/eui-select/eui-select.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "select[euiSelect]",
            "styleUrls": [
                "./eui-select.scss"
            ],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "ariaLabel",
                    "defaultValue": "'Select an option'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 72,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "isInvalid",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 79,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "placeholder",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 74,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "readonly",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 76,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "_isInvalid",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 91,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngDoCheck",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 160,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 104,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 100,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onChange",
                    "args": [
                        {
                            "name": "value",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 173,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'change', ['$any($event.target).value']"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "syncReadOnlyValue",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 181,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [
                {
                    "name": "change",
                    "args": [
                        {
                            "name": "value",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$any($event.target).value"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 173
                }
            ],
            "standalone": false,
            "imports": [],
            "description": "<p>Select field that allows users to choose one value from a list of options.\n<code>eui-select</code> integrates with Angular forms and supports dynamic options, object values (<code>ngValue</code>), readonly synchronization, and deterministic option rendering through EUI control value accessors.\nIt is designed to work with native <code>&lt;select&gt;</code> / <code>&lt;option&gt;</code> semantics while ensuring correct behavior with EUI styling, validation, and form state handling.</p>\n<h3>Basic usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;select euiSelect [(ngModel)]=&quot;selectedValue&quot;&gt;\n  &lt;option value=&quot;1&quot;&gt;Option 1&lt;/option&gt;\n  &lt;option value=&quot;2&quot;&gt;Option 2&lt;/option&gt;\n&lt;/select&gt;</code></pre></div><h3>With placeholder</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;select euiSelect placeholder=&quot;Select an option&quot; [formControl]=&quot;control&quot;&gt;\n  &lt;option *ngFor=&quot;let item of items&quot; [value]=&quot;item.id&quot;&gt;{{item.name}}&lt;/option&gt;\n&lt;/select&gt;</code></pre></div><h3>Readonly mode</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;select euiSelect [readonly]=&quot;true&quot; [(ngModel)]=&quot;value&quot;&gt;\n  &lt;option value=&quot;approved&quot;&gt;Approved&lt;/option&gt;\n&lt;/select&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use aria-label to provide context for screen readers</li>\n<li>Invalid state is automatically applied from form validation</li>\n<li>Readonly mode creates accessible text input showing selected value</li>\n<li>Native select semantics ensure keyboard navigation works as expected</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Placeholder appears as first option when no value selected</li>\n<li>Readonly mode hides select and displays value in text input</li>\n<li>Validation state syncs automatically with Angular forms</li>\n<li>Use with <code>euiOption</code> directive for enhanced option handling</li>\n</ul>\n",
            "rawdescription": "\n\nSelect field that allows users to choose one value from a list of options.\n`eui-select` integrates with Angular forms and supports dynamic options, object values (`ngValue`), readonly synchronization, and deterministic option rendering through EUI control value accessors.\nIt is designed to work with native `<select>` / `<option>` semantics while ensuring correct behavior with EUI styling, validation, and form state handling.\n\n### Basic usage\n```html\n<select euiSelect [(ngModel)]=\"selectedValue\">\n  <option value=\"1\">Option 1</option>\n  <option value=\"2\">Option 2</option>\n</select>\n```\n\n### With placeholder\n```html\n<select euiSelect placeholder=\"Select an option\" [formControl]=\"control\">\n  <option *ngFor=\"let item of items\" [value]=\"item.id\">{{item.name}}</option>\n</select>\n```\n\n### Readonly mode\n```html\n<select euiSelect [readonly]=\"true\" [(ngModel)]=\"value\">\n  <option value=\"approved\">Approved</option>\n</select>\n```\n\n### Accessibility\n- Use aria-label to provide context for screen readers\n- Invalid state is automatically applied from form validation\n- Readonly mode creates accessible text input showing selected value\n- Native select semantics ensure keyboard navigation works as expected\n\n### Notes\n- Placeholder appears as first option when no value selected\n- Readonly mode hides select and displays value in text input\n- Validation state syncs automatically with Angular forms\n- Use with `euiOption` directive for enhanced option handling\n",
            "type": "component",
            "sourceCode": "import {\n    booleanAttribute,\n    Component,\n    ComponentRef,\n    DoCheck,\n    ElementRef,\n    HostListener,\n    Injector,\n    Input,\n    OnChanges,\n    OnInit,\n    Renderer2,\n    SimpleChanges,\n    ViewContainerRef,\n    inject,\n    HostBinding,\n} from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EuiInputTextComponent } from '@eui/components/eui-input-text';\nimport { NgControl } from '@angular/forms';\n\n/**\n * @description\n * Select field that allows users to choose one value from a list of options.\n * `eui-select` integrates with Angular forms and supports dynamic options, object values (`ngValue`), readonly synchronization, and deterministic option rendering through EUI control value accessors.\n * It is designed to work with native `<select>` / `<option>` semantics while ensuring correct behavior with EUI styling, validation, and form state handling.\n *\n * @usageNotes\n * ### Basic usage\n * ```html\n * <select euiSelect [(ngModel)]=\"selectedValue\">\n *   <option value=\"1\">Option 1</option>\n *   <option value=\"2\">Option 2</option>\n * </select>\n * ```\n *\n * ### With placeholder\n * ```html\n * <select euiSelect placeholder=\"Select an option\" [formControl]=\"control\">\n *   <option *ngFor=\"let item of items\" [value]=\"item.id\">{{item.name}}</option>\n * </select>\n * ```\n *\n * ### Readonly mode\n * ```html\n * <select euiSelect [readonly]=\"true\" [(ngModel)]=\"value\">\n *   <option value=\"approved\">Approved</option>\n * </select>\n * ```\n *\n * ### Accessibility\n * - Use aria-label to provide context for screen readers\n * - Invalid state is automatically applied from form validation\n * - Readonly mode creates accessible text input showing selected value\n * - Native select semantics ensure keyboard navigation works as expected\n *\n * ### Notes\n * - Placeholder appears as first option when no value selected\n * - Readonly mode hides select and displays value in text input\n * - Validation state syncs automatically with Angular forms\n * - Use with `euiOption` directive for enhanced option handling\n */\n\n@Component({\n    // eslint-disable-next-line @angular-eslint/component-selector\n    selector: 'select[euiSelect]',\n    styleUrls: ['./eui-select.scss'],\n    template: '<ng-content/>',\n})\nexport class EuiSelectComponent implements OnChanges, OnInit, DoCheck {\n\n    @HostBinding('attr.aria-label') @Input() ariaLabel = 'Select an option';\n\n    @Input() placeholder: string;\n\n    @Input({ transform: booleanAttribute }) readonly: boolean;\n\n    @Input()\n    public get isInvalid(): boolean {\n        return this._isInvalid || null;\n    }\n    public set isInvalid(state: BooleanInput) {\n        this._isInvalid = coerceBooleanProperty(state);\n        if (this._isInvalid) {\n            this.renderer.addClass(this.elementRef.nativeElement, 'eui-select--invalid');\n        } else {\n            this.renderer.removeClass(this.elementRef.nativeElement, 'eui-select--invalid');\n        }\n    }\n\n    protected _isInvalid: boolean;\n    private control: NgControl;\n    private readonlyInput: ComponentRef<EuiInputTextComponent>;\n    private placeholderOption: HTMLOptionElement;\n    private renderer = inject(Renderer2);\n    private injector = inject(Injector);\n    private elementRef = inject<ElementRef<HTMLSelectElement>>(ElementRef);\n    private viewContainerRef = inject(ViewContainerRef);\n\n    ngOnInit(): void {\n        this.renderer.addClass(this.elementRef.nativeElement, 'eui-select');\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes['readonly']) {\n            if (this.readonly) {\n                // hide select element\n                this.renderer.setAttribute(this.elementRef.nativeElement, 'readonly', 'true');\n                this.renderer.setAttribute(this.elementRef.nativeElement, 'hidden', '');\n\n                // create an euiInputComponent to hold the value (for accessibility reasons)\n                this.readonlyInput = this.createReadonlyElement();\n                this.renderer.insertBefore(\n                    this.elementRef.nativeElement.parentElement,\n                    this.elementRef.nativeElement,\n                    this.readonlyInput.location.nativeElement,\n                );\n                this.setReadonlyValue(this.readonlyInput);\n            } else {\n                this.readonlyInput?.destroy();\n                this.renderer.removeAttribute(this.elementRef.nativeElement, 'readonly');\n                this.renderer.removeAttribute(this.elementRef.nativeElement, 'hidden');\n            }\n        }\n\n        if (changes['placeholder']) {\n            this.control = this.injector.get(NgControl, undefined, { optional: true });\n            if (!this.control) {\n                // in case option Element already created update the value\n                if (changes['placeholder'].currentValue === undefined) {\n                    this.renderer.removeClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n                    // remove option element\n                    if (this.placeholderOption) {\n                        this.renderer.removeChild(this.elementRef.nativeElement, this.placeholderOption);\n                        this.placeholderOption = undefined;\n                    }\n                } else if (this.placeholderOption) {\n                    this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n                } else {\n                    // create option Element\n                    this.placeholderOption = this.renderer.createElement('option');\n\n                    this.renderer.addClass(this.placeholderOption, 'eui-select__placeholder');\n                    this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n                    // set attributes to act as a placeholder\n                    if (!this.elementRef.nativeElement.value) {\n                        this.renderer.setAttribute(this.placeholderOption, 'selected', '');\n                    }\n                    // append option element as the first of the select children\n                    this.elementRef.nativeElement.insertBefore(this.placeholderOption, this.elementRef.nativeElement.firstChild);\n\n                    if (this.elementRef.nativeElement.value === changes['placeholder'].currentValue) {\n                        this.renderer.addClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n                    }\n                }\n            }\n        }\n    }\n\n    ngDoCheck(): void {\n        if (!this.control) {\n            this.control = this.injector.get(NgControl, undefined, { optional: true });\n        }\n        this.isInvalid = this.control ? this.control.invalid && this.control.touched : this._isInvalid;\n        /** while the optionList changes but there's no selected option and there's a placeholder, add the placeholder\n         *  class. Otherwise, the placeholder will look selected but the color will be black. */\n        if (this.placeholder && this.elementRef.nativeElement.selectedIndex === 0) {\n            this.renderer.addClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n        }\n    }\n\n    @HostListener('change', ['$any($event.target).value'])\n    onChange(value): void {\n        this.control = this.injector.get(NgControl, undefined, { optional: true });\n        if (!this.control) {\n            this.setPlaceholderClass(this.placeholder === value ? undefined : value);\n        }\n        this.syncReadOnlyValue();\n    }\n\n    syncReadOnlyValue(): void {\n        this.setReadonlyValue(this.readonlyInput);\n    }\n\n    /**\n     * set readonly value from selected options presented as comma separated string\n     *\n     * @param readonlyRef the input element to set the value\n     * @private\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    private setReadonlyValue(readonlyRef: ComponentRef<EuiInputTextComponent>): any {\n        if (readonlyRef) {\n            // eslint-disable-next-line prefer-spread\n            const selectedOptions = Array.apply(null, this.elementRef.nativeElement.selectedOptions)\n                .map((i) => i.text)\n                .filter((i) => i !== this.placeholder)\n                .join(', ');\n            this.renderer.setProperty(readonlyRef.location.nativeElement, 'value', selectedOptions);\n            this.renderer.setAttribute(readonlyRef.location.nativeElement, 'aria-label', selectedOptions);\n        }\n    }\n\n    /**\n     * create readonly element\n     *\n     * @private\n     */\n    private createReadonlyElement(): ComponentRef<EuiInputTextComponent> {\n        const componentRef = this.viewContainerRef.createComponent(EuiInputTextComponent);\n        componentRef.instance.readonly = true;\n        return componentRef;\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    private setPlaceholderClass(value: any): void {\n        const placeholderOption = this.elementRef.nativeElement.options[0];\n        if (!!this.placeholder && (value === undefined || value === null || value === '')) {\n            this.renderer.setAttribute(placeholderOption, 'selected', '');\n            this.renderer.addClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n        } else {\n            this.renderer.removeClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n            this.renderer.removeAttribute(placeholderOption, 'selected');\n        }\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@use '../base' as base;\n\n.eui-21 {\n    :host.eui-select {\n        @include base.eui-input();\n        @include base.eui-ellipsis();\n        @include base.eui-scrollbars();\n        @include base.eui-accessible-focus();\n        color: var(--eui-c-text);\n        overflow-y: auto;\n\n        &[readonly][multiple=\"true\"] option:checked {\n            background: none;\n        }\n\n        &[hidden],\n        &[readonly][multiple=\"true\"] :not(option:checked) {\n            display: none;\n        }\n\n        &[multiple=\"true\"],\n        &[size]:not([size=\"1\"]):not([size=\"0\"]) {\n            background-image: none;\n            height: auto;\n            overflow: auto;\n            padding: var(--eui-s-3xs) 0;\n        }\n\n        &__item {\n            color: var(--eui-c-text);\n        }\n\n        optgroup {\n            font: var(--eui-f-m-semi-bold);\n        }\n\n        optgroup,\n        option {\n            appearance: none;\n            color: var(--eui-c-text);\n            display: block; // must\n            padding: var(--eui-s-3xs);\n            white-space: pre;\n\n            &.eui-select__placeholder {\n                color: var(--eui-c-text-lighter);\n            }\n\n            &:disabled {\n                color: var(--eui-c-disabled);\n            }\n        }\n    }\n\n    // Harmonized dropdown selector (same style & icon for all browsers)\n    :host.eui-select:not([readonly]):not([multiple]),\n    :host.eui-select[size=\"1\"],\n    :host.eui-select[size=\"0\"] {\n        appearance: none;\n        background-color: var(--eui-c-surface-container);\n        background-image: var(--eui-internal-icon-chevron-down-path);\n        background-position: calc(100% - #{var(--eui-s-s)}) center;\n        background-repeat: no-repeat;\n        background-size: var(--eui-s-m);\n        padding-right: var(--eui-s-3xl);  // reserve right padding space for icon/svg\n    }\n}\n",
                    "styleUrl": "./eui-select.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnChanges",
                "OnInit",
                "DoCheck"
            ],
            "accessors": {
                "isInvalid": {
                    "name": "isInvalid",
                    "setSignature": {
                        "name": "isInvalid",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "state",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 82,
                        "jsdoctags": [
                            {
                                "name": "state",
                                "type": "BooleanInput",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "isInvalid",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 79
                    }
                }
            }
        },
        {
            "name": "EuiSidebarMenuComponent",
            "id": "component-EuiSidebarMenuComponent-141da2668ceb2354eecbde4d00594c3c6c3cf3db089e8dcbba83e9810d9f8b3289022a648aaaa57b34d08d14035e84985b410a0db7899fb414f6ee70ad985845",
            "file": "packages/components/eui-sidebar-menu/eui-sidebar-menu.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-sidebar-menu",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-sidebar-menu.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "expandAllItems",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether to initially expand all menu items</p>\n",
                    "line": 116,
                    "rawdescription": "\n\nWhether to initially expand all menu items\n",
                    "jsdoctags": [
                        {
                            "pos": 3179,
                            "end": 3199,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3180,
                                "end": 3187,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "externalTarget",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Target for external links</p>\n",
                    "line": 138,
                    "rawdescription": "\n\nTarget for external links\n",
                    "required": false
                },
                {
                    "name": "filterValue",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Initial value for the filter input</p>\n",
                    "line": 143,
                    "rawdescription": "\n\nInitial value for the filter input\n",
                    "jsdoctags": [
                        {
                            "pos": 3913,
                            "end": 3930,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3914,
                                "end": 3921,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;&#39;</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "fragmentId",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>ID of the fragment to navigate to</p>\n",
                    "line": 130,
                    "rawdescription": "\n\nID of the fragment to navigate to\n",
                    "required": false
                },
                {
                    "name": "hasBoldRootLevel",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether to make root level menu items bold</p>\n",
                    "line": 121,
                    "rawdescription": "\n\nWhether to make root level menu items bold\n",
                    "jsdoctags": [
                        {
                            "pos": 3335,
                            "end": 3355,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3336,
                                "end": 3343,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "hasCollapsedInitials",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether to show initials in collapsed mode</p>\n",
                    "line": 86,
                    "rawdescription": "\n\nWhether to show initials in collapsed mode\n",
                    "jsdoctags": [
                        {
                            "pos": 2244,
                            "end": 2264,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2245,
                                "end": 2252,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "hasFilter",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether to show a filter input for searching menu items</p>\n",
                    "line": 96,
                    "rawdescription": "\n\nWhether to show a filter input for searching menu items\n",
                    "jsdoctags": [
                        {
                            "pos": 2562,
                            "end": 2582,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2563,
                                "end": 2570,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "hasIcons",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether to show icons for menu items</p>\n",
                    "line": 101,
                    "rawdescription": "\n\nWhether to show icons for menu items\n",
                    "jsdoctags": [
                        {
                            "pos": 2707,
                            "end": 2727,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2708,
                                "end": 2715,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "hasTooltip",
                    "defaultValue": "true, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether to show tooltips for menu items</p>\n",
                    "line": 106,
                    "rawdescription": "\n\nWhether to show tooltips for menu items\n",
                    "jsdoctags": [
                        {
                            "pos": 2854,
                            "end": 2873,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2855,
                                "end": 2862,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "hasTooltipOnExpanded",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether to show tooltips even when the menu is expanded</p>\n",
                    "line": 111,
                    "rawdescription": "\n\nWhether to show tooltips even when the menu is expanded\n",
                    "jsdoctags": [
                        {
                            "pos": 3017,
                            "end": 3037,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3018,
                                "end": 3025,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "isCollapsed",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Whether the sidebar is collapsed</p>\n",
                    "line": 91,
                    "rawdescription": "\n\nWhether the sidebar is collapsed\n",
                    "jsdoctags": [
                        {
                            "pos": 2396,
                            "end": 2416,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2397,
                                "end": 2404,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "items",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The menu items to be displayed</p>\n",
                    "line": 81,
                    "rawdescription": "\n\nThe menu items to be displayed\n",
                    "jsdoctags": [
                        {
                            "pos": 2108,
                            "end": 2125,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2109,
                                "end": 2116,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>[]</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "searchFilterLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Label for the search filter input</p>\n",
                    "line": 134,
                    "rawdescription": "\n\nLabel for the search filter input\n",
                    "required": false
                },
                {
                    "name": "style",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Custom inline styles for the sidebar container</p>\n",
                    "line": 126,
                    "rawdescription": "\n\nCustom inline styles for the sidebar container\n",
                    "required": false
                }
            ],
            "outputsClass": [
                {
                    "name": "itemClick",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiMenuItem",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Event emitted when a menu item is clicked</p>\n",
                    "line": 151,
                    "rawdescription": "\n\nEvent emitted when a menu item is clicked\n",
                    "required": false
                },
                {
                    "name": "menuClick",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Event emitted when the menu itself is clicked</p>\n",
                    "line": 147,
                    "rawdescription": "\n\nEvent emitted when the menu itself is clicked\n",
                    "required": false
                }
            ],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-sidebar-menu'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>CSS class binding for the host element</p>\n",
                    "line": 75,
                    "rawdescription": "\n\nCSS class binding for the host element\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 1963,
                            "end": 1996,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1964,
                                "end": 1971,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-sidebar-menu&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onMenuClicked",
                    "args": [
                        {
                            "name": "event",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 164,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandler for menu click events\n",
                    "description": "<p>Handler for menu click events</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 4438,
                                "end": 4443,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 4432,
                                "end": 4437,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Whether the menu was clicked</p>\n"
                        }
                    ]
                },
                {
                    "name": "onMenuItemClicked",
                    "args": [
                        {
                            "name": "item",
                            "type": "EuiMenuItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 156,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandler for menu item click events\n",
                    "description": "<p>Handler for menu item click events</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 4234,
                                "end": 4238,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "item"
                            },
                            "type": "EuiMenuItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 4228,
                                "end": 4233,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The menu item that was clicked</p>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-sidebar-menu'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1963,
                            "end": 1996,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1964,
                                "end": 1971,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-sidebar-menu&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nCSS class binding for the host element\n",
                    "description": "<p>CSS class binding for the host element</p>\n",
                    "line": 75,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_MENU"
                }
            ],
            "description": "<p>A sidebar menu component that wraps the EUI menu component.\nThis component provides a collapsible sidebar navigation menu with various display options.</p>\n<h3>Basic usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">menuItems: EuiMenuItem[] = [\n  { label: &#39;Dashboard&#39;, icon: &#39;home&#39;, route: &#39;/dashboard&#39; },\n  { label: &#39;Settings&#39;, icon: &#39;settings&#39;, route: &#39;/settings&#39; }\n];</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-sidebar-menu [items]=&quot;menuItems&quot;&gt;&lt;/eui-sidebar-menu&gt;</code></pre></div><h3>Collapsed with icons</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-sidebar-menu\n  [items]=&quot;menuItems&quot;\n  [isCollapsed]=&quot;true&quot;\n  [hasIcons]=&quot;true&quot;\n  [hasCollapsedInitials]=&quot;true&quot;&gt;\n&lt;/eui-sidebar-menu&gt;</code></pre></div><h3>With search filter</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-sidebar-menu\n  [items]=&quot;menuItems&quot;\n  [hasFilter]=&quot;true&quot;\n  searchFilterLabel=&quot;Search menu&quot;\n  (itemClick)=&quot;onMenuItemClick($event)&quot;&gt;\n&lt;/eui-sidebar-menu&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Keyboard navigation with arrow keys and Enter</li>\n<li>Tooltips provide context in collapsed mode</li>\n<li>ARIA labels for screen reader support</li>\n<li>Focus management for nested menu items</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use <code>hasTooltipOnExpanded</code> to show tooltips even when menu is expanded</li>\n<li><code>expandAllItems</code> opens all nested menu groups on initial render</li>\n<li><code>hasBoldRootLevel</code> emphasizes top-level navigation items</li>\n<li>Filter searches through all menu item labels and nested items</li>\n</ul>\n",
            "rawdescription": "\n\nA sidebar menu component that wraps the EUI menu component.\nThis component provides a collapsible sidebar navigation menu with various display options.\n\n### Basic usage\n```typescript\nmenuItems: EuiMenuItem[] = [\n  { label: 'Dashboard', icon: 'home', route: '/dashboard' },\n  { label: 'Settings', icon: 'settings', route: '/settings' }\n];\n```\n```html\n<eui-sidebar-menu [items]=\"menuItems\"></eui-sidebar-menu>\n```\n\n### Collapsed with icons\n```html\n<eui-sidebar-menu\n  [items]=\"menuItems\"\n  [isCollapsed]=\"true\"\n  [hasIcons]=\"true\"\n  [hasCollapsedInitials]=\"true\">\n</eui-sidebar-menu>\n```\n\n### With search filter\n```html\n<eui-sidebar-menu\n  [items]=\"menuItems\"\n  [hasFilter]=\"true\"\n  searchFilterLabel=\"Search menu\"\n  (itemClick)=\"onMenuItemClick($event)\">\n</eui-sidebar-menu>\n```\n\n### Accessibility\n- Keyboard navigation with arrow keys and Enter\n- Tooltips provide context in collapsed mode\n- ARIA labels for screen reader support\n- Focus management for nested menu items\n\n### Notes\n- Use `hasTooltipOnExpanded` to show tooltips even when menu is expanded\n- `expandAllItems` opens all nested menu groups on initial render\n- `hasBoldRootLevel` emphasizes top-level navigation items\n- Filter searches through all menu item labels and nested items\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ViewEncapsulation,\n    booleanAttribute,\n    input,\n    InputSignal,\n    output,\n} from '@angular/core';\nimport { EUI_MENU, EuiMenuItem } from '@eui/components/eui-menu';\n\n/**\n * @description\n * A sidebar menu component that wraps the EUI menu component.\n * This component provides a collapsible sidebar navigation menu with various display options.\n *\n * @usageNotes\n * ### Basic usage\n * ```typescript\n * menuItems: EuiMenuItem[] = [\n *   { label: 'Dashboard', icon: 'home', route: '/dashboard' },\n *   { label: 'Settings', icon: 'settings', route: '/settings' }\n * ];\n * ```\n * ```html\n * <eui-sidebar-menu [items]=\"menuItems\"></eui-sidebar-menu>\n * ```\n *\n * ### Collapsed with icons\n * ```html\n * <eui-sidebar-menu \n *   [items]=\"menuItems\"\n *   [isCollapsed]=\"true\"\n *   [hasIcons]=\"true\"\n *   [hasCollapsedInitials]=\"true\">\n * </eui-sidebar-menu>\n * ```\n *\n * ### With search filter\n * ```html\n * <eui-sidebar-menu \n *   [items]=\"menuItems\"\n *   [hasFilter]=\"true\"\n *   searchFilterLabel=\"Search menu\"\n *   (itemClick)=\"onMenuItemClick($event)\">\n * </eui-sidebar-menu>\n * ```\n *\n * ### Accessibility\n * - Keyboard navigation with arrow keys and Enter\n * - Tooltips provide context in collapsed mode\n * - ARIA labels for screen reader support\n * - Focus management for nested menu items\n *\n * ### Notes\n * - Use `hasTooltipOnExpanded` to show tooltips even when menu is expanded\n * - `expandAllItems` opens all nested menu groups on initial render\n * - `hasBoldRootLevel` emphasizes top-level navigation items\n * - Filter searches through all menu item labels and nested items\n */\n@Component({\n    selector: 'eui-sidebar-menu',\n    templateUrl: './eui-sidebar-menu.component.html',\n    styleUrl: './eui-sidebar-menu.scss',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        ...EUI_MENU,\n    ],\n})\nexport class EuiSidebarMenuComponent {\n    /**\n     * CSS class binding for the host element\n     * @default 'eui-sidebar-menu'\n     */\n    @HostBinding('class') string = 'eui-sidebar-menu';\n\n    /**\n     * The menu items to be displayed\n     * @default []\n     */\n    items: InputSignal<EuiMenuItem[]> = input([]);\n    /**\n     * Whether to show initials in collapsed mode\n     * @default false\n     */\n    hasCollapsedInitials = input(false, { transform: booleanAttribute });\n    /**\n     * Whether the sidebar is collapsed\n     * @default false\n     */\n    isCollapsed = input(false, { transform: booleanAttribute });\n    /**\n     * Whether to show a filter input for searching menu items\n     * @default false\n     */\n    hasFilter = input(false, { transform: booleanAttribute });\n    /**\n     * Whether to show icons for menu items\n     * @default false\n     */\n    hasIcons = input(false, { transform: booleanAttribute });\n    /**\n     * Whether to show tooltips for menu items\n     * @default true\n     */\n    hasTooltip = input(true, { transform: booleanAttribute });\n    /**\n     * Whether to show tooltips even when the menu is expanded\n     * @default false\n     */\n    hasTooltipOnExpanded = input(false, { transform: booleanAttribute });\n    /**\n     * Whether to initially expand all menu items\n     * @default false\n     */\n    expandAllItems = input(false, { transform: booleanAttribute });\n    /**\n     * Whether to make root level menu items bold\n     * @default false\n     */\n    hasBoldRootLevel = input(false, { transform: booleanAttribute });\n\n    /**\n     * Custom inline styles for the sidebar container\n     */\n    style: InputSignal<string> = input();\n    /**\n     * ID of the fragment to navigate to\n     */\n    fragmentId: InputSignal<string> = input();\n    /**\n     * Label for the search filter input\n     */\n    searchFilterLabel: InputSignal<string> = input();\n    /**\n     * Target for external links\n     */\n    externalTarget: InputSignal<string> = input();\n    /**\n     * Initial value for the filter input\n     * @default ''\n     */\n    filterValue = input('');\n    /**\n     * Event emitted when the menu itself is clicked\n     */\n    menuClick = output<boolean>();\n    /**\n     * Event emitted when a menu item is clicked\n     */\n    itemClick = output<EuiMenuItem>();\n    /**\n     * Handler for menu item click events\n     * @param item The menu item that was clicked\n     */\n    protected onMenuItemClicked(item: EuiMenuItem): void {\n        this.itemClick.emit(item);\n    }\n\n    /**\n     * Handler for menu click events\n     * @param event Whether the menu was clicked\n     */\n    protected onMenuClicked(event: boolean): void {\n        this.menuClick.emit(event);\n    }\n}\n",
            "styleUrl": "./eui-sidebar-menu.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "<!--TODO: set the classes into one div container instead of two-->\n<div class=\"eui-sidebar-menu__container\" [class.eui-sidebar-menu__container--collapsed]=\"isCollapsed()\" [style]=\"style()\">\n    <div class=\"eui-sidebar-menu__content\">\n        <eui-menu\n            [items]=\"items()\"\n            [hasFilter]=\"hasFilter()\"\n            [hasIcons]=\"hasIcons()\"\n            [hasTooltip]=\"hasTooltip()\"\n            [hasTooltipOnExpanded]=\"hasTooltipOnExpanded()\"\n            [isCollapsed]=\"isCollapsed()\"\n            [hasCollapsedInitials]=\"hasCollapsedInitials()\"\n            [expandAllItems]=\"expandAllItems()\"\n            [fragmentId]=\"fragmentId()\"\n            [searchFilterLabel]=\"searchFilterLabel()\"\n            [filterValue]=\"filterValue()\"\n            [hasBoldRootLevel]=\"hasBoldRootLevel()\"\n            (isClick)=\"onMenuClicked($event)\"\n            (itemClick)=\"onMenuItemClicked($event)\">\n        </eui-menu>\n    </div>\n</div>\n"
        },
        {
            "name": "EuiSidebarToggleComponent",
            "id": "component-EuiSidebarToggleComponent-4f11f5d22ee67177aabbe6e6338c693d5bcfb9d08f98bebe1223660843e70f1f3b76ba5a4e7fdb78716d11b9647387919f7f7dc147eb7294e57ee162422d51dd",
            "file": "packages/components/layout/eui-sidebar-toggle/sidebar-toggle.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-sidebar-toggle",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./sidebar-toggle.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-sidebar-toggle'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2623,
                            "end": 2658,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2624,
                                "end": 2631,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-sidebar-toggle&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nData attribute value for end-to-end testing identification.\nApplied as data-e2e attribute on the host element for test automation.\n",
                    "description": "<p>Data attribute value for end-to-end testing identification.\nApplied as data-e2e attribute on the host element for test automation.</p>\n",
                    "line": 71,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "iconSvgFillColor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom fill color for the toggle icon SVG.\nAccepts any valid CSS color value to override default icon color.\nOptional.\n",
                    "description": "<p>Custom fill color for the toggle icon SVG.\nAccepts any valid CSS color value to override default icon color.\nOptional.</p>\n",
                    "line": 80,
                    "type": "any",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 81
                },
                {
                    "name": "name",
                    "defaultValue": "'eui-sidebar-toggle'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 73,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onToggleSidebar",
                    "args": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 83,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-sidebar-toggle'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 73,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "EUI_ICON_BUTTON"
                }
            ],
            "description": "<p>Toggle button component for controlling sidebar open/closed state in the application shell.\nProvides a hamburger menu icon button that expands or collapses the application sidebar.\nIntegrates with EuiAppShellService to manage sidebar state and handle responsive behavior.\nAutomatically manages focus on mobile and tablet devices, directing focus to sidebar when opened.\nTypically placed in application header or toolbar for consistent sidebar control.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- In header --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-header&gt;\n    &lt;eui-header&gt;\n      &lt;eui-sidebar-toggle&gt;&lt;/eui-sidebar-toggle&gt;\n      &lt;eui-header-logo&gt;&lt;/eui-header-logo&gt;\n      &lt;eui-header-app appName=&quot;MyWorkplace&quot;&gt;&lt;/eui-header-app&gt;\n    &lt;/eui-header&gt;\n  &lt;/eui-app-header&gt;\n&lt;/eui-app&gt;\n\n&lt;!-- In toolbar --&gt;\n&lt;eui-app-toolbar&gt;\n  &lt;eui-toolbar&gt;\n    &lt;eui-sidebar-toggle iconSvgFillColor=&quot;primary&quot;&gt;&lt;/eui-sidebar-toggle&gt;\n  &lt;/eui-toolbar&gt;\n&lt;/eui-app-toolbar&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Hamburger icon button keyboard accessible</li>\n<li>Toggles sidebar visibility on click/Enter</li>\n<li>Automatically manages focus on mobile/tablet</li>\n<li>Focus directed to sidebar when opened on small screens</li>\n<li>ARIA attributes for toggle state</li>\n<li>Clear visual affordance for interaction</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Typically placed in header or toolbar</li>\n<li>Integrates with EuiAppShellService for state management</li>\n<li>Toggles sidebar open/closed state</li>\n<li>Responsive behavior: focus management on mobile/tablet</li>\n<li>On mobile/tablet, opening sidebar sets isSidebarFocused to true</li>\n<li>Focus automatically moves to first focusable element in sidebar</li>\n<li>iconSvgFillColor for custom icon color</li>\n<li>e2eAttr for test automation (default: &#39;eui-sidebar-toggle&#39;)</li>\n<li>Hamburger icon standard for sidebar toggle</li>\n<li>Works with eui-app-sidebar component</li>\n<li>State synchronized across application via EuiAppShellService</li>\n</ul>\n",
            "rawdescription": "\n\nToggle button component for controlling sidebar open/closed state in the application shell.\nProvides a hamburger menu icon button that expands or collapses the application sidebar.\nIntegrates with EuiAppShellService to manage sidebar state and handle responsive behavior.\nAutomatically manages focus on mobile and tablet devices, directing focus to sidebar when opened.\nTypically placed in application header or toolbar for consistent sidebar control.\n\n```html\n<!-- In header -->\n<eui-app>\n  <eui-app-header>\n    <eui-header>\n      <eui-sidebar-toggle></eui-sidebar-toggle>\n      <eui-header-logo></eui-header-logo>\n      <eui-header-app appName=\"MyWorkplace\"></eui-header-app>\n    </eui-header>\n  </eui-app-header>\n</eui-app>\n\n<!-- In toolbar -->\n<eui-app-toolbar>\n  <eui-toolbar>\n    <eui-sidebar-toggle iconSvgFillColor=\"primary\"></eui-sidebar-toggle>\n  </eui-toolbar>\n</eui-app-toolbar>\n```\n\n### Accessibility\n- Hamburger icon button keyboard accessible\n- Toggles sidebar visibility on click/Enter\n- Automatically manages focus on mobile/tablet\n- Focus directed to sidebar when opened on small screens\n- ARIA attributes for toggle state\n- Clear visual affordance for interaction\n\n### Notes\n- Typically placed in header or toolbar\n- Integrates with EuiAppShellService for state management\n- Toggles sidebar open/closed state\n- Responsive behavior: focus management on mobile/tablet\n- On mobile/tablet, opening sidebar sets isSidebarFocused to true\n- Focus automatically moves to first focusable element in sidebar\n- iconSvgFillColor for custom icon color\n- e2eAttr for test automation (default: 'eui-sidebar-toggle')\n- Hamburger icon standard for sidebar toggle\n- Works with eui-app-sidebar component\n- State synchronized across application via EuiAppShellService\n",
            "type": "component",
            "sourceCode": "import { AsyncPipe } from '@angular/common';\nimport { Component, HostBinding, Input, ViewEncapsulation, inject } from '@angular/core';\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\nimport { EuiAppShellService, consumeEvent } from '@eui/core';\n\n/**\n * @description\n * Toggle button component for controlling sidebar open/closed state in the application shell.\n * Provides a hamburger menu icon button that expands or collapses the application sidebar.\n * Integrates with EuiAppShellService to manage sidebar state and handle responsive behavior.\n * Automatically manages focus on mobile and tablet devices, directing focus to sidebar when opened.\n * Typically placed in application header or toolbar for consistent sidebar control.\n * \n * @usageNotes\n * ```html\n * <!-- In header -->\n * <eui-app>\n *   <eui-app-header>\n *     <eui-header>\n *       <eui-sidebar-toggle></eui-sidebar-toggle>\n *       <eui-header-logo></eui-header-logo>\n *       <eui-header-app appName=\"MyWorkplace\"></eui-header-app>\n *     </eui-header>\n *   </eui-app-header>\n * </eui-app>\n *\n * <!-- In toolbar -->\n * <eui-app-toolbar>\n *   <eui-toolbar>\n *     <eui-sidebar-toggle iconSvgFillColor=\"primary\"></eui-sidebar-toggle>\n *   </eui-toolbar>\n * </eui-app-toolbar>\n * ```\n *\n * ### Accessibility\n * - Hamburger icon button keyboard accessible\n * - Toggles sidebar visibility on click/Enter\n * - Automatically manages focus on mobile/tablet\n * - Focus directed to sidebar when opened on small screens\n * - ARIA attributes for toggle state\n * - Clear visual affordance for interaction\n *\n * ### Notes\n * - Typically placed in header or toolbar\n * - Integrates with EuiAppShellService for state management\n * - Toggles sidebar open/closed state\n * - Responsive behavior: focus management on mobile/tablet\n * - On mobile/tablet, opening sidebar sets isSidebarFocused to true\n * - Focus automatically moves to first focusable element in sidebar\n * - iconSvgFillColor for custom icon color\n * - e2eAttr for test automation (default: 'eui-sidebar-toggle')\n * - Hamburger icon standard for sidebar toggle\n * - Works with eui-app-sidebar component\n * - State synchronized across application via EuiAppShellService\n */\n@Component({\n    selector: 'eui-sidebar-toggle',\n    templateUrl: './sidebar-toggle.component.html',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        AsyncPipe,\n        ...EUI_ICON_BUTTON,\n    ],\n})\nexport class EuiSidebarToggleComponent {\n    /**\n     * Data attribute value for end-to-end testing identification.\n     * Applied as data-e2e attribute on the host element for test automation.\n     * @default 'eui-sidebar-toggle'\n     */\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-sidebar-toggle';\n\n    @HostBinding('class') name = 'eui-sidebar-toggle';\n\n    /**\n     * Custom fill color for the toggle icon SVG.\n     * Accepts any valid CSS color value to override default icon color.\n     * Optional.\n     */\n    @Input() iconSvgFillColor;\n    asService = inject(EuiAppShellService);\n\n    onToggleSidebar(event: Event): void {\n        // focus the first focusable element in the sidebar when opened in mobile/tablet\n        if (this.asService.state.breakpoints.isMobile || this.asService.state.breakpoints.isTablet) {\n            this.asService.state.isSidebarFocused = !this.asService.isSidebarOpen;\n        }\n        this.asService.sidebarToggle();\n        consumeEvent(event);\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "<eui-icon-button\n    icon=\"eui-menu\"\n    fillColor=\"{{iconSvgFillColor}}\"\n    size=\"l\"\n    [ariaLabel]=\"(asService.state$ | async).isSidebarOpen ? 'Close Sidebar' : 'Open Sidebar'\"\n    (buttonClick)=\"onToggleSidebar($event)\" />\n"
        },
        {
            "name": "EuiSkeletonComponent",
            "id": "component-EuiSkeletonComponent-8de542f0eb2565defad1d38a85e4aa3f724adf850c3fd2c1daafe8078644c9e8451cbc7220a21dbd19ff516840315e722a967d18888960b4ef3fd36197853478",
            "file": "packages/components/eui-skeleton/eui-skeleton.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-skeleton",
            "styleUrls": [],
            "styles": [],
            "template": "",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiSizeXS",
                        "euiSizeS",
                        "euiSizeM",
                        "euiSizeL",
                        "euiSizeXL",
                        "euiRounded",
                        "euiSizeVariant"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "circle",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>When true, renders the skeleton as a circle shape</p>\n",
                    "line": 78,
                    "rawdescription": "\n\nWhen true, renders the skeleton as a circle shape\n",
                    "jsdoctags": [
                        {
                            "pos": 2062,
                            "end": 2139,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2063,
                                "end": 2074,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>When true, renders the skeleton as a circle shape</p>\n"
                        },
                        {
                            "pos": 2139,
                            "end": 2159,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2140,
                                "end": 2147,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "line",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>When true, renders the skeleton as a line shape</p>\n",
                    "line": 85,
                    "rawdescription": "\n\nWhen true, renders the skeleton as a line shape\n",
                    "jsdoctags": [
                        {
                            "pos": 2238,
                            "end": 2313,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2239,
                                "end": 2250,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>When true, renders the skeleton as a line shape</p>\n"
                        },
                        {
                            "pos": 2313,
                            "end": 2333,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2314,
                                "end": 2321,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "rectangle",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>When true, renders the skeleton as a rectangle shape</p>\n",
                    "line": 99,
                    "rawdescription": "\n\nWhen true, renders the skeleton as a rectangle shape\n",
                    "jsdoctags": [
                        {
                            "pos": 2586,
                            "end": 2666,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2587,
                                "end": 2598,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>When true, renders the skeleton as a rectangle shape</p>\n"
                        },
                        {
                            "pos": 2666,
                            "end": 2686,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2667,
                                "end": 2674,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "square",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>When true, renders the skeleton as a square shape</p>\n",
                    "line": 92,
                    "rawdescription": "\n\nWhen true, renders the skeleton as a square shape\n",
                    "jsdoctags": [
                        {
                            "pos": 2410,
                            "end": 2487,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2411,
                                "end": 2422,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>When true, renders the skeleton as a square shape</p>\n"
                        },
                        {
                            "pos": 2487,
                            "end": 2507,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2488,
                                "end": 2495,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BaseStatesDirective",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Instance of BaseStatesDirective used to manage component states</p>\n",
                    "line": 105,
                    "rawdescription": "\n\nInstance of BaseStatesDirective used to manage component states\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "pos": 2768,
                            "end": 2857,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2769,
                                "end": 2780,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Instance of BaseStatesDirective used to manage component states</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1715,
                            "end": 1871,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1716,
                                "end": 1727,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the skeleton component\nby delegating to the private getCssClasses method.</p>\n"
                        },
                        {
                            "pos": 1871,
                            "end": 1936,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1872,
                                "end": 1879,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 1880,
                                "end": 1888,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 1881,
                                    "end": 1887,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the skeleton component\nby delegating to the private getCssClasses method.\n\n",
                    "description": "<p>Computes and returns the CSS classes for the skeleton component\nby delegating to the private getCssClasses method.</p>\n",
                    "line": 69,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>A skeleton loading component that provides various shapes and sizes for placeholder content.\nUsed to indicate loading states in the UI with different geometric shapes.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Circle skeleton --&gt;\n&lt;eui-skeleton [circle]=&quot;true&quot; euiSizeM /&gt;\n\n&lt;!-- Line skeleton --&gt;\n&lt;eui-skeleton [line]=&quot;true&quot; euiSizeL /&gt;\n\n&lt;!-- Rectangle skeleton --&gt;\n&lt;eui-skeleton [rectangle]=&quot;true&quot; euiSizeXL /&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use <code>aria-busy=&quot;true&quot;</code> on parent container while loading</li>\n<li>Provide <code>aria-live=&quot;polite&quot;</code> region for content updates</li>\n<li>Consider adding visually hidden text describing loading state</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Only one shape should be active at a time (circle, line, square, or rectangle)</li>\n<li>Combine with size variants (euiSizeXS, euiSizeS, euiSizeM, euiSizeL, euiSizeXL) for different dimensions</li>\n<li>Use euiRounded for rounded corners on rectangle/square shapes</li>\n</ul>\n",
            "rawdescription": "\n\nA skeleton loading component that provides various shapes and sizes for placeholder content.\nUsed to indicate loading states in the UI with different geometric shapes.\n\n### Basic Usage\n```html\n<!-- Circle skeleton -->\n<eui-skeleton [circle]=\"true\" euiSizeM />\n\n<!-- Line skeleton -->\n<eui-skeleton [line]=\"true\" euiSizeL />\n\n<!-- Rectangle skeleton -->\n<eui-skeleton [rectangle]=\"true\" euiSizeXL />\n```\n\n### Accessibility\n- Use `aria-busy=\"true\"` on parent container while loading\n- Provide `aria-live=\"polite\"` region for content updates\n- Consider adding visually hidden text describing loading state\n\n### Notes\n- Only one shape should be active at a time (circle, line, square, or rectangle)\n- Combine with size variants (euiSizeXS, euiSizeS, euiSizeM, euiSizeL, euiSizeXL) for different dimensions\n- Use euiRounded for rounded corners on rectangle/square shapes\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ChangeDetectionStrategy,\n    booleanAttribute,\n    inject,\n    input,\n} from '@angular/core';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n/**\n * @description\n * A skeleton loading component that provides various shapes and sizes for placeholder content.\n * Used to indicate loading states in the UI with different geometric shapes.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <!-- Circle skeleton -->\n * <eui-skeleton [circle]=\"true\" euiSizeM />\n *\n * <!-- Line skeleton -->\n * <eui-skeleton [line]=\"true\" euiSizeL />\n *\n * <!-- Rectangle skeleton -->\n * <eui-skeleton [rectangle]=\"true\" euiSizeXL />\n * ```\n *\n * ### Accessibility\n * - Use `aria-busy=\"true\"` on parent container while loading\n * - Provide `aria-live=\"polite\"` region for content updates\n * - Consider adding visually hidden text describing loading state\n *\n * ### Notes\n * - Only one shape should be active at a time (circle, line, square, or rectangle)\n * - Combine with size variants (euiSizeXS, euiSizeS, euiSizeM, euiSizeL, euiSizeXL) for different dimensions\n * - Use euiRounded for rounded corners on rectangle/square shapes\n */\n@Component({\n    template: '',\n    selector: 'eui-skeleton',\n    styleUrl: 'eui-skeleton.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSizeXS',\n                'euiSizeS',\n                'euiSizeM',\n                'euiSizeL',\n                'euiSizeXL',\n                'euiRounded',\n                'euiSizeVariant',\n            ],\n        },\n    ],\n})\nexport class EuiSkeletonComponent {\n    /**\n     * @description\n     * Computes and returns the CSS classes for the skeleton component\n     * by delegating to the private getCssClasses method.\n     *\n     * @returns {string} Space-separated string of CSS class names\n     */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return this.getCssClasses();\n    }\n\n    /**\n     * @description\n     * When true, renders the skeleton as a circle shape\n     * @default false\n     */\n    circle = input(false, { transform: booleanAttribute });\n\n    /**\n     * @description\n     * When true, renders the skeleton as a line shape\n     * @default false\n     */\n    line = input(false, { transform: booleanAttribute });\n\n    /**\n     * @description\n     * When true, renders the skeleton as a square shape\n     * @default false\n     */\n    square = input(false, { transform: booleanAttribute });\n\n    /**\n     * @description\n     * When true, renders the skeleton as a rectangle shape\n     * @default false\n     */\n    rectangle = input(false, { transform: booleanAttribute });\n\n    /**\n     * @description\n     * Instance of BaseStatesDirective used to manage component states\n     */\n    public baseStatesDirective: BaseStatesDirective = inject(BaseStatesDirective);\n\n    /**\n     * @description\n     * Combines all CSS classes based on the component's current state and shape inputs\n     *\n     * @private\n     * @returns {string} Space-separated string of CSS class names\n     */\n    private getCssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-skeleton'),\n            this.circle() ? 'eui-skeleton--circle': '',\n            this.line() ? 'eui-skeleton--line': '',\n            this.square() ? 'eui-skeleton--square': '',\n            this.rectangle() ? 'eui-skeleton--rectangle': '',\n        ]\n            .join(' ')\n            .trim();\n    }\n}\n",
            "styleUrl": "eui-skeleton.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 69,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the skeleton component\nby delegating to the private getCssClasses method.\n\n",
                        "description": "<p>Computes and returns the CSS classes for the skeleton component\nby delegating to the private getCssClasses method.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 1715,
                                "end": 1871,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 1716,
                                    "end": 1727,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the skeleton component\nby delegating to the private getCssClasses method.</p>\n"
                            },
                            {
                                "pos": 1871,
                                "end": 1936,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 1872,
                                    "end": 1879,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 1880,
                                    "end": 1888,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 1881,
                                        "end": 1887,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            }
        },
        {
            "name": "EuiSliderComponent",
            "id": "component-EuiSliderComponent-9e13afac1450dc830e435a741ff6af3e0f4c98d280b2a9061d1e972d6ba4fe65d66e81188a9ca9c5fec78f695161d909acaee6d42d0a773bcd558432dd7fdf70",
            "file": "packages/components/eui-slider/eui-slider.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-slider",
            "styleUrls": [
                "./eui-slider.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-slider.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiDanger",
                        "euiVariant"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "ariaLabel",
                    "defaultValue": "'eUI slider'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The label for the slider, used for accessibility.</p>\n",
                    "line": 172,
                    "rawdescription": "\n\nThe label for the slider, used for accessibility.\n",
                    "jsdoctags": [
                        {
                            "pos": 5582,
                            "end": 5659,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5583,
                                "end": 5594,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>The label for the slider, used for accessibility.</p>\n"
                        },
                        {
                            "pos": 5659,
                            "end": 5687,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5660,
                                "end": 5667,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eUI slider&#39;.</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "endAriaLabel",
                    "defaultValue": "'end eUI slider'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The label for the end slider in case there is a range, used for accessibility.</p>\n",
                    "line": 178,
                    "rawdescription": "\n\nThe label for the end slider in case there is a range, used for accessibility.\n",
                    "jsdoctags": [
                        {
                            "pos": 5742,
                            "end": 5848,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5743,
                                "end": 5754,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>The label for the end slider in case there is a range, used for accessibility.</p>\n"
                        },
                        {
                            "pos": 5848,
                            "end": 5880,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5849,
                                "end": 5856,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;end eUI slider&#39;.</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "formatValue",
                    "defaultValue": "        (value: number) => `${value}`,    ",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "(value: number) => string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Method that allows to format the value display.</p>\n",
                    "line": 164,
                    "rawdescription": "\n\nMethod that allows to format the value display.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 5381,
                            "end": 5417,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5382,
                                "end": 5388,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "return"
                            },
                            "comment": "<p>The formatted string</p>\n"
                        },
                        {
                            "pos": 5417,
                            "end": 5466,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5418,
                                "end": 5430,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "defaultValue"
                            },
                            "comment": "<p>(value: number) =&gt; <code>${value}</code></p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "hasRange",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Wheter a second should be display to allow to select a range.</p>\n",
                    "line": 157,
                    "rawdescription": "\n\nWheter a second should be display to allow to select a range.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 5219,
                            "end": 5239,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5220,
                                "end": 5227,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "hasTicks",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Wheter a ticks should be displayed at each step interval.</p>\n",
                    "line": 145,
                    "rawdescription": "\n\nWheter a ticks should be displayed at each step interval.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 4854,
                            "end": 4874,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4855,
                                "end": 4862,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "hasTooltip",
                    "defaultValue": "true, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Wheter a tooltip should be displayed when the handlers are hovered.</p>\n",
                    "line": 139,
                    "rawdescription": "\n\nWheter a tooltip should be displayed when the handlers are hovered.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 4682,
                            "end": 4701,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4683,
                                "end": 4690,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "hasValueIndicator",
                    "defaultValue": "true, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Wheter the value should be displayed on the top right of the track.</p>\n",
                    "line": 151,
                    "rawdescription": "\n\nWheter the value should be displayed on the top right of the track.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 5036,
                            "end": 5055,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5037,
                                "end": 5044,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "maxValue",
                    "defaultValue": "100, { alias: 'max', transform: numberAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The greatest value in the range of permitted values.</p>\n",
                    "line": 127,
                    "rawdescription": "\n\nThe greatest value in the range of permitted values.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 4256,
                            "end": 4274,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4257,
                                "end": 4264,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>100</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "minValue",
                    "defaultValue": "0, { alias: 'min', transform: numberAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The lowest value in the range of permitted values.</p>\n",
                    "line": 120,
                    "rawdescription": "\n\nThe lowest value in the range of permitted values.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 4019,
                            "end": 4035,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4020,
                                "end": 4027,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>0</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "sliderId",
                    "defaultValue": "`eui-slider-${uniqueId()}`",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The unique identifier for the slider.\nThis is used for accessibility and to link the slider with its label.</p>\n",
                    "line": 185,
                    "rawdescription": "\n\nThe unique identifier for the slider.\nThis is used for accessibility and to link the slider with its label.\n",
                    "jsdoctags": [
                        {
                            "pos": 5942,
                            "end": 6084,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5943,
                                "end": 5954,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>The unique identifier for the slider.\nThis is used for accessibility and to link the slider with its label.</p>\n"
                        },
                        {
                            "pos": 6084,
                            "end": 6125,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6085,
                                "end": 6092,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-slider-&#39; + uniqueId()</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "step",
                    "defaultValue": "1, { transform: numberAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Number that specifies the granularity that the value must adhere to.</p>\n",
                    "line": 133,
                    "rawdescription": "\n\nNumber that specifies the granularity that the value must adhere to.\n\n",
                    "jsdoctags": [
                        {
                            "pos": 4513,
                            "end": 4529,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4514,
                                "end": 4521,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>1</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "value",
                    "defaultValue": "{ start: 0, end: 100 }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "IEuiSliderValues",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Initial value used by the slider.</p>\n",
                    "line": 113,
                    "rawdescription": "\n\nInitial value used by the slider.\n",
                    "jsdoctags": [
                        {
                            "pos": 3834,
                            "end": 3874,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3835,
                                "end": 3847,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "defaultValue"
                            },
                            "comment": "<p>{ start: 0, end: 0 }</p>\n"
                        }
                    ],
                    "required": false
                }
            ],
            "outputsClass": [
                {
                    "name": "value",
                    "defaultValue": "{ start: 0, end: 100 }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "IEuiSliderValues",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Initial value used by the slider.</p>\n",
                    "line": 113,
                    "rawdescription": "\n\nInitial value used by the slider.\n",
                    "jsdoctags": [
                        {
                            "pos": 3834,
                            "end": 3874,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3835,
                                "end": 3847,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "defaultValue"
                            },
                            "comment": "<p>{ start: 0, end: 0 }</p>\n"
                        }
                    ],
                    "required": false
                }
            ],
            "propertiesClass": [
                {
                    "name": "constrainPosition",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Constrains the position of a handler to the position of the other one.\nStart handler cannot go after end handler. End handler cannot go before start handler.</p>\n",
                    "line": 443,
                    "rawdescription": "\n\nConstrains the position of a handler to the position of the other one.\nStart handler cannot go after end handler. End handler cannot go before start handler.\n\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "pos": 16463,
                            "end": 16503,
                            "kind": 342,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 16464,
                                "end": 16469,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Dragged handler</p>\n",
                            "name": {
                                "pos": 16470,
                                "end": 16479,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "handlerId"
                            },
                            "isNameFirst": true,
                            "isBracketed": false
                        },
                        {
                            "pos": 16503,
                            "end": 16555,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 16504,
                                "end": 16511,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>A function constraining the position.</p>\n"
                        }
                    ]
                },
                {
                    "name": "endHandler",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 192,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'endHandler', {static: false}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "endHandlerContainer",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 193,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'endHandlerContainer', {static: false}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "endInputRange",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 197,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'endInputRange', {static: false}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "handlers",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<ElementRef>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 194,
                    "decorators": [
                        {
                            "name": "ViewChildren",
                            "stringifiedArguments": "'handler'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "initValue",
                    "defaultValue": "{\n        start: { x: 0, y: 0 },\n        end: { x: 0, y: 0 },\n    }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 201,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "inputRanges",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<ElementRef>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 198,
                    "decorators": [
                        {
                            "name": "ViewChildren",
                            "stringifiedArguments": "'inputRange'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "isDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 200,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "sliderContainer",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 187,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'sliderContainer', {static: true}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "startHandler",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 190,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'startHandler', {static: false}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "startHandlerContainer",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 191,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'startHandlerContainer', {static: false}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "startInputRange",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 196,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'startInputRange', {static: false}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "ticks",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 205,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "trackActive",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 188,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'trackActive', {static: false}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 238,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 343,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 229,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onDragEnded",
                    "args": [
                        {
                            "name": "e",
                            "type": "CdkDragEnd",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 397,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDrag end handler\n\n",
                    "description": "<p>Drag end handler</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 15183,
                                "end": 15184,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "e"
                            },
                            "type": "CdkDragEnd",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 15177,
                                "end": 15182,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        }
                    ]
                },
                {
                    "name": "onDragMoved",
                    "args": [
                        {
                            "name": "handlerId",
                            "type": "SliderHandler",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "e",
                            "type": "CdkDragMove",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 364,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDrag handler\n\n",
                    "description": "<p>Drag handler</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 13726,
                                "end": 13735,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "handlerId"
                            },
                            "type": "SliderHandler",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 13720,
                                "end": 13725,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Dragged handler</p>\n"
                        },
                        {
                            "name": {
                                "pos": 13766,
                                "end": 13767,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "e"
                            },
                            "type": "CdkDragMove",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 13760,
                                "end": 13765,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Event</p>\n"
                        }
                    ]
                },
                {
                    "name": "onTrackClick",
                    "args": [
                        {
                            "name": "e",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 473,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nClick on track handler\n\n",
                    "description": "<p>Click on track handler</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 17588,
                                "end": 17589,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "e"
                            },
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 17582,
                                "end": 17587,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Click event</p>\n"
                        }
                    ]
                },
                {
                    "name": "registerOnChange",
                    "args": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 422,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "registerOnTouched",
                    "args": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 427,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "setDisabledState",
                    "args": [
                        {
                            "name": "isDisabled",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 431,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "isDisabled",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "writeValue",
                    "args": [
                        {
                            "name": "value",
                            "type": "IEuiSliderValues",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 401,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "IEuiSliderValues",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3250,
                            "end": 3367,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3251,
                                "end": 3262,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                        },
                        {
                            "pos": 3367,
                            "end": 3432,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3368,
                                "end": 3375,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 3376,
                                "end": 3384,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 3377,
                                    "end": 3383,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                    "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                    "line": 99,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "DragDropModule",
                    "type": "module"
                }
            ],
            "description": "<p>A draggable slider component for selecting numeric values within a defined range.\nSupports both single-value and range selection modes with keyboard navigation,\nvisual feedback through tooltips and ticks, and full accessibility support.\nImplements ControlValueAccessor for seamless integration with Angular forms.</p>\n<p>Use cases:</p>\n<ul>\n<li>Single value selection within a numeric range</li>\n<li>Range selection with start and end values</li>\n<li>Form-integrated numeric input with visual feedback</li>\n<li>Accessible numeric input for keyboard and screen reader users</li>\n</ul>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Single value slider --&gt;\n&lt;eui-slider\n  [min]=&quot;0&quot;\n  [max]=&quot;100&quot;\n  [step]=&quot;5&quot;\n  [(value)]=&quot;sliderValue&quot; /&gt;\n\n&lt;!-- Range slider --&gt;\n&lt;eui-slider\n  [min]=&quot;0&quot;\n  [max]=&quot;1000&quot;\n  [hasRange]=&quot;true&quot;\n  [hasTicks]=&quot;true&quot;\n  [(value)]=&quot;rangeValue&quot; /&gt;\n\n&lt;!-- With custom formatting --&gt;\n&lt;eui-slider\n  [formatValue]=&quot;formatPrice&quot;\n  [(value)]=&quot;price&quot; /&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">sliderValue = { start: 50, end: null };\nrangeValue = { start: 200, end: 800 };\nformatPrice = (value: number) =&gt; `$${value}`;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Keyboard navigation: Arrow keys to adjust, Home/End for min/max</li>\n<li>Provide descriptive ariaLabel for the slider purpose</li>\n<li>Use endAriaLabel for range sliders to distinguish handles</li>\n<li>Focus indicators show which handle is active</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Value structure: { start: number, end?: number | null }</li>\n<li>Range mode requires hasRange=&quot;true&quot; and both start/end values</li>\n<li>Ticks display at each step interval when hasTicks=&quot;true&quot;</li>\n<li>Tooltip shows current value on hover when hasTooltip=&quot;true&quot;</li>\n</ul>\n",
            "rawdescription": "\n\nA draggable slider component for selecting numeric values within a defined range.\nSupports both single-value and range selection modes with keyboard navigation,\nvisual feedback through tooltips and ticks, and full accessibility support.\nImplements ControlValueAccessor for seamless integration with Angular forms.\n\nUse cases:\n- Single value selection within a numeric range\n- Range selection with start and end values\n- Form-integrated numeric input with visual feedback\n- Accessible numeric input for keyboard and screen reader users\n\n### Basic Usage\n```html\n<!-- Single value slider -->\n<eui-slider\n  [min]=\"0\"\n  [max]=\"100\"\n  [step]=\"5\"\n  [(value)]=\"sliderValue\" />\n\n<!-- Range slider -->\n<eui-slider\n  [min]=\"0\"\n  [max]=\"1000\"\n  [hasRange]=\"true\"\n  [hasTicks]=\"true\"\n  [(value)]=\"rangeValue\" />\n\n<!-- With custom formatting -->\n<eui-slider\n  [formatValue]=\"formatPrice\"\n  [(value)]=\"price\" />\n```\n\n```typescript\nsliderValue = { start: 50, end: null };\nrangeValue = { start: 200, end: 800 };\nformatPrice = (value: number) => `$${value}`;\n```\n\n### Accessibility\n- Keyboard navigation: Arrow keys to adjust, Home/End for min/max\n- Provide descriptive ariaLabel for the slider purpose\n- Use endAriaLabel for range sliders to distinguish handles\n- Focus indicators show which handle is active\n\n### Notes\n- Value structure: { start: number, end?: number | null }\n- Range mode requires hasRange=\"true\" and both start/end values\n- Ticks display at each step interval when hasTicks=\"true\"\n- Tooltip shows current value on hover when hasTooltip=\"true\"\n",
            "type": "component",
            "sourceCode": "import { booleanAttribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, inject, numberAttribute, ViewChild,\n    AfterViewInit, OnDestroy, ViewChildren, QueryList, OnInit, model, effect, input } from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { CdkDragEnd, CdkDragMove, DragDropModule, Point } from '@angular/cdk/drag-drop';\nimport { fromEvent, Subject, Subscription, takeUntil } from 'rxjs';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { uniqueId } from '@eui/core';\n\n/**\n * Represents the value structure for the slider component.\n * Contains start value and optional end value for range selection.\n */\nexport interface IEuiSliderValues {\n    /** The starting value of the slider or the single value in non-range mode */\n    start: number;\n    /** The ending value of the slider when in range mode, null otherwise */\n    end?: number | null;\n}\n\ntype SliderHandler = 'start' | 'end';\n\n/**\n * A draggable slider component for selecting numeric values within a defined range.\n * Supports both single-value and range selection modes with keyboard navigation,\n * visual feedback through tooltips and ticks, and full accessibility support.\n * Implements ControlValueAccessor for seamless integration with Angular forms.\n *\n * Use cases:\n * - Single value selection within a numeric range\n * - Range selection with start and end values\n * - Form-integrated numeric input with visual feedback\n * - Accessible numeric input for keyboard and screen reader users\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <!-- Single value slider -->\n * <eui-slider\n *   [min]=\"0\"\n *   [max]=\"100\"\n *   [step]=\"5\"\n *   [(value)]=\"sliderValue\" />\n *\n * <!-- Range slider -->\n * <eui-slider\n *   [min]=\"0\"\n *   [max]=\"1000\"\n *   [hasRange]=\"true\"\n *   [hasTicks]=\"true\"\n *   [(value)]=\"rangeValue\" />\n *\n * <!-- With custom formatting -->\n * <eui-slider\n *   [formatValue]=\"formatPrice\"\n *   [(value)]=\"price\" />\n * ```\n *\n * ```typescript\n * sliderValue = { start: 50, end: null };\n * rangeValue = { start: 200, end: 800 };\n * formatPrice = (value: number) => `$${value}`;\n * ```\n *\n * ### Accessibility\n * - Keyboard navigation: Arrow keys to adjust, Home/End for min/max\n * - Provide descriptive ariaLabel for the slider purpose\n * - Use endAriaLabel for range sliders to distinguish handles\n * - Focus indicators show which handle is active\n *\n * ### Notes\n * - Value structure: { start: number, end?: number | null }\n * - Range mode requires hasRange=\"true\" and both start/end values\n * - Ticks display at each step interval when hasTicks=\"true\"\n * - Tooltip shows current value on hover when hasTooltip=\"true\"\n */\n@Component({\n    selector: 'eui-slider',\n    templateUrl: './eui-slider.component.html',\n    styleUrls: ['./eui-slider.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: ['euiPrimary', 'euiDanger', 'euiVariant'],\n        },\n    ],\n    imports: [DragDropModule],\n})\nexport class EuiSliderComponent implements ControlValueAccessor, AfterViewInit, OnDestroy, OnInit {\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-slider'),\n            this.isDisabled ? 'eui-slider--disabled' : '',\n            this.control?.invalid ? 'eui-slider--invalid eui-slider--danger' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * Initial value used by the slider.\n     * @defaultValue { start: 0, end: 0 }\n     */\n    value = model<IEuiSliderValues>({ start: 0, end: 100 });\n    /**\n     * The lowest value in the range of permitted values.\n     * \n     * @default 0\n     */\n    // eslint-disable-next-line @angular-eslint/no-input-rename\n    minValue = input(0, { alias: 'min', transform: numberAttribute });\n    /**\n     * The greatest value in the range of permitted values.\n     * \n     * @default 100\n     */\n    // eslint-disable-next-line @angular-eslint/no-input-rename\n    maxValue = input(100, { alias: 'max', transform: numberAttribute });\n    /**\n     * Number that specifies the granularity that the value must adhere to.\n     * \n     * @default 1\n     */\n    step = input(1, { transform: numberAttribute });\n    /**\n     * Wheter a tooltip should be displayed when the handlers are hovered.\n     *\n     * @default true\n     */\n    hasTooltip = input(true, { transform: booleanAttribute });\n    /**\n     * Wheter a ticks should be displayed at each step interval.\n     *\n     * @default false\n     */\n    hasTicks = input(false, { transform: booleanAttribute });\n    /**\n     * Wheter the value should be displayed on the top right of the track.\n     *\n     * @default true\n     */\n    hasValueIndicator = input(true, { transform: booleanAttribute });\n    /**\n     * Wheter a second should be display to allow to select a range.\n     *\n     * @default false\n     */\n    hasRange = input(false, { transform: booleanAttribute });\n    /**\n     * Method that allows to format the value display.\n     *\n     * @return The formatted string\n     * @defaultValue (value: number) => `${value}`\n     */\n    formatValue = input<(value: number) => string>(\n        (value: number) => `${value}`,\n    );\n    /**\n     * @description\n     * The label for the slider, used for accessibility.\n     * @default 'eUI slider'.\n     */\n    ariaLabel = input('eUI slider');\n    /**\n     * @description\n     * The label for the end slider in case there is a range, used for accessibility.\n     * @default 'end eUI slider'.\n     */\n    endAriaLabel = input('end eUI slider');\n    /**\n     * @description\n     * The unique identifier for the slider.\n     * This is used for accessibility and to link the slider with its label.\n     * @default 'eui-slider-' + uniqueId()\n     */\n    sliderId = input(`eui-slider-${uniqueId()}`);\n    \n    @ViewChild('sliderContainer', { static: true }) sliderContainer: ElementRef;\n    @ViewChild('trackActive', { static: false }) trackActive: ElementRef;\n\n    @ViewChild('startHandler', { static: false }) startHandler: ElementRef;\n    @ViewChild('startHandlerContainer', { static: false }) startHandlerContainer: ElementRef;\n    @ViewChild('endHandler', { static: false }) endHandler: ElementRef;\n    @ViewChild('endHandlerContainer', { static: false }) endHandlerContainer: ElementRef;\n    @ViewChildren('handler') handlers: QueryList<ElementRef>;\n\n    @ViewChild('startInputRange', { static: false }) startInputRange: ElementRef;\n    @ViewChild('endInputRange', { static: false }) endInputRange: ElementRef;\n    @ViewChildren('inputRange') inputRanges: QueryList<ElementRef>;\n\n    public isDisabled = false;\n    public initValue: { start: Point; end: Point} = {\n        start: { x: 0, y: 0 },\n        end: { x: 0, y: 0 },\n    }\n    public ticks: { value: number; position: string }[] = [];\n\n    private baseStatesDirective: BaseStatesDirective = inject(BaseStatesDirective);\n    private control = inject(NgControl, { self: true, optional: true });\n    private cd = inject(ChangeDetectorRef);\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private keyboardSubscription: Subscription = new Subscription();\n    private resizeObserver: ResizeObserver;\n    /**\n     * Position where the user clicked to start the drag of an handler\n     */\n    private dragOffsetX = 0;\n\n    constructor() {\n        if (this.control) {\n            this.control.valueAccessor = this;\n        }\n\n        effect(() => {\n            const v = this.value();\n            queueMicrotask(() => this.onChange(v));\n        });\n    }\n\n    ngOnInit(): void {\n        if (this.value() === null) {\n            this.value.set({ start: 0, end: 0 });\n        }\n        if (!this.hasRange()) {\n            this.value.update(v => ({ ...v, end: null }));\n        }\n    }\n\n    ngAfterViewInit(): void {\n        this.inputRanges.toArray().forEach((inputRange) => {\n            const handlerId: SliderHandler = inputRange.nativeElement.classList.contains('range-input-start') ? 'start' : 'end';\n\n            fromEvent(inputRange.nativeElement, 'focus').pipe(takeUntil(this.destroy$)).subscribe(() => {\n                if (handlerId === 'start') {\n                    this.startHandler.nativeElement.classList.add('eui-slider__handler--focused');\n                } else {\n                    this.endHandler.nativeElement.classList.add('eui-slider__handler--focused');\n                }\n\n                this.keyboardSubscription = fromEvent<KeyboardEvent>(inputRange.nativeElement, 'keydown').pipe(takeUntil(this.destroy$)).subscribe((event) => { \n                    if (!this.isDisabled) {\n                        if ((event.key) === 'Home') {\n                            this.value.update(v => ({\n                                ...v, \n                                [handlerId]: this.hasRange() ? (handlerId === 'start' ? this.minValue() : v.start) : this.minValue(),\n                            }));\n                            this.setPositionValue(handlerId, this.value()[handlerId]);\n                            event.preventDefault();\n                        }\n                        if ((event.key) === 'End') {\n                            this.value.update(v => ({\n                                ...v, \n                                [handlerId]: this.hasRange() ? (handlerId === 'start' ? v.end : this.maxValue()) : this.maxValue(),\n                            }));\n                            this.setPositionValue(handlerId, this.value()[handlerId]);\n                            event.preventDefault();\n                        }\n                        if ((event.key) === 'ArrowRight' || (event.key) === 'ArrowUp') {\n                            this.value.update(v => {\n                                const newValue = v[handlerId] + this.step();\n                                const limit = this.hasRange() ? (handlerId === 'start' ? v.end : this.maxValue()) : this.maxValue();\n                                return v[handlerId] < limit ? { ...v, [handlerId]: Math.min(newValue, limit) } : v;\n                            });\n                            this.setPositionValue(handlerId, this.value()[handlerId]);\n                            event.preventDefault();\n                        }\n                        if ((event.key) === 'ArrowLeft' || (event.key) === 'ArrowDown') {\n                            this.value.update(v => {\n                                const newValue = v[handlerId] - this.step();\n                                const limit = this.hasRange() ? (handlerId === 'start' ? this.minValue() : v.start) : this.minValue();\n                                return v[handlerId] > limit ? { ...v, [handlerId]: Math.max(newValue, limit) } : v;\n                            });\n                            this.setPositionValue(handlerId, this.value()[handlerId]);\n                            event.preventDefault();\n                        }\n\n                        this.cd.detectChanges();\n                    }\n                });\n            });\n\n            fromEvent(inputRange.nativeElement, 'blur').pipe(takeUntil(this.destroy$)).subscribe(() => {\n                if (handlerId === 'start') {\n                    this.startHandler.nativeElement.classList.remove('eui-slider__handler--focused');\n                } else {\n                    this.endHandler.nativeElement.classList.remove('eui-slider__handler--focused');\n                }\n\n                this.onTouched();\n                this.keyboardSubscription.unsubscribe();\n            });\n        });\n\n        this.handlers.toArray().forEach((handler) => {\n            const handlerId: SliderHandler = handler.nativeElement.classList.contains('eui-slider__handler-start') ? 'start' : 'end';\n\n            fromEvent<MouseEvent>(handler.nativeElement, 'click').pipe(takeUntil(this.destroy$)).subscribe((event) => {\n                if (handlerId === 'start') {\n                    this.startInputRange.nativeElement.focus();\n                } else {\n                    this.endInputRange.nativeElement.focus();\n                }\n\n                event.stopPropagation();\n            });\n\n            fromEvent<MouseEvent>(handler.nativeElement, 'mousedown').pipe(takeUntil(this.destroy$)).subscribe((event) => {\n                const rect = handler.nativeElement.getBoundingClientRect();\n                this.dragOffsetX = event.clientX - rect.left;\n\n                event.stopPropagation();\n            });\n        });\n\n        this.resizeObserver = new ResizeObserver(() => {\n            this.setPositionValue('start', this.value().start);\n    \n            if (this.hasRange()) {\n                this.setPositionValue('end', this.value().end);\n            }\n\n            if (this.hasTicks()) {\n                this.generateTicks();\n            }\n        });\n\n        this.resizeObserver.observe(this.sliderContainer.nativeElement);\n\n        if (this.hasTicks()) {\n            this.generateTicks();\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n        this.resizeObserver?.disconnect();\n        this.keyboardSubscription?.unsubscribe();\n    }\n\n    get formattedStartValue(): string {\n        return this.formatValue()(this.value().start);\n    }\n\n    get formattedEndValue(): string {\n        return this.formatValue()(this.value().end);\n    }\n\n    /**\n     * Drag handler\n     * \n     * @param handlerId Dragged handler\n     * @param e Event\n     */\n    public onDragMoved(handlerId: SliderHandler, e: CdkDragMove): void {\n        e.source.element.nativeElement.classList.add('eui-slider__handler--dragging');\n\n        const containerRect = this.sliderContainer.nativeElement.getBoundingClientRect();\n        const containerWidth = containerRect.width;\n        const handlerWidth = handlerId === 'start' ? this.startHandler.nativeElement.offsetWidth : this.endHandler.nativeElement.offsetWidth;\n\n        const maxTravel = containerWidth - handlerWidth;\n        const range = this.maxValue() - this.minValue();\n        const pointerX = e.pointerPosition.x - containerRect.left;\n        const ratio = Math.max(0, Math.min(1, pointerX / maxTravel));\n\n        const rawValue = this.minValue() + (ratio * range);\n        const steppedValue = (Math.round(((rawValue - this.minValue()) / this.step())) * this.step()) + this.minValue();\n        const clampedValue = Math.max(this.minValue(), Math.min(this.maxValue(), steppedValue));\n\n        this.value.update(v => ({ ...v, [handlerId]: clampedValue }));\n\n        const finalRatio = (clampedValue - this.minValue()) / range;\n        const snappedX = Math.round(finalRatio * maxTravel);\n\n        this.initValue[handlerId] = { x: snappedX, y: 0 };\n\n        this.calculateActiveTrack();\n        this.onChange(this.value());\n        this.onTouched();\n    }\n\n    /**\n     * Drag end handler\n     * \n     * @param e \n     */\n    public onDragEnded(e: CdkDragEnd): void {\n        e.source.element.nativeElement.classList.remove('eui-slider__handler--dragging');\n    }\n\n    writeValue(value: IEuiSliderValues): void {\n        if (!value) {\n            this.value.set({ start: 0, end: 0 });\n        } else {\n            this.value.set(value);\n        }\n\n        if (!this.hasRange()) {\n            this.value.update(v => ({ ...v, end: null }));\n        }\n\n        Promise.resolve().then(() => {\n            this.setPositionValue('start', this.value().start);\n\n            if (this.hasRange()) {\n                this.setPositionValue('end', this.value().end);\n            }\n        });\n    }\n\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    registerOnChange(fn: any): void {\n        this.onChange = fn;\n    }\n\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    registerOnTouched(fn: any): void {\n        this.onTouched = fn;\n    }\n\n    setDisabledState(isDisabled: boolean): void {\n        this.isDisabled = isDisabled;\n        this.cd.detectChanges();\n    }\n\n    /**\n     * Constrains the position of a handler to the position of the other one.\n     * Start handler cannot go after end handler. End handler cannot go before start handler.\n     * \n     * @param handlerId Dragged handler\n     * @returns A function constraining the position.\n     */\n    public constrainPosition = (handlerId: SliderHandler): ((point: Point) => Point) => {\n        return (point: Point) => {\n            const containerRect = this.sliderContainer.nativeElement.getBoundingClientRect();\n\n            let minX = 0;\n            let maxX = containerRect.width + containerRect.left;\n\n            if (handlerId === 'start' && this.endHandler?.nativeElement) {\n                const endRect = this.endHandler.nativeElement.getBoundingClientRect();\n                maxX = endRect.left;\n            } else if (handlerId === 'end' && this.startHandler?.nativeElement) {\n                const startRect = this.startHandler.nativeElement.getBoundingClientRect();\n                minX = startRect.left;\n            }\n\n            const adjustedX = point.x - this.dragOffsetX;\n            const x = Math.max(minX, Math.min(adjustedX, maxX));\n            \n            return {\n                x,\n                y: 0,\n            };\n        };\n    };\n\n    /**\n     * Click on track handler\n     * \n     * @param e Click event\n     */\n    public onTrackClick(e: MouseEvent): void {\n        if (!this.isDisabled) {\n            const containerRect = this.sliderContainer.nativeElement.getBoundingClientRect();\n            const x = e.clientX - containerRect.left;\n\n            const containerWidth = this.sliderContainer.nativeElement.offsetWidth;\n            const range = this.maxValue() - this.minValue();\n            const ratio = Math.max(0, Math.min(1, x / containerWidth));\n\n            const rawValue = this.minValue() + (ratio * range);\n            const steppedValue = (Math.round(((rawValue - this.minValue()) / this.step())) * this.step()) + this.minValue();\n            const clampedValue = Math.max(this.minValue(), Math.min(this.maxValue(), steppedValue));\n\n            if (this.hasRange()) {\n                const distToStart = Math.abs(this.value().start - clampedValue);\n                const distToEnd = Math.abs(this.value().end - clampedValue);\n                let closest: SliderHandler;\n\n                if (distToStart === distToEnd) {\n                    closest = clampedValue >= this.value().start ? 'end' : 'start';\n                } else {\n                    closest = distToStart < distToEnd ? 'start' : 'end';\n                }\n\n                // this.value()[closest] = clampedValue;\n                this.value.update(v => ({ ...v, [closest]: clampedValue }));\n                this.setPositionValue(closest, clampedValue);\n            } else {\n                // this.value().start = clampedValue;\n                this.value.update(v => ({ ...v, start: clampedValue }));\n                this.setPositionValue('start', clampedValue);\n            }\n\n            this.onChange(this.value());\n            this.onTouched();\n        }\n    }\n\n    /**\n     * Calculates the positon of an handler for a given value.\n     * \n     * @param handlerId Handler to position\n     * @param value Value on which calculate the position\n     */\n    private setPositionValue(handlerId: SliderHandler, value: number): void {\n        const container = this.sliderContainer.nativeElement;\n        const handler = handlerId === 'start' ? this.startHandler.nativeElement : this.endHandler.nativeElement;\n\n        const containerWidth = container.offsetWidth;\n        const handlerWidth = handler.offsetWidth;\n        const maxTravel = containerWidth - handlerWidth;\n        const range = this.maxValue() - this.minValue();\n\n        const clamped = Math.max(this.minValue(), Math.min(this.maxValue(), value));\n        const ratio = (clamped - this.minValue()) / range;\n        const x = Math.round(ratio * maxTravel);\n\n        this.initValue[handlerId] = { x, y: 0 };\n\n        this.cd.detectChanges();\n        this.calculateActiveTrack();\n    }\n\n    /**\n     * Calculate the size of the active track between two handlers\n     */\n    private calculateActiveTrack(): void {\n        const startX = this.initValue.start ? this.initValue.start.x : 0;\n        const endX = this.hasRange() ? this.initValue.end.x : startX;\n        const track = this.trackActive.nativeElement;\n\n        if (this.hasRange()) {\n            const left = Math.min(startX, endX);\n            const width = Math.abs(endX - startX);\n\n            track.style.left = `${left}px`;\n            track.style.width = `${width}px`;\n        } else {\n            track.style.left = '0px';\n            track.style.width = `${startX}px`;\n        }\n    }\n\n    /**\n     * Generates the ticks based on the step option.\n     */\n    private generateTicks(): void {\n        const stepCount = Math.floor((this.maxValue() - this.minValue()) / this.step());\n\n        const containerWidth = this.sliderContainer.nativeElement.offsetWidth;\n        const handlerWidth = this.startHandler.nativeElement.offsetWidth;\n        const maxTravel = containerWidth - handlerWidth;\n\n        this.ticks = [];\n\n        for (let i = 0; i <= stepCount; i++) {\n            const val = this.minValue() + (i * this.step());\n            const ratio = (val - this.minValue()) / (this.maxValue() - this.minValue());\n            const px = ((ratio * maxTravel) + handlerWidth / 2).toFixed(1);\n\n            this.ticks.push({ value: val, position: `${px}px` });\n        }\n\n        this.cd.detectChanges();\n    }\n\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-empty-function\n    private onChange: (_: any) => void = () => {};\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-empty-function\n    private onTouched: () => void = () => {};\n\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@use '../base' as base;\n\n.eui-21 {\n    :host.eui-slider {\n        --_bg-color: var(--eui-c-primary-surface);\n        --_track-bg-color: var(--eui-c-primary-surface-light);\n        --_track-cursor: pointer;\n        --_handler-border-display: block;\n        --_ticks-bg-color: var(--eui-c-primary-surface-medium);\n    }\n\n    :host.eui-slider--disabled {\n        --_bg-color: var(--eui-c-disabled);\n        --_track-bg-color: var(--eui-c-secondary-surface-light);\n        --_track-cursor: default;\n        --_handler-border-display: none;\n        --_ticks-bg-color: var(--eui-c-secondary-surface-light);\n    }\n\n    :host.eui-slider--primary {\n        --_bg-color: var(--eui-c-primary-surface);\n        --_track-bg-color: var(--eui-c-primary-surface-light);\n        --_ticks-bg-color: var(--eui-c-primary-surface-medium);\n    }\n\n    :host.eui-slider--danger {\n        --_bg-color: var(--eui-c-danger-surface);\n        --_track-bg-color: var(--eui-c-danger-surface-light);\n        --_ticks-bg-color: var(--eui-c-danger-surface-medium);\n    }\n\n    :host.eui-slider--invalid {\n        --_bg-color: var(--eui-c-danger-surface);\n        --_track-bg-color: var(--eui-c-danger-surface-light);\n        --_ticks-bg-color: var(--eui-c-danger-surface-medium);\n    }\n\n    :host.eui-slider {\n        width: 100%;\n        \n        .range-input {\n            opacity: 0;\n            pointer-events: none;\n            position: absolute;\n        }\n\n        .value-display {\n            line-height: normal;\n            text-align: right;\n        }\n\n        .eui-slider__container {\n            cursor: var(--_track-cursor);\n            height: var(--eui-s-l);\n            position: relative;\n\n            .eui-slider__track {\n                align-items: center;\n                background-color: var(--_track-bg-color);\n                height: var(--eui-s-4xs);\n                width: 100%;\n                position: relative;\n                z-index: 2;\n\n                &--active {\n                    background-color: var(--_bg-color);\n                    height: var(--eui-s-4xs);\n                    position: absolute;\n                }\n            }\n\n             .eui-slider__handler {\n                border: 0;\n                width: var(--eui-s-l);\n                height: var(--eui-s-l);\n                border-radius: 100px;\n                background-color: var(--_bg-color);\n                position: absolute;\n                cursor: var(--_track-cursor);\n                outline: none;\n                display: flex;\n                justify-content: center;\n\n                &-start {\n                    z-index: 8;\n\n                    &--max-reached {\n                        z-index: 9;\n                    }\n                }\n\n                &-end {\n                    z-index: 8;\n\n                    &--min-reached {\n                        z-index: 9;\n                    }\n                }\n\n                .value-indicator {\n                    position: absolute;\n                    top: -3rem;\n                    background-color: var(--eui-c-secondary);\n                    border-radius: var(--eui-br-s);\n                    box-shadow: var(--eui-sh-1);\n                    color: var(--eui-c-white);\n                    letter-spacing: 0.05em;\n                    max-width: 50vw;\n                    padding: var(--eui-s-xs);\n                    white-space: pre-line;\n                    font: var(--eui-f-xs);\n                    display: none;\n                    text-wrap: nowrap;\n\n                    &:before {\n                        border-color: var(--eui-c-secondary) transparent transparent transparent;\n                        border-style: solid;\n                        border-width: 8px;\n                        bottom: 2px;\n                        content: '';\n                        display: block;\n                        height: 0;\n                        position: absolute;\n                        width: 0;\n                        left: calc(50% - 8px);\n                        transform: translate(0, 8px * 2);\n                    }\n                }\n\n                &:hover,\n                &--dragging,\n                &--focused {\n                    .value-indicator {\n                        display: block\n                    }\n\n                    &:after {\n                        content: '';\n                        position: absolute;\n                        display: var(--_handler-border-display);\n                        top: -2px;\n                        left: -2px;\n                        right: -2px;\n                        bottom: -2px;\n                        border: 1px solid var(--_bg-color);\n                        border-radius: 100px;\n                        pointer-events: none;\n                    }\n                }\n            }\n            \n            .eui-slider__ticks {\n                position: absolute;\n                top: 60%;\n                left: 0;\n                width: 100%;\n                height: 100%;\n                pointer-events: none;\n                transform: translateY(-50%);\n                z-index: 1;\n\n                .tick {\n                    position: absolute;\n                    width: var(--eui-s-4xs);\n                    height: var(--eui-s-xs);\n                    background-color: var(--_ticks-bg-color);\n                    transform: translateX(-50%);\n                }\n            }\n        }\n    }\n}\n",
                    "styleUrl": "./eui-slider.scss"
                }
            ],
            "stylesData": "",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 216
            },
            "extends": [],
            "implements": [
                "ControlValueAccessor",
                "AfterViewInit",
                "OnDestroy",
                "OnInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 99,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                        "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 3250,
                                "end": 3367,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 3251,
                                    "end": 3262,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                            },
                            {
                                "pos": 3367,
                                "end": 3432,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 3368,
                                    "end": 3375,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 3376,
                                    "end": 3384,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 3377,
                                        "end": 3383,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                },
                "formattedStartValue": {
                    "name": "formattedStartValue",
                    "getSignature": {
                        "name": "formattedStartValue",
                        "type": "string",
                        "returnType": "string",
                        "line": 350
                    }
                },
                "formattedEndValue": {
                    "name": "formattedEndValue",
                    "getSignature": {
                        "name": "formattedEndValue",
                        "type": "string",
                        "returnType": "string",
                        "line": 354
                    }
                }
            },
            "templateData": "@if (hasValueIndicator()) {\n    <div class=\"value-display\">\n        <span class=\"value-start\">{{ formattedStartValue }}</span>\n        @if (value().end !== null && value().end !== undefined) {\n            - <span class=\"value-end\">{{ formattedEndValue }}</span>\n        }\n    </div>\n}\n\n<div #sliderContainer class=\"eui-slider__container eui-u-flex\" (mousedown)=\"onTrackClick($event)\">\n    <input\n        [id]=\"sliderId()\"\n        #startInputRange \n        #inputRange \n        type=\"range\" \n        class=\"range-input range-input-start\"\n        [min]=\"minValue()\" \n        [max]=\"hasRange() ? value().end : maxValue()\" \n        [step]=\"step()\" \n        [value]=\"value().start\"\n        [attr.aria-valuenow]=\"value().start\"\n        [attr.aria-valuemin]=\"minValue()\"\n        [attr.aria-valuemax]=\"hasRange() ? value().end : maxValue()\" \n        role=\"slider\"\n        [attr.aria-label]=\"ariaLabel()\"\n        [attr.aria-valuetext]=\"formattedStartValue\"\n        list=\"markers\" />\n\n    <div\n        #startHandler\n        #handler\n        class=\"eui-slider__handler eui-slider__handler-start\"\n        [class.eui-slider__handler-start--max-reached]=\"hasRange() ? value().start === value().end && value().end === maxValue() : value().start === maxValue()\"\n        cdkDragBoundary=\".eui-slider__container\"\n        cdkDrag\n        [cdkDragConstrainPosition]=\"constrainPosition('start')\"\n        [cdkDragFreeDragPosition]=\"initValue.start\"\n        [cdkDragDisabled]=\"isDisabled\"\n        (cdkDragMoved)=\"onDragMoved('start', $event)\"\n        (cdkDragEnded)=\"onDragEnded($event)\">\n        @if (hasTooltip() && !isDisabled) {\n            <div class=\"value-indicator\">\n                {{ formattedStartValue }}\n            </div>\n        }\n    </div>\n\n    @if (hasRange() && value().end !== null && value().end !== undefined) {\n        <input\n            [id]=\"'end-' + sliderId()\"\n            #endInputRange\n            #inputRange\n            type=\"range\"\n            class=\"range-input range-input-end\"\n            [min]=\"value().start\"\n            [max]=\"maxValue()\"\n            [step]=\"step()\"\n            [value]=\"value().end\"\n            [attr.aria-valuenow]=\"value().end\"\n            [attr.aria-valuemin]=\"value().start\"\n            [attr.aria-valuemax]=\"maxValue()\"\n            role=\"slider\"\n            [attr.aria-label]=\"endAriaLabel()\"\n            [attr.aria-valuetext]=\"formattedEndValue\"\n            list=\"markers\" />\n        \n        <div\n            #endHandler\n            #handler\n            class=\"eui-slider__handler eui-slider__handler-end\"\n            [class.eui-slider__handler-end--min-reached]=\"value().end === value().start && value().start === minValue()\"\n            cdkDragBoundary=\".eui-slider__container\"\n            cdkDrag\n            [cdkDragConstrainPosition]=\"constrainPosition('end')\"\n            [cdkDragFreeDragPosition]=\"initValue.end\"\n            [cdkDragDisabled]=\"isDisabled\"\n            (cdkDragMoved)=\"onDragMoved('end', $event)\"\n            (cdkDragEnded)=\"onDragEnded($event)\">\n            @if (hasTooltip() && !isDisabled) {\n                <div class=\"value-indicator\">\n                    {{ formattedEndValue }}\n                </div>\n            }\n        </div>\n    }\n\n    <div class=\"eui-slider__track\">\n        <div #trackActive class=\"eui-slider__track--active\"></div>\n    </div>\n\n    @if (hasTicks()) {\n        <datalist id=\"markers\">\n            @for (tick of ticks; track tick.value) {\n                <option [value]=\"tick.value\"></option>\n            }\n        </datalist>\n    \n        <div class=\"eui-slider__ticks\">\n            @for (tick of ticks; track tick.value) {\n                <span class=\"tick\" [style.left]=\"tick.position\"></span>\n            }\n        </div>\n    }\n</div>\n"
        },
        {
            "name": "EuiSliderTestComponent",
            "id": "component-EuiSliderTestComponent-078917acfa4e18bc30098c9b91cd38040859fd288e04fe0debc9ceb7004051045f79620b8844f02b6c82cf53821bdb00a1b8211b6c2ee8fbf363af65247cd209",
            "file": "packages/components/eui-slider/testing/eui-slider-test.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-autocomplete-test-component",
            "styleUrls": [],
            "styles": [],
            "template": "<form [formGroup]=\"form\">\n    <eui-slider #rangeSlider hasRange formControlName=\"rangeSlider\" /><br />\n    <eui-slider #slider formControlName=\"slider\" /><br />\n    <input class=\"default-formcontrol\" type=\"text\" formControlName=\"text\" /><br/>\n</form>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "form",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "FormGroup",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 23,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "rangeSlider",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiSliderComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 25,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'rangeSlider'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "slider",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiSliderComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 26,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'slider'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 28,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EuiSliderComponent",
                    "type": "component"
                },
                {
                    "name": "FormsModule",
                    "type": "module"
                },
                {
                    "name": "ReactiveFormsModule",
                    "type": "module"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';\n\nimport { EuiSliderComponent, IEuiSliderValues } from '../eui-slider.component';\n\n@Component({\n    template: `\n    <form [formGroup]=\"form\">\n        <eui-slider #rangeSlider hasRange formControlName=\"rangeSlider\" /><br />\n        <eui-slider #slider formControlName=\"slider\" /><br />\n        <input class=\"default-formcontrol\" type=\"text\" formControlName=\"text\" /><br/>\n    </form>`,\n    selector: 'eui-autocomplete-test-component',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        EuiSliderComponent,\n        FormsModule,\n        ReactiveFormsModule,\n    ],\n})\nexport class EuiSliderTestComponent implements OnInit {\n    public form: FormGroup;\n\n    @ViewChild('rangeSlider') rangeSlider: EuiSliderComponent;\n    @ViewChild('slider') slider: EuiSliderComponent;\n\n    ngOnInit(): void {\n        this.form = new FormGroup({\n            rangeSlider: new FormControl<IEuiSliderValues>(null, Validators.required),\n            slider: new FormControl<IEuiSliderValues>(null, Validators.required),\n            text: new FormControl(null, Validators.required),\n        });\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit"
            ]
        },
        {
            "name": "EuiSlideToggleComponent",
            "id": "component-EuiSlideToggleComponent-23e04ab7fab50dd51fb543e9fd51c0a53cb6652401c8f57ad55cee4b142e5b79013921eb170c54d594f3c66fa29ca4f3ccd1254670a60daaa4538a5d7f8d58f4",
            "file": "packages/components/eui-slide-toggle/eui-slide-toggle.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-slide-toggle",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-slide-toggle.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiSecondary",
                        "euiInfo",
                        "euiWarning",
                        "euiSuccess",
                        "euiDanger",
                        "euiVariant",
                        "euiSizeS",
                        "euiSizeM",
                        "euiSizeL",
                        "euiSizeXL",
                        "euiSizeVariant"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "ariaLabel",
                    "defaultValue": "'eUI slide toggle'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2923,
                            "end": 2956,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2924,
                                "end": 2931,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eUI slide toggle&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nattribute attached to the aria-label of the input field\n",
                    "description": "<p>attribute attached to the aria-label of the input field</p>\n",
                    "line": 100,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "disabled",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3735,
                            "end": 3755,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3736,
                                "end": 3743,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the toggle is disabled\n",
                    "description": "<p>Whether the toggle is disabled</p>\n",
                    "line": 137,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "iconSvgFillColorOff",
                    "defaultValue": "'secondary'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3459,
                            "end": 3485,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3460,
                                "end": 3467,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;secondary&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nFill color for the OFF state icon\n",
                    "description": "<p>Fill color for the OFF state icon</p>\n",
                    "line": 124,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "iconSvgFillColorOn",
                    "defaultValue": "'secondary'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3326,
                            "end": 3352,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3327,
                                "end": 3334,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;secondary&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nFill color for the ON state icon\n",
                    "description": "<p>Fill color for the ON state icon</p>\n",
                    "line": 118,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "iconSvgNameOff",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3206,
                            "end": 3230,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3207,
                                "end": 3214,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>undefined</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nName of the icon to display when toggle is OFF\n",
                    "description": "<p>Name of the icon to display when toggle is OFF</p>\n",
                    "line": 112,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "iconSvgNameOn",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3073,
                            "end": 3097,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3074,
                                "end": 3081,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>undefined</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nName of the icon to display when toggle is ON\n",
                    "description": "<p>Name of the icon to display when toggle is ON</p>\n",
                    "line": 106,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "id",
                    "defaultValue": "`eui-slide-toggle-${uniqueId()}`",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2724,
                            "end": 2790,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2725,
                                "end": 2732,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>Generated unique ID with &#39;eui-slide-toggle-&#39; prefix</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nUnique identifier for the toggle\n",
                    "description": "<p>Unique identifier for the toggle</p>\n",
                    "line": 95,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isChecked",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3595,
                            "end": 3615,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3596,
                                "end": 3603,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nCurrent checked state of the toggle\n",
                    "description": "<p>Current checked state of the toggle</p>\n",
                    "line": 130,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "slideToggleChange",
                    "defaultValue": "new EventEmitter<boolean>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when toggle state changes\n",
                    "description": "<p>Event emitted when toggle state changes</p>\n",
                    "jsdoctags": [
                        {
                            "pos": 4140,
                            "end": 4183,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4141,
                                "end": 4146,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "emits"
                            },
                            "comment": "<p>boolean - The new toggle state</p>\n"
                        }
                    ],
                    "line": 153,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 162,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "checkboxControl",
                    "defaultValue": "new FormControl()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Form control for the toggle when used in reactive forms</p>\n",
                    "line": 156,
                    "rawdescription": "\nForm control for the toggle when used in reactive forms",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onFocusOut",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 210,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles focus out event\nNotifies form control of touch event\n",
                    "description": "<p>Handles focus out event\nNotifies form control of touch event</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "registerOnChange",
                    "args": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 220,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nImplements ControlValueAccessor\nRegisters change handler\n",
                    "description": "<p>Implements ControlValueAccessor\nRegisters change handler</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "registerOnTouched",
                    "args": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 230,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nImplements ControlValueAccessor\nRegisters touch handler\n",
                    "description": "<p>Implements ControlValueAccessor\nRegisters touch handler</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "setDisabledState",
                    "args": [
                        {
                            "name": "isDisabled",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 196,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nImplements ControlValueAccessor\nUpdates the toggle's disabled state\n",
                    "description": "<p>Implements ControlValueAccessor\nUpdates the toggle&#39;s disabled state</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "isDisabled",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "toggle",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 174,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nToggles the current state if not disabled\nEmits the new state and notifies form control\n",
                    "description": "<p>Toggles the current state if not disabled\nEmits the new state and notifies form control</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "writeValue",
                    "args": [
                        {
                            "name": "value",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 187,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nImplements ControlValueAccessor\nUpdates the toggle's checked state\n",
                    "description": "<p>Implements ControlValueAccessor\nUpdates the toggle&#39;s checked state</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "value",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nCSS classes applied to the host element",
                    "description": "<p>CSS classes applied to the host element</p>\n",
                    "line": 87,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "ReactiveFormsModule",
                    "type": "module"
                },
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "<p>Slide toggle component used to represent a boolean state.\nIt can be used as a standalone toggle or integrated with Angular Reactive Forms.\nSupports icons for ON/OFF states and visual variants via EUI base state directives.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Simple toggle --&gt;\n&lt;eui-slide-toggle [(isChecked)]=&quot;enabled&quot; /&gt;\n\n&lt;!-- With icons --&gt;\n&lt;eui-slide-toggle\n  [iconSvgNameOn]=&quot;&#39;check&#39;&quot;\n  [iconSvgNameOff]=&quot;&#39;close&#39;&quot;\n  [(isChecked)]=&quot;enabled&quot; /&gt;\n\n&lt;!-- Reactive forms --&gt;\n&lt;form [formGroup]=&quot;form&quot;&gt;\n  &lt;eui-slide-toggle formControlName=&quot;notifications&quot; /&gt;\n&lt;/form&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Provide meaningful aria-label describing the toggle&#39;s purpose</li>\n<li>Toggle is keyboard accessible (Space/Enter to toggle)</li>\n<li>Disabled state is properly communicated to screen readers</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Supports semantic color variants (euiPrimary, euiSuccess, euiDanger, etc.)</li>\n<li>Size variants (euiSizeS, euiSizeM, euiSizeL, euiSizeXL) control toggle dimensions</li>\n<li>Icons are optional and can be customized for ON/OFF states</li>\n</ul>\n",
            "rawdescription": "\n\nSlide toggle component used to represent a boolean state.\nIt can be used as a standalone toggle or integrated with Angular Reactive Forms.\nSupports icons for ON/OFF states and visual variants via EUI base state directives.\n\n### Basic Usage\n```html\n<!-- Simple toggle -->\n<eui-slide-toggle [(isChecked)]=\"enabled\" />\n\n<!-- With icons -->\n<eui-slide-toggle\n  [iconSvgNameOn]=\"'check'\"\n  [iconSvgNameOff]=\"'close'\"\n  [(isChecked)]=\"enabled\" />\n\n<!-- Reactive forms -->\n<form [formGroup]=\"form\">\n  <eui-slide-toggle formControlName=\"notifications\" />\n</form>\n```\n\n### Accessibility\n- Provide meaningful aria-label describing the toggle's purpose\n- Toggle is keyboard accessible (Space/Enter to toggle)\n- Disabled state is properly communicated to screen readers\n\n### Notes\n- Supports semantic color variants (euiPrimary, euiSuccess, euiDanger, etc.)\n- Size variants (euiSizeS, euiSizeM, euiSizeL, euiSizeXL) control toggle dimensions\n- Icons are optional and can be customized for ON/OFF states\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ChangeDetectionStrategy,\n    Input,\n    Output,\n    EventEmitter,\n    ChangeDetectorRef,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, NgControl, ReactiveFormsModule } from '@angular/forms';\n\nimport { uniqueId } from '@eui/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { onOff } from './animations/on-off';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\n/**\n * @description\n * Slide toggle component used to represent a boolean state.\n * It can be used as a standalone toggle or integrated with Angular Reactive Forms.\n * Supports icons for ON/OFF states and visual variants via EUI base state directives.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <!-- Simple toggle -->\n * <eui-slide-toggle [(isChecked)]=\"enabled\" />\n *\n * <!-- With icons -->\n * <eui-slide-toggle\n *   [iconSvgNameOn]=\"'check'\"\n *   [iconSvgNameOff]=\"'close'\"\n *   [(isChecked)]=\"enabled\" />\n *\n * <!-- Reactive forms -->\n * <form [formGroup]=\"form\">\n *   <eui-slide-toggle formControlName=\"notifications\" />\n * </form>\n * ```\n *\n * ### Accessibility\n * - Provide meaningful aria-label describing the toggle's purpose\n * - Toggle is keyboard accessible (Space/Enter to toggle)\n * - Disabled state is properly communicated to screen readers\n *\n * ### Notes\n * - Supports semantic color variants (euiPrimary, euiSuccess, euiDanger, etc.)\n * - Size variants (euiSizeS, euiSizeM, euiSizeL, euiSizeXL) control toggle dimensions\n * - Icons are optional and can be customized for ON/OFF states\n */\n@Component({\n    templateUrl: './eui-slide-toggle.component.html',\n    selector: 'eui-slide-toggle',\n    styleUrl: './eui-slide-toggle.scss',\n    animations: [onOff],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        ReactiveFormsModule,\n        ...EUI_ICON,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiPrimary',\n                'euiSecondary',\n                'euiInfo',\n                'euiWarning',\n                'euiSuccess',\n                'euiDanger',\n                'euiVariant',\n                'euiSizeS',\n                'euiSizeM',\n                'euiSizeL',\n                'euiSizeXL',\n                'euiSizeVariant',\n            ],\n        },\n    ],\n})\nexport class EuiSlideToggleComponent implements ControlValueAccessor {\n    /** CSS classes applied to the host element */\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [this.baseStatesDirective.getCssClasses('eui-slide-toggle')].join(' ').trim();\n    }\n\n    /**\n     * Unique identifier for the toggle\n     * @default Generated unique ID with 'eui-slide-toggle-' prefix\n     */\n    @Input() id = `eui-slide-toggle-${uniqueId()}`;\n    /**\n     * attribute attached to the aria-label of the input field\n     * @default 'eUI slide toggle'\n     */\n    @Input() ariaLabel = 'eUI slide toggle';\n\n    /**\n     * Name of the icon to display when toggle is ON\n     * @default undefined\n     */\n    @Input() iconSvgNameOn: string;\n\n    /**\n     * Name of the icon to display when toggle is OFF\n     * @default undefined\n     */\n    @Input() iconSvgNameOff: string;\n\n    /**\n     * Fill color for the ON state icon\n     * @default 'secondary'\n     */\n    @Input() iconSvgFillColorOn = 'secondary';\n\n    /**\n     * Fill color for the OFF state icon\n     * @default 'secondary'\n     */\n    @Input() iconSvgFillColorOff = 'secondary';\n\n    /**\n     * Current checked state of the toggle\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isChecked = false;\n\n    /**\n     * Whether the toggle is disabled\n     * @default false\n     */\n    @Input({ transform: booleanAttribute })\n    set disabled(value: boolean) {\n        this._disabled = value;\n        if (value) {\n            this.checkboxControl.disable();\n        } else {\n            this.checkboxControl.enable();\n        }\n    }\n    get disabled(): boolean {\n        return this._disabled;\n    }\n\n    /**\n     * Event emitted when toggle state changes\n     * @emits boolean - The new toggle state\n     */\n    @Output() slideToggleChange = new EventEmitter<boolean>();\n\n    /** Form control for the toggle when used in reactive forms */\n    public checkboxControl = new FormControl();\n\n    private _disabled = false;\n    \n    private cd = inject(ChangeDetectorRef);\n    private control = inject(NgControl, { self: true, optional: true })!;\n    protected baseStatesDirective = inject(BaseStatesDirective);\n\n    constructor() {\n        if (this.control) {\n            this.control.valueAccessor = this;\n        }\n    }\n\n    /**\n     * Toggles the current state if not disabled\n     * Emits the new state and notifies form control\n     */\n    public toggle(): void {\n        if (!this.disabled) {\n            this.isChecked = !this.isChecked;\n            this.slideToggleChange.emit(this.isChecked);\n            this.onChange(this.isChecked);\n            this.onTouch();\n        }\n    }\n\n    /**\n     * Implements ControlValueAccessor\n     * Updates the toggle's checked state\n     */\n    public writeValue(value: boolean): void {\n        this.isChecked = value;\n        this.cd.detectChanges();\n    }\n\n    /**\n     * Implements ControlValueAccessor\n     * Updates the toggle's disabled state\n     */\n    public setDisabledState(isDisabled: boolean): void {\n        this.disabled = isDisabled;\n        if (isDisabled) {\n            this.checkboxControl.disable();\n        } else {\n            this.checkboxControl.enable();\n        }\n        this.cd.detectChanges();\n    }\n\n    /**\n     * Handles focus out event\n     * Notifies form control of touch event\n     */\n    public onFocusOut(): void {\n        this.onTouch();\n    }\n\n    /**\n     * Implements ControlValueAccessor\n     * Registers change handler\n     * @todo Improve type definition or make generic\n     */\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    public registerOnChange(fn: any): void {\n        this.onChange = fn;\n    }\n\n    /**\n     * Implements ControlValueAccessor\n     * Registers touch handler\n     * @todo Improve type definition or make generic\n     */\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    public registerOnTouched(fn: any): void {\n        this.onTouch = fn;\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    private onChange: any = () => {/* empty */};\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    private onTouch: any = () => {/* empty */};\n}\n",
            "styleUrl": "./eui-slide-toggle.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 162
            },
            "extends": [],
            "implements": [
                "ControlValueAccessor"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 87,
                        "rawdescription": "\nCSS classes applied to the host element",
                        "description": "<p>CSS classes applied to the host element</p>\n"
                    }
                },
                "disabled": {
                    "name": "disabled",
                    "setSignature": {
                        "name": "disabled",
                        "type": "void",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "args": [
                            {
                                "name": "value",
                                "type": "boolean",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": ""
                            }
                        ],
                        "returnType": "void",
                        "line": 137,
                        "rawdescription": "\n\nWhether the toggle is disabled\n",
                        "description": "<p>Whether the toggle is disabled</p>\n",
                        "jsdoctags": [
                            {
                                "name": "value",
                                "type": "boolean",
                                "optional": false,
                                "dotDotDotToken": false,
                                "deprecated": false,
                                "deprecationMessage": "",
                                "tagName": {
                                    "text": "param"
                                }
                            }
                        ]
                    },
                    "getSignature": {
                        "name": "disabled",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 145
                    }
                }
            },
            "templateData": "<div\n    class=\"eui-slide-toggle__container\"\n    [class.eui-slide-toggle__container--disabled]=\"disabled\">\n    <input\n        class=\"eui-slide-toggle__container-input\"\n        [formControl]=\"checkboxControl\"\n        [id]=\"id\"\n        type=\"checkbox\"\n        role=\"switch\"\n        [aria-label]=\"ariaLabel\"\n        [checked]=\"isChecked\"\n        (change)=\"toggle(); $event.preventDefault()\"\n        (keydown.enter)=\"toggle()\"\n        (blur)=\"onFocusOut()\" />\n    <div\n        class=\"eui-slide-toggle__track\"\n        [class.eui-slide-toggle__track--off]=\"!isChecked\"\n        [class.eui-slide-toggle__track--on]=\"isChecked\"></div>\n    <div\n        class=\"eui-slide-toggle__handler\"\n        [@onOff]=\"isChecked ? 'on' : 'off'\"\n        [class.eui-slide-toggle__handler--off]=\"!isChecked\"\n        [class.eui-slide-toggle__handler--on]=\"isChecked\">\n\n        @if (iconSvgNameOn && iconSvgNameOff) {\n            @if (isChecked) {\n                <eui-icon-svg icon=\"{{iconSvgNameOn}}\" fillColor=\"{{iconSvgFillColorOn}}\"></eui-icon-svg>\n            } @else {\n                <eui-icon-svg icon=\"{{iconSvgNameOff}}\" fillColor=\"{{iconSvgFillColorOff}}\"></eui-icon-svg>\n            }\n        }\n    </div>\n</div>\n"
        },
        {
            "name": "EuiSlideToggleTestComponent",
            "id": "component-EuiSlideToggleTestComponent-4f6b2a14292c308b9d98bf282f2180f371ed4b5a3a6312de9fdedc43a4bcfaaa6c38b382bf0d0b7ee96347bdec4174c5e7e8cebc274985b42f90c6bbcb82882a",
            "file": "packages/components/eui-slide-toggle/testing/eui-slide-toggle.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-slide-toggle-test-component",
            "styleUrls": [],
            "styles": [],
            "template": "<form [formGroup]=\"form\">\n    <eui-slide-toggle formControlName=\"slideToggle\"></eui-slide-toggle>\n    <br />\n    <input type=\"checkbox\" class=\"default-formcontrol\" formControlName=\"checkbox\" />\n</form>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "form",
                    "defaultValue": "new FormGroup({})",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "FormGroup",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 23,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 25,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EuiSlideToggleComponent",
                    "type": "component"
                },
                {
                    "name": "ReactiveFormsModule",
                    "type": "module"
                },
                {
                    "name": "FormsModule",
                    "type": "module"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule, Validators, FormsModule } from '@angular/forms';\n\nimport { EuiSlideToggleComponent } from '../eui-slide-toggle.component';\n\n@Component({\n    template: `\n        <form [formGroup]=\"form\">\n            <eui-slide-toggle formControlName=\"slideToggle\"></eui-slide-toggle>\n            <br />\n            <input type=\"checkbox\" class=\"default-formcontrol\" formControlName=\"checkbox\" />\n        </form>`,\n    selector: 'eui-slide-toggle-test-component',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        EuiSlideToggleComponent,\n        ReactiveFormsModule,\n        FormsModule,\n    ],\n})\nexport class EuiSlideToggleTestComponent implements OnInit {\n    public form: FormGroup = new FormGroup({});\n\n    ngOnInit(): void {\n        this.form = new FormGroup({\n            slideToggle: new FormControl<boolean>(false, Validators.requiredTrue),\n            checkbox: new FormControl<boolean>(false, Validators.requiredTrue),\n        });\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit"
            ]
        },
        {
            "name": "EuiSncComponent",
            "id": "component-EuiSncComponent-d05a50f802e2275a011a52005b64a70ccc82b533044f17068a6cdd7a3f895dd9fabd559c2b78a8bc7e377181d38eee72889ddd16818c3aaca2f83945550eeca7",
            "file": "packages/components/eui-snc/eui-snc.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-snc",
            "styleUrls": [
                "./eui-snc.component.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-snc.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "dotsLength",
                    "defaultValue": "8, { transform: (value: number) => Math.max(0, value) }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Number of dot characters to display when content is concealed.\nRepresents the approximate length of the hidden content for visual consistency.\nAutomatically clamped to minimum value of 0.</p>\n",
                    "line": 74,
                    "rawdescription": "\n\nNumber of dot characters to display when content is concealed.\nRepresents the approximate length of the hidden content for visual consistency.\nAutomatically clamped to minimum value of 0.\n",
                    "jsdoctags": [
                        {
                            "pos": 2397,
                            "end": 2410,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2398,
                                "end": 2405,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>8</p>\n"
                        }
                    ],
                    "required": false
                }
            ],
            "outputsClass": [
                {
                    "name": "sncToggle",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Emitted when the content visibility state changes via toggle button interaction.\nPayload: boolean indicating the new visibility state (true when content is shown, false when concealed).</p>\n",
                    "line": 67,
                    "rawdescription": "\n\nEmitted when the content visibility state changes via toggle button interaction.\nPayload: boolean indicating the new visibility state (true when content is shown, false when concealed).\n",
                    "required": false
                }
            ],
            "propertiesClass": [
                {
                    "name": "hiddenText",
                    "defaultValue": "computed(() => {\n\t\tconst hiddenCount = this.dotsLength();\n\t\treturn hiddenCount > 0 ? '•'.repeat(hiddenCount) : '';\n\t})",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Computed property to determine the hidden text based on the dots length.</p>\n",
                    "line": 78,
                    "rawdescription": "\n\nComputed property to determine the hidden text based on the dots length.\n",
                    "modifierKind": [
                        124,
                        148
                    ]
                },
                {
                    "name": "showContent",
                    "defaultValue": "signal(false)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "WritableSignal<boolean>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Controls the visibility state of the concealed content.\nWhen true, displays actual content; when false, shows masked dots.\nManaged internally and toggled via user interaction.</p>\n",
                    "line": 62,
                    "rawdescription": "\n\nControls the visibility state of the concealed content.\nWhen true, displays actual content; when false, shows masked dots.\nManaged internally and toggled via user interaction.\n"
                },
                {
                    "name": "string",
                    "defaultValue": "'eui-snc'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 55,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "toggleContent",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 83,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-snc'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 55,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_BUTTON"
                }
            ],
            "description": "<p>Show and Conceal (SNC) component that toggles visibility of sensitive content with masked placeholder.\nDisplays a configurable number of dots to represent hidden content length.\nProvides a toggle button to reveal or conceal the actual content.\nCommonly used for passwords, API keys, tokens, or other sensitive information that should be hidden by default.\nEmits visibility state changes for parent components to track or respond to content exposure.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Simple password field --&gt;\n&lt;eui-snc [dotsLength]=&quot;12&quot; (sncToggle)=&quot;onToggle($event)&quot;&gt;\n  MySecretPassword123\n&lt;/eui-snc&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">onToggle(isVisible: boolean) {\n  console.log(&#39;Content is now:&#39;, isVisible ? &#39;visible&#39; : &#39;hidden&#39;);\n}</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Toggle button should have clear aria-label indicating show/hide action</li>\n<li>Announce state changes to screen readers using aria-live regions</li>\n<li>Ensure keyboard navigation works for toggle button</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Default dotsLength is 8 characters</li>\n<li>Content is hidden by default on component initialization</li>\n<li>Use sncToggle event to track visibility changes for security logging</li>\n</ul>\n",
            "rawdescription": "\n\nShow and Conceal (SNC) component that toggles visibility of sensitive content with masked placeholder.\nDisplays a configurable number of dots to represent hidden content length.\nProvides a toggle button to reveal or conceal the actual content.\nCommonly used for passwords, API keys, tokens, or other sensitive information that should be hidden by default.\nEmits visibility state changes for parent components to track or respond to content exposure.\n\n### Basic Usage\n```html\n<!-- Simple password field -->\n<eui-snc [dotsLength]=\"12\" (sncToggle)=\"onToggle($event)\">\n  MySecretPassword123\n</eui-snc>\n```\n\n```typescript\nonToggle(isVisible: boolean) {\n  console.log('Content is now:', isVisible ? 'visible' : 'hidden');\n}\n```\n\n### Accessibility\n- Toggle button should have clear aria-label indicating show/hide action\n- Announce state changes to screen readers using aria-live regions\n- Ensure keyboard navigation works for toggle button\n\n### Notes\n- Default dotsLength is 8 characters\n- Content is hidden by default on component initialization\n- Use sncToggle event to track visibility changes for security logging\n",
            "type": "component",
            "sourceCode": "import {\n\tComponent,\n\tcomputed,\n\tHostBinding,\n\tinput,\n\toutput,\n\tOutputEmitterRef,\n\tsignal,\n\tWritableSignal,\n} from '@angular/core';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\n\n/**\n * @description\n * Show and Conceal (SNC) component that toggles visibility of sensitive content with masked placeholder.\n * Displays a configurable number of dots to represent hidden content length.\n * Provides a toggle button to reveal or conceal the actual content.\n * Commonly used for passwords, API keys, tokens, or other sensitive information that should be hidden by default.\n * Emits visibility state changes for parent components to track or respond to content exposure.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <!-- Simple password field -->\n * <eui-snc [dotsLength]=\"12\" (sncToggle)=\"onToggle($event)\">\n *   MySecretPassword123\n * </eui-snc>\n * ```\n *\n * ```typescript\n * onToggle(isVisible: boolean) {\n *   console.log('Content is now:', isVisible ? 'visible' : 'hidden');\n * }\n * ```\n *\n * ### Accessibility\n * - Toggle button should have clear aria-label indicating show/hide action\n * - Announce state changes to screen readers using aria-live regions\n * - Ensure keyboard navigation works for toggle button\n *\n * ### Notes\n * - Default dotsLength is 8 characters\n * - Content is hidden by default on component initialization\n * - Use sncToggle event to track visibility changes for security logging\n */\n@Component({\n\tselector: 'eui-snc',\n\ttemplateUrl: './eui-snc.component.html',\n\tstyleUrls: ['./eui-snc.component.scss'],\n\timports: [\n\t\t...EUI_BUTTON,\n\t],\n})\nexport class EuiSncComponent {\n    @HostBinding('class') string = 'eui-snc';\n\n    /**\n     * Controls the visibility state of the concealed content.\n     * When true, displays actual content; when false, shows masked dots.\n     * Managed internally and toggled via user interaction.\n     */\n\tshowContent: WritableSignal<boolean> = signal(false);\n\t/**\n\t * Emitted when the content visibility state changes via toggle button interaction.\n\t * Payload: boolean indicating the new visibility state (true when content is shown, false when concealed).\n\t */\n\tsncToggle: OutputEmitterRef<boolean> = output<boolean>();\n\t/**\n\t * Number of dot characters to display when content is concealed.\n\t * Represents the approximate length of the hidden content for visual consistency.\n\t * Automatically clamped to minimum value of 0.\n\t * @default 8\n\t */\n\tdotsLength = input(8, { transform: (value: number) => Math.max(0, value) });\n\t/**\n\t * Computed property to determine the hidden text based on the dots length.\n\t */\n\tprotected readonly hiddenText = computed(() => {\n\t\tconst hiddenCount = this.dotsLength();\n\t\treturn hiddenCount > 0 ? '•'.repeat(hiddenCount) : '';\n\t});\n\n\ttoggleContent(): void {\n\t\tthis.showContent.update(value => !value);\n\t\tthis.sncToggle.emit(this.showContent());\n\t}\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": ".eui-21 {\n  :host.eui-snc {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    gap: var(--eui-s-m);\n  \n    .eui-snc__hidden-content {\n      font-size: calc(var(--eui-f-s-m) * 2.5);\n      line-height: 0;\n      letter-spacing: -0.04em;\n    }\n  }\n}\n",
                    "styleUrl": "./eui-snc.component.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "templateData": "@if (showContent()) {\n    <ng-content />\n}\n@if (!showContent()) {\n    <div class=\"eui-snc__hidden-content\">\n        {{ hiddenText() }}\n    </div>\n}\n<button euiButton euiOutline euiWarning euiSizeXS\n    (click)=\"toggleContent()\"\n    [attr.aria-pressed]=\"showContent()\"\n    aria-label=\"Toggle SNC content\">\n    SNC\n</button>\n"
        },
        {
            "name": "EuiSplitButtonComponent",
            "id": "component-EuiSplitButtonComponent-c8c7b6a3e34a533706c2539dfcedf3d12daf0280df59e7905d1473ff472474a101233f56301135bc681a076cbe0620db38f36d3fab9500494f1f1da72dafdc8c",
            "file": "packages/components/eui-split-button/eui-split-button.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-split-button",
            "styleUrls": [
                "./eui-split-button.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-split-button.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 40,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>The EuiSplitButtonComponent is a wrapper for a button and a dropdown.\nIt is used to create a split button with various styles and functionalities.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-split-button&gt;\n  &lt;eui-button euiPrimary (click)=&quot;primaryAction()&quot;&gt;\n    Save\n  &lt;/eui-button&gt;\n  &lt;eui-dropdown&gt;\n    &lt;eui-dropdown-item (click)=&quot;saveAndClose()&quot;&gt;Save &amp; Close&lt;/eui-dropdown-item&gt;\n    &lt;eui-dropdown-item (click)=&quot;saveAsDraft()&quot;&gt;Save as Draft&lt;/eui-dropdown-item&gt;\n  &lt;/eui-dropdown&gt;\n&lt;/eui-split-button&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Ensure primary button has clear, action-oriented label</li>\n<li>Dropdown items should have descriptive text</li>\n<li>Keyboard navigation works for both button and dropdown</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Combines a primary action button with a dropdown menu of related actions</li>\n<li>Primary button executes the most common action</li>\n<li>Dropdown provides alternative or related actions</li>\n</ul>\n",
            "rawdescription": "\n\nThe EuiSplitButtonComponent is a wrapper for a button and a dropdown.\nIt is used to create a split button with various styles and functionalities.\n\n### Basic Usage\n```html\n<eui-split-button>\n  <eui-button euiPrimary (click)=\"primaryAction()\">\n    Save\n  </eui-button>\n  <eui-dropdown>\n    <eui-dropdown-item (click)=\"saveAndClose()\">Save & Close</eui-dropdown-item>\n    <eui-dropdown-item (click)=\"saveAsDraft()\">Save as Draft</eui-dropdown-item>\n  </eui-dropdown>\n</eui-split-button>\n```\n\n### Accessibility\n- Ensure primary button has clear, action-oriented label\n- Dropdown items should have descriptive text\n- Keyboard navigation works for both button and dropdown\n\n### Notes\n- Combines a primary action button with a dropdown menu of related actions\n- Primary button executes the most common action\n- Dropdown provides alternative or related actions\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * @description\n * The EuiSplitButtonComponent is a wrapper for a button and a dropdown.\n * It is used to create a split button with various styles and functionalities.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-split-button>\n *   <eui-button euiPrimary (click)=\"primaryAction()\">\n *     Save\n *   </eui-button>\n *   <eui-dropdown>\n *     <eui-dropdown-item (click)=\"saveAndClose()\">Save & Close</eui-dropdown-item>\n *     <eui-dropdown-item (click)=\"saveAsDraft()\">Save as Draft</eui-dropdown-item>\n *   </eui-dropdown>\n * </eui-split-button>\n * ```\n *\n * ### Accessibility\n * - Ensure primary button has clear, action-oriented label\n * - Dropdown items should have descriptive text\n * - Keyboard navigation works for both button and dropdown\n *\n * ### Notes\n * - Combines a primary action button with a dropdown menu of related actions\n * - Primary button executes the most common action\n * - Dropdown provides alternative or related actions\n */\n@Component({\n    selector: 'eui-split-button',\n    templateUrl: './eui-split-button.component.html',\n    styleUrls: ['./eui-split-button.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiSplitButtonComponent {\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return 'eui-split-button';\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@use '../base' as base;\n\n.eui-21 {\n    :host.eui-split-button {\n        align-items: center;\n        display: inline-flex;\n        position: relative;\n\n        ::ng-deep button {\n            border-radius: var(--eui-br-s) 0 0 var(--eui-br-s);\n            cursor: pointer;\n            @include base.eui-accessible-focus();\n        }\n\n        ::ng-deep .eui-dropdown {\n            &::before {\n                content: \"\";\n                position: absolute;\n                border: 1px solid var(--eui-c-divider);\n                top: 25%;\n                height: 50%;\n                margin-left: -1px;\n            }\n\n            button {\n                border-radius: 0 var(--eui-br-s) var(--eui-br-s) 0;\n                border-left: 0;\n                width: var(--eui-s-7xl);\n                margin-left: -1px;\n            }\n        }\n    }\n\n    :host.eui-split-button--disabled,\n    :host.eui-split-button:disabled {\n        pointer-events: none;\n    }\n\n}\n",
                    "styleUrl": "./eui-split-button.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 40
                    }
                }
            },
            "templateData": "<ng-content select=\"button\" />\n<ng-content select=\"eui-dropdown\" />\n"
        },
        {
            "name": "EuiStatusBadgeComponent",
            "id": "component-EuiStatusBadgeComponent-42410133a6b2deb11aa962327e0623955e240292552f9a60942c5b6eb6c19cecc72d39d619181bd08ccd0b70f4ea3c7a67f464bbf9164c2165ffa65fe68e30d6",
            "file": "packages/components/eui-status-badge/eui-status-badge.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "div[euiStatusBadge], span[euiStatusBadge], eui-status-badge",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiSecondary",
                        "euiSuccess",
                        "euiInfo",
                        "euiWarning",
                        "euiDanger",
                        "euiVariant",
                        "euiSizeS",
                        "euiSizeM",
                        "euiSizeVariant"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "aria-label",
                    "defaultValue": "'status-badge'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2666,
                            "end": 2708,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2667,
                                "end": 2678,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>ARIA label for accessibility</p>\n"
                        }
                    ],
                    "rawdescription": "",
                    "description": "",
                    "line": 86,
                    "type": "string | null",
                    "decorators": []
                },
                {
                    "name": "colorPalette",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nExtra color palette to be used on the status-badge.\n",
                    "description": "<p>Extra color palette to be used on the status-badge.</p>\n",
                    "line": 97,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-status-badge'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2437,
                            "end": 2481,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2438,
                                "end": 2449,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Data attribute for e2e testing</p>\n"
                        }
                    ],
                    "rawdescription": "",
                    "description": "",
                    "line": 80,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiDottedBadge",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2827,
                            "end": 2885,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2828,
                                "end": 2839,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Whether to display the badge as a dot</p>\n"
                        },
                        {
                            "pos": 2885,
                            "end": 2905,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2886,
                                "end": 2893,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 92,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 100,
                    "rawdescription": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "pos": 3101,
                            "end": 3176,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3102,
                                "end": 3113,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Instance of BaseStatesDirective for managing component states</p>\n"
                        }
                    ]
                },
                {
                    "name": "role",
                    "defaultValue": "'status'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 83,
                    "rawdescription": "",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 2566,
                            "end": 2607,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2567,
                                "end": 2578,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>ARIA role for accessibility</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'status'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2566,
                            "end": 2607,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2567,
                                "end": 2578,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>ARIA role for accessibility</p>\n"
                        }
                    ],
                    "rawdescription": "",
                    "description": "",
                    "line": 83,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1982,
                            "end": 2094,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1983,
                                "end": 1994,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the badge based on its current state</p>\n"
                        },
                        {
                            "pos": 2094,
                            "end": 2159,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2095,
                                "end": 2102,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 2103,
                                "end": 2111,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 2104,
                                    "end": 2110,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the badge based on its current state\n\n",
                    "description": "<p>Computes and returns the CSS classes for the badge based on its current state</p>\n",
                    "line": 72,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>A badge component that can display text, numbers, or icons with various states and styles.\nSupports content truncation, empty states, and icon-only modes.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Status badge with semantic colors --&gt;\n&lt;span euiStatusBadge euiSuccess&gt;Active&lt;/span&gt;\n&lt;span euiStatusBadge euiWarning&gt;Pending&lt;/span&gt;\n&lt;span euiStatusBadge euiDanger&gt;Error&lt;/span&gt;\n\n&lt;!-- Dotted badge --&gt;\n&lt;span euiStatusBadge euiInfo [euiDottedBadge]=&quot;true&quot;&gt;New&lt;/span&gt;\n\n&lt;!-- Custom color palette --&gt;\n&lt;span euiStatusBadge [colorPalette]=&quot;&#39;custom-color&#39;&quot;&gt;Custom&lt;/span&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Badge has role=&quot;status&quot; for screen readers</li>\n<li>Provide meaningful aria-label describing the status</li>\n<li>Ensure sufficient color contrast for text visibility</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use semantic color variants (euiSuccess, euiWarning, euiDanger, euiInfo) for consistent meaning</li>\n<li>Size variants (euiSizeS, euiSizeM) control badge dimensions</li>\n<li>Dotted badge mode displays a small dot indicator instead of full badge</li>\n</ul>\n",
            "rawdescription": "\n\nA badge component that can display text, numbers, or icons with various states and styles.\nSupports content truncation, empty states, and icon-only modes.\n\n### Basic Usage\n```html\n<!-- Status badge with semantic colors -->\n<span euiStatusBadge euiSuccess>Active</span>\n<span euiStatusBadge euiWarning>Pending</span>\n<span euiStatusBadge euiDanger>Error</span>\n\n<!-- Dotted badge -->\n<span euiStatusBadge euiInfo [euiDottedBadge]=\"true\">New</span>\n\n<!-- Custom color palette -->\n<span euiStatusBadge [colorPalette]=\"'custom-color'\">Custom</span>\n```\n\n### Accessibility\n- Badge has role=\"status\" for screen readers\n- Provide meaningful aria-label describing the status\n- Ensure sufficient color contrast for text visibility\n\n### Notes\n- Use semantic color variants (euiSuccess, euiWarning, euiDanger, euiInfo) for consistent meaning\n- Size variants (euiSizeS, euiSizeM) control badge dimensions\n- Dotted badge mode displays a small dot indicator instead of full badge\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ChangeDetectionStrategy,\n    Input,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n/**\n * @description\n * A badge component that can display text, numbers, or icons with various states and styles.\n * Supports content truncation, empty states, and icon-only modes.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <!-- Status badge with semantic colors -->\n * <span euiStatusBadge euiSuccess>Active</span>\n * <span euiStatusBadge euiWarning>Pending</span>\n * <span euiStatusBadge euiDanger>Error</span>\n *\n * <!-- Dotted badge -->\n * <span euiStatusBadge euiInfo [euiDottedBadge]=\"true\">New</span>\n *\n * <!-- Custom color palette -->\n * <span euiStatusBadge [colorPalette]=\"'custom-color'\">Custom</span>\n * ```\n *\n * ### Accessibility\n * - Badge has role=\"status\" for screen readers\n * - Provide meaningful aria-label describing the status\n * - Ensure sufficient color contrast for text visibility\n *\n * ### Notes\n * - Use semantic color variants (euiSuccess, euiWarning, euiDanger, euiInfo) for consistent meaning\n * - Size variants (euiSizeS, euiSizeM) control badge dimensions\n * - Dotted badge mode displays a small dot indicator instead of full badge\n */\n@Component({\n    selector: 'div[euiStatusBadge], span[euiStatusBadge], eui-status-badge',\n    template: '<ng-content />',\n    styleUrl: './eui-status-badge.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\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                'euiSizeM',\n                'euiSizeVariant',\n            ],\n        },\n    ],\n})\nexport class EuiStatusBadgeComponent {\n    /**\n     * @description\n     * Computes and returns the CSS classes for the badge based on its current state\n     *\n     * @returns {string} Space-separated string of CSS class names\n     */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-status-badge'),\n            this.colorPalette ? `eui-status-badge--${this.colorPalette}` : '',\n        ].join(' ').trim();\n    }\n\n    /** @description Data attribute for e2e testing */\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-status-badge';\n\n    /** @description ARIA role for accessibility */\n    @HostBinding('attr.role') role = 'status';\n\n    /** @description ARIA label for accessibility */\n    @HostBinding('attr.aria-label') @Input('aria-label') ariaLabel: string | null = 'status-badge';\n\n    /**\n     * @description Whether to display the badge as a dot\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiDottedBadge = false;\n\n    /**\n     * Extra color palette to be used on the status-badge.\n     */\n    @Input() colorPalette: string;     \n\n    /** @description Instance of BaseStatesDirective for managing component states */\n    protected baseStatesDirective = inject(BaseStatesDirective);\n}\n",
            "styleUrl": "./eui-status-badge.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 72,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the badge based on its current state\n\n",
                        "description": "<p>Computes and returns the CSS classes for the badge based on its current state</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 1982,
                                "end": 2094,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 1983,
                                    "end": 1994,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the badge based on its current state</p>\n"
                            },
                            {
                                "pos": 2094,
                                "end": 2159,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2095,
                                    "end": 2102,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 2103,
                                    "end": 2111,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 2104,
                                        "end": 2110,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            }
        },
        {
            "name": "EuiTabBodyComponent",
            "id": "component-EuiTabBodyComponent-232710607f3d9aacbcbb00d7e776ee0eb1c4a8ee37825067d35b415920ebd7c00d512d32282baa15929301e17faed998746c68a3f1997f20ca2a0c405ccb0459",
            "file": "packages/components/eui-tabs/eui-tab-body/eui-tab-body.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-tab-body",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-tab-body.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "hasNoContentPadding",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2353,
                            "end": 2373,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2354,
                                "end": 2361,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nRemoves default padding from the tab content area.\nUseful for full-width content, custom layouts, or when content provides its own spacing.\n",
                    "description": "<p>Removes default padding from the tab content area.\nUseful for full-width content, custom layouts, or when content provides its own spacing.</p>\n",
                    "line": 76,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "tabIndex$",
                    "defaultValue": "new BehaviorSubject(0)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 81
                },
                {
                    "name": "templatePortal",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplatePortal",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 80,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "templateRef",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<HTMLElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 78,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'templateRef'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 84,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                }
            ],
            "description": "<p>Content container component for individual tab panels within eui-tabs.\nManages the display of tab content using CDK Portal for efficient rendering.\nProvides optional padding control for custom content layouts.\nAutomatically handles content visibility based on active tab selection.\nMust be used as a child of eui-tab component to define the tab&#39;s content area.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tab label=&quot;Content&quot;&gt;\n  &lt;eui-tab-body&gt;\n    &lt;h2&gt;Tab Content&lt;/h2&gt;\n    &lt;p&gt;Your content here&lt;/p&gt;\n  &lt;/eui-tab-body&gt;\n&lt;/eui-tab&gt;</code></pre></div><h3>Without Padding</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tab label=&quot;Full Width&quot;&gt;\n  &lt;eui-tab-body [hasNoContentPadding]=&quot;true&quot;&gt;\n    &lt;div class=&quot;custom-layout&quot;&gt;\n      Full-width content without default padding\n    &lt;/div&gt;\n  &lt;/eui-tab-body&gt;\n&lt;/eui-tab&gt;</code></pre></div><h3>With Complex Content</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tab label=&quot;Dashboard&quot;&gt;\n  &lt;eui-tab-body&gt;\n    &lt;eui-card&gt;\n      &lt;eui-card-header&gt;Statistics&lt;/eui-card-header&gt;\n      &lt;eui-card-body&gt;\n        &lt;!-- Dashboard widgets --&gt;\n      &lt;/eui-card-body&gt;\n    &lt;/eui-card&gt;\n  &lt;/eui-tab-body&gt;\n&lt;/eui-tab&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Content has role=&quot;tabpanel&quot; automatically applied</li>\n<li>Tabindex managed automatically for keyboard navigation</li>\n<li>Hidden content not rendered in DOM for performance</li>\n<li>Focus management for interactive elements within panel</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Uses CDK Portal for efficient content rendering</li>\n<li>Only active tab content is displayed</li>\n<li>hasNoContentPadding useful for full-width layouts</li>\n<li>Supports any HTML content or Angular components</li>\n<li>Automatic focus management for nested interactive elements</li>\n</ul>\n",
            "rawdescription": "\n\nContent container component for individual tab panels within eui-tabs.\nManages the display of tab content using CDK Portal for efficient rendering.\nProvides optional padding control for custom content layouts.\nAutomatically handles content visibility based on active tab selection.\nMust be used as a child of eui-tab component to define the tab's content area.\n\n### Basic Usage\n```html\n<eui-tab label=\"Content\">\n  <eui-tab-body>\n    <h2>Tab Content</h2>\n    <p>Your content here</p>\n  </eui-tab-body>\n</eui-tab>\n```\n\n### Without Padding\n```html\n<eui-tab label=\"Full Width\">\n  <eui-tab-body [hasNoContentPadding]=\"true\">\n    <div class=\"custom-layout\">\n      Full-width content without default padding\n    </div>\n  </eui-tab-body>\n</eui-tab>\n```\n\n### With Complex Content\n```html\n<eui-tab label=\"Dashboard\">\n  <eui-tab-body>\n    <eui-card>\n      <eui-card-header>Statistics</eui-card-header>\n      <eui-card-body>\n        <!-- Dashboard widgets -->\n      </eui-card-body>\n    </eui-card>\n  </eui-tab-body>\n</eui-tab>\n```\n\n### Accessibility\n- Content has role=\"tabpanel\" automatically applied\n- Tabindex managed automatically for keyboard navigation\n- Hidden content not rendered in DOM for performance\n- Focus management for interactive elements within panel\n\n### Notes\n- Uses CDK Portal for efficient content rendering\n- Only active tab content is displayed\n- hasNoContentPadding useful for full-width layouts\n- Supports any HTML content or Angular components\n- Automatic focus management for nested interactive elements\n",
            "type": "component",
            "sourceCode": "import { Component, Input, TemplateRef, ViewChild, ViewContainerRef, AfterViewInit, booleanAttribute, inject } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BehaviorSubject } from 'rxjs';\nimport { AsyncPipe } from '@angular/common';\n\n/**\n * @description\n * Content container component for individual tab panels within eui-tabs.\n * Manages the display of tab content using CDK Portal for efficient rendering.\n * Provides optional padding control for custom content layouts.\n * Automatically handles content visibility based on active tab selection.\n * Must be used as a child of eui-tab component to define the tab's content area.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-tab label=\"Content\">\n *   <eui-tab-body>\n *     <h2>Tab Content</h2>\n *     <p>Your content here</p>\n *   </eui-tab-body>\n * </eui-tab>\n * ```\n *\n * ### Without Padding\n * ```html\n * <eui-tab label=\"Full Width\">\n *   <eui-tab-body [hasNoContentPadding]=\"true\">\n *     <div class=\"custom-layout\">\n *       Full-width content without default padding\n *     </div>\n *   </eui-tab-body>\n * </eui-tab>\n * ```\n *\n * ### With Complex Content\n * ```html\n * <eui-tab label=\"Dashboard\">\n *   <eui-tab-body>\n *     <eui-card>\n *       <eui-card-header>Statistics</eui-card-header>\n *       <eui-card-body>\n *         <!-- Dashboard widgets -->\n *       </eui-card-body>\n *     </eui-card>\n *   </eui-tab-body>\n * </eui-tab>\n * ```\n *\n * ### Accessibility\n * - Content has role=\"tabpanel\" automatically applied\n * - Tabindex managed automatically for keyboard navigation\n * - Hidden content not rendered in DOM for performance\n * - Focus management for interactive elements within panel\n *\n * ### Notes\n * - Uses CDK Portal for efficient content rendering\n * - Only active tab content is displayed\n * - hasNoContentPadding useful for full-width layouts\n * - Supports any HTML content or Angular components\n * - Automatic focus management for nested interactive elements\n */\n@Component({\n    selector: 'eui-tab-body',\n    templateUrl: './eui-tab-body.component.html',\n    imports: [\n        AsyncPipe,\n    ],\n})\nexport class EuiTabBodyComponent implements AfterViewInit {\n    /**\n     * Removes default padding from the tab content area.\n     * Useful for full-width content, custom layouts, or when content provides its own spacing.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasNoContentPadding = false;\n\n    @ViewChild('templateRef') templateRef: TemplateRef<HTMLElement>;\n\n    public templatePortal: TemplatePortal;\n    tabIndex$ = new BehaviorSubject(0);\n    private viewContainerRef = inject(ViewContainerRef);\n\n    ngAfterViewInit(): void {\n        this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterViewInit"
            ],
            "templateData": "<ng-template #templateRef>\n    <div class=\"eui-tab__body\" [tabindex]=\"tabIndex$ | async\" [class.eui-tab__body--no-padding]=\"hasNoContentPadding\">\n        <ng-content></ng-content>\n    </div>\n</ng-template>\n"
        },
        {
            "name": "EuiTabComponent",
            "id": "component-EuiTabComponent-78d35225c04b2884aeeb3c3278fad54fb0f427fdce517f164727f0ac3370a6eedf9c32ea969fc6fb093bd4c0e2886d75d745a65b1225a0d9a7228dfa735d5520",
            "file": "packages/components/eui-tabs/eui-tab/eui-tab.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-tab",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiSecondary",
                        "euiInfo",
                        "euiSuccess",
                        "euiWarning",
                        "euiDanger",
                        "euiVariant"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-tab'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3143,
                            "end": 3167,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3144,
                                "end": 3151,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-tab&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nData attribute used for end-to-end testing identification.\n",
                    "description": "<p>Data attribute used for end-to-end testing identification.</p>\n",
                    "line": 101,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUnique identifier for the tab.\nUsed for programmatic tab selection and tracking.\nRequired for proper tab management and routing.\n",
                    "description": "<p>Unique identifier for the tab.\nUsed for programmatic tab selection and tracking.\nRequired for proper tab management and routing.</p>\n",
                    "line": 91,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isClosable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3537,
                            "end": 3557,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3538,
                                "end": 3545,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables a close button on the tab header for dismissible tabs.\nAllows users to remove or hide the tab from the tab bar.\n",
                    "description": "<p>Enables a close button on the tab header for dismissible tabs.\nAllows users to remove or hide the tab from the tab bar.</p>\n",
                    "line": 112,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3766,
                            "end": 3786,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3767,
                                "end": 3774,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nDisables the tab, preventing user interaction and selection.\nApplies disabled styling and blocks tab activation.\n",
                    "description": "<p>Disables the tab, preventing user interaction and selection.\nApplies disabled styling and blocks tab activation.</p>\n",
                    "line": 118,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isHandleActivateTab",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4481,
                            "end": 4501,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4482,
                                "end": 4489,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables automatic tab activation when the tab is clicked.\nWhen false, tab activation must be handled externally.\n",
                    "description": "<p>Enables automatic tab activation when the tab is clicked.\nWhen false, tab activation must be handled externally.</p>\n",
                    "line": 136,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isHandleCloseOnClose",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4242,
                            "end": 4262,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4243,
                                "end": 4250,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables automatic tab closure when the close button is clicked.\nWhen false, close button click must be handled externally.\n",
                    "description": "<p>Enables automatic tab closure when the close button is clicked.\nWhen false, close button click must be handled externally.</p>\n",
                    "line": 130,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isVisible",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4006,
                            "end": 4025,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4007,
                                "end": 4014,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls the visibility of the tab in the tab bar.\nWhen false, hides the tab from display without removing it from the DOM.\n",
                    "description": "<p>Controls the visibility of the tab in the tab bar.\nWhen false, hides the tab from display without removing it from the DOM.</p>\n",
                    "line": 124,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "tooltip",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nTooltip text displayed when hovering over the tab header.\nProvides additional context or information about the tab content.\n",
                    "description": "<p>Tooltip text displayed when hovering over the tab header.\nProvides additional context or information about the tab content.</p>\n",
                    "line": 106,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "url",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nURL or route path associated with the tab.\nEnables deep linking and browser history integration for tab navigation.\n",
                    "description": "<p>URL or route path associated with the tab.\nEnables deep linking and browser history integration for tab navigation.</p>\n",
                    "line": 96,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 146,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "isActive",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 141,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "isClosable$",
                    "defaultValue": "new BehaviorSubject(this.isClosable)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 144,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "isDisabled$",
                    "defaultValue": "new BehaviorSubject(this.isDisabled)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 145,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "isVisible$",
                    "defaultValue": "new BehaviorSubject(this.isVisible)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 143,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "templateBody",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiTabBodyComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 139,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "templateHeader",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiTabHeaderComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 138,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "activateTab",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 160,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "deactivateTab",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 164,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "c",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 148,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "c",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Individual tab component representing a single tab within eui-tabs navigation.\nManages tab state including active, disabled, visible, and closable states.\nSupports custom header and body content through content projection.\nIntegrates with BaseStatesDirective for theming variants (primary, secondary, success, warning, danger).\nMust be used as a direct child of eui-tabs component to participate in tab navigation.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tabs&gt;\n  &lt;eui-tab label=&quot;Overview&quot;&gt;\n    &lt;eui-tab-body&gt;\n      &lt;p&gt;Overview content&lt;/p&gt;\n    &lt;/eui-tab-body&gt;\n  &lt;/eui-tab&gt;\n\n  &lt;eui-tab label=&quot;Details&quot; [isDisabled]=&quot;true&quot;&gt;\n    &lt;eui-tab-body&gt;\n      &lt;p&gt;Details content&lt;/p&gt;\n    &lt;/eui-tab-body&gt;\n  &lt;/eui-tab&gt;\n&lt;/eui-tabs&gt;</code></pre></div><h3>With Custom Header</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tab [isClosable]=&quot;true&quot; euiPrimary&gt;\n  &lt;eui-tab-header&gt;\n    &lt;eui-tab-header-left-content&gt;\n      &lt;eui-icon-svg icon=&quot;eui-home&quot; size=&quot;s&quot; /&gt;\n    &lt;/eui-tab-header-left-content&gt;\n    &lt;eui-tab-header-label&gt;Home&lt;/eui-tab-header-label&gt;\n    &lt;eui-tab-header-right-content&gt;\n      &lt;eui-badge euiInfo&gt;3&lt;/eui-badge&gt;\n    &lt;/eui-tab-header-right-content&gt;\n  &lt;/eui-tab-header&gt;\n  &lt;eui-tab-body&gt;Content&lt;/eui-tab-body&gt;\n&lt;/eui-tab&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Tab has role=&quot;tab&quot; automatically applied</li>\n<li>Associated panel has role=&quot;tabpanel&quot;</li>\n<li>Disabled state prevents keyboard and mouse interaction</li>\n<li>Tooltip provides additional context on hover</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Use isClosable for dismissible tabs</li>\n<li>isVisible controls display without removing from DOM</li>\n<li>Color variants via BaseStatesDirective (euiPrimary, euiSuccess, etc.)</li>\n<li>Custom handlers via isHandleCloseOnClose and isHandleActivateTab</li>\n<li>URL property enables deep linking and routing integration</li>\n</ul>\n",
            "rawdescription": "\n\nIndividual tab component representing a single tab within eui-tabs navigation.\nManages tab state including active, disabled, visible, and closable states.\nSupports custom header and body content through content projection.\nIntegrates with BaseStatesDirective for theming variants (primary, secondary, success, warning, danger).\nMust be used as a direct child of eui-tabs component to participate in tab navigation.\n\n### Basic Usage\n```html\n<eui-tabs>\n  <eui-tab label=\"Overview\">\n    <eui-tab-body>\n      <p>Overview content</p>\n    </eui-tab-body>\n  </eui-tab>\n\n  <eui-tab label=\"Details\" [isDisabled]=\"true\">\n    <eui-tab-body>\n      <p>Details content</p>\n    </eui-tab-body>\n  </eui-tab>\n</eui-tabs>\n```\n\n### With Custom Header\n```html\n<eui-tab [isClosable]=\"true\" euiPrimary>\n  <eui-tab-header>\n    <eui-tab-header-left-content>\n      <eui-icon-svg icon=\"eui-home\" size=\"s\" />\n    </eui-tab-header-left-content>\n    <eui-tab-header-label>Home</eui-tab-header-label>\n    <eui-tab-header-right-content>\n      <eui-badge euiInfo>3</eui-badge>\n    </eui-tab-header-right-content>\n  </eui-tab-header>\n  <eui-tab-body>Content</eui-tab-body>\n</eui-tab>\n```\n\n### Accessibility\n- Tab has role=\"tab\" automatically applied\n- Associated panel has role=\"tabpanel\"\n- Disabled state prevents keyboard and mouse interaction\n- Tooltip provides additional context on hover\n\n### Notes\n- Use isClosable for dismissible tabs\n- isVisible controls display without removing from DOM\n- Color variants via BaseStatesDirective (euiPrimary, euiSuccess, etc.)\n- Custom handlers via isHandleCloseOnClose and isHandleActivateTab\n- URL property enables deep linking and routing integration\n",
            "type": "component",
            "sourceCode": "import {\n    ChangeDetectionStrategy,\n    Component,\n    ContentChild,\n    Input,\n    OnChanges,\n    SimpleChanges,\n    booleanAttribute,\n    forwardRef,\n    inject,\n} from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiTabHeaderComponent } from '../eui-tab-header/eui-tab-header.component';\nimport { EuiTabBodyComponent } from '../eui-tab-body/eui-tab-body.component';\n\n/**\n * @description\n * Individual tab component representing a single tab within eui-tabs navigation.\n * Manages tab state including active, disabled, visible, and closable states.\n * Supports custom header and body content through content projection.\n * Integrates with BaseStatesDirective for theming variants (primary, secondary, success, warning, danger).\n * Must be used as a direct child of eui-tabs component to participate in tab navigation.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-tabs>\n *   <eui-tab label=\"Overview\">\n *     <eui-tab-body>\n *       <p>Overview content</p>\n *     </eui-tab-body>\n *   </eui-tab>\n *   \n *   <eui-tab label=\"Details\" [isDisabled]=\"true\">\n *     <eui-tab-body>\n *       <p>Details content</p>\n *     </eui-tab-body>\n *   </eui-tab>\n * </eui-tabs>\n * ```\n *\n * ### With Custom Header\n * ```html\n * <eui-tab [isClosable]=\"true\" euiPrimary>\n *   <eui-tab-header>\n *     <eui-tab-header-left-content>\n *       <eui-icon-svg icon=\"eui-home\" size=\"s\" />\n *     </eui-tab-header-left-content>\n *     <eui-tab-header-label>Home</eui-tab-header-label>\n *     <eui-tab-header-right-content>\n *       <eui-badge euiInfo>3</eui-badge>\n *     </eui-tab-header-right-content>\n *   </eui-tab-header>\n *   <eui-tab-body>Content</eui-tab-body>\n * </eui-tab>\n * ```\n *\n * ### Accessibility\n * - Tab has role=\"tab\" automatically applied\n * - Associated panel has role=\"tabpanel\"\n * - Disabled state prevents keyboard and mouse interaction\n * - Tooltip provides additional context on hover\n *\n * ### Notes\n * - Use isClosable for dismissible tabs\n * - isVisible controls display without removing from DOM\n * - Color variants via BaseStatesDirective (euiPrimary, euiSuccess, etc.)\n * - Custom handlers via isHandleCloseOnClose and isHandleActivateTab\n * - URL property enables deep linking and routing integration\n */\n@Component({\n    selector: 'eui-tab',\n    template: '<ng-content/>',\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: ['euiPrimary', 'euiSecondary', 'euiInfo', 'euiSuccess', 'euiWarning', 'euiDanger', 'euiVariant'],\n        },\n    ],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiTabComponent implements OnChanges {\n    /**\n     * Unique identifier for the tab.\n     * Used for programmatic tab selection and tracking.\n     * Required for proper tab management and routing.\n     */\n    @Input() id: string;\n    /**\n     * URL or route path associated with the tab.\n     * Enables deep linking and browser history integration for tab navigation.\n     */\n    @Input() url: string;\n    /**\n     * Data attribute used for end-to-end testing identification.\n     * @default 'eui-tab'\n     */\n    @Input() e2eAttr = 'eui-tab';\n    /**\n     * Tooltip text displayed when hovering over the tab header.\n     * Provides additional context or information about the tab content.\n     */\n    @Input() tooltip: string;\n    /**\n     * Enables a close button on the tab header for dismissible tabs.\n     * Allows users to remove or hide the tab from the tab bar.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isClosable = false;\n    /**\n     * Disables the tab, preventing user interaction and selection.\n     * Applies disabled styling and blocks tab activation.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isDisabled = false;\n    /**\n     * Controls the visibility of the tab in the tab bar.\n     * When false, hides the tab from display without removing it from the DOM.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isVisible = true;\n    /**\n     * Enables automatic tab closure when the close button is clicked.\n     * When false, close button click must be handled externally.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHandleCloseOnClose = false;\n    /**\n     * Enables automatic tab activation when the tab is clicked.\n     * When false, tab activation must be handled externally.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHandleActivateTab = false;\n\n    @ContentChild(forwardRef(() => EuiTabHeaderComponent)) templateHeader: EuiTabHeaderComponent;\n    @ContentChild(forwardRef(() => EuiTabBodyComponent)) templateBody: EuiTabBodyComponent;\n\n    public isActive = false;\n\n    public isVisible$ = new BehaviorSubject(this.isVisible);\n    public isClosable$ = new BehaviorSubject(this.isClosable);\n    public isDisabled$ = new BehaviorSubject(this.isDisabled);\n    public baseStatesDirective = inject(BaseStatesDirective);\n\n    ngOnChanges(c: SimpleChanges): void {\n        if (c?.isVisible) {\n            this.isVisible$.next(c.isVisible.currentValue);\n        }\n        if (c?.isClosable) {\n            this.isClosable$.next(c.isClosable.currentValue);\n        }\n        if (c?.isDisabled) {\n            this.isDisabled$.next(c.isDisabled.currentValue);\n        }\n    }\n\n    public activateTab(): void {\n        this.isActive = true;\n    }\n\n    public deactivateTab(): void {\n        this.isActive = false;\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnChanges"
            ]
        },
        {
            "name": "EuiTabHeaderComponent",
            "id": "component-EuiTabHeaderComponent-cc12af0973f705a21907890bd94ca86022c370bc95ae73b7b2f1234f25d7d8972b45db033e9769d5e11ef6c7f8c646c19446351adeb76ab6f5e86187d5dbbc51",
            "file": "packages/components/eui-tabs/eui-tab-header/eui-tab-header.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-tab-header",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-tab-header.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "templatePortal",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplatePortal",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 75,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "templateRef",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<HTMLElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 73,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'templateRef'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 78,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Custom header content component for individual tabs within eui-tabs.\nAllows projection of custom content into the tab header area using CDK Portal.\nEnables rich tab headers with icons, badges, or custom layouts beyond simple text labels.\nMust be used as a child of eui-tab component to provide custom header content.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tab&gt;\n  &lt;eui-tab-header&gt;\n    &lt;eui-tab-header-label&gt;Settings&lt;/eui-tab-header-label&gt;\n  &lt;/eui-tab-header&gt;\n  &lt;eui-tab-body&gt;Content&lt;/eui-tab-body&gt;\n&lt;/eui-tab&gt;</code></pre></div><h3>With Icons and Badges</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tab&gt;\n  &lt;eui-tab-header&gt;\n    &lt;eui-tab-header-left-content&gt;\n      &lt;eui-icon-svg icon=&quot;eui-notification&quot; size=&quot;s&quot; /&gt;\n    &lt;/eui-tab-header-left-content&gt;\n    &lt;eui-tab-header-label&gt;Notifications&lt;/eui-tab-header-label&gt;\n    &lt;eui-tab-header-sub-label&gt;Unread messages&lt;/eui-tab-header-sub-label&gt;\n    &lt;eui-tab-header-right-content&gt;\n      &lt;eui-badge euiDanger&gt;5&lt;/eui-badge&gt;\n    &lt;/eui-tab-header-right-content&gt;\n  &lt;/eui-tab-header&gt;\n  &lt;eui-tab-body&gt;Content&lt;/eui-tab-body&gt;\n&lt;/eui-tab&gt;</code></pre></div><h3>Complex Layout</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tab&gt;\n  &lt;eui-tab-header&gt;\n    &lt;eui-tab-header-left-content&gt;\n      &lt;eui-avatar [imageUrl]=&quot;user.avatar&quot; euiSizeXs /&gt;\n    &lt;/eui-tab-header-left-content&gt;\n    &lt;div&gt;\n      &lt;eui-tab-header-label&gt;{{ user.name }}&lt;/eui-tab-header-label&gt;\n      &lt;eui-tab-header-sub-label&gt;{{ user.role }}&lt;/eui-tab-header-sub-label&gt;\n    &lt;/div&gt;\n  &lt;/eui-tab-header&gt;\n  &lt;eui-tab-body&gt;Content&lt;/eui-tab-body&gt;\n&lt;/eui-tab&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Header content contributes to tab&#39;s accessible name</li>\n<li>Icons should have appropriate aria-labels</li>\n<li>Badges should convey meaningful information</li>\n<li>Maintain logical reading order for screen readers</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Uses CDK Portal for efficient rendering</li>\n<li>Supports structured content via sub-components</li>\n<li>Left/right content areas for flexible layouts</li>\n<li>Label and sub-label for hierarchical text</li>\n<li>Replaces simple label attribute when used</li>\n</ul>\n",
            "rawdescription": "\n\nCustom header content component for individual tabs within eui-tabs.\nAllows projection of custom content into the tab header area using CDK Portal.\nEnables rich tab headers with icons, badges, or custom layouts beyond simple text labels.\nMust be used as a child of eui-tab component to provide custom header content.\n\n### Basic Usage\n```html\n<eui-tab>\n  <eui-tab-header>\n    <eui-tab-header-label>Settings</eui-tab-header-label>\n  </eui-tab-header>\n  <eui-tab-body>Content</eui-tab-body>\n</eui-tab>\n```\n\n### With Icons and Badges\n```html\n<eui-tab>\n  <eui-tab-header>\n    <eui-tab-header-left-content>\n      <eui-icon-svg icon=\"eui-notification\" size=\"s\" />\n    </eui-tab-header-left-content>\n    <eui-tab-header-label>Notifications</eui-tab-header-label>\n    <eui-tab-header-sub-label>Unread messages</eui-tab-header-sub-label>\n    <eui-tab-header-right-content>\n      <eui-badge euiDanger>5</eui-badge>\n    </eui-tab-header-right-content>\n  </eui-tab-header>\n  <eui-tab-body>Content</eui-tab-body>\n</eui-tab>\n```\n\n### Complex Layout\n```html\n<eui-tab>\n  <eui-tab-header>\n    <eui-tab-header-left-content>\n      <eui-avatar [imageUrl]=\"user.avatar\" euiSizeXs />\n    </eui-tab-header-left-content>\n    <div>\n      <eui-tab-header-label>{{ user.name }}</eui-tab-header-label>\n      <eui-tab-header-sub-label>{{ user.role }}</eui-tab-header-sub-label>\n    </div>\n  </eui-tab-header>\n  <eui-tab-body>Content</eui-tab-body>\n</eui-tab>\n```\n\n### Accessibility\n- Header content contributes to tab's accessible name\n- Icons should have appropriate aria-labels\n- Badges should convey meaningful information\n- Maintain logical reading order for screen readers\n\n### Notes\n- Uses CDK Portal for efficient rendering\n- Supports structured content via sub-components\n- Left/right content areas for flexible layouts\n- Label and sub-label for hierarchical text\n- Replaces simple label attribute when used\n",
            "type": "component",
            "sourceCode": "import { Component, TemplateRef, ViewChild, ViewContainerRef, AfterViewInit, inject } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\n\n/**\n * @description\n * Custom header content component for individual tabs within eui-tabs.\n * Allows projection of custom content into the tab header area using CDK Portal.\n * Enables rich tab headers with icons, badges, or custom layouts beyond simple text labels.\n * Must be used as a child of eui-tab component to provide custom header content.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-tab>\n *   <eui-tab-header>\n *     <eui-tab-header-label>Settings</eui-tab-header-label>\n *   </eui-tab-header>\n *   <eui-tab-body>Content</eui-tab-body>\n * </eui-tab>\n * ```\n *\n * ### With Icons and Badges\n * ```html\n * <eui-tab>\n *   <eui-tab-header>\n *     <eui-tab-header-left-content>\n *       <eui-icon-svg icon=\"eui-notification\" size=\"s\" />\n *     </eui-tab-header-left-content>\n *     <eui-tab-header-label>Notifications</eui-tab-header-label>\n *     <eui-tab-header-sub-label>Unread messages</eui-tab-header-sub-label>\n *     <eui-tab-header-right-content>\n *       <eui-badge euiDanger>5</eui-badge>\n *     </eui-tab-header-right-content>\n *   </eui-tab-header>\n *   <eui-tab-body>Content</eui-tab-body>\n * </eui-tab>\n * ```\n *\n * ### Complex Layout\n * ```html\n * <eui-tab>\n *   <eui-tab-header>\n *     <eui-tab-header-left-content>\n *       <eui-avatar [imageUrl]=\"user.avatar\" euiSizeXs />\n *     </eui-tab-header-left-content>\n *     <div>\n *       <eui-tab-header-label>{{ user.name }}</eui-tab-header-label>\n *       <eui-tab-header-sub-label>{{ user.role }}</eui-tab-header-sub-label>\n *     </div>\n *   </eui-tab-header>\n *   <eui-tab-body>Content</eui-tab-body>\n * </eui-tab>\n * ```\n *\n * ### Accessibility\n * - Header content contributes to tab's accessible name\n * - Icons should have appropriate aria-labels\n * - Badges should convey meaningful information\n * - Maintain logical reading order for screen readers\n *\n * ### Notes\n * - Uses CDK Portal for efficient rendering\n * - Supports structured content via sub-components\n * - Left/right content areas for flexible layouts\n * - Label and sub-label for hierarchical text\n * - Replaces simple label attribute when used\n */\n@Component({\n    selector: 'eui-tab-header',\n    templateUrl: './eui-tab-header.component.html',\n})\nexport class EuiTabHeaderComponent implements AfterViewInit {\n    @ViewChild('templateRef') templateRef: TemplateRef<HTMLElement>;\n\n    public templatePortal: TemplatePortal;\n    private viewContainerRef = inject(ViewContainerRef);\n\n    ngAfterViewInit(): void {\n        this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterViewInit"
            ],
            "templateData": "<ng-template #templateRef>\n    <div class=\"eui-tab-header-wrapper\">\n        <ng-content select=\"eui-tab-header-left-content\"/>\n        <div class=\"eui-tab-header-label-wrapper\">\n            <ng-content select=\"eui-tab-header-label\"/>\n            <ng-content select=\"eui-tab-header-sub-label\"/>\n        </div>\n        <ng-content/>\n        <ng-content select=\"eui-tab-header-right-content\"/>\n    </div>\n</ng-template>\n"
        },
        {
            "name": "EuiTabHeaderLabelComponent",
            "id": "component-EuiTabHeaderLabelComponent-3e2bbe526f68fac3c4a05662a223656d21332457d89b825349bf47bb0b25a192092839709f66c0f9129f76be24ac5f3a955223976c9d58a707b2176962a2862c",
            "file": "packages/components/eui-tabs/eui-tab-header/eui-tab-header-label.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-tab-header-label",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-tab-header-label'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 47,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-tab-header-label'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 47,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Primary label component for displaying the main text content within custom tab headers.\nProvides consistent styling for the principal tab title or heading.\nServes as the primary identifier for the tab content when using custom header layouts.\nMust be used within eui-tab-header to provide structured label content.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tab&gt;\n  &lt;eui-tab-header&gt;\n    &lt;eui-tab-header-label&gt;Dashboard&lt;/eui-tab-header-label&gt;\n  &lt;/eui-tab-header&gt;\n  &lt;eui-tab-body&gt;Content&lt;/eui-tab-body&gt;\n&lt;/eui-tab&gt;</code></pre></div><h3>With Other Header Elements</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tab-header&gt;\n  &lt;eui-tab-header-left-content&gt;\n    &lt;eui-icon-svg icon=&quot;eui-chart&quot; /&gt;\n  &lt;/eui-tab-header-left-content&gt;\n  &lt;eui-tab-header-label&gt;Analytics&lt;/eui-tab-header-label&gt;\n  &lt;eui-tab-header-sub-label&gt;Last 30 days&lt;/eui-tab-header-sub-label&gt;\n&lt;/eui-tab-header&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Label text is the primary accessible name for the tab</li>\n<li>Should be concise and descriptive</li>\n<li>Avoid redundant text with icons</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Applies consistent typography and spacing</li>\n<li>Primary text identifier for the tab</li>\n<li>Works with sub-label for hierarchical information</li>\n</ul>\n",
            "rawdescription": "\n\nPrimary label component for displaying the main text content within custom tab headers.\nProvides consistent styling for the principal tab title or heading.\nServes as the primary identifier for the tab content when using custom header layouts.\nMust be used within eui-tab-header to provide structured label content.\n\n### Basic Usage\n```html\n<eui-tab>\n  <eui-tab-header>\n    <eui-tab-header-label>Dashboard</eui-tab-header-label>\n  </eui-tab-header>\n  <eui-tab-body>Content</eui-tab-body>\n</eui-tab>\n```\n\n### With Other Header Elements\n```html\n<eui-tab-header>\n  <eui-tab-header-left-content>\n    <eui-icon-svg icon=\"eui-chart\" />\n  </eui-tab-header-left-content>\n  <eui-tab-header-label>Analytics</eui-tab-header-label>\n  <eui-tab-header-sub-label>Last 30 days</eui-tab-header-sub-label>\n</eui-tab-header>\n```\n\n### Accessibility\n- Label text is the primary accessible name for the tab\n- Should be concise and descriptive\n- Avoid redundant text with icons\n\n### Notes\n- Applies consistent typography and spacing\n- Primary text identifier for the tab\n- Works with sub-label for hierarchical information\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * @description\n * Primary label component for displaying the main text content within custom tab headers.\n * Provides consistent styling for the principal tab title or heading.\n * Serves as the primary identifier for the tab content when using custom header layouts.\n * Must be used within eui-tab-header to provide structured label content.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-tab>\n *   <eui-tab-header>\n *     <eui-tab-header-label>Dashboard</eui-tab-header-label>\n *   </eui-tab-header>\n *   <eui-tab-body>Content</eui-tab-body>\n * </eui-tab>\n * ```\n *\n * ### With Other Header Elements\n * ```html\n * <eui-tab-header>\n *   <eui-tab-header-left-content>\n *     <eui-icon-svg icon=\"eui-chart\" />\n *   </eui-tab-header-left-content>\n *   <eui-tab-header-label>Analytics</eui-tab-header-label>\n *   <eui-tab-header-sub-label>Last 30 days</eui-tab-header-sub-label>\n * </eui-tab-header>\n * ```\n *\n * ### Accessibility\n * - Label text is the primary accessible name for the tab\n * - Should be concise and descriptive\n * - Avoid redundant text with icons\n *\n * ### Notes\n * - Applies consistent typography and spacing\n * - Primary text identifier for the tab\n * - Works with sub-label for hierarchical information\n */\n@Component({\n    selector: 'eui-tab-header-label',\n    template: '<ng-content />',\n})\nexport class EuiTabHeaderLabelComponent {\n    @HostBinding('class') string = 'eui-tab-header-label';\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiTabHeaderLeftContentComponent",
            "id": "component-EuiTabHeaderLeftContentComponent-9a99f3f08ace73d8180695cfd54d0b19f85ecb39dade258416893e65ed2b199258ae5f1475f7405e4d47cc837cc64b49312159ec59d2d4782ec0d4b7bf2c4089",
            "file": "packages/components/eui-tabs/eui-tab-header/eui-tab-header-left-content.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-tab-header-left-content",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-tab-header-left-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 50,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-tab-header-left-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 50,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Content projection component for displaying custom content aligned to the left side of individual tab headers.\nEnables placement of icons, indicators, or leading visual elements within the tab header area.\nAutomatically applies left-aligned styling for consistent positioning.\nMust be used within eui-tab-header to add left-aligned supplementary content to tabs.</p>\n<h3>Basic Usage with Icon</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tab&gt;\n  &lt;eui-tab-header&gt;\n    &lt;eui-tab-header-left-content&gt;\n      &lt;eui-icon-svg icon=&quot;eui-home&quot; size=&quot;s&quot; /&gt;\n    &lt;/eui-tab-header-left-content&gt;\n    &lt;eui-tab-header-label&gt;Home&lt;/eui-tab-header-label&gt;\n  &lt;/eui-tab-header&gt;\n  &lt;eui-tab-body&gt;Content&lt;/eui-tab-body&gt;\n&lt;/eui-tab&gt;</code></pre></div><h3>With Avatar</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tab-header&gt;\n  &lt;eui-tab-header-left-content&gt;\n    &lt;eui-avatar [imageUrl]=&quot;user.avatar&quot; euiSizeXs /&gt;\n  &lt;/eui-tab-header-left-content&gt;\n  &lt;eui-tab-header-label&gt;{{ user.name }}&lt;/eui-tab-header-label&gt;\n&lt;/eui-tab-header&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Icons should have aria-label or aria-hidden</li>\n<li>Decorative content should use aria-hidden=&quot;true&quot;</li>\n<li>Meaningful icons need descriptive labels</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Positioned before the label text</li>\n<li>Commonly used for icons or avatars</li>\n<li>Maintains consistent spacing</li>\n<li>Supports any content (icons, badges, custom elements)</li>\n</ul>\n",
            "rawdescription": "\n\nContent projection component for displaying custom content aligned to the left side of individual tab headers.\nEnables placement of icons, indicators, or leading visual elements within the tab header area.\nAutomatically applies left-aligned styling for consistent positioning.\nMust be used within eui-tab-header to add left-aligned supplementary content to tabs.\n\n### Basic Usage with Icon\n```html\n<eui-tab>\n  <eui-tab-header>\n    <eui-tab-header-left-content>\n      <eui-icon-svg icon=\"eui-home\" size=\"s\" />\n    </eui-tab-header-left-content>\n    <eui-tab-header-label>Home</eui-tab-header-label>\n  </eui-tab-header>\n  <eui-tab-body>Content</eui-tab-body>\n</eui-tab>\n```\n\n### With Avatar\n```html\n<eui-tab-header>\n  <eui-tab-header-left-content>\n    <eui-avatar [imageUrl]=\"user.avatar\" euiSizeXs />\n  </eui-tab-header-left-content>\n  <eui-tab-header-label>{{ user.name }}</eui-tab-header-label>\n</eui-tab-header>\n```\n\n### Accessibility\n- Icons should have aria-label or aria-hidden\n- Decorative content should use aria-hidden=\"true\"\n- Meaningful icons need descriptive labels\n\n### Notes\n- Positioned before the label text\n- Commonly used for icons or avatars\n- Maintains consistent spacing\n- Supports any content (icons, badges, custom elements)\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Content projection component for displaying custom content aligned to the left side of individual tab headers.\n * Enables placement of icons, indicators, or leading visual elements within the tab header area.\n * Automatically applies left-aligned styling for consistent positioning.\n * Must be used within eui-tab-header to add left-aligned supplementary content to tabs.\n *\n * @usageNotes\n * ### Basic Usage with Icon\n * ```html\n * <eui-tab>\n *   <eui-tab-header>\n *     <eui-tab-header-left-content>\n *       <eui-icon-svg icon=\"eui-home\" size=\"s\" />\n *     </eui-tab-header-left-content>\n *     <eui-tab-header-label>Home</eui-tab-header-label>\n *   </eui-tab-header>\n *   <eui-tab-body>Content</eui-tab-body>\n * </eui-tab>\n * ```\n *\n * ### With Avatar\n * ```html\n * <eui-tab-header>\n *   <eui-tab-header-left-content>\n *     <eui-avatar [imageUrl]=\"user.avatar\" euiSizeXs />\n *   </eui-tab-header-left-content>\n *   <eui-tab-header-label>{{ user.name }}</eui-tab-header-label>\n * </eui-tab-header>\n * ```\n *\n * ### Accessibility\n * - Icons should have aria-label or aria-hidden\n * - Decorative content should use aria-hidden=\"true\"\n * - Meaningful icons need descriptive labels\n *\n * ### Notes\n * - Positioned before the label text\n * - Commonly used for icons or avatars\n * - Maintains consistent spacing\n * - Supports any content (icons, badges, custom elements)\n */\n@Component({\n    selector: 'eui-tab-header-left-content',\n    template: '<ng-content />',\n})\nexport class EuiTabHeaderLeftContentComponent {\n    @HostBinding('class') string = 'eui-tab-header-left-content';\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiTabHeaderRightContentComponent",
            "id": "component-EuiTabHeaderRightContentComponent-b9837305246a603179f411d9b89822ee24512806cf06ad4894f1843e5735405607430a001ec968c4e85fe1eb4015f606109610b5c624a68a2625118c19f0ca2a",
            "file": "packages/components/eui-tabs/eui-tab-header/eui-tab-header-right-content.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-tab-header-right-content",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-tab-header-right-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 53,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-tab-header-right-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 53,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Content projection component for displaying custom content aligned to the right side of individual tab headers.\nEnables placement of badges, icons, or action buttons within the tab header area.\nAutomatically applies right-aligned styling for consistent positioning.\nMust be used within eui-tab-header to add right-aligned supplementary content to tabs.</p>\n<h3>Basic Usage with Badge</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tab&gt;\n  &lt;eui-tab-header&gt;\n    &lt;eui-tab-header-label&gt;Notifications&lt;/eui-tab-header-label&gt;\n    &lt;eui-tab-header-right-content&gt;\n      &lt;eui-badge euiDanger&gt;5&lt;/eui-badge&gt;\n    &lt;/eui-tab-header-right-content&gt;\n  &lt;/eui-tab-header&gt;\n  &lt;eui-tab-body&gt;Content&lt;/eui-tab-body&gt;\n&lt;/eui-tab&gt;</code></pre></div><h3>With Multiple Elements</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tab-header&gt;\n  &lt;eui-tab-header-label&gt;Tasks&lt;/eui-tab-header-label&gt;\n  &lt;eui-tab-header-right-content&gt;\n    &lt;eui-badge euiSuccess&gt;3&lt;/eui-badge&gt;\n    &lt;eui-icon-svg icon=&quot;eui-checkmark&quot; size=&quot;xs&quot; /&gt;\n  &lt;/eui-tab-header-right-content&gt;\n&lt;/eui-tab-header&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Badges should convey meaningful information</li>\n<li>Icons need aria-label if interactive</li>\n<li>Decorative elements use aria-hidden=&quot;true&quot;</li>\n<li>Maintain logical tab order for interactive elements</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Positioned after the label text</li>\n<li>Commonly used for badges, counts, or status icons</li>\n<li>Maintains consistent spacing</li>\n<li>Supports multiple elements</li>\n<li>Does not interfere with close button placement</li>\n</ul>\n",
            "rawdescription": "\n\nContent projection component for displaying custom content aligned to the right side of individual tab headers.\nEnables placement of badges, icons, or action buttons within the tab header area.\nAutomatically applies right-aligned styling for consistent positioning.\nMust be used within eui-tab-header to add right-aligned supplementary content to tabs.\n\n### Basic Usage with Badge\n```html\n<eui-tab>\n  <eui-tab-header>\n    <eui-tab-header-label>Notifications</eui-tab-header-label>\n    <eui-tab-header-right-content>\n      <eui-badge euiDanger>5</eui-badge>\n    </eui-tab-header-right-content>\n  </eui-tab-header>\n  <eui-tab-body>Content</eui-tab-body>\n</eui-tab>\n```\n\n### With Multiple Elements\n```html\n<eui-tab-header>\n  <eui-tab-header-label>Tasks</eui-tab-header-label>\n  <eui-tab-header-right-content>\n    <eui-badge euiSuccess>3</eui-badge>\n    <eui-icon-svg icon=\"eui-checkmark\" size=\"xs\" />\n  </eui-tab-header-right-content>\n</eui-tab-header>\n```\n\n### Accessibility\n- Badges should convey meaningful information\n- Icons need aria-label if interactive\n- Decorative elements use aria-hidden=\"true\"\n- Maintain logical tab order for interactive elements\n\n### Notes\n- Positioned after the label text\n- Commonly used for badges, counts, or status icons\n- Maintains consistent spacing\n- Supports multiple elements\n- Does not interfere with close button placement\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Content projection component for displaying custom content aligned to the right side of individual tab headers.\n * Enables placement of badges, icons, or action buttons within the tab header area.\n * Automatically applies right-aligned styling for consistent positioning.\n * Must be used within eui-tab-header to add right-aligned supplementary content to tabs.\n *\n * @usageNotes\n * ### Basic Usage with Badge\n * ```html\n * <eui-tab>\n *   <eui-tab-header>\n *     <eui-tab-header-label>Notifications</eui-tab-header-label>\n *     <eui-tab-header-right-content>\n *       <eui-badge euiDanger>5</eui-badge>\n *     </eui-tab-header-right-content>\n *   </eui-tab-header>\n *   <eui-tab-body>Content</eui-tab-body>\n * </eui-tab>\n * ```\n *\n * ### With Multiple Elements\n * ```html\n * <eui-tab-header>\n *   <eui-tab-header-label>Tasks</eui-tab-header-label>\n *   <eui-tab-header-right-content>\n *     <eui-badge euiSuccess>3</eui-badge>\n *     <eui-icon-svg icon=\"eui-checkmark\" size=\"xs\" />\n *   </eui-tab-header-right-content>\n * </eui-tab-header>\n * ```\n *\n * ### Accessibility\n * - Badges should convey meaningful information\n * - Icons need aria-label if interactive\n * - Decorative elements use aria-hidden=\"true\"\n * - Maintain logical tab order for interactive elements\n *\n * ### Notes\n * - Positioned after the label text\n * - Commonly used for badges, counts, or status icons\n * - Maintains consistent spacing\n * - Supports multiple elements\n * - Does not interfere with close button placement\n */\n@Component({\n    selector: 'eui-tab-header-right-content',\n    template: '<ng-content />',\n})\nexport class EuiTabHeaderRightContentComponent {\n    @HostBinding('class') string = 'eui-tab-header-right-content';\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiTabHeaderSublabelComponent",
            "id": "component-EuiTabHeaderSublabelComponent-84b811b81a9878e92b6c073f6b85c2ae99160aa31bab6fb61aa1dcdae7cfdb29b5f7f77383ec51d64e354d5be56f08e1935a2c7304d47afde56caecdeff00060",
            "file": "packages/components/eui-tabs/eui-tab-header/eui-tab-header-sub-label.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-tab-header-sub-label",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-tab-header-sub-label'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 48,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-tab-header-sub-label'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 48,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Sub-label component for displaying secondary descriptive text within custom tab headers.\nProvides consistent styling for supplementary information below or alongside the main tab label.\nTypically contains additional context, counts, or status information related to the tab.\nMust be used within eui-tab-header to provide structured sub-label content.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tab&gt;\n  &lt;eui-tab-header&gt;\n    &lt;eui-tab-header-label&gt;Messages&lt;/eui-tab-header-label&gt;\n    &lt;eui-tab-header-sub-label&gt;12 unread&lt;/eui-tab-header-sub-label&gt;\n  &lt;/eui-tab-header&gt;\n  &lt;eui-tab-body&gt;Content&lt;/eui-tab-body&gt;\n&lt;/eui-tab&gt;</code></pre></div><h3>With Dynamic Content</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tab-header&gt;\n  &lt;eui-tab-header-label&gt;Tasks&lt;/eui-tab-header-label&gt;\n  &lt;eui-tab-header-sub-label&gt;\n    {{ completedTasks }} of {{ totalTasks }} completed\n  &lt;/eui-tab-header-sub-label&gt;\n&lt;/eui-tab-header&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Sub-label provides additional context to screen readers</li>\n<li>Should complement, not duplicate, the main label</li>\n<li>Keep text concise for better readability</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Applies secondary text styling (smaller, lighter)</li>\n<li>Useful for counts, status, or metadata</li>\n<li>Positioned below or beside main label</li>\n<li>Optional - tabs work without sub-labels</li>\n</ul>\n",
            "rawdescription": "\n\nSub-label component for displaying secondary descriptive text within custom tab headers.\nProvides consistent styling for supplementary information below or alongside the main tab label.\nTypically contains additional context, counts, or status information related to the tab.\nMust be used within eui-tab-header to provide structured sub-label content.\n\n### Basic Usage\n```html\n<eui-tab>\n  <eui-tab-header>\n    <eui-tab-header-label>Messages</eui-tab-header-label>\n    <eui-tab-header-sub-label>12 unread</eui-tab-header-sub-label>\n  </eui-tab-header>\n  <eui-tab-body>Content</eui-tab-body>\n</eui-tab>\n```\n\n### With Dynamic Content\n```html\n<eui-tab-header>\n  <eui-tab-header-label>Tasks</eui-tab-header-label>\n  <eui-tab-header-sub-label>\n    {{ completedTasks }} of {{ totalTasks }} completed\n  </eui-tab-header-sub-label>\n</eui-tab-header>\n```\n\n### Accessibility\n- Sub-label provides additional context to screen readers\n- Should complement, not duplicate, the main label\n- Keep text concise for better readability\n\n### Notes\n- Applies secondary text styling (smaller, lighter)\n- Useful for counts, status, or metadata\n- Positioned below or beside main label\n- Optional - tabs work without sub-labels\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * @description\n * Sub-label component for displaying secondary descriptive text within custom tab headers.\n * Provides consistent styling for supplementary information below or alongside the main tab label.\n * Typically contains additional context, counts, or status information related to the tab.\n * Must be used within eui-tab-header to provide structured sub-label content.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-tab>\n *   <eui-tab-header>\n *     <eui-tab-header-label>Messages</eui-tab-header-label>\n *     <eui-tab-header-sub-label>12 unread</eui-tab-header-sub-label>\n *   </eui-tab-header>\n *   <eui-tab-body>Content</eui-tab-body>\n * </eui-tab>\n * ```\n *\n * ### With Dynamic Content\n * ```html\n * <eui-tab-header>\n *   <eui-tab-header-label>Tasks</eui-tab-header-label>\n *   <eui-tab-header-sub-label>\n *     {{ completedTasks }} of {{ totalTasks }} completed\n *   </eui-tab-header-sub-label>\n * </eui-tab-header>\n * ```\n *\n * ### Accessibility\n * - Sub-label provides additional context to screen readers\n * - Should complement, not duplicate, the main label\n * - Keep text concise for better readability\n *\n * ### Notes\n * - Applies secondary text styling (smaller, lighter)\n * - Useful for counts, status, or metadata\n * - Positioned below or beside main label\n * - Optional - tabs work without sub-labels\n */\n@Component({\n    selector: 'eui-tab-header-sub-label',\n    template: '<ng-content />',\n})\nexport class EuiTabHeaderSublabelComponent {\n    @HostBinding('class') string = 'eui-tab-header-sub-label';\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiTableComponent",
            "id": "component-EuiTableComponent-46bf66c1ef20099e1818c9584099aa479234eb5c67e551b58ea24d133e4852291133020643ffb56cc83b43c49566a2599f23e97fd618a2e566ecb5e4671d6d7a",
            "file": "packages/components/eui-table/eui-table.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [
                {
                    "name": "EuiTableSelectableRowService",
                    "type": "injectable"
                },
                {
                    "name": "EuiTableSortService",
                    "type": "injectable"
                }
            ],
            "selector": "eui-table, table[euiTable]",
            "styleUrls": [
                "./styles/_index.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-table.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "data",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 8530,
                            "end": 8571,
                            "kind": 345,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8531,
                                "end": 8535,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "type"
                            },
                            "comment": "<p>Generic type of data</p>\n",
                            "typeExpression": {
                                "pos": 8536,
                                "end": 8544,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 8537,
                                    "end": 8543,
                                    "kind": 189,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "elementType": {
                                        "pos": 8537,
                                        "end": 8541,
                                        "kind": 184,
                                        "id": 0,
                                        "flags": 16777216,
                                        "modifierFlagsCache": 0,
                                        "transformFlags": 1,
                                        "typeName": {
                                            "pos": 8537,
                                            "end": 8541,
                                            "kind": 80,
                                            "id": 0,
                                            "flags": 16777216,
                                            "transformFlags": 0,
                                            "escapedText": "DATA"
                                        }
                                    }
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nData to display in the table.\n\n",
                    "description": "<p>Data to display in the table.</p>\n",
                    "line": 230,
                    "type": "DATA[]",
                    "decorators": []
                },
                {
                    "name": "filter",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 9117,
                            "end": 9154,
                            "kind": 345,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 9118,
                                "end": 9122,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "type"
                            },
                            "comment": "",
                            "typeExpression": {
                                "pos": 9123,
                                "end": 9148,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 9124,
                                    "end": 9147,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 9124,
                                        "end": 9147,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "EuiTableFilterComponent"
                                    }
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\n`eui-table-filter` reference passed to the table.\n\n",
                    "description": "<p><code>eui-table-filter</code> reference passed to the table.</p>\n",
                    "line": 254,
                    "type": "EuiTableFilterComponent",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasStickyCols",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 11085,
                            "end": 11105,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 11086,
                                "end": 11093,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWheter the table col is sticky.\nIn order to use eui-table sticky feature and control the scrolling overflow,\nwe recommend to wrap the table with the provided eui-table__scrollable-wrapper class and set your custom table width and/or height.\n\nOnly first or latest columns can be sticky.\n\n",
                    "description": "<p>Wheter the table col is sticky.\nIn order to use eui-table sticky feature and control the scrolling overflow,\nwe recommend to wrap the table with the provided eui-table__scrollable-wrapper class and set your custom table width and/or height.</p>\n<p>Only first or latest columns can be sticky.</p>\n",
                    "line": 302,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasStickyFooter",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 10651,
                            "end": 10671,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 10652,
                                "end": 10659,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWheter the table footer is sticky.\nIn order to use eui-table sticky feature and control the scrolling overflow,\nwe recommend to wrap the table with the provided eui-table__scrollable-wrapper class and set your custom table width and/or height.\n\n",
                    "description": "<p>Wheter the table footer is sticky.\nIn order to use eui-table sticky feature and control the scrolling overflow,\nwe recommend to wrap the table with the provided eui-table__scrollable-wrapper class and set your custom table width and/or height.</p>\n",
                    "line": 292,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasStickyHeader",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 10272,
                            "end": 10292,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 10273,
                                "end": 10280,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWheter the table header is sticky.\nIn order to use eui-table sticky feature and control the scrolling overflow,\nwe recommend to wrap the table with the provided eui-table__scrollable-wrapper class and set your custom table width and/or height.\n\n",
                    "description": "<p>Wheter the table header is sticky.\nIn order to use eui-table sticky feature and control the scrolling overflow,\nwe recommend to wrap the table with the provided eui-table__scrollable-wrapper class and set your custom table width and/or height.</p>\n",
                    "line": 284,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isAsync",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 11607,
                            "end": 11627,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 11608,
                                "end": 11615,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWheter the table uses async data.\nIn this configuration, pagination, filtering and sorting are managed by the backend.\n\nWhen data are async, paginator and filter must not be bound to the eui-table component like in other sample.\n\n",
                    "description": "<p>Wheter the table uses async data.\nIn this configuration, pagination, filtering and sorting are managed by the backend.</p>\n<p>When data are async, paginator and filter must not be bound to the eui-table component like in other sample.</p>\n",
                    "line": 317,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isColsOrderable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 12189,
                            "end": 12209,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 12190,
                                "end": 12197,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWheter the cols can be reordered.\n\n",
                    "description": "<p>Wheter the cols can be reordered.</p>\n",
                    "line": 335,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isLoading",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 12362,
                            "end": 12382,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 12363,
                                "end": 12370,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWheter a loading spinner is displayed in the table.\n\n",
                    "description": "<p>Wheter a loading spinner is displayed in the table.</p>\n",
                    "line": 341,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isSelectOnlyVisibleRows",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 12639,
                            "end": 12658,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 12640,
                                "end": 12647,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWheter the 'select all' checkbox in the header will select ONLY items in the current page.\n\nIf `false`, all items across the pages will be selected.\n\n",
                    "description": "<p>Wheter the &#39;select all&#39; checkbox in the header will select ONLY items in the current page.</p>\n<p>If <code>false</code>, all items across the pages will be selected.</p>\n",
                    "line": 349,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isTableBordered",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 12805,
                            "end": 12825,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 12806,
                                "end": 12813,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the table use bordered styles.\n\n",
                    "description": "<p>Whether the table use bordered styles.</p>\n",
                    "line": 355,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isTableCompact",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 13239,
                            "end": 13259,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 13240,
                                "end": 13247,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the table use compact design.\n\n",
                    "description": "<p>Whether the table use compact design.</p>\n",
                    "line": 367,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isTableFixedLayout",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 13077,
                            "end": 13097,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 13078,
                                "end": 13085,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWheter the table has a fixed layout which forces a table to use fixed column widths, ignoring content size for faster and more predictable layout.\n\n",
                    "description": "<p>Wheter the table has a fixed layout which forces a table to use fixed column widths, ignoring content size for faster and more predictable layout.</p>\n",
                    "line": 361,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isTableResponsive",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 11235,
                            "end": 11255,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 11236,
                                "end": 11243,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWheter the table is reponsive.\n\n",
                    "description": "<p>Wheter the table is reponsive.</p>\n",
                    "line": 308,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isVirtualScroll",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 9579,
                            "end": 9599,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 9580,
                                "end": 9587,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWheter the table uses virtual scroll to display data.\n\n`eui-table` selector needs to be used in order to make virtual scroll working properly.\n\n",
                    "description": "<p>Wheter the table uses virtual scroll to display data.</p>\n<p><code>eui-table</code> selector needs to be used in order to make virtual scroll working properly.</p>\n",
                    "line": 269,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isVirtualScrollCache",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 9888,
                            "end": 9908,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 9889,
                                "end": 9896,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIn combination with `isVirtualScroll`. Wheter the table caches the data when scroll.\nMeans that if a scroll level has already loads data, the `scrollChange` event won't be emitted.\n\n",
                    "description": "<p>In combination with <code>isVirtualScroll</code>. Wheter the table caches the data when scroll.\nMeans that if a scroll level has already loads data, the <code>scrollChange</code> event won&#39;t be emitted.</p>\n",
                    "line": 276,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "itemSize",
                    "defaultValue": "41",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 8829,
                            "end": 8846,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8830,
                                "end": 8837,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>41</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIn combination with `isVirtualScroll`. Row height use by virtual scroll calculation.\n\n",
                    "description": "<p>In combination with <code>isVirtualScroll</code>. Row height use by virtual scroll calculation.</p>\n",
                    "line": 242,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "paginator",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 8953,
                            "end": 8988,
                            "kind": 345,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8954,
                                "end": 8958,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "type"
                            },
                            "comment": "",
                            "typeExpression": {
                                "pos": 8959,
                                "end": 8982,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 8960,
                                    "end": 8981,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 8960,
                                        "end": 8981,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "EuiPaginatorComponent"
                                    }
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\n`eui-paginator` reference passed to the table.\n\n",
                    "description": "<p><code>eui-paginator</code> reference passed to the table.</p>\n",
                    "line": 248,
                    "type": "EuiPaginatorComponent",
                    "decorators": []
                },
                {
                    "name": "preselectedRows",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 9304,
                            "end": 9347,
                            "kind": 345,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 9305,
                                "end": 9309,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "type"
                            },
                            "comment": "<p>Set of data to select.</p>\n",
                            "typeExpression": {
                                "pos": 9310,
                                "end": 9318,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 9311,
                                    "end": 9317,
                                    "kind": 189,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "elementType": {
                                        "pos": 9311,
                                        "end": 9315,
                                        "kind": 184,
                                        "id": 0,
                                        "flags": 16777216,
                                        "modifierFlagsCache": 0,
                                        "transformFlags": 1,
                                        "typeName": {
                                            "pos": 9311,
                                            "end": 9315,
                                            "kind": 80,
                                            "id": 0,
                                            "flags": 16777216,
                                            "transformFlags": 0,
                                            "escapedText": "DATA"
                                        }
                                    }
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nIn combination with `isDataSelectable`. Rows to be selected by default.\n\n",
                    "description": "<p>In combination with <code>isDataSelectable</code>. Rows to be selected by default.</p>\n",
                    "line": 260,
                    "type": "DATA[]",
                    "decorators": []
                },
                {
                    "name": "propId",
                    "defaultValue": "'id'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 8665,
                            "end": 8684,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 8666,
                                "end": 8673,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;id&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nUnicity criteria of the data.\n\n",
                    "description": "<p>Unicity criteria of the data.</p>\n",
                    "line": 236,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "virtualScrollAsyncItemsLength",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 11833,
                            "end": 11849,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 11834,
                                "end": 11841,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>0</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIn combination with `isVirtualScroll`. Total length of data that are displayed in the table with virtual scroll.\n\n",
                    "description": "<p>In combination with <code>isVirtualScroll</code>. Total length of data that are displayed in the table with virtual scroll.</p>\n",
                    "line": 323,
                    "type": "number",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "virtualScrollNbRows",
                    "defaultValue": "50",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 12037,
                            "end": 12054,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 12038,
                                "end": 12045,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>50</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIn combination with `isVirtualScroll`. Nb of data items to load in the table.\n\n",
                    "description": "<p>In combination with <code>isVirtualScroll</code>. Nb of data items to load in the table.</p>\n",
                    "line": 329,
                    "type": "number",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "rowsSelect",
                    "defaultValue": "new EventEmitter<DATA[]>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nIn combination with `isDataSelectable` on a row. Event emitted when the selection changes with an array of data.\n",
                    "description": "<p>In combination with <code>isDataSelectable</code> on a row. Event emitted when the selection changes with an array of data.</p>\n",
                    "line": 394,
                    "type": "EventEmitter"
                },
                {
                    "name": "scrollChange",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nIn combination with `isVirtualScroll`. Event emitted when a scroll is done.\n",
                    "description": "<p>In combination with <code>isVirtualScroll</code>. Event emitted when a scroll is done.</p>\n",
                    "line": 390,
                    "type": "EventEmitter"
                },
                {
                    "name": "sortChange",
                    "defaultValue": "new EventEmitter<Sort[]>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nIn combination with `isSortable` on the cols. Event emitted when the sort changes with the property displayed in the col and the order as `ASC` or `DESC`.\n",
                    "description": "<p>In combination with <code>isSortable</code> on the cols. Event emitted when the sort changes with the property displayed in the col and the order as <code>ASC</code> or <code>DESC</code>.</p>\n",
                    "line": 398,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "bodyTemplate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<literal type>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 370,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "captionTemplate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<HTMLElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 373,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "cdkVirtualScrollViewport",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "CdkVirtualScrollViewport",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 381,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'cdkVirtualScrollViewport', {static: false}"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ]
                },
                {
                    "name": "cdkVirtualScrollViewportElement",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 382,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'cdkVirtualScrollViewportElement', {static: false, read: ElementRef}"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ]
                },
                {
                    "name": "cdkVirtualScrollViewportOverflowValue",
                    "defaultValue": "'auto'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 377,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "dataRendered",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "DATA[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 376,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "footerTemplate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<HTMLElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 371,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "headerTemplate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<HTMLElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 369,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "loading",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 374,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "nbCols",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "HTMLTableCellElement[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 375,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "noDataTemplate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<HTMLElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 372,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "tbodyRef",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef<HTMLElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 384,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'tbodyRef'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "templates",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiTemplateDirective>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 379,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "EuiTemplateDirective"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "tfootRef",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef<HTMLElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 385,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'tfootRef'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "theadRef",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef<HTMLElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 383,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'theadRef'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "filterData",
                    "args": [
                        {
                            "name": "filter",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "r",
                            "type": "DATA[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "DATA[]",
                    "typeParameters": [],
                    "line": 694,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nFilters the table's data based on a string declared in `EuiTableFilterComponent`\n\n",
                    "description": "<p>Filters the table&#39;s data based on a string declared in <code>EuiTableFilterComponent</code></p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 28178,
                                "end": 28184,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "filter"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 28172,
                                "end": 28177,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>String to filter the data</p>\n"
                        },
                        {
                            "name": {
                                "pos": 28225,
                                "end": 28226,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "r"
                            },
                            "type": "DATA[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 28219,
                                "end": 28224,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Array of data to filter</p>\n"
                        },
                        {
                            "tagName": {
                                "pos": 28259,
                                "end": 28266,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>The set of data matching the filter</p>\n"
                        }
                    ]
                },
                {
                    "name": "getFilteredData",
                    "args": [],
                    "optional": false,
                    "returnType": "DATA[]",
                    "typeParameters": [],
                    "line": 674,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nReturn an array with the data matching the string filter\n",
                    "description": "<p>Return an array with the data matching the string filter</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "tagName": {
                                "pos": 27748,
                                "end": 27755,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": ""
                        }
                    ]
                },
                {
                    "name": "moveItem",
                    "args": [
                        {
                            "name": "itemId",
                            "type": "number | string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "fromIndex",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "toIndex",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 644,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMoves an element within the rendered data array.\n\n",
                    "description": "<p>Moves an element within the rendered data array.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 26733,
                                "end": 26739,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "itemId"
                            },
                            "type": "number | string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 26727,
                                "end": 26732,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The identifier (default: id) of the element to move.</li>\n</ul>\n"
                        },
                        {
                            "name": {
                                "pos": 26809,
                                "end": 26818,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "fromIndex"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 26803,
                                "end": 26808,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The current index of the element to move.</li>\n</ul>\n"
                        },
                        {
                            "name": {
                                "pos": 26877,
                                "end": 26884,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "toIndex"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 26871,
                                "end": 26876,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The new desired position for the element.</li>\n</ul>\n"
                        }
                    ]
                },
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 520,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 540,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "c",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 419,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "c",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 630,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 516,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "selectAllRows",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 659,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSelect all rows\n",
                    "description": "<p>Select all rows</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "setSort",
                    "args": [
                        {
                            "name": "sorts",
                            "type": "Sort[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 683,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSort the table's data.\n\n",
                    "description": "<p>Sort the table&#39;s data.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 27903,
                                "end": 27908,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "sorts"
                            },
                            "type": "Sort[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 27897,
                                "end": 27902,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>An array of SortOrder. See {@link SortOrder}</p>\n"
                        }
                    ]
                },
                {
                    "name": "trackByFn",
                    "args": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "number",
                    "typeParameters": [],
                    "line": 745,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "unselectAllRows",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 666,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUnselect all rows\n",
                    "description": "<p>Unselect all rows</p>\n",
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7345,
                            "end": 7462,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7346,
                                "end": 7357,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                        },
                        {
                            "pos": 7462,
                            "end": 7527,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7463,
                                "end": 7470,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 7471,
                                "end": 7479,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 7472,
                                    "end": 7478,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                    "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                    "line": 207,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "ScrollingModule",
                    "type": "module"
                },
                {
                    "name": "FormsModule",
                    "type": "module"
                },
                {
                    "name": "ReactiveFormsModule",
                    "type": "module"
                },
                {
                    "name": "TranslateModule",
                    "type": "module"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_SKELETON"
                },
                {
                    "name": "EUI_LIST"
                },
                {
                    "name": "EUI_ICON_INPUT"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_INPUT_TEXT"
                },
                {
                    "name": "EUI_INPUT_CHECKBOX"
                }
            ],
            "description": "<p>The <code>eui-table</code> component has been built to offer various requested features including fast performance and excellent level of control over tabular presentation of data.</p>\n<p>The eui-table is quite simple of usage and requires :</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-none\">- rows : the data value input as an array of objects, usually fetched from a service (data payload),\n- view : this is the template for the presentation with its various options such as the search filter, the paginator, sortable columns, etc.</code></pre></div><p>High-performance data table component with extensive features for tabular data presentation.\nSupports virtual scrolling for large datasets, pagination, sorting, filtering, and row selection.\nProvides sticky headers/footers/columns, responsive layouts, and async data loading.\nImplements customizable templates for headers, body rows, footers, and empty states.\nCommonly used for data grids, reports, dashboards, and any structured data display requiring advanced table functionality.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;table euiTable [data]=&quot;data&quot; isTableCompact&gt;\n    &lt;ng-template euiTemplate=&quot;header&quot;&gt;\n        &lt;tr&gt;\n            &lt;th&gt;Country&lt;/th&gt;\n            &lt;th&gt;Year&lt;/th&gt;\n            &lt;th&gt;ISO&lt;/th&gt;\n            &lt;th&gt;Population&lt;/th&gt;\n            &lt;th&gt;Capital city&lt;/th&gt;\n        &lt;/tr&gt;\n    &lt;/ng-template&gt;\n    &lt;ng-template let-row euiTemplate=&quot;body&quot;&gt;\n        &lt;tr&gt;\n            &lt;td&gt;{{ row.country }}&lt;/td&gt;\n            &lt;td&gt;{{ row.year }}&lt;/td&gt;\n            &lt;td&gt;{{ row.iso }}&lt;/td&gt;\n            &lt;td&gt;{{ row.population | number }}&lt;/td&gt;\n            &lt;td&gt;{{ row.capital }}&lt;/td&gt;\n        &lt;/tr&gt;\n    &lt;/ng-template&gt;\n    &lt;ng-template euiTemplate=&quot;footer&quot;&gt;\n        &lt;tr&gt;\n            &lt;td class=&quot;eui-u-text-center&quot; colspan=&quot;5&quot;&gt;Footer&lt;/td&gt;\n        &lt;/tr&gt;\n    &lt;/ng-template&gt;\n&lt;/table&gt;</code></pre></div><p>Typescript logic</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">data: Country[] = [\n    { id: 1, country: &#39;Belgium&#39;, year: 1958, iso: &#39;BE&#39;, population: 11198638, capital: &#39;Brussels&#39; },\n]</code></pre></div><h3>With Pagination and Selection and template when no data</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;table euiTable isTableResponsive [data]=&quot;data&quot; [paginator]=&quot;paginator&quot; (rowsSelect)=&quot;onRowsSelect($event)&quot;&gt;\n    &lt;ng-template euiTemplate=&quot;header&quot;&gt;\n        &lt;tr [isHeaderSelectable]=&quot;hasSelectionFeature&quot;&gt;\n            &lt;th&gt;Country&lt;/th&gt;\n            &lt;th&gt;Year&lt;/th&gt;\n            &lt;th&gt;ISO&lt;/th&gt;\n            &lt;th&gt;Population&lt;/th&gt;\n            &lt;th&gt;Capital city&lt;/th&gt;\n        &lt;/tr&gt;\n    &lt;/ng-template&gt;\n    &lt;ng-template let-row euiTemplate=&quot;body&quot;&gt;\n        &lt;tr [isDataSelectable]=&quot;row&quot;&gt;\n            &lt;td data-col-label=&quot;Country&quot;&gt;{{ row.country }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;Year&quot;&gt;{{ row.year }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;ISO&quot;&gt;{{ row.iso }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;Population&quot;&gt;{{ row.population | number }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;Capital city&quot;&gt;{{ row.capital }}&lt;/td&gt;\n        &lt;/tr&gt;\n    &lt;/ng-template&gt;\n    &lt;ng-template euiTemplate=&quot;footer&quot;&gt;\n        &lt;tr&gt;\n            &lt;td class=&quot;eui-u-text-center&quot; colspan=&quot;5&quot;&gt;Footer&lt;/td&gt;\n        &lt;/tr&gt;\n    &lt;/ng-template&gt;\n    &lt;ng-template let-row euiTemplate=&quot;noData&quot;&gt;\n        &lt;tr&gt;\n            &lt;td class=&quot;eui-u-text-center&quot; colspan=&quot;5&quot;&gt;There are currently no data to display&lt;/td&gt;\n        &lt;/tr&gt;\n    &lt;/ng-template&gt;\n&lt;/table&gt;\n&lt;eui-paginator #paginator [pageSizeOptions]=&quot;[5, 10, 25, 50]&quot; [pageSize]=&quot;10&quot; (pageChange)=&quot;onPageChange($event)&quot; [isHidden]=&quot;!hasPagination&quot;&gt;&lt;/eui-paginator&gt;</code></pre></div><p>Typescript logic</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">data: Country[] = [\n    { id: 1, country: &#39;Belgium&#39;, year: 1958, iso: &#39;BE&#39;, population: 11198638, capital: &#39;Brussels&#39; },\n]\n\nonRowsSelect(selected: Country[]): void {\n    console.log(selected);\n}</code></pre></div><h3>Imports</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">import { EUI_TABLE } from &#39;&#64;eui/components/eui-table&#39;;\nimport { EuiTemplateDirective } from &#39;&#64;eui/components/directives&#39;;\n\nimports: [...EUI_TABLE, EuiTemplateDirective]</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use semantic table elements (thead, tbody, tfoot, th, td)</li>\n<li>Provide scope=&quot;col&quot; or scope=&quot;row&quot; on header cells</li>\n<li>Use caption element to describe table purpose</li>\n<li>Ensure sufficient color contrast for text and borders</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Virtual scrolling improves performance for large datasets (1000+ rows)</li>\n<li>Sticky headers/footers/columns require explicit height on container</li>\n<li>Use [isTableCompact]=&quot;true&quot; for dense data display</li>\n<li>Sortable columns require isSortable directive on th elements</li>\n</ul>\n",
            "rawdescription": "\n\nThe `eui-table` component has been built to offer various requested features including fast performance and excellent level of control over tabular presentation of data.\n\nThe eui-table is quite simple of usage and requires :\n\n    - rows : the data value input as an array of objects, usually fetched from a service (data payload),\n    - view : this is the template for the presentation with its various options such as the search filter, the paginator, sortable columns, etc.\n\nHigh-performance data table component with extensive features for tabular data presentation.\nSupports virtual scrolling for large datasets, pagination, sorting, filtering, and row selection.\nProvides sticky headers/footers/columns, responsive layouts, and async data loading.\nImplements customizable templates for headers, body rows, footers, and empty states.\nCommonly used for data grids, reports, dashboards, and any structured data display requiring advanced table functionality.\n\n### Basic Usage\n```html\n<table euiTable [data]=\"data\" isTableCompact>\n    <ng-template euiTemplate=\"header\">\n        <tr>\n            <th>Country</th>\n            <th>Year</th>\n            <th>ISO</th>\n            <th>Population</th>\n            <th>Capital city</th>\n        </tr>\n    </ng-template>\n    <ng-template let-row euiTemplate=\"body\">\n        <tr>\n            <td>{{ row.country }}</td>\n            <td>{{ row.year }}</td>\n            <td>{{ row.iso }}</td>\n            <td>{{ row.population | number }}</td>\n            <td>{{ row.capital }}</td>\n        </tr>\n    </ng-template>\n    <ng-template euiTemplate=\"footer\">\n        <tr>\n            <td class=\"eui-u-text-center\" colspan=\"5\">Footer</td>\n        </tr>\n    </ng-template>\n</table>\n```\nTypescript logic\n```ts\ndata: Country[] = [\n    { id: 1, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n]\n```\n\n### With Pagination and Selection and template when no data\n```html\n<table euiTable isTableResponsive [data]=\"data\" [paginator]=\"paginator\" (rowsSelect)=\"onRowsSelect($event)\">\n    <ng-template euiTemplate=\"header\">\n        <tr [isHeaderSelectable]=\"hasSelectionFeature\">\n            <th>Country</th>\n            <th>Year</th>\n            <th>ISO</th>\n            <th>Population</th>\n            <th>Capital city</th>\n        </tr>\n    </ng-template>\n    <ng-template let-row euiTemplate=\"body\">\n        <tr [isDataSelectable]=\"row\">\n            <td data-col-label=\"Country\">{{ row.country }}</td>\n            <td data-col-label=\"Year\">{{ row.year }}</td>\n            <td data-col-label=\"ISO\">{{ row.iso }}</td>\n            <td data-col-label=\"Population\">{{ row.population | number }}</td>\n            <td data-col-label=\"Capital city\">{{ row.capital }}</td>\n        </tr>\n    </ng-template>\n    <ng-template euiTemplate=\"footer\">\n        <tr>\n            <td class=\"eui-u-text-center\" colspan=\"5\">Footer</td>\n        </tr>\n    </ng-template>\n    <ng-template let-row euiTemplate=\"noData\">\n        <tr>\n            <td class=\"eui-u-text-center\" colspan=\"5\">There are currently no data to display</td>\n        </tr>\n    </ng-template>\n</table>\n<eui-paginator #paginator [pageSizeOptions]=\"[5, 10, 25, 50]\" [pageSize]=\"10\" (pageChange)=\"onPageChange($event)\" [isHidden]=\"!hasPagination\"></eui-paginator>\n```\nTypescript logic\n```ts\ndata: Country[] = [\n    { id: 1, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n]\n\nonRowsSelect(selected: Country[]): void {\n    console.log(selected);\n}\n```\n\n### Imports\n ```ts\nimport { EUI_TABLE } from '@eui/components/eui-table';\nimport { EuiTemplateDirective } from '@eui/components/directives';\n\nimports: [...EUI_TABLE, EuiTemplateDirective]\n```\n\n### Accessibility\n- Use semantic table elements (thead, tbody, tfoot, th, td)\n- Provide scope=\"col\" or scope=\"row\" on header cells\n- Use caption element to describe table purpose\n- Ensure sufficient color contrast for text and borders\n\n### Notes\n- Virtual scrolling improves performance for large datasets (1000+ rows)\n- Sticky headers/footers/columns require explicit height on container\n- Use [isTableCompact]=\"true\" for dense data display\n- Sortable columns require isSortable directive on th elements\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    Input,\n    ContentChildren,\n    QueryList,\n    AfterContentInit,\n    TemplateRef,\n    ViewChild,\n    AfterViewInit,\n    ElementRef,\n    booleanAttribute,\n    HostBinding,\n    ViewEncapsulation,\n    ChangeDetectionStrategy,\n    OnDestroy,\n    OnInit,\n    Output,\n    EventEmitter,\n    SimpleChanges,\n    OnChanges,\n    numberAttribute,\n    ChangeDetectorRef,\n    Renderer2,\n    inject,\n} from '@angular/core';\nimport { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrolling';\nimport { BehaviorSubject, Observable, Subject, Subscription, combineLatest, debounceTime, skip, takeUntil } from 'rxjs';\nimport { ListRange } from '@angular/cdk/collections';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { EUI_SKELETON } from '@eui/components/eui-skeleton';\nimport { EUI_INPUT_CHECKBOX } from '@eui/components/eui-input-checkbox';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_LIST } from '@eui/components/eui-list';\nimport { EUI_ICON_INPUT } from '@eui/components/eui-icon-input';\n\nimport { EuiPaginationEvent, EuiPaginatorComponent } from '@eui/components/eui-paginator';\nimport { EuiTemplateDirective } from '@eui/components/directives';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiTableSelectableRowService } from './services/eui-table-selectable-row.service';\nimport { EuiTableFilterComponent } from './filter/eui-table-filter.component';\nimport { EuiTableSortService } from './services/eui-table-sort.service';\nimport { Sort, SortOrder } from './models/sort.model';\n\nexport enum ScrollinDirection {\n    UP = 'UP',\n    DOWN = 'DOWN',\n}\n\n/**\n * @description\n * The `eui-table` component has been built to offer various requested features including fast performance and excellent level of control over tabular presentation of data.\n *\n * The eui-table is quite simple of usage and requires :\n *\n *     - rows : the data value input as an array of objects, usually fetched from a service (data payload),\n *     - view : this is the template for the presentation with its various options such as the search filter, the paginator, sortable columns, etc.\n * \n * High-performance data table component with extensive features for tabular data presentation.\n * Supports virtual scrolling for large datasets, pagination, sorting, filtering, and row selection.\n * Provides sticky headers/footers/columns, responsive layouts, and async data loading.\n * Implements customizable templates for headers, body rows, footers, and empty states.\n * Commonly used for data grids, reports, dashboards, and any structured data display requiring advanced table functionality.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <table euiTable [data]=\"data\" isTableCompact>\n *     <ng-template euiTemplate=\"header\">\n *         <tr>\n *             <th>Country</th>\n *             <th>Year</th>\n *             <th>ISO</th>\n *             <th>Population</th>\n *             <th>Capital city</th>\n *         </tr>\n *     </ng-template>\n *     <ng-template let-row euiTemplate=\"body\">\n *         <tr>\n *             <td>{{ row.country }}</td>\n *             <td>{{ row.year }}</td>\n *             <td>{{ row.iso }}</td>\n *             <td>{{ row.population | number }}</td>\n *             <td>{{ row.capital }}</td>\n *         </tr>\n *     </ng-template>\n *     <ng-template euiTemplate=\"footer\">\n *         <tr>\n *             <td class=\"eui-u-text-center\" colspan=\"5\">Footer</td>\n *         </tr>\n *     </ng-template>\n * </table>\n * ```\n * Typescript logic\n * ```ts\n * data: Country[] = [\n *     { id: 1, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n * ]\n * ```\n *\n * ### With Pagination and Selection and template when no data\n * ```html\n * <table euiTable isTableResponsive [data]=\"data\" [paginator]=\"paginator\" (rowsSelect)=\"onRowsSelect($event)\">\n *     <ng-template euiTemplate=\"header\">\n *         <tr [isHeaderSelectable]=\"hasSelectionFeature\">\n *             <th>Country</th>\n *             <th>Year</th>\n *             <th>ISO</th>\n *             <th>Population</th>\n *             <th>Capital city</th>\n *         </tr>\n *     </ng-template>\n *     <ng-template let-row euiTemplate=\"body\">\n *         <tr [isDataSelectable]=\"row\">\n *             <td data-col-label=\"Country\">{{ row.country }}</td>\n *             <td data-col-label=\"Year\">{{ row.year }}</td>\n *             <td data-col-label=\"ISO\">{{ row.iso }}</td>\n *             <td data-col-label=\"Population\">{{ row.population | number }}</td>\n *             <td data-col-label=\"Capital city\">{{ row.capital }}</td>\n *         </tr>\n *     </ng-template>\n *     <ng-template euiTemplate=\"footer\">\n *         <tr>\n *             <td class=\"eui-u-text-center\" colspan=\"5\">Footer</td>\n *         </tr>\n *     </ng-template>\n *     <ng-template let-row euiTemplate=\"noData\">\n *         <tr>\n *             <td class=\"eui-u-text-center\" colspan=\"5\">There are currently no data to display</td>\n *         </tr>\n *     </ng-template>\n * </table>\n * <eui-paginator #paginator [pageSizeOptions]=\"[5, 10, 25, 50]\" [pageSize]=\"10\" (pageChange)=\"onPageChange($event)\" [isHidden]=\"!hasPagination\"></eui-paginator>\n * ```\n * Typescript logic\n * ```ts\n * data: Country[] = [\n *     { id: 1, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n * ]\n * \n * onRowsSelect(selected: Country[]): void {\n *     console.log(selected);\n * }\n * ```\n *\n * ### Imports\n *  ```ts\n * import { EUI_TABLE } from '@eui/components/eui-table';\n * import { EuiTemplateDirective } from '@eui/components/directives';\n * \n * imports: [...EUI_TABLE, EuiTemplateDirective]\n * ```\n * \n * ### Accessibility\n * - Use semantic table elements (thead, tbody, tfoot, th, td)\n * - Provide scope=\"col\" or scope=\"row\" on header cells\n * - Use caption element to describe table purpose\n * - Ensure sufficient color contrast for text and borders\n *\n * ### Notes\n * - Virtual scrolling improves performance for large datasets (1000+ rows)\n * - Sticky headers/footers/columns require explicit height on container\n * - Use [isTableCompact]=\"true\" for dense data display\n * - Sortable columns require isSortable directive on th elements\n */\n@Component({\n    selector: 'eui-table, table[euiTable]',\n    templateUrl: './eui-table.component.html',\n    styleUrls: ['./styles/_index.scss'],\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        NgTemplateOutlet,\n        ScrollingModule,\n        FormsModule,\n        ReactiveFormsModule,\n        TranslateModule,\n        ...EUI_ICON,\n        ...EUI_SKELETON,\n        ...EUI_LIST,\n        ...EUI_ICON_INPUT,\n        ...EUI_BUTTON,\n        ...EUI_INPUT_TEXT,\n        ...EUI_INPUT_CHECKBOX,\n    ],\n    providers: [EuiTableSelectableRowService, EuiTableSortService],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [],\n        },\n    ],\n})\nexport class EuiTableComponent<DATA = unknown> implements AfterContentInit, AfterViewInit, OnDestroy, OnInit, OnChanges {\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    public get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-table-default eui-table'),\n            this.isVirtualScroll ? 'eui-table--virtual-scroll' : '',\n            this.hasStickyHeader ? 'eui-table--sticky eui-table--sticky-header' : '',\n            this.hasStickyFooter ? 'eui-table--sticky eui-table--sticky-footer' : '',\n            this.hasStickyCols ? 'eui-table--sticky eui-table--sticky-cols' : '',\n            this.isTableResponsive ? 'eui-table-default--responsive' : '',\n            this.isColsOrderable ? 'eui-table--cols-orderable' : '',\n            this.isLoading ? 'eui-table--loading' : '',\n            this.isTableFixedLayout ? 'eui-table--fixed-layout' : '',\n            this.isTableBordered ? 'eui-table--bordered' : '',\n            this.isTableCompact? 'eui-table--compact' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * Data to display in the table.\n     *\n     * @type {DATA[]} Generic type of data\n     */\n    @Input() data: DATA[] = [];\n    /**\n     * Unicity criteria of the data.\n     *\n     * @default 'id'\n     */\n    @Input() propId = 'id';\n    /**\n     * In combination with `isVirtualScroll`. Row height use by virtual scroll calculation.\n     *\n     * @default 41\n     */\n    @Input() itemSize = 41;\n    /**\n     * `eui-paginator` reference passed to the table.\n     *\n     * @type {EuiPaginatorComponent}\n     */\n    @Input() paginator: EuiPaginatorComponent;\n    /**\n     * `eui-table-filter` reference passed to the table.\n     *\n     * @type {EuiTableFilterComponent}\n     */\n    @Input() filter: EuiTableFilterComponent;\n    /**\n     * In combination with `isDataSelectable`. Rows to be selected by default.\n     *\n     * @type {DATA[]} Set of data to select.\n     */\n    @Input() preselectedRows: DATA[] = [];\n\n    /**\n     * Wheter the table uses virtual scroll to display data.\n     *\n     * `eui-table` selector needs to be used in order to make virtual scroll working properly.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isVirtualScroll = false;\n    /**\n     * In combination with `isVirtualScroll`. Wheter the table caches the data when scroll.\n     * Means that if a scroll level has already loads data, the `scrollChange` event won't be emitted.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isVirtualScrollCache = false;\n    /**\n     * Wheter the table header is sticky.\n     * In order to use eui-table sticky feature and control the scrolling overflow,\n     * we recommend to wrap the table with the provided eui-table__scrollable-wrapper class and set your custom table width and/or height.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasStickyHeader = false;\n    /**\n     * Wheter the table footer is sticky.\n     * In order to use eui-table sticky feature and control the scrolling overflow,\n     * we recommend to wrap the table with the provided eui-table__scrollable-wrapper class and set your custom table width and/or height.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasStickyFooter = false;\n    /**\n     * Wheter the table col is sticky.\n     * In order to use eui-table sticky feature and control the scrolling overflow,\n     * we recommend to wrap the table with the provided eui-table__scrollable-wrapper class and set your custom table width and/or height.\n     *\n     * Only first or latest columns can be sticky.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasStickyCols = false;\n    /**\n     * Wheter the table is reponsive.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isTableResponsive = false;\n    /**\n     * Wheter the table uses async data.\n     * In this configuration, pagination, filtering and sorting are managed by the backend.\n     *\n     * When data are async, paginator and filter must not be bound to the eui-table component like in other sample.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isAsync = false;\n    /**\n     * In combination with `isVirtualScroll`. Total length of data that are displayed in the table with virtual scroll.\n     *\n     * @default 0\n     */\n    @Input({ transform: numberAttribute }) virtualScrollAsyncItemsLength = 0;\n    /**\n     * In combination with `isVirtualScroll`. Nb of data items to load in the table.\n     *\n     * @default 50\n     */\n    @Input({ transform: numberAttribute }) virtualScrollNbRows = 50;\n    /**\n     * Wheter the cols can be reordered.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isColsOrderable = false;\n    /**\n     * Wheter a loading spinner is displayed in the table.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isLoading = false;\n    /**\n     * Wheter the 'select all' checkbox in the header will select ONLY items in the current page.\n     *\n     * If `false`, all items across the pages will be selected.\n     *\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isSelectOnlyVisibleRows = true;\n    /**\n     * Whether the table use bordered styles.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isTableBordered = false;    \n    /**\n     * Wheter the table has a fixed layout which forces a table to use fixed column widths, ignoring content size for faster and more predictable layout.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isTableFixedLayout = false;\n    /**\n     * Whether the table use compact design.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isTableCompact = false;\n\n    protected headerTemplate: TemplateRef<HTMLElement>;\n    protected bodyTemplate: TemplateRef<{ $implicit: DATA; index: number }>;\n    protected footerTemplate: TemplateRef<HTMLElement>;\n    protected noDataTemplate: TemplateRef<HTMLElement>;\n    protected captionTemplate: TemplateRef<HTMLElement>;\n    protected loading = [];\n    protected nbCols: HTMLTableCellElement[] = [];\n    protected dataRendered: DATA[] = [];\n    protected cdkVirtualScrollViewportOverflowValue: ('hidden' | 'auto') = 'auto';\n\n    @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n    @ViewChild('cdkVirtualScrollViewport', { static: false }) protected cdkVirtualScrollViewport: CdkVirtualScrollViewport;\n    @ViewChild('cdkVirtualScrollViewportElement', { static: false, read: ElementRef }) protected cdkVirtualScrollViewportElement: ElementRef;\n    @ViewChild('theadRef') theadRef: ElementRef<HTMLElement>;\n    @ViewChild('tbodyRef') tbodyRef: ElementRef<HTMLElement>;\n    @ViewChild('tfootRef') tfootRef: ElementRef<HTMLElement>;\n\n    /**\n     * In combination with `isVirtualScroll`. Event emitted when a scroll is done.\n     */\n    @Output() scrollChange = new EventEmitter();\n    /**\n     * In combination with `isDataSelectable` on a row. Event emitted when the selection changes with an array of data.\n     */\n    @Output() rowsSelect = new EventEmitter<DATA[]>();\n    /**\n     * In combination with `isSortable` on the cols. Event emitted when the sort changes with the property displayed in the col and the order as `ASC` or `DESC`.\n     */\n    @Output() sortChange = new EventEmitter<Sort[]>();\n\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private virtualScrollLastMultiple = 0;\n    private virtualScrollSpliceFrom = 0;\n    private scrolledIndex = 0;\n    private nbItemDisplayed = 0;\n    private scrollingDirection: ScrollinDirection;\n    private mutationObserver: MutationObserver;\n    private dataSrc: DATA[] = [];\n    private page = 0;\n    private pageSize = 0;\n    private tableFeaturesHandlerSubscription = new Subscription();\n    private filteredData: DATA[] = [];\n    private elementRef = inject(ElementRef);\n    private cd = inject(ChangeDetectorRef);\n    private euiTableSelectableRowService = inject<EuiTableSelectableRowService<DATA>>(EuiTableSelectableRowService);\n    private euiTableSortService = inject(EuiTableSortService);\n    private baseStatesDirective = inject(BaseStatesDirective);\n    private renderer = inject(Renderer2);\n\n    ngOnChanges(c: SimpleChanges): void {\n        if (!this.data) {\n            this.data = [];\n        }\n\n        this.euiTableSelectableRowService.setPropId(this.propId);\n        if (this.isVirtualScroll) {\n            if (c.data && c.data.isFirstChange()) {\n                this.dataRendered = [...c.data.currentValue, ...Array.from({ length: this.virtualScrollAsyncItemsLength - c.data.currentValue.length })];\n\n                this.euiTableSelectableRowService.unregisterRows();\n                this.euiTableSelectableRowService.registerRows(this.dataRendered);\n            }\n\n            if (c.data && !c.data.isFirstChange()) {\n                if (this.isAsync) {\n                    const source = [...this.dataRendered];\n                    if (this.isVirtualScrollCache) {\n                        this.dataRendered = [...source.slice(0, this.virtualScrollSpliceFrom), ...c.data.currentValue, ...source.slice(this.virtualScrollSpliceFrom + this.virtualScrollNbRows)];\n                    } else {\n                        this.dataRendered = [\n                            ...Array.from({ length: this.virtualScrollSpliceFrom - this.nbItemDisplayed }),\n                            ...source.slice(this.virtualScrollSpliceFrom - this.nbItemDisplayed, this.virtualScrollSpliceFrom),\n                            ...c.data.currentValue,\n                            ...source.slice(this.virtualScrollSpliceFrom + this.virtualScrollNbRows, this.virtualScrollSpliceFrom + this.virtualScrollNbRows + this.nbItemDisplayed),\n                            ...Array.from({ length: this.virtualScrollAsyncItemsLength - (this.virtualScrollSpliceFrom + this.virtualScrollNbRows + this.nbItemDisplayed) }),\n                        ];\n                    }\n\n                    if (c && c.virtualScrollAsyncItemsLength) {\n                        if (c.virtualScrollAsyncItemsLength.previousValue > c.virtualScrollAsyncItemsLength.currentValue) {\n                            this.dataRendered = this.dataRendered.slice(0, c.virtualScrollAsyncItemsLength.currentValue);\n                        } else {\n                            this.dataRendered = [...c.data.currentValue, ...Array.from({ length: this.virtualScrollAsyncItemsLength - c.data.currentValue.length })];\n                        }\n                    }\n\n                    this.euiTableSelectableRowService.unregisterRows();\n                    this.euiTableSelectableRowService.registerRows(this.dataRendered);\n\n                    if (this.scrollingDirection === ScrollinDirection.DOWN) {\n                        if ((this.hasUndefinedInRange(this.scrolledIndex, this.nbItemDisplayed, this.dataRendered) !== -1 ||\n                            this.scrolledIndex === this.virtualScrollSpliceFrom &&\n                            !this.dataRendered[this.scrolledIndex - 1]) &&\n                            this.hasUndefinedInRange(this.scrolledIndex, this.nbItemDisplayed, this.dataRendered) !== this.dataRendered.length\n                            ) {\n                            // console.log('reposition down')\n                            this.cdkVirtualScrollViewport.scrollToIndex(this.virtualScrollSpliceFrom + 1);\n                        }\n                    }\n\n                    if (this.scrollingDirection === ScrollinDirection.UP) {\n                        if (this.hasUndefinedInRange(this.scrolledIndex, this.nbItemDisplayed, this.dataRendered) !== -1) {\n                            // console.log('reposition up')\n                            this.cdkVirtualScrollViewport.scrollToIndex(this.virtualScrollSpliceFrom + 1);\n                        }\n                    }\n\n                    this.stickyFeatureHandler();\n                }\n            }\n        } else {\n            if (c && c.data) {\n                const lengthChanged = this.dataSrc.length !== c.data.currentValue?.length;\n                this.dataSrc = c.data.currentValue ? [...c.data.currentValue] : [];\n\n                if (this.paginator && lengthChanged) {\n                    this.paginator.goFirstPage({ emitEvent: !c.data.firstChange });\n                }\n\n                this.euiTableSelectableRowService.registerRows(this.dataSrc);\n\n                if (!this.isAsync && !c.data.isFirstChange()) {\n                    this.tableFeaturesHandlerSubscription.unsubscribe();\n                    this.tableFeaturesHandler();\n                }\n            }\n            if (c && c.paginator?.currentValue) {\n                this.paginator.setLength(this.data.length);\n                if (!c.paginator?.isFirstChange()) {\n                    this.paginator.goFirstPage({ emitEvent: false });\n                }\n            } else {\n                // this.data can be changed anytime, then this else can be executed at that time, testing this.paginator allows to make sure\n                // the user wants to disable pagination or change the datasource\n                if (!this.paginator) {\n                    this.dataRendered = this.dataSrc;\n                    this.page = 0;\n                }\n            }\n        }\n\n        if (c && c.preselectedRows && !c.preselectedRows.isFirstChange()) {\n            this.euiTableSelectableRowService.selectRows(c.preselectedRows.currentValue);\n        }\n    }\n\n    ngOnInit(): void {\n        this.dataSrc = [...this.data];\n    }\n\n    ngAfterContentInit(): void {\n        this.templates.forEach((item) => {\n            if (item.getType() === 'header') {\n                this.headerTemplate = item.template;\n            }\n            if (item.getType() === 'body') {\n                this.bodyTemplate = item.template;\n            }\n            if (item.getType() === 'footer') {\n                this.footerTemplate = item.template;\n            }\n            if (item.getType() === 'noData') {\n                this.noDataTemplate = item.template;\n            }\n            if (item.getType() === 'caption') {\n                this.captionTemplate = item.template;\n            }\n        });\n    }\n\n    ngAfterViewInit(): void {\n        this.stickyFeatureHandler();\n\n        if (this.isVirtualScroll) {\n            this.cdkVirtualScrollViewport?.renderedRangeStream\n                .pipe(debounceTime(500), takeUntil(this.destroy$))\n                .subscribe((listRange: ListRange) => {\n                    this.stickyFeatureHandler();\n                });\n\n            const theadElements = Array.from(this.theadRef.nativeElement.querySelectorAll('th'));\n            this.nbCols = new Array(theadElements.length);\n\n            this.cdkVirtualScrollViewport.scrolledIndexChange\n                .pipe(debounceTime(500), takeUntil(this.destroy$), skip(1))\n                .subscribe((scrolledIndex: number) => {\n                    if (this.isAsync) {\n                        this.scrollingDirection = scrolledIndex > this.scrolledIndex ? ScrollinDirection.DOWN : ScrollinDirection.UP;\n                        this.scrolledIndex = scrolledIndex;\n\n                        this.cdkVirtualScrollViewport.setTotalContentSize(this.virtualScrollAsyncItemsLength * this.itemSize);\n\n                        const scrollOffset = this.cdkVirtualScrollViewport.measureScrollOffset('top');\n                        const endIndex = Math.ceil((scrollOffset + this.cdkVirtualScrollViewport.getViewportSize()) / this.itemSize);\n                        this.nbItemDisplayed = endIndex - scrolledIndex;\n                        const virtualScrollCurrentMultiple = Math.floor((scrolledIndex + this.nbItemDisplayed) / this.virtualScrollNbRows);\n\n                        if (this.dataRendered[scrolledIndex] || (this.scrollingDirection === ScrollinDirection.UP && this.dataRendered[scrolledIndex - 1])) {\n                            // console.log('virtualScrollCurrentMultiple', virtualScrollCurrentMultiple)\n                            // console.log('this.virtualScrollLastMultiple', this.virtualScrollLastMultiple)\n                            // console.log('virtualScrollCurrentMultiple > this.virtualScrollLastMultiple', virtualScrollCurrentMultiple > this.virtualScrollLastMultiple)\n\n                            if (virtualScrollCurrentMultiple > this.virtualScrollLastMultiple) {\n                                this.virtualScrollSpliceFrom = virtualScrollCurrentMultiple * this.virtualScrollNbRows;\n                                this.scrollChange.emit({ start: virtualScrollCurrentMultiple * this.virtualScrollNbRows, end: this.virtualScrollNbRows });\n                            }\n                        } else {\n                            this.virtualScrollSpliceFrom = this.roundDown(scrolledIndex, this.virtualScrollNbRows);\n                            this.scrollChange.emit({ start: this.virtualScrollSpliceFrom, end: this.virtualScrollNbRows });\n                        }\n\n                        this.virtualScrollLastMultiple = virtualScrollCurrentMultiple;\n                    }\n                });\n        }\n\n        if (this.cdkVirtualScrollViewportElement) {\n            this.cdkVirtualScrollViewportElement.nativeElement.style.height = this.cdkVirtualScrollViewport.elementRef.nativeElement.parentElement.clientHeight + 'px';\n        }\n\n        const mutationObservable = new Observable<MutationRecord[]>((observer) => {\n            this.mutationObserver = new MutationObserver((mutations) => {\n                const filteredMutations = mutations.filter((mutation) => {\n                    return (\n                        mutation.target instanceof HTMLElement &&\n                        mutation.target.tagName.toLowerCase() === 'th' &&\n                        mutation.attributeName === 'style'\n                    );\n                });\n\n                if (filteredMutations.length > 0) {\n                    observer.next(filteredMutations);\n                }\n            });\n\n            if (this.theadRef) {\n                const config = { attributes: true, subtree: true, attributeFilter: ['style'] };\n                this.mutationObserver.observe(this.theadRef.nativeElement, config);\n            }\n        });\n\n        mutationObservable.pipe(debounceTime(250), takeUntil(this.destroy$)).subscribe((mutations) => {\n            this.stickyFeatureHandler();\n        });\n\n        if (!this.isAsync && !this.isVirtualScroll) {\n            this.tableFeaturesHandlerSubscription.unsubscribe();\n            this.tableFeaturesHandler();\n\n            if (this.preselectedRows) {\n                setTimeout(() => {\n                    this.euiTableSelectableRowService.selectRows(this.preselectedRows);\n                });\n            }\n        }\n\n        this.selectRowsFeatureHandler();\n        this.sortFeatureHandler();\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n        this.mutationObserver?.disconnect();\n        this.tableFeaturesHandlerSubscription.unsubscribe();\n    }\n\n    /**\n     * Moves an element within the rendered data array.\n     *\n     * @param itemId - The identifier (default: id) of the element to move.\n     * @param fromIndex - The current index of the element to move.\n     * @param toIndex - The new desired position for the element.\n     */\n    public moveItem(itemId: number | string, fromIndex: number, toIndex: number): void {\n        const itemPosition = this.dataRendered.findIndex(d => d && d[this.propId] === itemId);\n        const move = toIndex - fromIndex;\n\n        const source = [...this.dataRendered];\n        const [elementToMove] = source.splice(itemPosition, 1);\n\n        source.splice(itemPosition + move, 0, elementToMove);\n\n        this.dataRendered = source;\n    }\n\n    /**\n     * Select all rows\n     */\n    public selectAllRows(): void {\n        this.euiTableSelectableRowService.selectAllRows();\n    }\n\n    /**\n     * Unselect all rows\n     */\n    public unselectAllRows(): void {\n        this.euiTableSelectableRowService.unselectAllRows();\n    }\n\n    /**\n     * Return an array with the data matching the string filter\n     * @returns\n     */\n    public getFilteredData(): DATA[] {\n        return this.filteredData;\n    }\n\n    /**\n     * Sort the table's data.\n     *\n     * @param sorts An array of SortOrder. See {@link SortOrder}\n     */\n    public setSort(sorts: Sort[]): void {\n        this.euiTableSortService.setSorts(sorts);\n    }\n\n    /**\n     * Filters the table's data based on a string declared in `EuiTableFilterComponent`\n     *\n     * @param filter String to filter the data\n     * @param r Array of data to filter\n     * @returns The set of data matching the filter\n     */\n    public filterData(filter: string, r: DATA[]): DATA[] {\n        const rows = filter ?\n            r.filter((row) => {\n                  const matching = this.getProps(row, filter).filter((p) => p.match === true);\n                  return matching?.length > 0;\n            }) : r;\n\n        this.euiTableSelectableRowService.unregisterRows();\n        this.euiTableSelectableRowService.registerRows(rows);\n\n        this.filteredData = rows;\n\n        return rows;\n    }\n\n    /**\n     * Get the top position in px of the sticky header.\n     */\n    protected get stickyHeaderTopPosition(): string {\n        if (!this.cdkVirtualScrollViewport || !this.cdkVirtualScrollViewport['_renderedContentOffset']) {\n            return '0';\n        }\n\n        return (-this.cdkVirtualScrollViewport['_renderedContentOffset'] - 1) + 'px';\n    }\n\n    /**\n     * Get the bottom position in px of the sticky footer.\n     */\n    protected get stickyFooterBottomPosition(): string {\n        if (!this.cdkVirtualScrollViewport || !this.cdkVirtualScrollViewport['_renderedContentOffset']) {\n            return '-1px';\n        }\n\n        return this.cdkVirtualScrollViewport['_renderedContentOffset'] - 1 + 'px';\n    }\n\n    /**\n     * Get the width in px of the viewport in which the table is.\n     */\n    protected get cdkVirtualScrollViewportWidth(): string {\n        return (this.elementRef.nativeElement?.parentElement?.clientWidth || 0) + 'px';\n    }\n\n    /**\n     * Get the width, as a number, of the host element.\n     */\n    protected get hostWidth(): number {\n        return this.elementRef.nativeElement.style.width;\n    }\n\n    protected trackByFn(index: number): number {\n        return index;\n    }\n\n    /**\n     * Handles table features such as sorting, filtering, and pagination before rendering.\n     */\n    private tableFeaturesHandler(): void {\n        this.tableFeaturesHandlerSubscription = combineLatest(\n            this.paginator ? this.paginator.page$ : new BehaviorSubject(null),\n            this.filter ? this.filter.filter$ : new BehaviorSubject(null),\n            this.euiTableSortService.sorts,\n        ).pipe(takeUntil(this.destroy$)).subscribe(([pagination, filter, sorts]: [EuiPaginationEvent, string, Sort[]]) => {\n            let r = [...this.dataSrc];\n\n            if (sorts.length > 0) {\n                r = this.sortData(sorts, r);\n            }\n\n            r = this.filterData(filter, r);\n\n            if (this.paginator) {\n                this.paginator.setLength(r.length);\n                const currentPagination = this.paginator.getCurrentPagination();\n\n                r = this.paginateRows(currentPagination, r);\n            }\n\n            this.dataRendered = r;\n            if (this.isSelectOnlyVisibleRows) {\n                this.euiTableSelectableRowService.unselectAllRows();\n                this.euiTableSelectableRowService.unregisterRows();\n                this.euiTableSelectableRowService.registerRows(this.dataRendered);\n            }\n\n            this.cd.detectChanges();\n\n            if (this.hasStickyCols) {\n                this.stickyFeatureHandler();\n            }\n        });\n    }\n\n    /**\n     * Sorts the data based on the sort, property and order, criterias.\n     *\n     * @param sortCriterias Array of sort criterias containing the property on which the sort will be performed and the order (`ASC` or `DESC`).\n     * @param r Array of data to sort\n     * @returns A sorted array\n     */\n    private sortData(sortCriterias: { sort: string, order: SortOrder }[], r: DATA[]): DATA[] {\n        if (sortCriterias.every(criteria => criteria.order === null)) {\n            return r.slice();\n        }\n\n        return r.sort((a, b) => {\n            for (const criteria of sortCriterias) {\n                const aValue = this.getObjProp(a, criteria.sort);\n                const bValue = this.getObjProp(b, criteria.sort);\n\n                if (aValue === bValue) {\n                    continue;\n                }\n\n                if (aValue === null || aValue === undefined) {\n                    return criteria.order === 'asc' ? -1 : 1;\n                }\n                if (bValue === null || bValue === undefined) {\n                    return criteria.order === 'asc' ? 1 : -1;\n                }\n\n                if (typeof aValue === 'boolean' && typeof bValue === 'boolean') {\n                    return criteria.order === 'asc' ? (aValue ? -1 : 1) : (bValue ? -1 : 1);\n                }\n\n                if (typeof aValue === 'number' && typeof bValue === 'number') {\n                    return criteria.order === 'asc' ? aValue - bValue : bValue - aValue;\n                }\n\n                if (aValue instanceof Date && bValue instanceof Date) {\n                    return criteria.order === 'asc' ? aValue.getTime() - bValue.getTime() : bValue.getTime() - aValue.getTime();\n                }\n\n                const aValueStr = typeof aValue === 'string' ? aValue.toLowerCase() : aValue;\n                const bValueStr = typeof bValue === 'string' ? bValue.toLowerCase() : bValue;\n\n                const comparison = criteria.order === 'asc' ? aValueStr.localeCompare(bValueStr) : bValueStr.localeCompare(aValueStr);\n\n                if (comparison !== 0) {\n                    return comparison;\n                }\n            }\n\n            return 0;\n        });\n    }\n\n    /**\n     * Slices the data array based on the pagination event.\n     *\n     * @param pagination Object containing the page, the page size and the total number of pages.\n     * @param r Array of data to paginate.\n     * @returns The sliced array to render.\n     */\n    private paginateRows(pagination: EuiPaginationEvent, r: DATA[]): DATA[] {\n        this.page = pagination.page;\n        this.pageSize = pagination.pageSize;\n\n        return r.slice(this.page * this.pageSize, this.page * this.pageSize + this.pageSize);\n    }\n\n    /**\n     * Round down the index to the nearest multiple of the number of rows.\n     *\n     * @param index Index of the current scroll level.\n     * @param nbRows Number of rows to display.\n     * @returns A rounded number.\n     */\n    private roundDown(index: number, nbRows: number): number {\n        return Math.floor(index / nbRows) * nbRows;\n    }\n\n    /**\n     * Checks if in the range of data to render some of them had already been loaded or not.\n     *\n     * @param startIndex Start index of the range to check\n     * @param limit Number of item to check after the start index.\n     * @param dataRendered Array of data to check\n     * @returns The index of the first undefined item in the range or `-1` if not found.\n     */\n    private hasUndefinedInRange(startIndex: number, limit: number, dataRendered: DATA[]): number {\n        for (let i = startIndex; i < startIndex + limit; i ++) {\n            if (dataRendered[i] === undefined) {\n                return i;\n            }\n        }\n\n        return -1;\n    }\n\n    /**\n     * Calcultates the position of columns that are sticky.\n     */\n    private stickyFeatureHandler(): void {\n        setTimeout(() => {\n            const containerWidth = this.elementRef.nativeElement?.parentElement?.clientWidth || 0;\n\n            const processStickyItems = (items: HTMLTableCellElement[]): void => {\n                items.forEach((item, i) => {\n                    const isStickyFirstCol = item.offsetLeft + item.clientWidth < containerWidth;\n                    const isStickyLastCol = item.offsetLeft + item.clientWidth > containerWidth;\n\n                    const itemsSticky = isStickyFirstCol\n                        ? items.filter((it) => it.offsetLeft + it.clientWidth < containerWidth)\n                        : isStickyLastCol\n                        ? items.filter((it) => it.offsetLeft + it.clientWidth > containerWidth)\n                        : [];\n\n                    itemsSticky.forEach((it, j) => {\n                        const w = itemsSticky[j - 1]?.clientWidth;\n                        const offset = isStickyFirstCol\n                            ? parseInt(itemsSticky[j - 1]?.style.left, 10)\n                            : parseInt(itemsSticky[j - 1]?.style.right, 10);\n\n                        if (isStickyFirstCol) {\n                            it.style.left = (j === 0 ? 0 : w + offset) + 'px';\n                        } else if (isStickyLastCol) {\n                            it.style.right = (j === 0 ? 0 : w + offset) + 'px';\n                        }\n\n                        if (j + 1 === itemsSticky.length) {\n                            this.renderer.addClass(it, `eui-table__col--sticky-shadowed-${isStickyFirstCol ? 'first' : 'last'}`);\n                        }\n                    });\n                });\n            };\n\n            if (this.theadRef) {\n                const thItems: HTMLTableCellElement[] = Array.from(this.theadRef.nativeElement.querySelectorAll('.eui-table__col--sticky'));\n                processStickyItems(thItems);\n            }\n\n            if (this.tbodyRef) {\n                const bodyTrItems = Array.from(this.tbodyRef.nativeElement.querySelectorAll('tr'));\n                bodyTrItems.forEach((tr) => {\n                    const tdItems: HTMLTableCellElement[] = Array.from(tr.querySelectorAll('.eui-table__col--sticky'));\n                    processStickyItems(tdItems);\n                });\n            }\n\n            if (this.tfootRef) {\n                const tdItems: HTMLTableCellElement[] = Array.from(this.tfootRef.nativeElement.querySelectorAll('.eui-table__col--sticky'));\n                processStickyItems(tdItems);\n            }\n        }, 250);\n    }\n\n    /**\n     * Handles the selection of rows.\n     */\n    private selectRowsFeatureHandler(): void {\n        this.euiTableSelectableRowService.selectedRows.pipe(skip(1), takeUntil(this.destroy$)).subscribe((selected) => {\n            this.rowsSelect.emit(selected);\n        });\n    }\n\n    /**\n     * Handles the sorting of columns.\n     */\n    private sortFeatureHandler(): void {\n        this.euiTableSortService.sorts.pipe(skip(1), takeUntil(this.destroy$)).subscribe((sorts: Sort[]) => {\n            this.sortChange.emit(sorts);\n        });\n    }\n\n    /**\n     * Get the properties of the object matching the filter string.\n     *\n     * @param row Row to extract the property from.\n     * @param filter String to search in the properties.\n     * @returns An array of properties matching the filter.\n     */\n    private getProps(row: DATA, filter: string): { key: string; match: boolean; value: string | number }[] {\n        const isObject = (val: string | number): boolean => val && typeof val === 'object';\n        const addDelimiter = (a: string, b: string): string => (a && a !== '0' ? `${a}.${b}` : b);\n        const props: { key: string, match: boolean, value: string | number }[] = [];\n        const paths = (pathObj: DATA, head = ''): string[] => {\n            return Object.entries(pathObj).reduce((product, [key, value]) => {\n                const fullPath = addDelimiter(head, key);\n                const match = (v: string | number): boolean => v && typeof v !== 'object' && v?.toString().toLowerCase().indexOf(filter?.trim().toLowerCase()) !== -1;\n\n                if (key !== '0' && typeof value !== 'object') {\n                    props.push({ key: addDelimiter(head, key), match: match(value), value });\n                }\n\n                return isObject(value) ? product.concat(paths(value, fullPath)) : product.concat(fullPath);\n            }, []);\n        };\n\n        paths(row);\n        return props;\n    }\n\n    /**\n     * Get a property of an object based on the path.\n     *\n     * @param obj Row to extract the property from.\n     * @param prop Path of the property to extract.\n     * @returns The value of the property\n     */\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    private getObjProp(obj: DATA, prop: string): any {\n        return prop ? prop.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), obj || self) : null;\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@forward 'table';\n@forward 'table.states';\n@forward 'table.mq';\n@forward 'table-filter';\n@forward 'table-sortable-col';",
                    "styleUrl": "./styles/_index.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterContentInit",
                "AfterViewInit",
                "OnDestroy",
                "OnInit",
                "OnChanges"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 207,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                        "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 7345,
                                "end": 7462,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 7346,
                                    "end": 7357,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                            },
                            {
                                "pos": 7462,
                                "end": 7527,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 7463,
                                    "end": 7470,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 7471,
                                    "end": 7479,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 7472,
                                        "end": 7478,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                },
                "stickyHeaderTopPosition": {
                    "name": "stickyHeaderTopPosition",
                    "getSignature": {
                        "name": "stickyHeaderTopPosition",
                        "type": "string",
                        "returnType": "string",
                        "line": 712,
                        "rawdescription": "\n\nGet the top position in px of the sticky header.\n",
                        "description": "<p>Get the top position in px of the sticky header.</p>\n"
                    }
                },
                "stickyFooterBottomPosition": {
                    "name": "stickyFooterBottomPosition",
                    "getSignature": {
                        "name": "stickyFooterBottomPosition",
                        "type": "string",
                        "returnType": "string",
                        "line": 723,
                        "rawdescription": "\n\nGet the bottom position in px of the sticky footer.\n",
                        "description": "<p>Get the bottom position in px of the sticky footer.</p>\n"
                    }
                },
                "cdkVirtualScrollViewportWidth": {
                    "name": "cdkVirtualScrollViewportWidth",
                    "getSignature": {
                        "name": "cdkVirtualScrollViewportWidth",
                        "type": "string",
                        "returnType": "string",
                        "line": 734,
                        "rawdescription": "\n\nGet the width in px of the viewport in which the table is.\n",
                        "description": "<p>Get the width in px of the viewport in which the table is.</p>\n"
                    }
                },
                "hostWidth": {
                    "name": "hostWidth",
                    "getSignature": {
                        "name": "hostWidth",
                        "type": "number",
                        "returnType": "number",
                        "line": 741,
                        "rawdescription": "\n\nGet the width, as a number, of the host element.\n",
                        "description": "<p>Get the width, as a number, of the host element.</p>\n"
                    }
                }
            },
            "templateData": "@if (isVirtualScroll) {\n    <cdk-virtual-scroll-viewport\n        #cdkVirtualScrollViewport\n        #cdkVirtualScrollViewportElement\n        class=\"eui-table__scroll-viewport\"\n        [itemSize]=\"itemSize\"\n        [style.overflow]=\"cdkVirtualScrollViewportOverflowValue\"\n        tabindex=\"0\">\n        <table class=\"{{ cssClasses }}\" [style.width]=\"hostWidth\">\n            @if (captionTemplate) {\n                <caption>\n                    <ng-template [ngTemplateOutlet]=\"captionTemplate\"></ng-template>\n                </caption>\n            }\n            @if (headerTemplate) {\n                <thead #theadRef [style.top]=\"stickyHeaderTopPosition\">\n                    <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n                </thead>\n            }\n            @if (bodyTemplate) {\n                <tbody #tbodyRef>\n                    <ng-container *cdkVirtualFor=\"let row of dataRendered; let i = index; trackBy: trackByFn\">\n                        @if (row) {\n                            <ng-template\n                                [ngTemplateOutlet]=\"bodyTemplate\"\n                                [ngTemplateOutletContext]=\"{ $implicit: row, index: i }\">\n                            </ng-template>\n                        } @else {\n                            <ng-template [ngTemplateOutlet]=\"skeletonLoading\"></ng-template>\n                        }\n                    </ng-container>\n\n                    @if (noDataTemplate && (data?.length === 0 || dataRendered?.length === 0)) {\n                        <ng-template [ngTemplateOutlet]=\"noDataTemplate\"></ng-template>\n                    }\n                </tbody>\n            }\n            @if (footerTemplate) {\n                <tfoot #tfootRef [style.bottom]=\"stickyFooterBottomPosition\">\n                    <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n                </tfoot>\n            }\n        </table>\n    </cdk-virtual-scroll-viewport>\n} @else {\n    @if (captionTemplate) {\n        <caption>\n            <ng-template [ngTemplateOutlet]=\"captionTemplate\"></ng-template>\n        </caption>\n    }\n    @if (headerTemplate) {\n        <thead #theadRef>\n            <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n        </thead>\n    }\n    @if (bodyTemplate) {\n        <tbody #tbodyRef>\n            @for (row of dataRendered; let i = $index; track $index) {\n                <ng-container>\n                    <ng-template\n                        [ngTemplateOutlet]=\"bodyTemplate\"\n                        [ngTemplateOutletContext]=\"{ $implicit: row, index: i }\">\n                    </ng-template>\n                </ng-container>\n            }\n            @if (noDataTemplate && (data?.length === 0 || dataRendered?.length === 0)) {\n                <ng-template [ngTemplateOutlet]=\"noDataTemplate\"></ng-template>\n            }\n        </tbody>\n    }\n    @if (footerTemplate) {\n        <tfoot #tfootRef>\n            <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n        </tfoot>\n    }\n}\n\n<ng-template #skeletonLoading>\n    <tr [style.height.px]=\"itemSize\">\n        @for (__ of nbCols; track $index) {\n            <td><eui-skeleton line euiRounded></eui-skeleton></td>\n        }\n    </tr>\n</ng-template>\n"
        },
        {
            "name": "EuiTableFilterComponent",
            "id": "component-EuiTableFilterComponent-7ddf3a2036c0c9410a561c7b369935f75161230f0f5db2f72104425bee88bab2f7e23e9b9d32ad4199d4f99b039f0be0ad2b09f9f52520f5f498f3286bde82b2",
            "file": "packages/components/eui-table/filter/eui-table-filter.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-table-filter",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-table-filter.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "placeholder",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nPlaceholder text for the filter input.\n",
                    "description": "<p>Placeholder text for the filter input.</p>\n",
                    "line": 85,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "filterChange",
                    "defaultValue": "new EventEmitter<string>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when the value of the input changes.\n",
                    "description": "<p>Event emitted when the value of the input changes.</p>\n",
                    "line": 90,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "filter$",
                    "defaultValue": "new BehaviorSubject(null)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BehaviorSubject<string>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 94,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "filterInput",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef<HTMLInputElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 92,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'filterInput', {read: ElementRef}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "form",
                    "defaultValue": "new FormGroup({\n        filter: new FormControl<string>(null),\n    })",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 95,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 107,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 101,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "resetFilter",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 126,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nReset the filter and emit the change event.\n",
                    "description": "<p>Reset the filter and emit the change event.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "setFilter",
                    "args": [
                        {
                            "name": "value",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 117,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSet the filter value and emit the change event.\n\n",
                    "description": "<p>Set the filter value and emit the change event.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 3695,
                                "end": 3700,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "value"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3689,
                                "end": 3694,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Value of the input.</p>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2381,
                            "end": 2498,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2382,
                                "end": 2393,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                        },
                        {
                            "pos": 2498,
                            "end": 2563,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2499,
                                "end": 2506,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 2507,
                                "end": 2515,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 2508,
                                    "end": 2514,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                    "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                    "line": 74,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "ReactiveFormsModule",
                    "type": "module"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_ICON_INPUT"
                },
                {
                    "name": "EUI_INPUT_TEXT"
                }
            ],
            "description": "<p>Component used with <code>eui-table</code> to add a filter feature to the table.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-table-filter #filter placeholder=&quot;Search filter...&quot; (filterChange)=&quot;onFilterChange($event)&quot;&gt;&lt;/eui-table-filter&gt;\n&lt;table #euiTable euiTable [data]=&quot;data&quot; [filter]=&quot;filter&quot;&gt;\n    &lt;ng-template euiTemplate=&quot;header&quot;&gt;\n        &lt;tr&gt;\n            &lt;th&gt;Country&lt;/th&gt;\n            &lt;th&gt;Year&lt;/th&gt;\n            &lt;th&gt;ISO&lt;/th&gt;\n            &lt;th&gt;Population&lt;/th&gt;\n            &lt;th&gt;Capital city&lt;/th&gt;\n        &lt;/tr&gt;\n    &lt;/ng-template&gt;\n    &lt;ng-template let-row euiTemplate=&quot;body&quot;&gt;\n        &lt;tr&gt;\n            &lt;td data-col-label=&quot;Country&quot;&gt;{{ row.country }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;Year&quot;&gt;{{ row.year }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;ISO&quot;&gt;{{ row.iso }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;Population&quot;&gt;{{ row.population | number }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;Capital city&quot;&gt;{{ row.capital }}&lt;/td&gt;\n        &lt;/tr&gt;\n    &lt;/ng-template&gt;\n    &lt;ng-template euiTemplate=&quot;footer&quot;&gt;\n        &lt;tr&gt;\n            &lt;td colspan=&quot;5&quot; class=&quot;text-right&quot;&gt;Table footer&lt;/td&gt;\n        &lt;/tr&gt;\n    &lt;/ng-template&gt;\n&lt;/table&gt;</code></pre></div><p>Typescript logic</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">data: Country[] = [\n    { id: 1, country: &#39;Belgium&#39;, year: 1958, iso: &#39;BE&#39;, population: 11198638, capital: &#39;Brussels&#39; },\n]\n\nonFilterChange(event: string) {\n    this.filteredData = this.euiTable.getFilteredData();\n    this.getTotalPopulation();\n}</code></pre></div>",
            "rawdescription": "\n\nComponent used with `eui-table` to add a filter feature to the table.\n\n### Basic Usage\n```html\n<eui-table-filter #filter placeholder=\"Search filter...\" (filterChange)=\"onFilterChange($event)\"></eui-table-filter>\n<table #euiTable euiTable [data]=\"data\" [filter]=\"filter\">\n    <ng-template euiTemplate=\"header\">\n        <tr>\n            <th>Country</th>\n            <th>Year</th>\n            <th>ISO</th>\n            <th>Population</th>\n            <th>Capital city</th>\n        </tr>\n    </ng-template>\n    <ng-template let-row euiTemplate=\"body\">\n        <tr>\n            <td data-col-label=\"Country\">{{ row.country }}</td>\n            <td data-col-label=\"Year\">{{ row.year }}</td>\n            <td data-col-label=\"ISO\">{{ row.iso }}</td>\n            <td data-col-label=\"Population\">{{ row.population | number }}</td>\n            <td data-col-label=\"Capital city\">{{ row.capital }}</td>\n        </tr>\n    </ng-template>\n    <ng-template euiTemplate=\"footer\">\n        <tr>\n            <td colspan=\"5\" class=\"text-right\">Table footer</td>\n        </tr>\n    </ng-template>\n</table>\n```\nTypescript logic\n```ts\ndata: Country[] = [\n    { id: 1, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n]\n\nonFilterChange(event: string) {\n    this.filteredData = this.euiTable.getFilteredData();\n    this.getTotalPopulation();\n}\n```\n",
            "type": "component",
            "sourceCode": "import { Component, OnInit, Input, Output, EventEmitter, OnDestroy, HostBinding, ViewChild, ElementRef, ViewEncapsulation } from '@angular/core';\nimport { FormGroup, FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { Subject, BehaviorSubject, takeUntil, debounceTime, distinctUntilChanged } from 'rxjs';\n\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_ICON_INPUT } from '@eui/components/eui-icon-input';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\n\n/**\n * @description\n * Component used with `eui-table` to add a filter feature to the table.\n * \n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-table-filter #filter placeholder=\"Search filter...\" (filterChange)=\"onFilterChange($event)\"></eui-table-filter>\n * <table #euiTable euiTable [data]=\"data\" [filter]=\"filter\">\n *     <ng-template euiTemplate=\"header\">\n *         <tr>\n *             <th>Country</th>\n *             <th>Year</th>\n *             <th>ISO</th>\n *             <th>Population</th>\n *             <th>Capital city</th>\n *         </tr>\n *     </ng-template>\n *     <ng-template let-row euiTemplate=\"body\">\n *         <tr>\n *             <td data-col-label=\"Country\">{{ row.country }}</td>\n *             <td data-col-label=\"Year\">{{ row.year }}</td>\n *             <td data-col-label=\"ISO\">{{ row.iso }}</td>\n *             <td data-col-label=\"Population\">{{ row.population | number }}</td>\n *             <td data-col-label=\"Capital city\">{{ row.capital }}</td>\n *         </tr>\n *     </ng-template>\n *     <ng-template euiTemplate=\"footer\">\n *         <tr>\n *             <td colspan=\"5\" class=\"text-right\">Table footer</td>\n *         </tr>\n *     </ng-template>\n * </table>\n * ```\n * Typescript logic\n * ```ts\n * data: Country[] = [\n *     { id: 1, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n * ]\n * \n * onFilterChange(event: string) {\n *     this.filteredData = this.euiTable.getFilteredData();\n *     this.getTotalPopulation();\n * }\n * ```\n */\n@Component({\n    selector: 'eui-table-filter',\n    templateUrl: './eui-table-filter.component.html',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        ReactiveFormsModule,\n        ...EUI_ICON,\n        ...EUI_ICON_INPUT,\n        ...EUI_INPUT_TEXT,\n    ],\n})\nexport class EuiTableFilterComponent implements OnInit, OnDestroy {\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            'eui-table__filter',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    /**\n     * Placeholder text for the filter input.\n     */\n    @Input() placeholder: string;\n\n    /**\n     * Event emitted when the value of the input changes.\n     */\n    @Output() filterChange = new EventEmitter<string>();\n\n    @ViewChild('filterInput', { read: ElementRef }) filterInput: ElementRef<HTMLInputElement>;\n\n    public filter$: BehaviorSubject<string> = new BehaviorSubject(null);\n    public form = new FormGroup({\n        filter: new FormControl<string>(null),\n    });\n\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n\n    ngOnInit(): void {\n        this.form.get('filter').valueChanges.pipe(debounceTime(500), distinctUntilChanged(), takeUntil(this.destroy$)).subscribe((value) => {\n            this.setFilter(value);\n        });\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    /**\n     * Set the filter value and emit the change event.\n     *\n     * @param value Value of the input.\n     */\n    public setFilter(value: string): void {\n        this.filter$.next(value);\n        this.filterChange.emit(value);\n        this.form.get('filter').setValue(value);\n    }\n\n    /**\n     * Reset the filter and emit the change event.\n     */\n    public resetFilter(): void {\n        this.setFilter(null);\n        this.form.reset();\n        this.filterInput.nativeElement.focus();\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 74,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                        "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 2381,
                                "end": 2498,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2382,
                                    "end": 2393,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                            },
                            {
                                "pos": 2498,
                                "end": 2563,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2499,
                                    "end": 2506,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 2507,
                                    "end": 2515,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 2508,
                                        "end": 2514,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            },
            "templateData": "<div class=\"eui-table__filter\">\n    <form [formGroup]=\"form\">\n        <eui-icon-input>\n            <eui-icon-svg icon=\"eui-search\" fillColor=\"secondary\"></eui-icon-svg>\n            <input #filterInput\n                euiClearable\n                euiInputText\n                class=\"eui-table__filter-input\"\n                formControlName=\"filter\"\n                [attr.aria-label]=\"form.get('filter').value ? form.get('filter').value : placeholder\"\n                placeholder=\"{{ placeholder }}\" />\n        </eui-icon-input>\n    </form>\n</div>\n"
        },
        {
            "name": "EuiTableSelectableHeaderComponent",
            "id": "component-EuiTableSelectableHeaderComponent-b38c90bcbe27683e4832cbb43ca5843fa1ad576c7456f16a75683ac78b2a2906f35f6446a616f8c89c9e7ae39b80d0c9893140100458c94d3f884550de0d9565",
            "file": "packages/components/eui-table/selectable-header/eui-table-selectable-header.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "tr[isHeaderSelectable]",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-table-selectable-header.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "isHeaderSelectable",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1960,
                            "end": 1980,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1961,
                                "end": 1968,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether select all features are available in the header.\n\n",
                    "description": "<p>Whether select all features are available in the header.</p>\n",
                    "line": 60,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "isChecked",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 63,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "isCheckedIndeterminate",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 62,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 78,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 68,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "toggleCheckedState",
                    "args": [
                        {
                            "name": "e",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 105,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandle the change of the selected status.\n\n",
                    "description": "<p>Handle the change of the selected status.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 3355,
                                "end": 3356,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "e"
                            },
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 3349,
                                "end": 3354,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Change Event</p>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_INPUT_CHECKBOX"
                }
            ],
            "description": "<p>Component used internally by <code>eui-table</code> to add a &#39;select all&#39; checkbox in the header of the table.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;table euiTable [data]=&quot;data&quot; (rowsSelect)=&quot;onRowsSelect($event)&quot;&gt;\n    &lt;ng-template euiTemplate=&quot;header&quot;&gt;\n        &lt;tr isHeaderSelectable&gt;\n            &lt;th&gt;Country&lt;/th&gt;\n            &lt;th&gt;Year&lt;/th&gt;\n            &lt;th&gt;ISO&lt;/th&gt;\n            &lt;th&gt;Population&lt;/th&gt;\n            &lt;th&gt;Capital city&lt;/th&gt;\n        &lt;/tr&gt;\n    &lt;/ng-template&gt;\n    &lt;ng-template let-row euiTemplate=&quot;body&quot;&gt;\n        &lt;tr [isDataSelectable]=&quot;row&quot;&gt;\n            &lt;td data-col-label=&quot;Country&quot;&gt;{{ row.country }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;Year&quot;&gt;{{ row.year }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;ISO&quot;&gt;{{ row.iso }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;Population&quot;&gt;{{ row.population | number }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;Capital city&quot;&gt;{{ row.capital }}&lt;/td&gt;\n        &lt;/tr&gt;\n    &lt;/ng-template&gt;\n&lt;/table&gt;</code></pre></div><p>Typescript logic</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">data: Country[] = [\n    { id: 1, country: &#39;Belgium&#39;, year: 1958, iso: &#39;BE&#39;, population: 11198638, capital: &#39;Brussels&#39; },\n]\n\nonRowsSelect(selected: Country[]): void {\n    console.log(selected);\n}</code></pre></div>",
            "rawdescription": "\n\nComponent used internally by `eui-table` to add a 'select all' checkbox in the header of the table.\n\n### Basic Usage\n```html\n<table euiTable [data]=\"data\" (rowsSelect)=\"onRowsSelect($event)\">\n    <ng-template euiTemplate=\"header\">\n        <tr isHeaderSelectable>\n            <th>Country</th>\n            <th>Year</th>\n            <th>ISO</th>\n            <th>Population</th>\n            <th>Capital city</th>\n        </tr>\n    </ng-template>\n    <ng-template let-row euiTemplate=\"body\">\n        <tr [isDataSelectable]=\"row\">\n            <td data-col-label=\"Country\">{{ row.country }}</td>\n            <td data-col-label=\"Year\">{{ row.year }}</td>\n            <td data-col-label=\"ISO\">{{ row.iso }}</td>\n            <td data-col-label=\"Population\">{{ row.population | number }}</td>\n            <td data-col-label=\"Capital city\">{{ row.capital }}</td>\n        </tr>\n    </ng-template>\n</table>\n```\nTypescript logic\n```ts\ndata: Country[] = [\n    { id: 1, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n]\n\nonRowsSelect(selected: Country[]): void {\n    console.log(selected);\n}\n```\n",
            "type": "component",
            "sourceCode": "import { Component, OnInit, Input, OnDestroy, booleanAttribute, inject } from '@angular/core';\nimport { Subject, combineLatest, takeUntil } from 'rxjs';\n\nimport { EuiTableSelectableRowService } from '../services/eui-table-selectable-row.service';\nimport { EUI_INPUT_CHECKBOX } from '@eui/components/eui-input-checkbox';\n\n/**\n * @description\n * Component used internally by `eui-table` to add a 'select all' checkbox in the header of the table.\n * \n * @usageNotes\n * ### Basic Usage\n * ```html\n * <table euiTable [data]=\"data\" (rowsSelect)=\"onRowsSelect($event)\">\n *     <ng-template euiTemplate=\"header\">\n *         <tr isHeaderSelectable>\n *             <th>Country</th>\n *             <th>Year</th>\n *             <th>ISO</th>\n *             <th>Population</th>\n *             <th>Capital city</th>\n *         </tr>\n *     </ng-template>\n *     <ng-template let-row euiTemplate=\"body\">\n *         <tr [isDataSelectable]=\"row\">\n *             <td data-col-label=\"Country\">{{ row.country }}</td>\n *             <td data-col-label=\"Year\">{{ row.year }}</td>\n *             <td data-col-label=\"ISO\">{{ row.iso }}</td>\n *             <td data-col-label=\"Population\">{{ row.population | number }}</td>\n *             <td data-col-label=\"Capital city\">{{ row.capital }}</td>\n *         </tr>\n *     </ng-template>\n * </table>\n * ```\n * Typescript logic\n * ```ts\n * data: Country[] = [\n *     { id: 1, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n * ]\n * \n * onRowsSelect(selected: Country[]): void {\n *     console.log(selected);\n * }\n * ```\n */\n@Component({\n    // eslint-disable-next-line\n    selector: 'tr[isHeaderSelectable]',\n    templateUrl: './eui-table-selectable-header.component.html',\n    imports: [\n        ...EUI_INPUT_CHECKBOX,\n    ],\n})\nexport class EuiTableSelectableHeaderComponent<DATA> implements OnInit, OnDestroy {\n    /**\n     * Whether select all features are available in the header.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isHeaderSelectable = true;\n\n    public isCheckedIndeterminate = false;\n    public isChecked = false;\n\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private euiDataTableSelectableRowService = inject<EuiTableSelectableRowService<DATA>>(EuiTableSelectableRowService);\n\n    ngOnInit(): void {\n        combineLatest([\n            this.euiDataTableSelectableRowService.isAllRowsSelected,\n            this.euiDataTableSelectableRowService.selectedRows,\n        ]).pipe(takeUntil(this.destroy$)).subscribe(([allSelected, selectedRows]) => {\n            this.isChecked = allSelected;\n            this.isCheckedIndeterminate = !allSelected && selectedRows.length > 0;\n        });\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    /**\n     * Gets the `aria-label` attribute for the checkbox element.\n     *\n     * @default `Unchecked`\n     */\n    get ariaLabel(): string {\n        if(!this.isChecked && !this.isCheckedIndeterminate) {\n            return 'Unchecked';\n        }\n        if(this.isCheckedIndeterminate) {\n            return 'Indeterminate';\n        }\n        if(this.isChecked && !this.isCheckedIndeterminate) {\n            return 'Checked';\n        }\n    }\n\n    /**\n     * Handle the change of the selected status.\n     *\n     * @param e Change Event\n     */\n    public toggleCheckedState(e: Event): void {\n        this.isChecked = (e.target as HTMLInputElement).checked;\n\n        if (this.isChecked) {\n            this.euiDataTableSelectableRowService.selectAllRows();\n        } else {\n            this.euiDataTableSelectableRowService.unselectAllRows();\n        }\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy"
            ],
            "accessors": {
                "ariaLabel": {
                    "name": "ariaLabel",
                    "getSignature": {
                        "name": "ariaLabel",
                        "type": "string",
                        "returnType": "string",
                        "line": 88,
                        "rawdescription": "\n\nGets the `aria-label` attribute for the checkbox element.\n\n",
                        "description": "<p>Gets the <code>aria-label</code> attribute for the checkbox element.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 2918,
                                "end": 2944,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2919,
                                    "end": 2926,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "default"
                                },
                                "comment": "<p><code>Unchecked</code></p>\n"
                            }
                        ]
                    }
                }
            },
            "templateData": "@if (isHeaderSelectable) {\n    <th class=\"eui-table__cell-select\">\n        <div class=\"eui-table__cell-select-checkbox-container\">\n            <input [attr.aria-label]=\"ariaLabel\" euiInputCheckBox [checked]=\"isChecked ? 'checked' : null\" [indeterminate]=\"isCheckedIndeterminate\" (click)=\"toggleCheckedState($event)\" />\n        </div>\n    </th>\n}\n<ng-content />\n"
        },
        {
            "name": "EuiTableSelectableRowComponent",
            "id": "component-EuiTableSelectableRowComponent-12596b72b5faa6d27f404081343e3935b3b80618bd62c49a7f057cf477df6d864d3e0a69023f4c44321faf6075967da165aa49e4ccf530191b5b4920f0a70390",
            "file": "packages/components/eui-table/selectable-row/eui-table-selectable-row.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "tr[isDataSelectable]",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-table-selectable-row.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "isChecked",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2253,
                            "end": 2273,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2254,
                                "end": 2261,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWheter the row is selected.\n\n",
                    "description": "<p>Wheter the row is selected.</p>\n",
                    "line": 73,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "isDataSelectable",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nData of the row.\n",
                    "description": "<p>Data of the row.</p>\n",
                    "line": 61,
                    "type": "DATA",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isKeyboardSelectable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2420,
                            "end": 2440,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2421,
                                "end": 2428,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWheter the selection can be done with the keyboard.\n\n",
                    "description": "<p>Wheter the selection can be done with the keyboard.</p>\n",
                    "line": 79,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isSingleSelectable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2101,
                            "end": 2121,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2102,
                                "end": 2109,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWheter only one row is selectable.\n\n",
                    "description": "<p>Wheter only one row is selectable.</p>\n",
                    "line": 67,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "c",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 103,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "c",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 151,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 116,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "toggleCheckedState",
                    "args": [
                        {
                            "name": "e",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 161,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandle the change of the selected status.\n\n",
                    "description": "<p>Handle the change of the selected status.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 5819,
                                "end": 5820,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "e"
                            },
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 5813,
                                "end": 5818,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Change Event</p>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2626,
                            "end": 2743,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2627,
                                "end": 2638,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                        },
                        {
                            "pos": 2743,
                            "end": 2808,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2744,
                                "end": 2751,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 2752,
                                "end": 2760,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 2753,
                                    "end": 2759,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                    "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                    "line": 91,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "FormsModule",
                    "type": "module"
                },
                {
                    "name": "EUI_INPUT_CHECKBOX"
                }
            ],
            "description": "<p>Component used internally by <code>eui-table</code> to make a row selectable.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;table euiTable [data]=&quot;data&quot; (rowsSelect)=&quot;onRowsSelect($event)&quot;&gt;\n    &lt;ng-template euiTemplate=&quot;header&quot;&gt;\n        &lt;tr isHeaderSelectable&gt;\n            &lt;th&gt;Country&lt;/th&gt;\n            &lt;th&gt;Year&lt;/th&gt;\n            &lt;th&gt;ISO&lt;/th&gt;\n            &lt;th&gt;Population&lt;/th&gt;\n            &lt;th&gt;Capital city&lt;/th&gt;\n        &lt;/tr&gt;\n    &lt;/ng-template&gt;\n    &lt;ng-template let-row euiTemplate=&quot;body&quot;&gt;\n        &lt;tr [isDataSelectable]=&quot;row&quot;&gt;\n            &lt;td data-col-label=&quot;Country&quot;&gt;{{ row.country }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;Year&quot;&gt;{{ row.year }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;ISO&quot;&gt;{{ row.iso }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;Population&quot;&gt;{{ row.population | number }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;Capital city&quot;&gt;{{ row.capital }}&lt;/td&gt;\n        &lt;/tr&gt;\n    &lt;/ng-template&gt;\n&lt;/table&gt;</code></pre></div><p>Typescript logic</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">data: Country[] = [\n    { id: 1, country: &#39;Belgium&#39;, year: 1958, iso: &#39;BE&#39;, population: 11198638, capital: &#39;Brussels&#39; },\n]\n\nonRowsSelect(selected: Country[]): void {\n    console.log(selected);\n}</code></pre></div>",
            "rawdescription": "\n\nComponent used internally by `eui-table` to make a row selectable.\n\n### Basic Usage\n```html\n<table euiTable [data]=\"data\" (rowsSelect)=\"onRowsSelect($event)\">\n    <ng-template euiTemplate=\"header\">\n        <tr isHeaderSelectable>\n            <th>Country</th>\n            <th>Year</th>\n            <th>ISO</th>\n            <th>Population</th>\n            <th>Capital city</th>\n        </tr>\n    </ng-template>\n    <ng-template let-row euiTemplate=\"body\">\n        <tr [isDataSelectable]=\"row\">\n            <td data-col-label=\"Country\">{{ row.country }}</td>\n            <td data-col-label=\"Year\">{{ row.year }}</td>\n            <td data-col-label=\"ISO\">{{ row.iso }}</td>\n            <td data-col-label=\"Population\">{{ row.population | number }}</td>\n            <td data-col-label=\"Capital city\">{{ row.capital }}</td>\n        </tr>\n    </ng-template>\n</table>\n```\nTypescript logic\n```ts\ndata: Country[] = [\n    { id: 1, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n]\n\nonRowsSelect(selected: Country[]): void {\n    console.log(selected);\n}\n```\n",
            "type": "component",
            "sourceCode": "import { Component, OnInit, Input, OnDestroy, OnChanges, HostBinding, booleanAttribute, ElementRef, SimpleChanges, inject } from '@angular/core';\nimport { Subject, fromEvent, takeUntil } from 'rxjs';\nimport { FormsModule } from '@angular/forms';\n\nimport { EUI_INPUT_CHECKBOX } from '@eui/components/eui-input-checkbox';\n\nimport { EuiTableSelectableRowService } from '../services/eui-table-selectable-row.service';\n\n/**\n * @description\n * Component used internally by `eui-table` to make a row selectable.\n * \n * @usageNotes\n * ### Basic Usage\n * ```html\n * <table euiTable [data]=\"data\" (rowsSelect)=\"onRowsSelect($event)\">\n *     <ng-template euiTemplate=\"header\">\n *         <tr isHeaderSelectable>\n *             <th>Country</th>\n *             <th>Year</th>\n *             <th>ISO</th>\n *             <th>Population</th>\n *             <th>Capital city</th>\n *         </tr>\n *     </ng-template>\n *     <ng-template let-row euiTemplate=\"body\">\n *         <tr [isDataSelectable]=\"row\">\n *             <td data-col-label=\"Country\">{{ row.country }}</td>\n *             <td data-col-label=\"Year\">{{ row.year }}</td>\n *             <td data-col-label=\"ISO\">{{ row.iso }}</td>\n *             <td data-col-label=\"Population\">{{ row.population | number }}</td>\n *             <td data-col-label=\"Capital city\">{{ row.capital }}</td>\n *         </tr>\n *     </ng-template>\n * </table>\n * ```\n * Typescript logic\n * ```ts\n * data: Country[] = [\n *     { id: 1, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n * ]\n * \n * onRowsSelect(selected: Country[]): void {\n *     console.log(selected);\n * }\n * ```\n */\n@Component({\n    // eslint-disable-next-line\n    selector: 'tr[isDataSelectable]',\n    templateUrl: './eui-table-selectable-row.component.html',\n    imports: [\n        FormsModule,\n        ...EUI_INPUT_CHECKBOX,\n    ],\n})\nexport class EuiTableSelectableRowComponent<DATA> implements OnInit, OnDestroy, OnChanges {\n    /**\n     * Data of the row.\n     */\n    @Input() isDataSelectable: DATA;\n    /**\n     * Wheter only one row is selectable.\n     * \n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isSingleSelectable = false;\n    /**\n     * Wheter the row is selected.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isChecked = false;\n    /**\n     * Wheter the selection can be done with the keyboard.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isKeyboardSelectable = false;\n\n    private propId = 'id';\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n\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    public get cssClasses(): string {\n        return [\n            'eui-table__row',\n            this.isDataSelectable ? 'eui-table__row--selectable' : '',\n            this.isChecked ? 'eui-table__row--selected' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n    private euiDataTableSelectableRowService = inject<EuiTableSelectableRowService<DATA>>(EuiTableSelectableRowService);\n    private elementRef = inject(ElementRef);\n\n    ngOnChanges(c: SimpleChanges): void {\n        if (c && c.isChecked) {\n            if (c.isChecked.currentValue) {\n                this.euiDataTableSelectableRowService.selectRow(this.isDataSelectable);\n            } else {\n                this.euiDataTableSelectableRowService.unselectRow(this.isDataSelectable);\n            }\n        }\n\n        const selected = this.euiDataTableSelectableRowService.selectedRows$.getValue();\n        this.isChecked = selected.some((s) => s[this.propId] === this.isDataSelectable?.[this.propId]);\n    }\n\n    ngOnInit(): void {\n        if (this.isKeyboardSelectable && this.isDataSelectable) {\n            fromEvent<PointerEvent>(this.elementRef.nativeElement, 'click').pipe(takeUntil(this.destroy$)).subscribe((event) => {\n                if (event.ctrlKey) {\n                    if (!this.isChecked) {\n                        this.euiDataTableSelectableRowService.selectRow(this.isDataSelectable);\n                    } else {\n                        this.euiDataTableSelectableRowService.unselectRow(this.isDataSelectable);\n                    }\n                } else if (event.shiftKey) {\n                    const rows = this.euiDataTableSelectableRowService.getRows();\n                    const lastSelectedRow = this.euiDataTableSelectableRowService.getLastSelectedRow();\n                    const lastSelectedRowPosition = rows.indexOf(lastSelectedRow);\n                    const position = rows.indexOf(this.isDataSelectable);\n\n                    const range =\n                        lastSelectedRowPosition > position\n                            ? rows.slice(position, lastSelectedRowPosition + 1)\n                            : rows.slice(lastSelectedRowPosition, position + 1);\n\n                    this.euiDataTableSelectableRowService.selectRows(range);\n\n                    window.getSelection()?.empty();\n                } else {\n                    this.euiDataTableSelectableRowService.selectRows([this.isDataSelectable]);\n                }\n            });\n        }\n\n        this.propId = this.euiDataTableSelectableRowService.getPropId();\n        this.euiDataTableSelectableRowService.selectedRows.pipe(takeUntil(this.destroy$)).subscribe((selected) => {\n            this.isChecked = selected.find((s) => s[this.propId] === this.isDataSelectable?.[this.propId]) !== undefined;\n        });\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    /**\n     * Handle the change of the selected status.\n     *\n     * @param e Change Event\n     */\n    public toggleCheckedState(e: Event): void {\n        this.isChecked = (e.target as HTMLInputElement).checked;\n\n        if (this.isChecked) {\n            if (this.isSingleSelectable) {\n                this.euiDataTableSelectableRowService.selectSingleRow(this.isDataSelectable);\n            } else {\n                this.euiDataTableSelectableRowService.selectRow(this.isDataSelectable);\n            }\n            this.euiDataTableSelectableRowService.selectRow(this.isDataSelectable);\n        } else {\n            this.euiDataTableSelectableRowService.unselectRow(this.isDataSelectable);\n        }\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy",
                "OnChanges"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 91,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                        "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 2626,
                                "end": 2743,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2627,
                                    "end": 2638,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                            },
                            {
                                "pos": 2743,
                                "end": 2808,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2744,
                                    "end": 2751,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 2752,
                                    "end": 2760,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 2753,
                                        "end": 2759,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            },
            "templateData": "@if (isDataSelectable) {\n    <td class=\"eui-table__cell-select\">\n        <div class=\"eui-table__cell-select-checkbox-container\">\n            <input\n                euiInputCheckBox\n                [attr.aria-label]=\"isChecked ? 'default checkbox checked' : 'default checkbox unchecked'\"\n                [(ngModel)]=\"isChecked\"\n                (change)=\"toggleCheckedState($event)\" />\n        </div>\n    </td>\n}\n<ng-content />\n"
        },
        {
            "name": "EuiTableSortableColComponent",
            "id": "component-EuiTableSortableColComponent-8f115d6b9703d6b68c8b8a18454f6509ab0ce048bedf3c86bf9b2cd645b7e7704e1a91537576792538b4c725f901a2c9be3e728da0c9be3a8bcd551ad36dea4d",
            "file": "packages/components/eui-table/sortable-col/eui-table-sortable-col.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "th[isSortable]",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-table-sortable-col.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "defaultOrder",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3490,
                            "end": 3510,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3491,
                                "end": 3498,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the column is sorted by default.\n\n",
                    "description": "<p>Whether the column is sorted by default.</p>\n",
                    "line": 103,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isMultiSortable",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3851,
                            "end": 3871,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3852,
                                "end": 3859,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the sorting of the column can be cumulated with the one of other column.\n\n",
                    "description": "<p>Whether the sorting of the column can be cumulated with the one of other column.</p>\n",
                    "line": 115,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "sortDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3652,
                            "end": 3672,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3653,
                                "end": 3660,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the sort is disabled on the column.\n\n",
                    "description": "<p>Whether the sort is disabled on the column.</p>\n",
                    "line": 109,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "sortOn",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 95,
                    "required": false
                },
                {
                    "name": "sortOrder",
                    "defaultValue": "'asc'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "SortOrder",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 96,
                    "required": false
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "euiDropdown",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiDropdownComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 121,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'euiDropdown'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "isSorted",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 118,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "order",
                    "defaultValue": "'none'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "SortOrder",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 117,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "sortedIndex",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 119,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "changeSort",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 157,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles the click event on the sortable column.\n",
                    "description": "<p>Handles the click event on the sortable column.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 149,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 126,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onDropdownItemClick",
                    "args": [
                        {
                            "name": "order",
                            "type": "SortOrder",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 175,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles the click event on the dropdown item when the column is multi-sortable.\n",
                    "description": "<p>Handles the click event on the dropdown item when the column is multi-sortable.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 5820,
                                "end": 5825,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "order"
                            },
                            "type": "SortOrder",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 5814,
                                "end": 5819,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>An array of SortOrder. See {@link SortOrder}</p>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.aria-sort",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2926,
                            "end": 3035,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2927,
                                "end": 2938,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Returns the aria-sort value based on current sort order for accessibility.</p>\n"
                        },
                        {
                            "pos": 3035,
                            "end": 3112,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3036,
                                "end": 3043,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>ARIA sort state: &#39;ascending&#39;, &#39;descending&#39;, or &#39;none&#39;</p>\n",
                            "typeExpression": {
                                "pos": 3044,
                                "end": 3052,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 3045,
                                    "end": 3051,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nReturns the aria-sort value based on current sort order for accessibility.\n\n",
                    "description": "<p>Returns the aria-sort value based on current sort order for accessibility.</p>\n",
                    "line": 89,
                    "type": "\"ascending\" | \"descending\" | \"none\"",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2539,
                            "end": 2656,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2540,
                                "end": 2551,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                        },
                        {
                            "pos": 2656,
                            "end": 2721,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2657,
                                "end": 2664,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 2665,
                                "end": 2673,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 2666,
                                    "end": 2672,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                    "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                    "line": 78,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "TranslateModule",
                    "type": "module"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_ICON_BUTTON"
                }
            ],
            "description": "<p>Component used internally by <code>eui-table</code> to make a column sortable.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;table euiTable [data]=&quot;data&quot; (sortChange)=&quot;onSortChange($event)&quot;&gt;\n    &lt;ng-template euiTemplate=&quot;header&quot;&gt;\n        &lt;tr&gt;\n            &lt;th isSortable sortOn=&quot;id&quot;&gt;Id&lt;/th&gt;\n            &lt;th isSortable sortOn=&quot;country&quot;&gt;Country&lt;/th&gt;\n            &lt;th isSortable sortOn=&quot;year&quot;&gt;Year&lt;/th&gt;\n            &lt;th isSortable sortOn=&quot;iso&quot;&gt;ISO&lt;/th&gt;\n            &lt;th isSortable sortOn=&quot;population&quot;&gt;Population&lt;/th&gt;\n            &lt;th isSortable sortOn=&quot;capital&quot;&gt;Capital city&lt;/th&gt;\n        &lt;/tr&gt;\n    &lt;/ng-template&gt;\n    &lt;ng-template let-row euiTemplate=&quot;body&quot;&gt;\n        &lt;tr&gt;\n            &lt;td data-col-label=&quot;Id&quot;&gt;&lt;span euiBadge&gt;{{ row.id }}&lt;/span&gt;&lt;/td&gt;\n            &lt;td data-col-label=&quot;Country&quot;&gt;{{ row.country }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;Year&quot;&gt;{{ row.year }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;ISO&quot;&gt;{{ row.iso }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;Population&quot;&gt;{{ row.population | number }}&lt;/td&gt;\n            &lt;td data-col-label=&quot;Capital city&quot;&gt;{{ row.capital }}&lt;/td&gt;\n        &lt;/tr&gt;\n    &lt;/ng-template&gt;\n    &lt;ng-template euiTemplate=&quot;footer&quot;&gt;\n        &lt;tr&gt;\n            &lt;td class=&quot;eui-u-text-center&quot; colspan=&quot;6&quot;&gt;Footer&lt;/td&gt;\n        &lt;/tr&gt;\n    &lt;/ng-template&gt;\n&lt;/table&gt;</code></pre></div><p>Typescript logic</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-ts\">data: Country[] = [\n    { id: 1, country: &#39;Belgium&#39;, year: 1958, iso: &#39;BE&#39;, population: 11198638, capital: &#39;Brussels&#39; },\n]\n\nonSortChange(e: Sort[]) {\n    console.log(e);\n}</code></pre></div>",
            "rawdescription": "\n\nComponent used internally by `eui-table` to make a column sortable.\n\n### Basic Usage\n```html\n<table euiTable [data]=\"data\" (sortChange)=\"onSortChange($event)\">\n    <ng-template euiTemplate=\"header\">\n        <tr>\n            <th isSortable sortOn=\"id\">Id</th>\n            <th isSortable sortOn=\"country\">Country</th>\n            <th isSortable sortOn=\"year\">Year</th>\n            <th isSortable sortOn=\"iso\">ISO</th>\n            <th isSortable sortOn=\"population\">Population</th>\n            <th isSortable sortOn=\"capital\">Capital city</th>\n        </tr>\n    </ng-template>\n    <ng-template let-row euiTemplate=\"body\">\n        <tr>\n            <td data-col-label=\"Id\"><span euiBadge>{{ row.id }}</span></td>\n            <td data-col-label=\"Country\">{{ row.country }}</td>\n            <td data-col-label=\"Year\">{{ row.year }}</td>\n            <td data-col-label=\"ISO\">{{ row.iso }}</td>\n            <td data-col-label=\"Population\">{{ row.population | number }}</td>\n            <td data-col-label=\"Capital city\">{{ row.capital }}</td>\n        </tr>\n    </ng-template>\n    <ng-template euiTemplate=\"footer\">\n        <tr>\n            <td class=\"eui-u-text-center\" colspan=\"6\">Footer</td>\n        </tr>\n    </ng-template>\n</table>\n```\nTypescript logic\n```ts\ndata: Country[] = [\n    { id: 1, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n]\n\nonSortChange(e: Sort[]) {\n    console.log(e);\n}\n```\n",
            "type": "component",
            "sourceCode": "import { Component, OnInit, OnDestroy, Input, HostBinding, booleanAttribute, ViewChild, inject, input } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\nimport { EuiDropdownComponent } from '@eui/components/eui-dropdown';\n\nimport { EuiTableSortService } from '../services/eui-table-sort.service';\nimport { SortOrder } from '../models/sort.model';\n\n/**\n * @description\n * Component used internally by `eui-table` to make a column sortable.\n * \n * @usageNotes\n * ### Basic Usage\n * ```html\n * <table euiTable [data]=\"data\" (sortChange)=\"onSortChange($event)\">\n *     <ng-template euiTemplate=\"header\">\n *         <tr>\n *             <th isSortable sortOn=\"id\">Id</th>\n *             <th isSortable sortOn=\"country\">Country</th>\n *             <th isSortable sortOn=\"year\">Year</th>\n *             <th isSortable sortOn=\"iso\">ISO</th>\n *             <th isSortable sortOn=\"population\">Population</th>\n *             <th isSortable sortOn=\"capital\">Capital city</th>\n *         </tr>\n *     </ng-template>\n *     <ng-template let-row euiTemplate=\"body\">\n *         <tr>\n *             <td data-col-label=\"Id\"><span euiBadge>{{ row.id }}</span></td>\n *             <td data-col-label=\"Country\">{{ row.country }}</td>\n *             <td data-col-label=\"Year\">{{ row.year }}</td>\n *             <td data-col-label=\"ISO\">{{ row.iso }}</td>\n *             <td data-col-label=\"Population\">{{ row.population | number }}</td>\n *             <td data-col-label=\"Capital city\">{{ row.capital }}</td>\n *         </tr>\n *     </ng-template>\n *     <ng-template euiTemplate=\"footer\">\n *         <tr>\n *             <td class=\"eui-u-text-center\" colspan=\"6\">Footer</td>\n *         </tr>\n *     </ng-template>\n * </table>\n * ```\n * Typescript logic\n * ```ts\n * data: Country[] = [\n *     { id: 1, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n * ]\n * \n * onSortChange(e: Sort[]) {\n *     console.log(e);\n * }\n * ```\n */\n@Component({\n    // eslint-disable-next-line\n    selector: 'th[isSortable]',\n    templateUrl: './eui-table-sortable-col.component.html',\n    imports: [\n        TranslateModule,\n        ...EUI_ICON,\n        ...EUI_BUTTON,\n        ...EUI_ICON_BUTTON,\n    ],\n})\nexport class EuiTableSortableColComponent implements OnInit, OnDestroy {\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 ['eui-table__sortable-col', this.sortDisabled ? 'eui-table__sortable-col--disabled' : ''].join(' ').trim();\n    }\n\n    /**\n     * @description\n     * Returns the aria-sort value based on current sort order for accessibility.\n     *\n     * @returns {string} ARIA sort state: 'ascending', 'descending', or 'none'\n     */\n    @HostBinding('attr.aria-sort')\n    get ariaSort(): 'ascending' | 'descending' | 'none' {\n        if (this.order === 'asc') return 'ascending';\n        if (this.order === 'desc') return 'descending';\n        return 'none';\n    }\n\n    sortOn = input<string>();\n    sortOrder = input<SortOrder>('asc');\n\n    /**\n     * Whether the column is sorted by default.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) defaultOrder = false;\n    /**\n     * Whether the sort is disabled on the column.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) sortDisabled = false;\n    /**\n     * Whether the sorting of the column can be cumulated with the one of other column.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isMultiSortable = false;\n\n    public order: SortOrder = 'none';\n    public isSorted = false;\n    public sortedIndex: number = null;\n\n    @ViewChild('euiDropdown') euiDropdown: EuiDropdownComponent;\n\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private euiTableSortService = inject(EuiTableSortService);\n\n    ngOnInit(): void {\n        this.euiTableSortService.sorts.pipe(takeUntil(this.destroy$)).subscribe((sorts) => {\n            const isSorted = sorts.find(s => s.sort === this.sortOn());\n            this.isSorted = isSorted !== undefined;\n            if (this.isSorted) {\n                this.order = isSorted.order;\n                if (sorts.length > 1) {\n                    this.sortedIndex = sorts.findIndex(s => s.sort === this.sortOn()) + 1;\n                } else {\n                    this.sortedIndex = null;\n                }\n            } else {\n                this.order = 'none';\n                this.sortedIndex = null;\n            }\n        });\n\n        if (this.defaultOrder) {\n            this.order = this.sortOrder();\n            this.euiTableSortService.setSort(this.sortOn(), this.order, this.isMultiSortable);\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    /**\n     * Handles the click event on the sortable column.\n     */\n    public changeSort(): void {\n        if (!this.sortDisabled) {\n            if (this.order === 'asc') {\n                this.order = 'desc';\n            } else if (this.order === 'desc') {\n                this.order = 'none';\n            } else if (this.order === 'none') {\n                this.order = 'asc';\n            }\n\n            this.euiTableSortService.setSort(this.sortOn(), this.order, this.isMultiSortable);\n        }\n    }\n\n    /**\n     * Handles the click event on the dropdown item when the column is multi-sortable.\n     * @param order An array of SortOrder. See {@link SortOrder}\n     */\n    public onDropdownItemClick(order: SortOrder): void {\n        this.euiTableSortService.setSort(this.sortOn(), order, this.isMultiSortable);\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 78,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                        "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 2539,
                                "end": 2656,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2540,
                                    "end": 2551,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                            },
                            {
                                "pos": 2656,
                                "end": 2721,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2657,
                                    "end": 2664,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 2665,
                                    "end": 2673,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 2666,
                                        "end": 2672,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                },
                "ariaSort": {
                    "name": "ariaSort",
                    "getSignature": {
                        "name": "ariaSort",
                        "type": "unknown",
                        "returnType": "\"ascending\" | \"descending\" | \"none\"",
                        "line": 89,
                        "rawdescription": "\n\nReturns the aria-sort value based on current sort order for accessibility.\n\n",
                        "description": "<p>Returns the aria-sort value based on current sort order for accessibility.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 2926,
                                "end": 3035,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2927,
                                    "end": 2938,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Returns the aria-sort value based on current sort order for accessibility.</p>\n"
                            },
                            {
                                "pos": 3035,
                                "end": 3112,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 3036,
                                    "end": 3043,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>ARIA sort state: &#39;ascending&#39;, &#39;descending&#39;, or &#39;none&#39;</p>\n",
                                "typeExpression": {
                                    "pos": 3044,
                                    "end": 3052,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 3045,
                                        "end": 3051,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            },
            "templateData": "<div class=\"eui-table__sortable-col-content\">\n    <div class=\"eui-table__sortable-col-content-label\">\n        <ng-content></ng-content>\n\n        @if (order === 'none' && !sortDisabled) {\n            <eui-icon-button class=\"eui-u-ml-xs\" icon=\"eui-arrows-down-up\" ariaLabel=\"'Click to sort ascending'\" (click)=\"changeSort()\" />\n        }\n        @if (order === 'asc' && isSorted && !sortDisabled) {\n            <eui-icon-button class=\"eui-u-ml-xs\" euiPrimary icon=\"eui-arrow-up\" ariaLabel=\"'Click to sort descending'\" (click)=\"changeSort()\" />\n        }\n        @if (order === 'desc' && isSorted && !sortDisabled) {\n            <eui-icon-button class=\"eui-u-ml-xs\" euiPrimary icon=\"eui-arrow-down\" ariaLabel=\"'Click to sort none'\" (click)=\"changeSort()\" />\n        }\n\n        @if (sortedIndex && !sortDisabled) {\n            <button euiSizeS euiButton euiBasicButton (click)=\"changeSort()\">\n                <span class=\"eui-table__sortable-col-multisort-index\">{{ sortedIndex }}</span>\n            </button>\n        }\n    </div>\n</div>\n"
        },
        {
            "name": "EuiTabsComponent",
            "id": "component-EuiTabsComponent-397ebbffc9cc39c7bbf01b5c47a0f6803b02f07edf9d1f868afff2ef45cc5bf7906847b16545cf3d5d7a2abdf443ba728164c18d0eab6de77769773bf4869ca2",
            "file": "packages/components/eui-tabs/eui-tabs.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-tabs",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-tabs.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "activeTabIndex",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3758,
                            "end": 3774,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3759,
                                "end": 3766,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>0</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIndex of the active tab\n\n",
                    "description": "<p>Index of the active tab</p>\n",
                    "line": 124,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "ariaLabel",
                    "defaultValue": "'eUI Tabs'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3893,
                            "end": 3918,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3894,
                                "end": 3901,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eUI Tabs&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `aria-label` attribute for the host element.\n\n",
                    "description": "<p>Sets the <code>aria-label</code> attribute for the host element.</p>\n",
                    "line": 130,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-tabs'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 118,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isFlat",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 133,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isMainNavigation",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 132,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "tabActivate",
                    "defaultValue": "new EventEmitter<{ tab: EuiTabComponent; index: number }>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when a tab is activated\n",
                    "description": "<p>Event emitted when a tab is activated</p>\n",
                    "line": 142,
                    "type": "EventEmitter"
                },
                {
                    "name": "tabClick",
                    "defaultValue": "new EventEmitter<{ tab: EuiTabComponent; index: number }>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when a tab is clicked\n",
                    "description": "<p>Event emitted when a tab is clicked</p>\n",
                    "line": 146,
                    "type": "EventEmitter"
                },
                {
                    "name": "tabClose",
                    "defaultValue": "new EventEmitter<{ tab: EuiTabComponent; index: number }>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when a tab is closed\n",
                    "description": "<p>Event emitted when a tab is closed</p>\n",
                    "line": 138,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "_tabs",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiTabComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 148,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "undefined, {descendants: false}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "currentOffset",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 159,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "euiTabListItems",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<ElementRef>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 153,
                    "decorators": [
                        {
                            "name": "ViewChildren",
                            "stringifiedArguments": "'euiTabListItems'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "euiTabsHeaders",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 151,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'euiTabsHeaders'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "euiTabsHeadersContainer",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 150,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'euiTabsHeadersContainer'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "euiTabsRightContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 152,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'euiTabsRightContent'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "navigationLeftButtonDisabled",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 157,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "navigationRightButtonDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 158,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "scrolling",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 156,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "tabId",
                    "defaultValue": "uniqueId()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 161,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "tabs",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiTabComponent[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 155,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "activate",
                    "args": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "isAnimated",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "true"
                        },
                        {
                            "name": "options",
                            "type": "object",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{ emitEvent: true }"
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 393,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nActivates a tab\n\n",
                    "description": "<p>Activates a tab</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 12222,
                                "end": 12227,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "index"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 12216,
                                "end": 12221,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Index of the tab to activate</p>\n"
                        },
                        {
                            "name": {
                                "pos": 12271,
                                "end": 12281,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "isAnimated"
                            },
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "true",
                            "tagName": {
                                "pos": 12265,
                                "end": 12270,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Whether the activation should be animated</p>\n"
                        },
                        {
                            "name": {
                                "pos": 12338,
                                "end": 12345,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "options"
                            },
                            "type": "object",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{ emitEvent: true }",
                            "tagName": {
                                "pos": 12332,
                                "end": 12337,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Object with emitEvent property to emit the event or not</p>\n"
                        }
                    ]
                },
                {
                    "name": "activateTab",
                    "args": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "isAnimated",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "true"
                        },
                        {
                            "name": "options",
                            "type": "object",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{ emitEvent: true }"
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 237,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nActivate a tab having index passed in parameter if exists.\n\n",
                    "description": "<p>Activate a tab having index passed in parameter if exists.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 7292,
                                "end": 7297,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "index"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 7286,
                                "end": 7291,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Index of the tab to close</p>\n"
                        },
                        {
                            "name": {
                                "pos": 7338,
                                "end": 7348,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "isAnimated"
                            },
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "true",
                            "tagName": {
                                "pos": 7332,
                                "end": 7337,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Whether the tab activation should be animated</p>\n"
                        },
                        {
                            "name": {
                                "pos": 7409,
                                "end": 7416,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "options"
                            },
                            "type": "object",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "{ emitEvent: true }",
                            "tagName": {
                                "pos": 7403,
                                "end": 7408,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Object with emitEvent property to emit the event or not</p>\n"
                        }
                    ]
                },
                {
                    "name": "close",
                    "args": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "e",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 407,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCloses a tab\n\n",
                    "description": "<p>Closes a tab</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 12716,
                                "end": 12721,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "index"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 12710,
                                "end": 12715,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Index of the tab to close</p>\n"
                        },
                        {
                            "name": {
                                "pos": 12762,
                                "end": 12763,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "e"
                            },
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 12756,
                                "end": 12761,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": ""
                        }
                    ]
                },
                {
                    "name": "closeTab",
                    "args": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 261,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nClose a tab having index passed in parameter if exists.\n",
                    "description": "<p>Close a tab having index passed in parameter if exists.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 8106,
                                "end": 8111,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "index"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 8100,
                                "end": 8105,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Index of the tab to close</p>\n"
                        }
                    ]
                },
                {
                    "name": "goToLeft",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 290,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nScroll to the left handler\n",
                    "description": "<p>Scroll to the left handler</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "goToRight",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 302,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nScroll to the rihgt handler\n",
                    "description": "<p>Scroll to the rihgt handler</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 207,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "c",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 195,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "c",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 225,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 201,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onAttached",
                    "args": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 422,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nChecks if there are html elements within the tab panel, in order to focus or not the tab panel\n",
                    "description": "<p>Checks if there are html elements within the tab panel, in order to focus or not the tab panel</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 13161,
                                "end": 13166,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "index"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 13155,
                                "end": 13160,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The tab index</p>\n"
                        }
                    ]
                },
                {
                    "name": "onKeydown",
                    "args": [
                        {
                            "name": "i",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 317,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nActions applied upon a keydown event\n\n",
                    "description": "<p>Actions applied upon a keydown event</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 9720,
                                "end": 9721,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "i"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 9714,
                                "end": 9719,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Index of the tab for each pressed key</p>\n"
                        },
                        {
                            "name": {
                                "pos": 9774,
                                "end": 9779,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 9768,
                                "end": 9773,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The keyboard event</p>\n"
                        }
                    ]
                },
                {
                    "name": "tabListItemClick",
                    "args": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 378,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nClick handler for tab list item\n\n",
                    "description": "<p>Click handler for tab list item</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 11956,
                                "end": 11961,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "index"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 11950,
                                "end": 11955,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>Index of the tab clicked</p>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 104,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "NgClass"
                },
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "PortalModule",
                    "type": "module"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_ICON_BUTTON"
                }
            ],
            "description": "<p>eUI Tabs component helps to organize content into separate views where only one view can be visible at a time.\nEach tab&#39;s label is shown in the tab header and the active tab is designated with a primary ink bar visual.\nThe active tab may be set using the <code>activeTabIndex</code> input option or when the user selects one of the tab labels in the header.\nWhen the list of tab labels exceeds the width of the header or its container, pagination controls appear to let the user scroll left and right across the tabs.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tabs [activeTabIndex]=&quot;0&quot; (activeTabChange)=&quot;onTabChange($event)&quot;&gt;\n  &lt;eui-tab label=&quot;Overview&quot;&gt;\n    &lt;eui-tab-body&gt;\n      &lt;p&gt;Overview content here&lt;/p&gt;\n    &lt;/eui-tab-body&gt;\n  &lt;/eui-tab&gt;\n  &lt;eui-tab label=&quot;Details&quot;&gt;\n    &lt;eui-tab-body&gt;\n      &lt;p&gt;Details content here&lt;/p&gt;\n    &lt;/eui-tab-body&gt;\n  &lt;/eui-tab&gt;\n&lt;/eui-tabs&gt;</code></pre></div><h3>With Custom Headers</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tabs&gt;\n  &lt;eui-tab&gt;\n    &lt;eui-tab-header&gt;\n      &lt;eui-tab-header-left-content&gt;\n        &lt;eui-icon svgName=&quot;home&quot; /&gt;\n      &lt;/eui-tab-header-left-content&gt;\n      &lt;eui-tab-header-label&gt;Home&lt;/eui-tab-header-label&gt;\n    &lt;/eui-tab-header&gt;\n    &lt;eui-tab-body&gt;Content&lt;/eui-tab-body&gt;\n  &lt;/eui-tab&gt;\n&lt;/eui-tabs&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use role=&quot;tablist&quot; on container (automatically applied)</li>\n<li>Each tab has role=&quot;tab&quot; and associated panel has role=&quot;tabpanel&quot;</li>\n<li>Keyboard navigation: Arrow keys to switch tabs, Tab to move focus</li>\n<li>Provide meaningful aria-label for the tabs component</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Only one tab content is visible at a time</li>\n<li>Pagination controls appear automatically when tabs overflow</li>\n<li>Use isMainNavigation=&quot;true&quot; for primary navigation styling</li>\n<li>Use isFlat=&quot;true&quot; for flat visual style without elevation</li>\n</ul>\n",
            "rawdescription": "\n\neUI Tabs component helps to organize content into separate views where only one view can be visible at a time.\nEach tab's label is shown in the tab header and the active tab is designated with a primary ink bar visual.\nThe active tab may be set using the `activeTabIndex` input option or when the user selects one of the tab labels in the header.\nWhen the list of tab labels exceeds the width of the header or its container, pagination controls appear to let the user scroll left and right across the tabs.\n\n### Basic Usage\n```html\n<eui-tabs [activeTabIndex]=\"0\" (activeTabChange)=\"onTabChange($event)\">\n  <eui-tab label=\"Overview\">\n    <eui-tab-body>\n      <p>Overview content here</p>\n    </eui-tab-body>\n  </eui-tab>\n  <eui-tab label=\"Details\">\n    <eui-tab-body>\n      <p>Details content here</p>\n    </eui-tab-body>\n  </eui-tab>\n</eui-tabs>\n```\n\n### With Custom Headers\n```html\n<eui-tabs>\n  <eui-tab>\n    <eui-tab-header>\n      <eui-tab-header-left-content>\n        <eui-icon svgName=\"home\" />\n      </eui-tab-header-left-content>\n      <eui-tab-header-label>Home</eui-tab-header-label>\n    </eui-tab-header>\n    <eui-tab-body>Content</eui-tab-body>\n  </eui-tab>\n</eui-tabs>\n```\n\n### Accessibility\n- Use role=\"tablist\" on container (automatically applied)\n- Each tab has role=\"tab\" and associated panel has role=\"tabpanel\"\n- Keyboard navigation: Arrow keys to switch tabs, Tab to move focus\n- Provide meaningful aria-label for the tabs component\n\n### Notes\n- Only one tab content is visible at a time\n- Pagination controls appear automatically when tabs overflow\n- Use isMainNavigation=\"true\" for primary navigation styling\n- Use isFlat=\"true\" for flat visual style without elevation\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    ContentChildren,\n    EventEmitter,\n    Input,\n    OnDestroy,\n    Output,\n    QueryList,\n    forwardRef,\n    AfterViewInit,\n    ElementRef,\n    ChangeDetectorRef,\n    HostBinding,\n    booleanAttribute,\n    ChangeDetectionStrategy,\n    ViewChild,\n    SimpleChanges,\n    ViewChildren,\n    OnChanges,\n    OnInit,\n    inject,\n    PLATFORM_ID,\n    DOCUMENT,\n} from '@angular/core';\nimport { AsyncPipe, isPlatformBrowser, NgClass } from '@angular/common';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { animate, AnimationBuilder, AnimationFactory, AnimationPlayer, style } from '@angular/animations';\nimport { Subject, startWith, takeUntil } from 'rxjs';\n\nimport { EuiAppShellService, uniqueId } from '@eui/core';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\n\nimport { EuiTabComponent } from './eui-tab/eui-tab.component';\n\n/**\n * @description\n * eUI Tabs component helps to organize content into separate views where only one view can be visible at a time.\n * Each tab's label is shown in the tab header and the active tab is designated with a primary ink bar visual.\n * The active tab may be set using the `activeTabIndex` input option or when the user selects one of the tab labels in the header.\n * When the list of tab labels exceeds the width of the header or its container, pagination controls appear to let the user scroll left and right across the tabs.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-tabs [activeTabIndex]=\"0\" (activeTabChange)=\"onTabChange($event)\">\n *   <eui-tab label=\"Overview\">\n *     <eui-tab-body>\n *       <p>Overview content here</p>\n *     </eui-tab-body>\n *   </eui-tab>\n *   <eui-tab label=\"Details\">\n *     <eui-tab-body>\n *       <p>Details content here</p>\n *     </eui-tab-body>\n *   </eui-tab>\n * </eui-tabs>\n * ```\n *\n * ### With Custom Headers\n * ```html\n * <eui-tabs>\n *   <eui-tab>\n *     <eui-tab-header>\n *       <eui-tab-header-left-content>\n *         <eui-icon svgName=\"home\" />\n *       </eui-tab-header-left-content>\n *       <eui-tab-header-label>Home</eui-tab-header-label>\n *     </eui-tab-header>\n *     <eui-tab-body>Content</eui-tab-body>\n *   </eui-tab>\n * </eui-tabs>\n * ```\n *\n * ### Accessibility\n * - Use role=\"tablist\" on container (automatically applied)\n * - Each tab has role=\"tab\" and associated panel has role=\"tabpanel\"\n * - Keyboard navigation: Arrow keys to switch tabs, Tab to move focus\n * - Provide meaningful aria-label for the tabs component\n *\n * ### Notes\n * - Only one tab content is visible at a time\n * - Pagination controls appear automatically when tabs overflow\n * - Use isMainNavigation=\"true\" for primary navigation styling\n * - Use isFlat=\"true\" for flat visual style without elevation\n */\n@Component({\n    selector: 'eui-tabs',\n    templateUrl: './eui-tabs.component.html',\n    styleUrl: './eui-tabs.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        NgClass,\n        AsyncPipe,\n        PortalModule,\n        ...EUI_ICON,\n        ...EUI_BUTTON,\n        ...EUI_ICON_BUTTON,\n    ],\n})\nexport class EuiTabsComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit {\n    @HostBinding('class')\n    get elementClass(): string {\n        return [\n            'eui-tabs', \n            this.isMainNavigation ? 'eui-tabs--main-navigation' : '',\n            this.isFlat ? 'eui-tabs--flat' : '',\n        ].join(' ').trim();\n    }\n    @HostBinding('attr.data-e2e')\n    /**\n     * Sets the `data-e2e` attribute for the host element.\n     *\n     * @default 'eui-tabs'\n     */\n    @Input()\n    e2eAttr = 'eui-tabs';\n    /**\n     * Index of the active tab\n     *\n     * @default 0\n     */\n    @Input() activeTabIndex = 0;\n    /**\n     * Sets the `aria-label` attribute for the host element.\n     *\n     * @default 'eUI Tabs'\n     */\n    @Input() ariaLabel = 'eUI Tabs';\n\n    @Input({ transform: booleanAttribute }) isMainNavigation = false;\n    @Input({ transform: booleanAttribute }) isFlat = false;\n\n    /**\n     * Event emitted when a tab is closed\n     */\n    @Output() tabClose = new EventEmitter<{ tab: EuiTabComponent; index: number }>();\n    /**\n     * Event emitted when a tab is activated\n     */\n    @Output() tabActivate = new EventEmitter<{ tab: EuiTabComponent; index: number }>();\n    /**\n     * Event emitted when a tab is clicked\n     */\n    @Output() tabClick = new EventEmitter<{ tab: EuiTabComponent; index: number }>();\n\n    @ContentChildren(forwardRef(() => EuiTabComponent), { descendants: false }) _tabs: QueryList<EuiTabComponent>;\n\n    @ViewChild('euiTabsHeadersContainer') euiTabsHeadersContainer: ElementRef;\n    @ViewChild('euiTabsHeaders') euiTabsHeaders: ElementRef;\n    @ViewChild('euiTabsRightContent') euiTabsRightContent: ElementRef;\n    @ViewChildren('euiTabListItems') euiTabListItems: QueryList<ElementRef>;\n\n    public tabs: EuiTabComponent[] = [];\n    public scrolling = false;\n    public navigationLeftButtonDisabled = true;\n    public navigationRightButtonDisabled = false;\n    public currentOffset = 0;\n\n    protected tabId = uniqueId();\n\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private platformId = inject(PLATFORM_ID);\n    private player: AnimationPlayer;\n    private stepMove = 400;\n    private scrollOffset = 40;\n    private scrollingCount = 0;\n    private cd = inject(ChangeDetectorRef);\n    private builder = inject(AnimationBuilder);\n    private euiAppShellService = inject(EuiAppShellService);\n    private document = inject(DOCUMENT);\n\n    /**\n     * Width of the tabs headers container\n     */\n    get euiTabsHeadersContainerWidth(): number {\n        return (this.euiTabsHeadersContainer?.nativeElement.clientWidth - this.euiTabsRightContentWidth);\n    }\n\n    /**\n     * Width of the tabs headers\n     */\n    get euiTabsHeadersWidth(): number {\n        return this.euiTabsHeaders?.nativeElement.clientWidth;\n    }\n\n    /**\n     * Width of the tabs right content\n     */\n    get euiTabsRightContentWidth(): number {\n        return this.euiTabsRightContent?.nativeElement?.offsetWidth || 0;\n    }\n\n    ngOnChanges(c: SimpleChanges): void {\n        if (c?.activeTabIndex && !c.activeTabIndex.isFirstChange()) {\n            this.activate(this.activeTabIndex);\n        }\n    }\n\n    ngOnInit(): void {\n        this.euiAppShellService.state$.pipe(takeUntil(this.destroy$)).subscribe((state) => {\n            this.tabsScrollingHandler();\n        });\n    }\n\n    ngAfterViewInit(): void {\n        this._tabs.changes.pipe(startWith(this._tabs), takeUntil(this.destroy$)).subscribe((tabs: QueryList<EuiTabComponent>) => {\n            this.tabs = tabs.toArray();\n            setTimeout(() => {\n                this.tabsScrollingHandler();\n            });\n\n            this.cd.detectChanges();\n        });\n\n        setTimeout(() => {\n            if (this.tabs[this.activeTabIndex]) {\n                this.cd.markForCheck();\n                this.activate(this.activeTabIndex, false, { emitEvent: false });\n            }\n        });\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    /**\n     * Activate a tab having index passed in parameter if exists.\n     *\n     * @param index Index of the tab to close\n     * @param isAnimated Whether the tab activation should be animated\n     * @param options Object with emitEvent property to emit the event or not\n     */\n    public activateTab(index: number, isAnimated = true, options = { emitEvent: true }): void {\n        const tab = this.tabs[index];\n        if (tab) {\n            this.tabs.forEach((t) => {\n                t.deactivateTab();\n            });\n\n            this.setScrollToTabIndex(index, isAnimated);\n\n            tab.activateTab();\n            this.activeTabIndex = index;\n\n            if (options.emitEvent) {\n                this.tabActivate.emit({ tab, index });\n            }\n\n            this.cd.detectChanges();\n        }\n    }\n\n    /**\n     * Close a tab having index passed in parameter if exists.\n         * @param index Index of the tab to close\n     */\n    public closeTab(index: number): void {\n        const tab = this.tabs[index];\n        if (this.tabs[index]) {\n            this.tabs[index].deactivateTab();\n            this.tabs = this.tabs.filter((_, i) => i !== index);\n\n            if (index === this.activeTabIndex) {\n                const previousVisibleIndex = this.tabs.indexOf(this.tabs[index - 1]);\n                this.cd.markForCheck();\n\n                if (previousVisibleIndex < 0) {\n                    this.activate(0);\n                } else {\n                    this.activate(previousVisibleIndex);\n                }\n            } else {\n                if (index < this.activeTabIndex) {\n                    this.activeTabIndex = this.activeTabIndex - 1;\n                }\n            }\n\n            this.cd.detectChanges();\n            this.tabsScrollingHandler();\n        }\n    }\n\n    /**\n     * Scroll to the left handler\n     */\n    public goToLeft(): void {\n        let scrollTo = this.currentOffset + this.stepMove;\n        if (scrollTo > 0) {\n            scrollTo = 0;\n        }\n\n        this.setScrollTo(scrollTo);\n    }\n\n    /**\n     * Scroll to the rihgt handler\n     */\n    public goToRight(): void {\n        let scrollTo = this.currentOffset - this.stepMove;\n        if (Math.abs(scrollTo) > this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth) {\n            scrollTo = -(this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth) - this.scrollOffset;\n        }\n\n        this.setScrollTo(scrollTo);\n    }\n\n    /**\n     * Actions applied upon a keydown event\n     *\n     * @param i Index of the tab for each pressed key\n     * @param event The keyboard event\n     */\n    protected onKeydown(i: number, event: KeyboardEvent): void {\n        switch (event.key) {\n            case 'Enter': {\n                if (!this.tabs[i].isDisabled) {\n                    this.activate(i);\n                }\n                break;\n            }\n            case 'ArrowRight': {\n                const isLastItem = i === this.euiTabListItems.toArray().length - 1;\n                const index = isLastItem ? 0 : i + 1;\n\n                this.setScrollToTabIndex(index, false);\n                this.euiTabListItems.toArray()[index]?.nativeElement.focus();\n\n                break;\n            }\n            case 'ArrowLeft': {\n                const lastIndex = this.euiTabListItems.toArray().length - 1;\n                const index = i === 0 ? lastIndex : i - 1;\n\n                this.setScrollToTabIndex(index, false);\n                this.euiTabListItems.toArray()[index]?.nativeElement.focus();\n\n                break;\n            }\n            case 'Home': {\n                this.setScrollToTabIndex(0, false);\n                this.euiTabListItems.toArray()[0]?.nativeElement.focus();\n                event.preventDefault();\n                break;\n            }\n            case 'End': {\n                this.setScrollToTabIndex(this.euiTabListItems.toArray().length - 1, false);\n                this.euiTabListItems.toArray()[this.euiTabListItems.toArray().length - 1]?.nativeElement.focus();\n                event.preventDefault();\n                break;\n            }\n            case 'Delete': {\n                if (this.tabs[i].isClosable) {\n                    if (i === this.euiTabListItems.toArray().length - 1) {\n                        this.euiTabListItems.toArray()[i - 1]?.nativeElement.focus();\n                        this.close(i, event);\n                    } else {\n                        this.close(i, event);\n                        this.euiTabListItems.toArray()[i]?.nativeElement.focus();\n                    }\n                }\n                break;\n            }\n            default: {\n                break;\n            }\n        }\n    }\n\n    /**\n     * Click handler for tab list item\n     *\n     * @param index Index of the tab clicked\n     */\n    protected tabListItemClick(index: number): void {\n        const tab = this.tabs[index];\n\n        this.tabClick.emit({ tab, index });\n\n        this.activate(index);\n    }\n\n    /**\n     * Activates a tab\n     *\n     * @param index Index of the tab to activate\n     * @param isAnimated Whether the activation should be animated\n     * @param options Object with emitEvent property to emit the event or not\n     */\n    protected activate(index: number, isAnimated = true, options = { emitEvent: true }): void {\n        const tab = this.tabs[index];\n\n        if (tab && !tab.isHandleActivateTab) {\n            this.activateTab(index, isAnimated, options);\n        }\n    }\n\n    /**\n     * Closes a tab\n     *\n     * @param index Index of the tab to close\n     * @param e\n     */\n    protected close(index: number, e: Event): void {\n        const tab = this.tabs[index];\n\n        if (tab && !tab.isHandleCloseOnClose) {\n            this.closeTab(index);\n        }\n\n        this.tabClose.emit({ tab, index });\n        e.stopPropagation();\n    }\n\n    /**\n     * Checks if there are html elements within the tab panel, in order to focus or not the tab panel\n     * @param index The tab index\n     */\n    protected onAttached(index: number): void {\n        if (isPlatformBrowser(this.platformId)) {\n            const tabbody = this.document.querySelector('#tabpanel-' + index + '-' + this.tabId)?.children[0];\n            if (tabbody?.children.length > 0) {\n                for (const child of Array.from(tabbody.children)) {\n                    if (this.isFocusableElement(child)) {\n                        this.tabs[index - 1].templateBody.tabIndex$.next(-1);\n                    } else {\n                        this.tabs[index - 1].templateBody.tabIndex$.next(0);\n                    }\n                }\n            } else {\n                this.tabs[index - 1].templateBody.tabIndex$.next(0);\n            }\n        }\n    }\n\n    /**\n     * Checks the existence of focusable elements\n     * @param origin The element to check\n     */\n    private isFocusableElement(origin: Element): boolean {\n        return (\n            origin.matches('button') ||\n            origin.matches('a') ||\n            origin.matches('input') ||\n            origin.matches('select') ||\n            origin.matches('textarea') ||\n            origin.matches('[tabindex]:not([tabindex=\"-1\"])')\n        );\n    }\n\n    /**\n     * Checks if the tabs headers are scrolling and calculates the scrolling position\n     */\n    private tabsScrollingHandler(): void {\n        if (this.euiTabsHeadersContainerWidth && this.euiTabsHeadersWidth) {\n\n            this.scrolling = this.euiTabsHeadersWidth > this.euiTabsHeadersContainerWidth;\n\n            if (!this.scrolling) {\n                this.scrollingCount = 0;\n                this.setScrollTo(0, false);\n                this.navigationLeftButtonDisabled = true;\n                this.navigationRightButtonDisabled = true;\n            } else {\n                const maxScrollableWidth = this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth;\n\n                if (maxScrollableWidth <= Math.abs(this.currentOffset) + this.scrollOffset && this.scrollingCount !== 0) {\n                    const scrollTo = -maxScrollableWidth - this.scrollOffset;\n                    this.setScrollTo(scrollTo);\n                } else {\n                    this.navigationRightButtonDisabled = Math.abs(this.currentOffset) >= maxScrollableWidth;\n                    this.navigationLeftButtonDisabled = this.currentOffset >= 0;\n                }\n\n                this.scrollingCount++;\n            }\n\n            this.cd.detectChanges();\n        }\n    }\n\n    /**\n     * Sets the scroll position oon the tab header specified by index\n     *\n     * @param index Index of the tab header to scroll to\n     * @param isAnimated Whether the tab activation should be animated\n     */\n    private setScrollToTabIndex(index: number, isAnimated = true): void {\n        const activeTab = this.euiTabsHeaders.nativeElement.children.item(index);\n\n        if (activeTab && !this.isActiveTabFullyVisible(activeTab) && !this.isMainNavigation) {\n            let scrollTo = 0;\n            let subsetWidth = 0;\n            for (let i = 0; i <= index; i++) {\n                subsetWidth += this.euiTabsHeaders.nativeElement.children.item(i).clientWidth;\n            }\n\n            scrollTo = this.euiTabsHeadersContainerWidth / 2 - subsetWidth;\n\n            if (Math.abs(scrollTo) > this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + this.scrollOffset) {\n                scrollTo = -(this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + this.scrollOffset);\n            }\n\n            if (scrollTo > 0 || (scrollTo < 0 && index === 0)) {\n                scrollTo = 0;\n            }\n\n            this.setScrollTo(scrollTo, isAnimated);\n        }\n    }\n\n    /**\n     * Sets the scroll position of the tabs headers\n     *\n     * @param scrollTo Number to set on the margin-left style property\n     * @param isAnimated Whether the tab activation should be animated\n     */\n    private setScrollTo(scrollTo: number, isAnimated = true): void {\n        const timings = isAnimated ? '500ms cubic-bezier(0.35, 0, 0.25, 1)' : 0;\n        const animation: AnimationFactory = this.builder.build([animate(timings, style({ 'margin-left': +scrollTo + 'px' }))]);\n\n        this.player = animation.create(this.euiTabsHeaders.nativeElement);\n        this.player.play();\n\n        this.currentOffset = scrollTo;\n\n        if (scrollTo === 0) {\n            this.navigationLeftButtonDisabled = true;\n        }\n        if (Math.abs(this.currentOffset) < this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + this.scrollOffset) {\n            this.navigationRightButtonDisabled = false;\n        }\n        if (this.currentOffset < 0) {\n            this.navigationLeftButtonDisabled = false;\n        }\n        if (Math.abs(scrollTo) === this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + this.scrollOffset) {\n            this.navigationRightButtonDisabled = true;\n        }\n\n        this.cd.detectChanges();\n    }\n\n    /**\n     * Checks if the active tab is fully visible\n     *\n     * @param activeTab Index of the tab to check\n     * @returns true if fully visible, false otherwise\n     */\n    private isActiveTabFullyVisible(activeTab: HTMLDivElement): boolean {\n        const fullyVisible =\n            activeTab.offsetLeft - this.scrollOffset >= 0 &&\n            activeTab.offsetLeft + activeTab.clientWidth < this.euiTabsHeadersContainerWidth - this.scrollOffset;\n\n        return fullyVisible;\n    }\n}\n",
            "styleUrl": "./eui-tabs.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnChanges",
                "OnDestroy",
                "AfterViewInit"
            ],
            "accessors": {
                "elementClass": {
                    "name": "elementClass",
                    "getSignature": {
                        "name": "elementClass",
                        "type": "string",
                        "returnType": "string",
                        "line": 104
                    }
                },
                "euiTabsHeadersContainerWidth": {
                    "name": "euiTabsHeadersContainerWidth",
                    "getSignature": {
                        "name": "euiTabsHeadersContainerWidth",
                        "type": "number",
                        "returnType": "number",
                        "line": 177,
                        "rawdescription": "\n\nWidth of the tabs headers container\n",
                        "description": "<p>Width of the tabs headers container</p>\n"
                    }
                },
                "euiTabsHeadersWidth": {
                    "name": "euiTabsHeadersWidth",
                    "getSignature": {
                        "name": "euiTabsHeadersWidth",
                        "type": "number",
                        "returnType": "number",
                        "line": 184,
                        "rawdescription": "\n\nWidth of the tabs headers\n",
                        "description": "<p>Width of the tabs headers</p>\n"
                    }
                },
                "euiTabsRightContentWidth": {
                    "name": "euiTabsRightContentWidth",
                    "getSignature": {
                        "name": "euiTabsRightContentWidth",
                        "type": "number",
                        "returnType": "number",
                        "line": 191,
                        "rawdescription": "\n\nWidth of the tabs right content\n",
                        "description": "<p>Width of the tabs right content</p>\n"
                    }
                }
            },
            "templateData": "<div #euiTabsHeadersContainer class=\"eui-tabs-wrapper\" [class.eui-tabs-wrapper--scrolling]=\"scrolling\">\n    <div class=\"eui-tabs-navigation\">\n        <div class=\"eui-tabs-navigation__left-item\">\n            <eui-icon-button\n                (click)=\"goToLeft()\"\n                [euiDisabled]=\"navigationLeftButtonDisabled\"\n                icon=\"eui-chevron-left\"\n                ariaLabel=\"Scroll left\" />\n        </div>\n\n        <ul #euiTabsHeaders class=\"eui-tab-items\" [attr.data-offset]=\"currentOffset\" role=\"tablist\" [attr.aria-label]=\"ariaLabel\">\n            @for (tab of tabs; let i = $index; track tab) {\n                @if (tab.isVisible$ | async) {\n                    <li #euiTabListItems\n                        class=\"eui-tab-item\"\n                        id=\"tab-{{ i + 1 }}-{{ tabId }}\"\n                        [tabindex]=\"i === activeTabIndex ? '0' : '-1'\"\n                        role=\"tab\"\n                        attr.aria-controls=\"tabpanel-{{ i + 1 }}-{{ tabId }}\"\n                        [attr.aria-selected]=\"i === activeTabIndex\"\n                        [ngClass]=\"tab.baseStatesDirective.euiVariant ? 'eui-tab-item--' + tab.baseStatesDirective.euiVariant : ''\"\n                        [class.eui-tab-item--active]=\"i === activeTabIndex\"\n                        [class.eui-tab-item--disabled]=\"tab.isDisabled$ | async\"\n                        attr.aria-disabled=\"{{ tab.isDisabled$ | async }}\"\n                        (click)=\"tabListItemClick(i)\"\n                        (keydown)=\"onKeydown(i, $event)\">\n                        <ng-template [cdkPortalOutlet]=\"tab.templateHeader.templatePortal\"></ng-template>\n\n                        @if (tab.isClosable$ | async) {\n                            <eui-icon-button\n                                [tabindex]=\"-1\"\n                                ariaLabel=\"Closable\"\n                                euiRounded\n                                class=\"eui-tab-close-button\"\n                                icon=\"eui-close\"\n                                size=\"s\"\n                                (buttonClick)=\"close(i, $event)\">\n                            </eui-icon-button>\n                        }\n                    </li>\n                }\n            }\n        </ul>\n\n        <div class=\"eui-tabs-navigation__right-item\">\n            <eui-icon-button\n                (click)=\"goToRight()\"\n                [euiDisabled]=\"navigationRightButtonDisabled\"\n                icon=\"eui-chevron-right\"\n                ariaLabel=\"Scroll right\" />\n        </div>\n    </div>\n    <div #euiTabsRightContent class=\"eui-tabs-right-content-wrapper\">\n        <ng-content select=\"eui-tabs-right-content\"></ng-content>\n    </div>\n</div>\n\n@for (tab of tabs; let i = $index; track tab) {\n    @if (i === activeTabIndex && (tab.isDisabled$ | async) === false && tab.templateBody) {\n        <div id=\"tabpanel-{{ i + 1 }}-{{ tabId }}\" class=\"eui-tab-body-container\" role=\"tabpanel\" attr.aria-labelledby=\"tab-{{ i + 1 }}-{{ tabId }}\">\n            <ng-template [cdkPortalOutlet]=\"tab.templateBody.templatePortal\" (attached)=\"onAttached(i + 1)\"></ng-template>\n        </div>\n    }\n}\n"
        },
        {
            "name": "EuiTabsRightContentComponent",
            "id": "component-EuiTabsRightContentComponent-74c6d165f788c5dbceb7b91e474487208547cd905c85239b645d576559a01d611e49e53026db05da164190450daeca4239fc41b253855220a224dee82eac361f",
            "file": "packages/components/eui-tabs/eui-tabs-right-content/eui-tabs-right-content.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-tabs-right-content",
            "styleUrls": [],
            "styles": [
                "\n    :host {\n        display: flex;\n        margin-left: auto;\n    }\n    "
            ],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Content projection component for displaying custom content aligned to the right side of the tabs header.\nAutomatically positions content using flexbox with left margin auto for right alignment.\nTypically contains action buttons, filters, or supplementary controls related to tab content.\nMust be used as a direct child of eui-tabs component to maintain proper layout structure.</p>\n<h3>Basic Usage with Button</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tabs&gt;\n  &lt;eui-tab label=&quot;Tab 1&quot;&gt;\n    &lt;eui-tab-body&gt;Content 1&lt;/eui-tab-body&gt;\n  &lt;/eui-tab&gt;\n  &lt;eui-tab label=&quot;Tab 2&quot;&gt;\n    &lt;eui-tab-body&gt;Content 2&lt;/eui-tab-body&gt;\n  &lt;/eui-tab&gt;\n\n  &lt;eui-tabs-right-content&gt;\n    &lt;button euiButton euiPrimary (click)=&quot;addTab()&quot;&gt;\n      Add Tab\n    &lt;/button&gt;\n  &lt;/eui-tabs-right-content&gt;\n&lt;/eui-tabs&gt;</code></pre></div><h3>With Multiple Controls</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tabs&gt;\n  &lt;!-- tabs here --&gt;\n\n  &lt;eui-tabs-right-content&gt;\n    &lt;eui-input-text placeholder=&quot;Filter...&quot; /&gt;\n    &lt;button euiButton euiSecondary&gt;\n      &lt;eui-icon-svg icon=&quot;eui-settings&quot; /&gt;\n    &lt;/button&gt;\n  &lt;/eui-tabs-right-content&gt;\n&lt;/eui-tabs&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Controls should be keyboard accessible</li>\n<li>Buttons need descriptive labels or aria-labels</li>\n<li>Maintain logical tab order</li>\n<li>Interactive elements should have visible focus indicators</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Automatically aligned to the right of tab headers</li>\n<li>Does not interfere with tab navigation controls</li>\n<li>Useful for global actions affecting all tabs</li>\n<li>Supports any content (buttons, inputs, dropdowns)</li>\n<li>Positioned at the same level as tab headers</li>\n</ul>\n",
            "rawdescription": "\n\nContent projection component for displaying custom content aligned to the right side of the tabs header.\nAutomatically positions content using flexbox with left margin auto for right alignment.\nTypically contains action buttons, filters, or supplementary controls related to tab content.\nMust be used as a direct child of eui-tabs component to maintain proper layout structure.\n\n### Basic Usage with Button\n```html\n<eui-tabs>\n  <eui-tab label=\"Tab 1\">\n    <eui-tab-body>Content 1</eui-tab-body>\n  </eui-tab>\n  <eui-tab label=\"Tab 2\">\n    <eui-tab-body>Content 2</eui-tab-body>\n  </eui-tab>\n\n  <eui-tabs-right-content>\n    <button euiButton euiPrimary (click)=\"addTab()\">\n      Add Tab\n    </button>\n  </eui-tabs-right-content>\n</eui-tabs>\n```\n\n### With Multiple Controls\n```html\n<eui-tabs>\n  <!-- tabs here -->\n\n  <eui-tabs-right-content>\n    <eui-input-text placeholder=\"Filter...\" />\n    <button euiButton euiSecondary>\n      <eui-icon-svg icon=\"eui-settings\" />\n    </button>\n  </eui-tabs-right-content>\n</eui-tabs>\n```\n\n### Accessibility\n- Controls should be keyboard accessible\n- Buttons need descriptive labels or aria-labels\n- Maintain logical tab order\n- Interactive elements should have visible focus indicators\n\n### Notes\n- Automatically aligned to the right of tab headers\n- Does not interfere with tab navigation controls\n- Useful for global actions affecting all tabs\n- Supports any content (buttons, inputs, dropdowns)\n- Positioned at the same level as tab headers\n",
            "type": "component",
            "sourceCode": "import { Component } from '@angular/core';\n\n/**\n * @description\n * Content projection component for displaying custom content aligned to the right side of the tabs header.\n * Automatically positions content using flexbox with left margin auto for right alignment.\n * Typically contains action buttons, filters, or supplementary controls related to tab content.\n * Must be used as a direct child of eui-tabs component to maintain proper layout structure.\n *\n * @usageNotes\n * ### Basic Usage with Button\n * ```html\n * <eui-tabs>\n *   <eui-tab label=\"Tab 1\">\n *     <eui-tab-body>Content 1</eui-tab-body>\n *   </eui-tab>\n *   <eui-tab label=\"Tab 2\">\n *     <eui-tab-body>Content 2</eui-tab-body>\n *   </eui-tab>\n *   \n *   <eui-tabs-right-content>\n *     <button euiButton euiPrimary (click)=\"addTab()\">\n *       Add Tab\n *     </button>\n *   </eui-tabs-right-content>\n * </eui-tabs>\n * ```\n *\n * ### With Multiple Controls\n * ```html\n * <eui-tabs>\n *   <!-- tabs here -->\n *   \n *   <eui-tabs-right-content>\n *     <eui-input-text placeholder=\"Filter...\" />\n *     <button euiButton euiSecondary>\n *       <eui-icon-svg icon=\"eui-settings\" />\n *     </button>\n *   </eui-tabs-right-content>\n * </eui-tabs>\n * ```\n *\n * ### Accessibility\n * - Controls should be keyboard accessible\n * - Buttons need descriptive labels or aria-labels\n * - Maintain logical tab order\n * - Interactive elements should have visible focus indicators\n *\n * ### Notes\n * - Automatically aligned to the right of tab headers\n * - Does not interfere with tab navigation controls\n * - Useful for global actions affecting all tabs\n * - Supports any content (buttons, inputs, dropdowns)\n * - Positioned at the same level as tab headers\n */\n@Component({\n    selector: 'eui-tabs-right-content',\n    template: '<ng-content/>',\n    styles: `\n    :host {\n        display: flex;\n        margin-left: auto;\n    }\n    `,\n})\nexport class EuiTabsRightContentComponent {\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "\n    :host {\n        display: flex;\n        margin-left: auto;\n    }\n    \n",
            "extends": []
        },
        {
            "name": "EuiTextareaComponent",
            "id": "component-EuiTextareaComponent-f8c17312aa4c8f7beb291628a947da1d7e3423941a77074f20223c5d17cd5190690c827a8d193fd2451e609706764119e352920e74b0c5429e37af47fc9626c8",
            "file": "packages/components/eui-textarea/eui-textarea.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "host": {},
            "inputs": [],
            "outputs": [],
            "providers": [
                {
                    "name": ")"
                }
            ],
            "selector": "textarea[euiTextArea]",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiDisabled",
                        "euiDanger"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "disabled",
                    "defaultValue": "undefined, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean, BooleanInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The disabled state of the textarea\nThis can be controlled either directly or through form control binding.</p>\n",
                    "line": 117,
                    "rawdescription": "\n\nThe disabled state of the textarea\nThis can be controlled either directly or through form control binding.\n",
                    "jsdoctags": [
                        {
                            "pos": 3264,
                            "end": 3424,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3265,
                                "end": 3276,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>When set to true, prevents user interaction with the textarea.\nThis can be controlled either directly or through form control binding.</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-textarea'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Data attribute for end-to-end testing</p>\n",
                    "line": 142,
                    "rawdescription": "\n\nData attribute for end-to-end testing\n",
                    "jsdoctags": [
                        {
                            "pos": 4267,
                            "end": 4332,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4268,
                                "end": 4279,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Data attribute for end-to-end testing</p>\n"
                        },
                        {
                            "pos": 4332,
                            "end": 4359,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4333,
                                "end": 4340,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>eui-textarea</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "id",
                    "defaultValue": "`eui-textarea_${EuiTextareaComponent.idCounter++}`",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Unique identifier for the textarea</p>\n",
                    "line": 129,
                    "rawdescription": "\n\nUnique identifier for the textarea\n",
                    "jsdoctags": [
                        {
                            "pos": 3827,
                            "end": 3866,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3828,
                                "end": 3835,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>eui-textarea_{increment}</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "isInvalid",
                    "defaultValue": "undefined, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean, BooleanInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Flag indicating if the textarea is in an invalid state\nThis can be set manually or automatically through form validation.</p>\n",
                    "line": 136,
                    "rawdescription": "\n\nFlag indicating if the textarea is in an invalid state\nThis can be set manually or automatically through form validation.\n",
                    "jsdoctags": [
                        {
                            "pos": 4020,
                            "end": 4162,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4021,
                                "end": 4032,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>When true, applies error styling to the textarea.\nThis can be set manually or automatically through form validation.</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "readonly",
                    "defaultValue": "undefined, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean, BooleanInput",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>The readonly state of the textarea\nwith special styling.</p>\n",
                    "line": 124,
                    "rawdescription": "\n\nThe readonly state of the textarea\nwith special styling.\n",
                    "jsdoctags": [
                        {
                            "pos": 3574,
                            "end": 3684,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3575,
                                "end": 3586,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>When true, displays the textarea content in a read-only format\nwith special styling.</p>\n"
                        }
                    ],
                    "required": false
                }
            ],
            "outputsClass": [
                {
                    "name": "rowsChange",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Event emitter that fires when the number of text rows in the textarea changes</p>\n",
                    "line": 103,
                    "rawdescription": "\n\nEvent emitter that fires when the number of text rows in the textarea changes\n",
                    "required": false
                }
            ],
            "propertiesClass": [
                {
                    "name": "hostEl",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "HTMLTextAreaElement",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 144,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "hostParentEl",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "HTMLElement",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 146,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "hostWrapperEl",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "HTMLDivElement",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 147,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "idCounter",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Static counter used to generate unique IDs for textarea instances</p>\n",
                    "line": 98,
                    "rawdescription": "\n\nStatic counter used to generate unique IDs for textarea instances\n",
                    "modifierKind": [
                        126
                    ],
                    "jsdoctags": [
                        {
                            "pos": 2847,
                            "end": 2860,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2848,
                                "end": 2854,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "static"
                            },
                            "comment": ""
                        }
                    ]
                },
                {
                    "name": "innerDisabled",
                    "defaultValue": "linkedSignal<boolean, boolean>({\n\t\tsource: this.disabled,\n\t\tcomputation: () => this.disabled(),\n\t})",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 149,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "valueContainerEl",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "HTMLDivElement",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 148,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngDoCheck",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 257,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nLifecycle hook that checks for changes in form control state\nUpdates invalid state based on form control validation\n",
                    "description": "<p>Lifecycle hook that checks for changes in form control state\nUpdates invalid state based on form control validation</p>\n",
                    "jsdoctags": []
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 269,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nLifecycle hook that cleans up component resources\nCompletes observables and removes generated DOM elements\n",
                    "description": "<p>Lifecycle hook that cleans up component resources\nCompletes observables and removes generated DOM elements</p>\n",
                    "jsdoctags": []
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 224,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nLifecycle hook that initializes the component. Sets up DOM elements,\ninitializes form control integration, and establishes state management\n",
                    "description": "<p>Lifecycle hook that initializes the component. Sets up DOM elements,\ninitializes form control integration, and establishes state management</p>\n",
                    "jsdoctags": []
                },
                {
                    "name": "onBlur",
                    "args": [
                        {
                            "name": "value",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 215,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles blur events on the textarea\n",
                    "description": "<p>Handles blur events on the textarea</p>\n",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'blur', ['$any($event.target).value']"
                        }
                    ],
                    "modifierKind": [
                        171,
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 6459,
                                "end": 6464,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "value"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 6444,
                                "end": 6449,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The current value of the textarea</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 6450,
                                "end": 6458,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 6451,
                                    "end": 6457,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "onChange",
                    "args": [
                        {
                            "name": "_",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 332,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "_",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onInputChange",
                    "args": [
                        {
                            "name": "value",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 203,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles input changes in the textarea\n",
                    "description": "<p>Handles input changes in the textarea</p>\n",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'input', ['$any($event.target).value']"
                        }
                    ],
                    "modifierKind": [
                        171,
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 6028,
                                "end": 6033,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "value"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 6013,
                                "end": 6018,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The new value of the textarea</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 6019,
                                "end": 6027,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 6020,
                                    "end": 6026,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "onTouched",
                    "args": [
                        {
                            "name": "_",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 336,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "_",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "registerOnChange",
                    "args": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": []
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 308,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRegisters the callback function for change events\n",
                    "description": "<p>Registers the callback function for change events</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 10192,
                                "end": 10194,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "fn"
                            },
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [],
                            "tagName": {
                                "pos": 10175,
                                "end": 10180,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The callback function</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 10181,
                                "end": 10191,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 10182,
                                    "end": 10190,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 10182,
                                        "end": 10190,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "Function"
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "registerOnTouched",
                    "args": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": []
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 317,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nRegisters the callback function for touched events\n",
                    "description": "<p>Registers the callback function for touched events</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 10418,
                                "end": 10420,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "fn"
                            },
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [],
                            "tagName": {
                                "pos": 10401,
                                "end": 10406,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The callback function</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 10407,
                                "end": 10417,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 10408,
                                    "end": 10416,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 10408,
                                        "end": 10416,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "Function"
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "setDisabledState",
                    "args": [
                        {
                            "name": "isDisabled",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 326,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the disabled state of the textarea\n",
                    "description": "<p>Sets the disabled state of the textarea</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 10634,
                                "end": 10644,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "isDisabled"
                            },
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 10618,
                                "end": 10623,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The disabled state to set</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 10624,
                                "end": 10633,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 10625,
                                    "end": 10632,
                                    "kind": 136,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "writeValue",
                    "args": [
                        {
                            "name": "obj",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 294,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nControlValueAccessor implementation for writing values\n",
                    "description": "<p>ControlValueAccessor implementation for writing values</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 9672,
                                "end": 9675,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "obj"
                            },
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 9656,
                                "end": 9661,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The value to write to the textarea</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 9662,
                                "end": 9671,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 9663,
                                    "end": 9670,
                                    "kind": 159,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [
                {
                    "name": "blur",
                    "args": [
                        {
                            "name": "value",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$any($event.target).value"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles blur events on the textarea\n",
                    "description": "<p>Handles blur events on the textarea</p>\n",
                    "jsdoctags": [
                        {
                            "pos": 6443,
                            "end": 6508,
                            "kind": 342,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6444,
                                "end": 6449,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The current value of the textarea</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 6450,
                                "end": 6458,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 6451,
                                    "end": 6457,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            },
                            "name": {
                                "pos": 6459,
                                "end": 6464,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "value"
                            },
                            "isNameFirst": false,
                            "isBracketed": false
                        },
                        {
                            "pos": 6508,
                            "end": 6579,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6509,
                                "end": 6520,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Marks the control as touched and triggers validation</p>\n"
                        }
                    ],
                    "line": 215
                },
                {
                    "name": "input",
                    "args": [
                        {
                            "name": "value",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$any($event.target).value"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles input changes in the textarea\n",
                    "description": "<p>Handles input changes in the textarea</p>\n",
                    "jsdoctags": [
                        {
                            "pos": 6012,
                            "end": 6073,
                            "kind": 342,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6013,
                                "end": 6018,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The new value of the textarea</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 6019,
                                "end": 6027,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 6020,
                                    "end": 6026,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            },
                            "name": {
                                "pos": 6028,
                                "end": 6033,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "value"
                            },
                            "isNameFirst": false,
                            "isBracketed": false
                        },
                        {
                            "pos": 6073,
                            "end": 6148,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6074,
                                "end": 6085,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Updates the number of rows and triggers change detection</p>\n"
                        }
                    ],
                    "line": 203
                }
            ],
            "standalone": false,
            "imports": [],
            "description": "<p>Multiline text input field for entering longer text content.\n<code>euiTextArea</code> provides an enhanced textarea component with full Angular forms integration, validation state handling, readonly display mode, and optional automatic height adjustment.\nIt is designed to be used as an attribute selector on a <code>textarea</code> element.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Simple textarea --&gt;\n&lt;textarea euiTextArea placeholder=&quot;Enter description&quot;&gt;&lt;/textarea&gt;\n\n&lt;!-- With reactive forms --&gt;\n&lt;form [formGroup]=&quot;form&quot;&gt;\n  &lt;textarea euiTextArea formControlName=&quot;description&quot;&gt;&lt;/textarea&gt;\n&lt;/form&gt;\n\n&lt;!-- Readonly mode --&gt;\n&lt;textarea euiTextArea [readonly]=&quot;true&quot; [value]=&quot;content&quot;&gt;&lt;/textarea&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">form = new FormGroup({\n  description: new FormControl(&#39;&#39;, [Validators.required, Validators.maxLength(500)])\n});</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Associate with label using for/id attributes</li>\n<li>Provide placeholder text as guidance, not as label replacement</li>\n<li>Use aria-describedby for helper text or error messages</li>\n<li>Ensure sufficient color contrast in all states</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Automatically tracks number of text rows via rowsChange event</li>\n<li>Validation state (invalid/danger) syncs with form control</li>\n<li>Readonly mode displays content in a styled container</li>\n<li>Disabled state prevents all user interaction</li>\n</ul>\n",
            "rawdescription": "\n\nMultiline text input field for entering longer text content.\n`euiTextArea` provides an enhanced textarea component with full Angular forms integration, validation state handling, readonly display mode, and optional automatic height adjustment.\nIt is designed to be used as an attribute selector on a `textarea` element.\n\n### Basic Usage\n```html\n<!-- Simple textarea -->\n<textarea euiTextArea placeholder=\"Enter description\"></textarea>\n\n<!-- With reactive forms -->\n<form [formGroup]=\"form\">\n  <textarea euiTextArea formControlName=\"description\"></textarea>\n</form>\n\n<!-- Readonly mode -->\n<textarea euiTextArea [readonly]=\"true\" [value]=\"content\"></textarea>\n```\n\n```typescript\nform = new FormGroup({\n  description: new FormControl('', [Validators.required, Validators.maxLength(500)])\n});\n```\n\n### Accessibility\n- Associate with label using for/id attributes\n- Provide placeholder text as guidance, not as label replacement\n- Use aria-describedby for helper text or error messages\n- Ensure sufficient color contrast in all states\n\n### Notes\n- Automatically tracks number of text rows via rowsChange event\n- Validation state (invalid/danger) syncs with form control\n- Readonly mode displays content in a styled container\n- Disabled state prevents all user interaction\n",
            "type": "component",
            "sourceCode": "import {\n\tComponent,\n\tElementRef,\n\tHostListener,\n\tOnInit,\n\tRenderer2,\n\tViewEncapsulation,\n\tOnDestroy,\n\tDoCheck,\n\tInjector,\n\tforwardRef,\n\tbooleanAttribute,\n\tsignal,\n\teffect,\n\tinject,\n\tinput,\n\toutput,\n\tlinkedSignal,\n} from '@angular/core';\nimport {\n    NG_VALUE_ACCESSOR,\n    ControlValueAccessor,\n    NgControl,\n    FormControl,\n    FormControlDirective,\n    FormGroupDirective,\n    FormControlName,\n} from '@angular/forms';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n/**\n * @description\n * Multiline text input field for entering longer text content.\n * `euiTextArea` provides an enhanced textarea component with full Angular forms integration, validation state handling, readonly display mode, and optional automatic height adjustment.\n * It is designed to be used as an attribute selector on a `textarea` element.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <!-- Simple textarea -->\n * <textarea euiTextArea placeholder=\"Enter description\"></textarea>\n *\n * <!-- With reactive forms -->\n * <form [formGroup]=\"form\">\n *   <textarea euiTextArea formControlName=\"description\"></textarea>\n * </form>\n *\n * <!-- Readonly mode -->\n * <textarea euiTextArea [readonly]=\"true\" [value]=\"content\"></textarea>\n * ```\n *\n * ```typescript\n * form = new FormGroup({\n *   description: new FormControl('', [Validators.required, Validators.maxLength(500)])\n * });\n * ```\n *\n * ### Accessibility\n * - Associate with label using for/id attributes\n * - Provide placeholder text as guidance, not as label replacement\n * - Use aria-describedby for helper text or error messages\n * - Ensure sufficient color contrast in all states\n *\n * ### Notes\n * - Automatically tracks number of text rows via rowsChange event\n * - Validation state (invalid/danger) syncs with form control\n * - Readonly mode displays content in a styled container\n * - Disabled state prevents all user interaction\n */\n@Component({\n    // eslint-disable-next-line @angular-eslint/component-selector\n    selector: 'textarea[euiTextArea]',\n    styleUrl: './eui-textarea.scss',\n    template: '<ng-content />',\n    encapsulation: ViewEncapsulation.None,\n    providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => EuiTextareaComponent), multi: true }],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: ['euiDisabled', 'euiDanger'],\n        },\n    ],\n\thost: {\n\t\t'[attr.id]': 'id()',\n\t\t'[attr.data-e2e]': 'e2eAttr()',\n\t\t'[attr.disabled]': 'innerDisabled() ? true : null',\n\t\t'[class]': 'class',\n\t},\n})\nexport class EuiTextareaComponent implements OnInit, OnDestroy, DoCheck, ControlValueAccessor {\n    /**\n     * Static counter used to generate unique IDs for textarea instances\n     * @static\n     */\n    static idCounter = 0;\n\n    /**\n     * Event emitter that fires when the number of text rows in the textarea changes\n     */\n    rowsChange = output<number>();\n\n    public get class(): string {\n\t\treturn [\n\t\t\tthis.isInvalid() ? 'eui-textarea--invalid' : '',\n\t\t\tthis.baseStatesDirective.getCssClasses('eui-textarea'),\n\t\t].join(' ').trim()\n\t}\n\n    /**\n     * The disabled state of the textarea\n     * @description When set to true, prevents user interaction with the textarea.\n     * This can be controlled either directly or through form control binding.\n     */\n    disabled = input<boolean, BooleanInput>(undefined, { transform: booleanAttribute });\n\n    /**\n     * The readonly state of the textarea\n     * @description When true, displays the textarea content in a read-only format\n     * with special styling.\n     */\n\treadonly = input<boolean, BooleanInput>(undefined, { transform: booleanAttribute });\n\t/**\n     * Unique identifier for the textarea\n     * @default eui-textarea_{increment}\n     */\n\tid = input<string>(`eui-textarea_${EuiTextareaComponent.idCounter++}`);\n\n    /**\n     * Flag indicating if the textarea is in an invalid state\n     * @description When true, applies error styling to the textarea.\n     * This can be set manually or automatically through form validation.\n     */\n    isInvalid = input<boolean, BooleanInput>(undefined, { transform: booleanAttribute });\n\t/**\n     * @description\n     * Data attribute for end-to-end testing\n     * @default eui-textarea\n     */\n\te2eAttr = input<string>('eui-textarea');\n\n    protected hostEl: HTMLTextAreaElement;\n\n    protected hostParentEl: HTMLElement;\n    protected hostWrapperEl: HTMLDivElement;\n    protected valueContainerEl: HTMLDivElement;\n\tprotected innerDisabled = linkedSignal<boolean, boolean>({\n\t\tsource: this.disabled,\n\t\tcomputation: () => this.disabled(),\n\t});\n\tprivate innerIsInvalid = linkedSignal<boolean, boolean>({\n\t\tsource: this.isInvalid,\n\t\tcomputation: () => {\n\t\t\treturn this.isInvalid();\n\t\t},\n\t});\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private control: FormControl | NgControl;\n    private rows = signal(0);\n    private injector = inject(Injector);\n    private _elementRef = inject(ElementRef);\n    private _renderer = inject(Renderer2);\n    private baseStatesDirective = inject(BaseStatesDirective);\n\n    constructor() {\n        effect(() => {\n            this.rowsChange.emit(this.rows());\n        });\n\n\t\teffect(() => {\n\t\t\tthis.baseStatesDirective.euiDanger = this.innerIsInvalid();\n\t\t});\n\n\t\teffect(() => {\n\t\t\tthis.baseStatesDirective.euiDisabled = this.innerDisabled();\n\t\t});\n\n\t\teffect(() => {\n\t\t\tconst readonly = this.readonly();\n\n\t\t\tif(!readonly) {\n\t\t\t\tthis._renderer.removeAttribute(this.hostEl, 'readonly');\n\t\t\t}\n\n\t\t\tif (this.hostWrapperEl && this.valueContainerEl) {\n\t\t\t\tthis.hostWrapperEl.classList.toggle('eui-textarea__wrapper--readonly', !!readonly);\n\t\t\t}\n\t\t\tif (this.hostEl && this.valueContainerEl) {\n\t\t\t\tthis.hostEl.classList.toggle('eui-textarea--readonly', !!readonly);\n\t\t\t\tthis.valueContainerEl.innerText = this.hostEl.value;\n\t\t\t}\n\t\t});\n    }\n\n    /**\n     * Handles input changes in the textarea\n     * @param {string} value - The new value of the textarea\n     * @description Updates the number of rows and triggers change detection\n     */\n    @HostListener('input', ['$any($event.target).value'])\n    public onInputChange(value: string): void {\n        // signal rows update\n        this.rows.set(this.hostEl?.value.split('\\n').length)\n        this.onChange(value);\n    }\n\n    /**\n     * Handles blur events on the textarea\n     * @param {string} value - The current value of the textarea\n     * @description Marks the control as touched and triggers validation\n     */\n    @HostListener('blur', ['$any($event.target).value'])\n    public onBlur(value: string): void {\n        this.onTouched(value);\n    }\n\n    /**\n     * @description\n     * Lifecycle hook that initializes the component. Sets up DOM elements,\n     * initializes form control integration, and establishes state management\n     */\n    ngOnInit(): void {\n        this.hostEl = this._elementRef.nativeElement;\n        this.hostParentEl = this.hostEl.parentElement;\n        this.hostWrapperEl = this.createHostWrapperContainer();\n        this.valueContainerEl = this.createValueContainer();\n\n        this.handleMarkup();\n        // extract the FormControl or NgControl\n        this.control = (this.injector as Injector).get(NgControl, null, { optional: true });\n        if (this.control instanceof FormControlName) {\n            this.control = (this.injector as Injector).get(FormGroupDirective).getControl(this.control);\n        } else if (this.control instanceof FormControlDirective) {\n            this.control = this.control.form as FormControl;\n        }\n        // sets invalid state if control is present\n        if (this.control instanceof FormControl || this.control instanceof NgControl) {\n            this.innerDisabled.set(this.control.disabled);\n            // this.isInvalid = this.control.dirty && this.control.touched && this.control.invalid;\n\t\t\tthis.innerIsInvalid.set(this.control.dirty && this.control.touched && this.control.invalid);\n            if (this.control instanceof FormControl) {\n                this.control.statusChanges.pipe(takeUntil(this.destroy$)).subscribe((status) => {\n\t\t\t\t\tthis.innerIsInvalid.set(status === 'INVALID')\n                    this.innerDisabled.set(status === 'DISABLED');\n                });\n            }\n        }\n    }\n\n    /**\n     * @description\n     * Lifecycle hook that checks for changes in form control state\n     * Updates invalid state based on form control validation\n     */\n    ngDoCheck(): void {\n        if (this.control instanceof NgControl || this.control instanceof FormControl) {\n            // TODO: Delete when https://github.com/angular/angular/issues/30275 is resolved\n\t\t\tthis.innerIsInvalid.set(this.control.invalid && this.control.touched)\n        }\n    }\n\n    /**\n     * @description\n     * Lifecycle hook that cleans up component resources\n     * Completes observables and removes generated DOM elements\n     */\n    ngOnDestroy(): void {\n        this.destroy$.complete();\n        this.destroy$.unsubscribe();\n        // cleanup DOM leftovers\n        if (this.valueContainerEl) {\n            try {\n                this._renderer.removeChild(this.hostEl.parentElement, this.valueContainerEl);\n            } catch (e) {\n                console.error(e);\n            }\n        }\n        if (this.hostWrapperEl) {\n            try {\n                this._renderer.removeChild(this.hostParentEl, this.hostWrapperEl);\n            } catch (e) {\n                console.error(e);\n            }\n        }\n    }\n\n    /**\n     * @description\n     * ControlValueAccessor implementation for writing values\n     * @param {unknown} obj - The value to write to the textarea\n     */\n    writeValue(obj: unknown): void {\n        if (this.valueContainerEl) {\n            this._renderer.setProperty(this.valueContainerEl, 'innerText', obj || null);\n        }\n        this._renderer.setProperty(this._elementRef.nativeElement, 'value', obj || null);\n        // signal rows update\n        this.rows.set(this.hostEl?.value.split('\\n').length)\n    }\n\n    /**\n     * @description\n     * Registers the callback function for change events\n     * @param {Function} fn - The callback function\n     */\n    registerOnChange(fn: () => void): void {\n        this.onChange = fn;\n    }\n\n    /**\n     * @description\n     * Registers the callback function for touched events\n     * @param {Function} fn - The callback function\n     */\n    registerOnTouched(fn: () => void): void {\n        this.onTouched = fn;\n    }\n\n    /**\n     * @description\n     * Sets the disabled state of the textarea\n     * @param {boolean} isDisabled - The disabled state to set\n     */\n    setDisabledState(isDisabled: boolean): void {\n        if (this.hostEl) {\n            this._renderer.setProperty(this.hostEl, 'disabled', isDisabled);\n        }\n    }\n\n    protected onChange(_: unknown): void {\n        this.writeValue(_);\n    }\n\n    protected onTouched(_: unknown): void {\n        if (this.control) {\n\t\t\tthis.innerIsInvalid.set(this.control.invalid);\n        }\n    }\n\n    /**\n     * @description\n     * Creates the container for the textarea element\n     * @returns {HTMLDivElement} The created wrapper container element\n     * @private\n     */\n    private createHostWrapperContainer(): HTMLDivElement {\n        const wrapper = this._renderer.createElement('div');\n        this._renderer.addClass(wrapper, 'eui-textarea__wrapper');\n        if (this.readonly()) {\n            this._renderer.addClass(wrapper, 'eui-textarea__wrapper--readonly');\n            this._renderer.addClass(this.hostEl, 'eui-textarea--readonly');\n        } else {\n            this._renderer.removeClass(wrapper, 'eui-textarea__wrapper--readonly');\n            this._renderer.removeClass(this.hostEl, 'eui-textarea--readonly');\n        }\n\n        return wrapper;\n    }\n\n    /**\n     * @description\n     * Creates the container for displaying readonly values\n     * @returns {HTMLDivElement} The created value container element\n     * @private\n     */\n    private createValueContainer(): HTMLDivElement {\n        const valueContainer = this._renderer.createElement('div');\n        this._renderer.addClass(valueContainer, 'eui-textarea__value-container');\n        this._renderer.setProperty(valueContainer, 'innerText', this.hostEl.value);\n        return valueContainer;\n    }\n\n    /**\n     * @description\n     * Handles the DOM manipulation for the textarea structure\n     * Wraps the textarea in necessary containers and adds\n     * the readonly value display element\n     *\n     * @private\n     */\n    private handleMarkup(): void {\n        if (this.hostParentEl != null) {\n            this.hostParentEl.replaceChild(this.hostWrapperEl, this.hostEl);\n            this.hostWrapperEl.appendChild(this.hostEl);\n            this.hostWrapperEl.appendChild(this.valueContainerEl);\n        }\n    }\n}\n",
            "styleUrl": "./eui-textarea.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 165
            },
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy",
                "DoCheck",
                "ControlValueAccessor"
            ],
            "accessors": {
                "class": {
                    "name": "class",
                    "getSignature": {
                        "name": "class",
                        "type": "string",
                        "returnType": "string",
                        "line": 105
                    }
                }
            }
        },
        {
            "name": "EuiTimelineComponent",
            "id": "component-EuiTimelineComponent-fbb57cab84dd0bae5d139e6906ce79b855d87f68d512eb241205bd428df7e460f682ad56f41657191a9fd262d6951cf070e02daabf572ad3419c195d8a66284f",
            "file": "packages/components/eui-timeline/eui-timeline.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-timeline",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-timeline'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1696,
                            "end": 1747,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1697,
                                "end": 1708,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Data attribute for e2e testing</p>\n"
                        },
                        {
                            "pos": 1747,
                            "end": 1776,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1748,
                                "end": 1755,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-timeline&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 70,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isLeftAligned",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1872,
                            "end": 1967,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1873,
                                "end": 1884,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>When true, aligns timeline items to the left side instead of center</p>\n"
                        },
                        {
                            "pos": 1967,
                            "end": 1987,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1968,
                                "end": 1975,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhen true, aligns timeline items to the left side instead of center\n",
                    "description": "<p>When true, aligns timeline items to the left side instead of center</p>\n",
                    "line": 77,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1407,
                            "end": 1505,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1408,
                                "end": 1419,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the timeline component</p>\n"
                        },
                        {
                            "pos": 1505,
                            "end": 1570,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1506,
                                "end": 1513,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 1514,
                                "end": 1522,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 1515,
                                    "end": 1521,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the timeline component\n\n",
                    "description": "<p>Computes and returns the CSS classes for the timeline component</p>\n",
                    "line": 60,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>A timeline component that displays a vertical list of events or activities in chronological order.\nCan be configured to align items on the left side instead of centered.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-timeline&gt;\n  &lt;eui-timeline-item\n    label=&quot;Project Started&quot;\n    date=&quot;Jan 15, 2024&quot;\n    time=&quot;09:00&quot;\n    euiSuccess&gt;\n  &lt;/eui-timeline-item&gt;\n  &lt;eui-timeline-item\n    label=&quot;Milestone Reached&quot;\n    date=&quot;Feb 20, 2024&quot;\n    euiInfo&gt;\n  &lt;/eui-timeline-item&gt;\n&lt;/eui-timeline&gt;\n\n&lt;!-- Left-aligned timeline --&gt;\n&lt;eui-timeline [isLeftAligned]=&quot;true&quot;&gt;\n  &lt;eui-timeline-item label=&quot;Event 1&quot; /&gt;\n  &lt;eui-timeline-item label=&quot;Event 2&quot; /&gt;\n&lt;/eui-timeline&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use semantic HTML structure with proper heading levels</li>\n<li>Provide clear, descriptive labels for each timeline item</li>\n<li>Consider using aria-label on timeline for screen readers</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Default layout centers items with connecting line</li>\n<li>Left-aligned mode places all items on the left side</li>\n<li>Timeline items inherit alignment from parent timeline</li>\n</ul>\n",
            "rawdescription": "\n\nA timeline component that displays a vertical list of events or activities in chronological order.\nCan be configured to align items on the left side instead of centered.\n\n### Basic Usage\n```html\n<eui-timeline>\n  <eui-timeline-item\n    label=\"Project Started\"\n    date=\"Jan 15, 2024\"\n    time=\"09:00\"\n    euiSuccess>\n  </eui-timeline-item>\n  <eui-timeline-item\n    label=\"Milestone Reached\"\n    date=\"Feb 20, 2024\"\n    euiInfo>\n  </eui-timeline-item>\n</eui-timeline>\n\n<!-- Left-aligned timeline -->\n<eui-timeline [isLeftAligned]=\"true\">\n  <eui-timeline-item label=\"Event 1\" />\n  <eui-timeline-item label=\"Event 2\" />\n</eui-timeline>\n```\n\n### Accessibility\n- Use semantic HTML structure with proper heading levels\n- Provide clear, descriptive labels for each timeline item\n- Consider using aria-label on timeline for screen readers\n\n### Notes\n- Default layout centers items with connecting line\n- Left-aligned mode places all items on the left side\n- Timeline items inherit alignment from parent timeline\n",
            "type": "component",
            "sourceCode": "import {\n    booleanAttribute,\n    Component,\n    HostBinding,\n    Input,\n} from '@angular/core';\n\n/**\n * @description\n * A timeline component that displays a vertical list of events or activities in chronological order.\n * Can be configured to align items on the left side instead of centered.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-timeline>\n *   <eui-timeline-item\n *     label=\"Project Started\"\n *     date=\"Jan 15, 2024\"\n *     time=\"09:00\"\n *     euiSuccess>\n *   </eui-timeline-item>\n *   <eui-timeline-item\n *     label=\"Milestone Reached\"\n *     date=\"Feb 20, 2024\"\n *     euiInfo>\n *   </eui-timeline-item>\n * </eui-timeline>\n *\n * <!-- Left-aligned timeline -->\n * <eui-timeline [isLeftAligned]=\"true\">\n *   <eui-timeline-item label=\"Event 1\" />\n *   <eui-timeline-item label=\"Event 2\" />\n * </eui-timeline>\n * ```\n *\n * ### Accessibility\n * - Use semantic HTML structure with proper heading levels\n * - Provide clear, descriptive labels for each timeline item\n * - Consider using aria-label on timeline for screen readers\n *\n * ### Notes\n * - Default layout centers items with connecting line\n * - Left-aligned mode places all items on the left side\n * - Timeline items inherit alignment from parent timeline\n */\n@Component({\n    selector: 'eui-timeline',\n    template: '<ng-content/>',\n    styleUrl: './eui-timeline.scss',\n})\nexport class EuiTimelineComponent {\n    /**\n     * @description\n     * Computes and returns the CSS classes for the timeline component\n     *\n     * @returns {string} Space-separated string of CSS class names\n     */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return this.getCssClasses();\n    }\n\n    /**\n     * @description Data attribute for e2e testing\n     * @default 'eui-timeline'\n     */\n    @HostBinding('attr.data-e2e')\n    @Input()\n    e2eAttr = 'eui-timeline';\n\n    /**\n     * @description\n     * When true, aligns timeline items to the left side instead of center\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isLeftAligned: boolean;\n\n    /**\n     * @description\n     * Combines CSS classes based on the component's current state\n     *\n     * @private\n     * @returns {string} Space-separated string of CSS class names\n     */\n    private getCssClasses(): string {\n        return ['eui-timeline', this.isLeftAligned ? 'eui-timeline--left-aligned' : ''].join(' ').trim();\n    }\n}\n",
            "styleUrl": "./eui-timeline.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 60,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the timeline component\n\n",
                        "description": "<p>Computes and returns the CSS classes for the timeline component</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 1407,
                                "end": 1505,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 1408,
                                    "end": 1419,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the timeline component</p>\n"
                            },
                            {
                                "pos": 1505,
                                "end": 1570,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 1506,
                                    "end": 1513,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 1514,
                                    "end": 1522,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 1515,
                                        "end": 1521,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            }
        },
        {
            "name": "EuiTimelineItemComponent",
            "id": "component-EuiTimelineItemComponent-85276d543e60d6ec2094479151692e54ac55ce353c4c42c7188fd78dc7a67830efc2124487409713a13ff260ac5c811fe0a0d2141827a641ecb8326be752074a",
            "file": "packages/components/eui-timeline/eui-timeline-item.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-timeline-item",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-timeline-item.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiSecondary",
                        "euiPrimary",
                        "euiSuccess",
                        "euiInfo",
                        "euiWarning",
                        "euiDanger",
                        "euiVariant"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "date",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2661,
                            "end": 2717,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2662,
                                "end": 2673,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Date to display for the timeline item</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 100,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "dateStyleClass",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2763,
                            "end": 2833,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2764,
                                "end": 2775,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Additional CSS class to apply to the date element</p>\n"
                        },
                        {
                            "pos": 2833,
                            "end": 2850,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2834,
                                "end": 2841,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 106,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-timeline-item'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2251,
                            "end": 2302,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2252,
                                "end": 2263,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Data attribute for e2e testing</p>\n"
                        },
                        {
                            "pos": 2302,
                            "end": 2336,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2303,
                                "end": 2310,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-timeline-item&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 85,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isGroup",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3357,
                            "end": 3476,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3358,
                                "end": 3369,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Indicates if this item represents a group of events\nChanges the visual appearance accordingly</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nChanges the visual appearance accordingly\n",
                    "description": "<p>Changes the visual appearance accordingly</p>\n",
                    "line": 129,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isLeftAligned",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3145,
                            "end": 3270,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3146,
                                "end": 3157,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Controls the alignment of content within the timeline item\nInherited from parent timeline component</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nInherited from parent timeline component\n",
                    "description": "<p>Inherited from parent timeline component</p>\n",
                    "line": 123,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2437,
                            "end": 2497,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2438,
                                "end": 2449,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Primary text content of the timeline item</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 90,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "subLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2544,
                            "end": 2611,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2545,
                                "end": 2556,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Secondary text content displayed below the label</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 95,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "time",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2903,
                            "end": 2959,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2904,
                                "end": 2915,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Time to display for the timeline item</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 111,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "timeStyleClass",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3005,
                            "end": 3075,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3006,
                                "end": 3017,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Additional CSS class to apply to the time element</p>\n"
                        },
                        {
                            "pos": 3075,
                            "end": 3092,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3076,
                                "end": 3083,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 117,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "BaseStatesDirective",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 134,
                    "rawdescription": "\n\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "pos": 3557,
                            "end": 3637,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3558,
                                "end": 3569,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Instance of BaseStatesDirective for managing component states</p>\n"
                        }
                    ]
                },
                {
                    "name": "timelineComponent",
                    "defaultValue": "inject(forwardRef(() => EuiTimelineComponent), { optional: true, host: true })",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiTimelineComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 139,
                    "rawdescription": "\n\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "pos": 3739,
                            "end": 3822,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3740,
                                "end": 3751,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Reference to parent timeline component for alignment inheritance</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 145,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nAfter content initialization, inherits left alignment from parent timeline component\n",
                    "description": "<p>After content initialization, inherits left alignment from parent timeline component</p>\n",
                    "jsdoctags": []
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 1967,
                            "end": 2060,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1968,
                                "end": 1979,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the timeline item</p>\n"
                        },
                        {
                            "pos": 2060,
                            "end": 2125,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2061,
                                "end": 2068,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 2069,
                                "end": 2077,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 2070,
                                    "end": 2076,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the timeline item\n\n",
                    "description": "<p>Computes and returns the CSS classes for the timeline item</p>\n",
                    "line": 75,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>A timeline item component that represents a single event or activity within a timeline.\nCan display labels, dates, times, and custom content with various visual states.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Simple timeline item --&gt;\n&lt;eui-timeline-item\n  label=&quot;Task Completed&quot;\n  date=&quot;March 15, 2024&quot;\n  time=&quot;14:30&quot;\n  euiSuccess /&gt;\n\n&lt;!-- With sublabel and custom content --&gt;\n&lt;eui-timeline-item\n  label=&quot;Code Review&quot;\n  subLabel=&quot;Pull request #123&quot;\n  date=&quot;Today&quot;\n  euiInfo&gt;\n  &lt;p&gt;Reviewed changes and approved merge&lt;/p&gt;\n&lt;/eui-timeline-item&gt;\n\n&lt;!-- Group item --&gt;\n&lt;eui-timeline-item\n  label=&quot;Multiple Events&quot;\n  [isGroup]=&quot;true&quot;\n  euiSecondary /&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Provide meaningful labels describing the event</li>\n<li>Use semantic color variants (euiSuccess, euiWarning, euiDanger) consistently</li>\n<li>Ensure date/time formats are clear and localized</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Color variants (euiSuccess, euiInfo, euiWarning, euiDanger) indicate event status</li>\n<li>isGroup mode changes visual appearance for grouped events</li>\n<li>Alignment is inherited from parent eui-timeline component</li>\n<li>Custom content can be projected via ng-content</li>\n</ul>\n",
            "rawdescription": "\n\nA timeline item component that represents a single event or activity within a timeline.\nCan display labels, dates, times, and custom content with various visual states.\n\n### Basic Usage\n```html\n<!-- Simple timeline item -->\n<eui-timeline-item\n  label=\"Task Completed\"\n  date=\"March 15, 2024\"\n  time=\"14:30\"\n  euiSuccess />\n\n<!-- With sublabel and custom content -->\n<eui-timeline-item\n  label=\"Code Review\"\n  subLabel=\"Pull request #123\"\n  date=\"Today\"\n  euiInfo>\n  <p>Reviewed changes and approved merge</p>\n</eui-timeline-item>\n\n<!-- Group item -->\n<eui-timeline-item\n  label=\"Multiple Events\"\n  [isGroup]=\"true\"\n  euiSecondary />\n```\n\n### Accessibility\n- Provide meaningful labels describing the event\n- Use semantic color variants (euiSuccess, euiWarning, euiDanger) consistently\n- Ensure date/time formats are clear and localized\n\n### Notes\n- Color variants (euiSuccess, euiInfo, euiWarning, euiDanger) indicate event status\n- isGroup mode changes visual appearance for grouped events\n- Alignment is inherited from parent eui-timeline component\n- Custom content can be projected via ng-content\n",
            "type": "component",
            "sourceCode": "import {\n    AfterContentInit,\n    booleanAttribute,\n    Component,\n    forwardRef,\n    HostBinding,\n    inject,\n    Input,\n} from '@angular/core';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiTimelineComponent } from './eui-timeline.component';\n\n/**\n * @description\n * A timeline item component that represents a single event or activity within a timeline.\n * Can display labels, dates, times, and custom content with various visual states.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <!-- Simple timeline item -->\n * <eui-timeline-item\n *   label=\"Task Completed\"\n *   date=\"March 15, 2024\"\n *   time=\"14:30\"\n *   euiSuccess />\n *\n * <!-- With sublabel and custom content -->\n * <eui-timeline-item\n *   label=\"Code Review\"\n *   subLabel=\"Pull request #123\"\n *   date=\"Today\"\n *   euiInfo>\n *   <p>Reviewed changes and approved merge</p>\n * </eui-timeline-item>\n *\n * <!-- Group item -->\n * <eui-timeline-item\n *   label=\"Multiple Events\"\n *   [isGroup]=\"true\"\n *   euiSecondary />\n * ```\n *\n * ### Accessibility\n * - Provide meaningful labels describing the event\n * - Use semantic color variants (euiSuccess, euiWarning, euiDanger) consistently\n * - Ensure date/time formats are clear and localized\n *\n * ### Notes\n * - Color variants (euiSuccess, euiInfo, euiWarning, euiDanger) indicate event status\n * - isGroup mode changes visual appearance for grouped events\n * - Alignment is inherited from parent eui-timeline component\n * - Custom content can be projected via ng-content\n */\n@Component({\n    selector: 'eui-timeline-item',\n    templateUrl: './eui-timeline-item.component.html',\n    styleUrl: './eui-timeline-item.scss',\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: ['euiSecondary', 'euiPrimary', 'euiSuccess', 'euiInfo', 'euiWarning', 'euiDanger', 'euiVariant'],\n        },\n    ],\n})\nexport class EuiTimelineItemComponent implements AfterContentInit {\n    /**\n     * @description\n     * Computes and returns the CSS classes for the timeline item\n     *\n     * @returns {string} Space-separated string of CSS class names\n     */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return this.getCssClasses();\n    }\n\n    /**\n     * @description Data attribute for e2e testing\n     * @default 'eui-timeline-item'\n     */\n    @HostBinding('attr.data-e2e')\n    @Input()\n    e2eAttr = 'eui-timeline-item';\n\n    /**\n     * @description Primary text content of the timeline item\n     */\n    @Input() label: string;\n\n    /**\n     * @description Secondary text content displayed below the label\n     */\n    @Input() subLabel: string;\n\n    /**\n     * @description Date to display for the timeline item\n     */\n    @Input() date: string;\n\n    /**\n     * @description Additional CSS class to apply to the date element\n     * @default ''\n     */\n    @Input() dateStyleClass = '';\n\n    /**\n     * @description Time to display for the timeline item\n     */\n    @Input() time: string;\n\n    /**\n     * @description Additional CSS class to apply to the time element\n     * @default ''\n     */\n    @Input() timeStyleClass = '';\n\n    /**\n     * @description Controls the alignment of content within the timeline item\n     * Inherited from parent timeline component\n     */\n    @Input({ transform: booleanAttribute }) isLeftAligned: boolean;\n\n    /**\n     * @description Indicates if this item represents a group of events\n     * Changes the visual appearance accordingly\n     */\n    @Input({ transform: booleanAttribute }) isGroup: boolean;\n\n    /**\n     * @description Instance of BaseStatesDirective for managing component states\n     */\n    public baseStatesDirective: BaseStatesDirective = inject(BaseStatesDirective);\n\n    /**\n     * @description Reference to parent timeline component for alignment inheritance\n     */\n    public timelineComponent: EuiTimelineComponent = inject(forwardRef(() => EuiTimelineComponent), { optional: true, host: true });\n\n    /**\n     * @description\n     * After content initialization, inherits left alignment from parent timeline component\n     */\n    ngAfterContentInit(): void {\n        this.isLeftAligned = this.timelineComponent.isLeftAligned;\n    }\n\n    /**\n     * @description\n     * Combines CSS classes based on the component's current state and group status\n     *\n     * @private\n     * @returns {string} Space-separated string of CSS class names\n     */\n    private getCssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-timeline-item'),\n            this.isGroup ? 'eui-timeline-item--more' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n}\n",
            "styleUrl": "./eui-timeline-item.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterContentInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 75,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the timeline item\n\n",
                        "description": "<p>Computes and returns the CSS classes for the timeline item</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 1967,
                                "end": 2060,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 1968,
                                    "end": 1979,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the timeline item</p>\n"
                            },
                            {
                                "pos": 2060,
                                "end": 2125,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 2061,
                                    "end": 2068,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 2069,
                                    "end": 2077,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 2070,
                                        "end": 2076,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            },
            "templateData": "@if (!isLeftAligned) {\n    <div class=\"eui-timeline-item__left-content\">\n        @if (date) {\n            <div class=\"eui-timeline-item__date {{ dateStyleClass }}\">{{ date }}</div>\n        }\n        @if (time) {\n            <div class=\"eui-timeline-item__time {{ timeStyleClass }}\">{{ time }}</div>\n        }\n    </div>\n}\n<div class=\"eui-timeline-item__icon\" [class.eui-timeline-item__icon--group]=\"isGroup\"></div>\n<div class=\"eui-timeline-item__content\">\n    <ng-container #customContent>\n        <ng-content></ng-content>\n    </ng-container>\n\n    @if (customContent?.childNodes.length === 0) {\n        <div class=\"eui-timeline-item__title\">{{ label }}</div>\n        <div class=\"eui-timeline-item__subtitle\">{{ subLabel }}</div>\n        @if (isLeftAligned && date) {\n            <div class=\"eui-timeline-item__date {{ dateStyleClass }}\">{{ date }}</div>\n        }\n        @if (isLeftAligned && time) {\n            <div class=\"eui-timeline-item__time {{ timeStyleClass }}\">{{ time }}</div>\n        }\n    }\n</div>\n"
        },
        {
            "name": "EuiTimepickerComponent",
            "id": "component-EuiTimepickerComponent-918a8f8fb8caa950ee28c68a85d21606c892fb37d1b3e38330525aa9edb2b5b78748f35fde8f69c827e09bb368bd12084d4aedad2739e0ec10d931157e012d91",
            "file": "packages/components/eui-timepicker/eui-timepicker.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [
                {
                    "name": "provideNgxMask()"
                }
            ],
            "selector": "eui-timepicker",
            "styleUrls": [
                "./eui-timepicker.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./eui-timepicker.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-timepicker'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 109,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasSeconds",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4814,
                            "end": 4834,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4815,
                                "end": 4822,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nOption for enabling seconds.\n",
                    "description": "<p>Option for enabling seconds.</p>\n",
                    "line": 164,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "iconSize",
                    "defaultValue": "'l'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4238,
                            "end": 4256,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4239,
                                "end": 4246,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;l&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nThe size of the icon used for changing hours, minutes and seconds.\n",
                    "description": "<p>The size of the icon used for changing hours, minutes and seconds.</p>\n",
                    "line": 144,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "inputId",
                    "defaultValue": "`eui-timepicker-${uniqueId()}`",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3419,
                            "end": 3462,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3420,
                                "end": 3427,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-timepicker-<unique-id>&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nThe id of the input element when isOneInputField attribute is used. If not provided, a unique id will be generated.\n",
                    "description": "<p>The id of the input element when isOneInputField attribute is used. If not provided, a unique id will be generated.</p>\n",
                    "line": 114,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4492,
                            "end": 4512,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4493,
                                "end": 4500,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the disabled state.\n",
                    "description": "<p>Sets the disabled state.</p>\n",
                    "line": 154,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isOneInputField",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4671,
                            "end": 4691,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4672,
                                "end": 4679,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nAttribute that transforms the 3 separate inputs into one input field.\n",
                    "description": "<p>Attribute that transforms the 3 separate inputs into one input field.</p>\n",
                    "line": 159,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isreadOnly",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4358,
                            "end": 4378,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4359,
                                "end": 4366,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the readonly attribute of the input field.\n",
                    "description": "<p>Sets the readonly attribute of the input field.</p>\n",
                    "line": 149,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "placeholder",
                    "defaultValue": "this.timeMask",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3765,
                            "end": 3787,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3766,
                                "end": 3773,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;Hh:m0&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nThe placeholder of the input field when isOneInputField attribute is used.\n",
                    "description": "<p>The placeholder of the input field when isOneInputField attribute is used.</p>\n",
                    "line": 124,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "stepHours",
                    "defaultValue": "1",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3888,
                            "end": 3904,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3889,
                                "end": 3896,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>1</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nThe step used for changing hours.\n",
                    "description": "<p>The step used for changing hours.</p>\n",
                    "line": 129,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "stepMinutes",
                    "defaultValue": "1",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3993,
                            "end": 4009,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3994,
                                "end": 4001,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>1</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nThe step used for changing minutes.\n",
                    "description": "<p>The step used for changing minutes.</p>\n",
                    "line": 134,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "stepSeconds",
                    "defaultValue": "1",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4100,
                            "end": 4116,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4101,
                                "end": 4108,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>1</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nThe step used for changing seconds.\n",
                    "description": "<p>The step used for changing seconds.</p>\n",
                    "line": 139,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "timeMask",
                    "defaultValue": "'Hh:m0'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3611,
                            "end": 3633,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3612,
                                "end": 3619,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;Hh:m0&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nThe mask for the input field when isOneInputField attribute is used.\n",
                    "description": "<p>The mask for the input field when isOneInputField attribute is used.</p>\n",
                    "line": 119,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "hasAriaRequiredAttribute",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 166,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "hours",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 93
                },
                {
                    "name": "hoursDownDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 103,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "hoursUpDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 102,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "isDatetimepicker",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 96
                },
                {
                    "name": "mins",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 94
                },
                {
                    "name": "minutesDownDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 105,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "minutesUpDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 104,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "oneInputFormControl",
                    "defaultValue": "new FormControl()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 97
                },
                {
                    "name": "oneInputHours",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 98
                },
                {
                    "name": "oneInputMins",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 99
                },
                {
                    "name": "oneInputSecs",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 100
                },
                {
                    "name": "secondsDownDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 107,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "secondsUpDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 106,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "secs",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 95
                }
            ],
            "methodsClass": [
                {
                    "name": "changeHours",
                    "args": [
                        {
                            "name": "step",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 279,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nIncrements or decrements hours according to the step param being passed\n\n",
                    "description": "<p>Increments or decrements hours according to the step param being passed</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 9589,
                                "end": 9593,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "step"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 9583,
                                "end": 9588,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The step number that hours will increase or decrease</p>\n"
                        }
                    ]
                },
                {
                    "name": "changeMinutes",
                    "args": [
                        {
                            "name": "step",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 291,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nIncrements or decrements minutes according to the step param being passed\n\n",
                    "description": "<p>Increments or decrements minutes according to the step param being passed</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 10061,
                                "end": 10065,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "step"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 10055,
                                "end": 10060,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The step number that minutes will increase or decrease</p>\n"
                        }
                    ]
                },
                {
                    "name": "changeSeconds",
                    "args": [
                        {
                            "name": "step",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 303,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nIncrements or decrements seconds according to the step param being passed\n\n",
                    "description": "<p>Increments or decrements seconds according to the step param being passed</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 10541,
                                "end": 10545,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "step"
                            },
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 10535,
                                "end": 10540,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The step number that seconds will increase or decrease</p>\n"
                        }
                    ]
                },
                {
                    "name": "hoursDownDisable",
                    "args": [
                        {
                            "name": "state",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 448,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisables the hour down decremental when min time range is reached\n\n",
                    "description": "<p>Disables the hour down decremental when min time range is reached</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 15565,
                                "end": 15570,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "state"
                            },
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 15559,
                                "end": 15564,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The boolean value that enables the feature</p>\n"
                        }
                    ]
                },
                {
                    "name": "hoursUpDisable",
                    "args": [
                        {
                            "name": "state",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 440,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisables the hour up incremental when max time range is reached\n\n",
                    "description": "<p>Disables the hour up incremental when max time range is reached</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 15312,
                                "end": 15317,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "state"
                            },
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 15306,
                                "end": 15311,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The boolean value that enables the feature</p>\n"
                        }
                    ]
                },
                {
                    "name": "minutesDownDisable",
                    "args": [
                        {
                            "name": "state",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 464,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisables the minutes down decremental when min time range is reached\n\n",
                    "description": "<p>Disables the minutes down decremental when min time range is reached</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 16083,
                                "end": 16088,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "state"
                            },
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 16077,
                                "end": 16082,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The boolean value that enables the feature</p>\n"
                        }
                    ]
                },
                {
                    "name": "minutesUpDisable",
                    "args": [
                        {
                            "name": "state",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 456,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisables the minutes up incremental when max time range is reached\n\n",
                    "description": "<p>Disables the minutes up incremental when max time range is reached</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 15823,
                                "end": 15828,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "state"
                            },
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 15817,
                                "end": 15822,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The boolean value that enables the feature</p>\n"
                        }
                    ]
                },
                {
                    "name": "ngDoCheck",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 260,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 244,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 270,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 199,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onFocusOut",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 382,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nAutofills mins and secs with 00s if the user tabs after entering hours and marks the input as touched\n",
                    "description": "<p>Autofills mins and secs with 00s if the user tabs after entering hours and marks the input as touched</p>\n"
                },
                {
                    "name": "registerOnChange",
                    "args": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": []
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 484,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [],
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "registerOnTouched",
                    "args": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": []
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 488,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [],
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "secondsDownDisable",
                    "args": [
                        {
                            "name": "state",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 480,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisables the seconds down decremental when min time range is reached\n\n",
                    "description": "<p>Disables the seconds down decremental when min time range is reached</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 16605,
                                "end": 16610,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "state"
                            },
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 16599,
                                "end": 16604,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The boolean value that enables the feature</p>\n"
                        }
                    ]
                },
                {
                    "name": "secondsUpDisable",
                    "args": [
                        {
                            "name": "state",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 472,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nDisables the seconds up incremental when max time range is reached\n\n",
                    "description": "<p>Disables the seconds up incremental when max time range is reached</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 16345,
                                "end": 16350,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "state"
                            },
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 16339,
                                "end": 16344,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The boolean value that enables the feature</p>\n"
                        }
                    ]
                },
                {
                    "name": "setDisabledState",
                    "args": [
                        {
                            "name": "isDisabled",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 492,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "isDisabled",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "updateHours",
                    "args": [
                        {
                            "name": "newVal",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 315,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUpdates the input field when hours change and adds 24hour validation + propagates the value back to the form\n\n",
                    "description": "<p>Updates the input field when hours change and adds 24hour validation + propagates the value back to the form</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 11056,
                                "end": 11062,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "newVal"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 11050,
                                "end": 11055,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The new value that hours will have</p>\n"
                        }
                    ]
                },
                {
                    "name": "updateMinutes",
                    "args": [
                        {
                            "name": "newVal",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 337,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUpdates the input field when minutes change and adds 60mins validation + propagates the value back to the form\n\n",
                    "description": "<p>Updates the input field when minutes change and adds 60mins validation + propagates the value back to the form</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 11754,
                                "end": 11760,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "newVal"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 11748,
                                "end": 11753,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The new value that minutes will have</p>\n"
                        }
                    ]
                },
                {
                    "name": "updateSeconds",
                    "args": [
                        {
                            "name": "newVal",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 360,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUpdates the input field when seconds change and adds 60secs validation + propagates the value back to the form\n\n",
                    "description": "<p>Updates the input field when seconds change and adds 60secs validation + propagates the value back to the form</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 12516,
                                "end": 12522,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "newVal"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 12510,
                                "end": 12515,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The new value that seconds will have</p>\n"
                        }
                    ]
                },
                {
                    "name": "writeValue",
                    "args": [
                        {
                            "name": "values",
                            "type": "EuiTimePicker",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 401,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "values",
                            "type": "EuiTimePicker",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "FormsModule",
                    "type": "module"
                },
                {
                    "name": "ReactiveFormsModule",
                    "type": "module"
                },
                {
                    "name": "NgxMaskDirective",
                    "type": "directive"
                },
                {
                    "name": "EUI_INPUT_NUMBER"
                },
                {
                    "name": "EUI_INPUT_TEXT"
                },
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "<p>A timepicker component that allows the user to select a time. The component\ncan be used in two modes: one input field or three separate input fields\nfor hours, minutes, and seconds. The component also supports incremental and\ndecremental buttons for each input field.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Single input field mode --&gt;\n&lt;eui-timepicker\n  [isOneInputField]=&quot;true&quot;\n  [(ngModel)]=&quot;selectedTime&quot; /&gt;\n\n&lt;!-- Separate fields mode --&gt;\n&lt;eui-timepicker\n  [showSeconds]=&quot;true&quot;\n  [(ngModel)]=&quot;selectedTime&quot; /&gt;\n\n&lt;!-- With reactive forms --&gt;\n&lt;form [formGroup]=&quot;form&quot;&gt;\n  &lt;eui-timepicker formControlName=&quot;appointmentTime&quot; /&gt;\n&lt;/form&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">selectedTime: EuiTimePicker = { hours: 14, minutes: 30, seconds: 0 };\nform = new FormGroup({\n  appointmentTime: new FormControl(null)\n});</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Provide clear labels for time input purpose</li>\n<li>Use aria-label on increment/decrement buttons</li>\n<li>Ensure keyboard navigation works (Tab, Arrow keys)</li>\n<li>Announce time changes to screen readers</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Time format: { hours: number, minutes: number, seconds?: number }</li>\n<li>Single input mode uses mask for formatted input (HH:MM or HH:MM:SS)</li>\n<li>Separate fields mode provides individual controls with +/- buttons</li>\n<li>Step values control increment/decrement amounts</li>\n</ul>\n",
            "rawdescription": "\n\nA timepicker component that allows the user to select a time. The component\ncan be used in two modes: one input field or three separate input fields\nfor hours, minutes, and seconds. The component also supports incremental and\ndecremental buttons for each input field.\n\n### Basic Usage\n```html\n<!-- Single input field mode -->\n<eui-timepicker\n  [isOneInputField]=\"true\"\n  [(ngModel)]=\"selectedTime\" />\n\n<!-- Separate fields mode -->\n<eui-timepicker\n  [showSeconds]=\"true\"\n  [(ngModel)]=\"selectedTime\" />\n\n<!-- With reactive forms -->\n<form [formGroup]=\"form\">\n  <eui-timepicker formControlName=\"appointmentTime\" />\n</form>\n```\n\n```typescript\nselectedTime: EuiTimePicker = { hours: 14, minutes: 30, seconds: 0 };\nform = new FormGroup({\n  appointmentTime: new FormControl(null)\n});\n```\n\n### Accessibility\n- Provide clear labels for time input purpose\n- Use aria-label on increment/decrement buttons\n- Ensure keyboard navigation works (Tab, Arrow keys)\n- Announce time changes to screen readers\n\n### Notes\n- Time format: { hours: number, minutes: number, seconds?: number }\n- Single input mode uses mask for formatted input (HH:MM or HH:MM:SS)\n- Separate fields mode provides individual controls with +/- buttons\n- Step values control increment/decrement amounts\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    Input,\n    OnInit,\n    ViewEncapsulation,\n    DoCheck,\n    OnDestroy,\n    SimpleChanges,\n    OnChanges,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\nimport {\n    ControlValueAccessor,\n    NgControl,\n    FormControl,\n    Validators,\n    FormsModule,\n    ReactiveFormsModule,\n} from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DYNAMIC_COMPONENT_CONFIG, uniqueId } from '@eui/core';\nimport { EuiDateTimePickerConfig } from './models/eui-date-time-picker.config.model';\nimport { EuiTimePicker } from './models/eui-timepicker.model';\nimport { NgxMaskDirective, provideNgxMask } from 'ngx-mask';\nimport { EUI_INPUT_NUMBER } from '@eui/components/eui-input-number';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\n/**\n * @description\n * A timepicker component that allows the user to select a time. The component\n * can be used in two modes: one input field or three separate input fields\n * for hours, minutes, and seconds. The component also supports incremental and\n * decremental buttons for each input field.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <!-- Single input field mode -->\n * <eui-timepicker\n *   [isOneInputField]=\"true\"\n *   [(ngModel)]=\"selectedTime\" />\n *\n * <!-- Separate fields mode -->\n * <eui-timepicker\n *   [showSeconds]=\"true\"\n *   [(ngModel)]=\"selectedTime\" />\n *\n * <!-- With reactive forms -->\n * <form [formGroup]=\"form\">\n *   <eui-timepicker formControlName=\"appointmentTime\" />\n * </form>\n * ```\n *\n * ```typescript\n * selectedTime: EuiTimePicker = { hours: 14, minutes: 30, seconds: 0 };\n * form = new FormGroup({\n *   appointmentTime: new FormControl(null)\n * });\n * ```\n *\n * ### Accessibility\n * - Provide clear labels for time input purpose\n * - Use aria-label on increment/decrement buttons\n * - Ensure keyboard navigation works (Tab, Arrow keys)\n * - Announce time changes to screen readers\n *\n * ### Notes\n * - Time format: { hours: number, minutes: number, seconds?: number }\n * - Single input mode uses mask for formatted input (HH:MM or HH:MM:SS)\n * - Separate fields mode provides individual controls with +/- buttons\n * - Step values control increment/decrement amounts\n */\n@Component({\n    selector: 'eui-timepicker',\n    templateUrl: './eui-timepicker.component.html',\n    styleUrls: ['./eui-timepicker.scss'],\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        FormsModule,\n        ReactiveFormsModule,\n        NgxMaskDirective,\n        ...EUI_INPUT_NUMBER,\n        ...EUI_INPUT_TEXT,\n        ...EUI_ICON,\n    ],\n    providers: [provideNgxMask()],\n})\nexport class EuiTimepickerComponent implements ControlValueAccessor, OnInit, OnChanges, DoCheck, OnDestroy {\n    hours: number;\n    mins: number;\n    secs: number;\n    isDatetimepicker: boolean;\n    oneInputFormControl = new FormControl();\n    oneInputHours: string;\n    oneInputMins: string;\n    oneInputSecs: string;\n\n    public hoursUpDisabled = false;\n    public hoursDownDisabled = false;\n    public minutesUpDisabled = false;\n    public minutesDownDisabled = false;\n    public secondsUpDisabled = false;\n    public secondsDownDisabled = false;\n\n    @Input() e2eAttr = 'eui-timepicker';\n    /**\n     * The id of the input element when isOneInputField attribute is used. If not provided, a unique id will be generated.\n     * @default 'eui-timepicker-<unique-id>'\n     */\n    @Input() inputId = `eui-timepicker-${uniqueId()}`;\n    /**\n     * The mask for the input field when isOneInputField attribute is used.\n     * @default 'Hh:m0'\n     */\n    @Input() timeMask = 'Hh:m0'\n    /**\n     * The placeholder of the input field when isOneInputField attribute is used.\n     * @default 'Hh:m0'\n     */\n    @Input() placeholder = this.timeMask;\n    /**\n     * The step used for changing hours.\n     * @default 1\n     */\n    @Input() stepHours = 1;\n    /**\n     * The step used for changing minutes.\n     * @default 1\n     */\n    @Input() stepMinutes = 1;\n    /**\n     * The step used for changing seconds.\n     * @default 1\n     */\n    @Input() stepSeconds = 1;\n    /**\n     * The size of the icon used for changing hours, minutes and seconds.\n     * @default 'l'\n     */\n    @Input() iconSize = 'l';\n    /**\n     * Sets the readonly attribute of the input field.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isreadOnly = false;\n    /**\n     * Sets the disabled state.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isDisabled = false;\n    /**\n     * Attribute that transforms the 3 separate inputs into one input field.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isOneInputField = false;\n    /**\n     * Option for enabling seconds.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasSeconds = false;\n\n    protected hasAriaRequiredAttribute: boolean;\n    private propagatedValues: EuiTimePicker = {\n        hours: null,\n        mins: null,\n        secs: this.hasSeconds ? null : undefined,\n    };\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private control = inject(NgControl, { self: true, optional: true })!;\n\n    constructor() {\n        const config = inject<EuiDateTimePickerConfig>(DYNAMIC_COMPONENT_CONFIG, { optional: true })!;\n\n        this.hours = config?.hours || 0;\n        this.mins = config?.mins || 0;\n        this.secs = config?.secs || 0;\n        this.isDatetimepicker = config?.isDatetimepicker;\n        this.hasSeconds = config?.hasSeconds;\n        this.isOneInputField = config?.isOneInputField;\n        this.isDisabled = config?.isDisabled || false;\n        this.stepHours = config? config.stepHours: this.stepHours;\n        this.stepMinutes = config? config.stepMinutes: this.stepMinutes;\n        this.stepSeconds = config? config.stepSeconds: this.stepSeconds;\n        const hours = this.hours === 0 || null ? '00' : this.hours;\n        const mins = this.mins === 0 || null ? '00' : this.mins;\n        const secs = this.secs === 0 || null ? '00' : this.secs;\n        this.oneInputFormControl.setValue('' + hours + ':' + mins + ':' + secs);\n        this.callbackFn = config?.callbackFn || this.callbackFn;\n\n        if (this.control) {\n            this.control.valueAccessor = this;\n        }\n    }\n\n    ngOnInit(): void {\n        this.oneInputFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n            // splits the entered time into 3 parts based on the : and propagates back the corresponding parts\n            if(value === null) {\n                this.propagatedValues = {\n                    hours: null,\n                    mins: null,\n                    secs: null,\n                };\n                this.propagateChange(null);\n                return;\n            }\n            [this.oneInputHours, this.oneInputMins, this.oneInputSecs] = value.split(':');\n            const splittedhours = this.oneInputHours ? Number(this.oneInputHours) : null;\n            const splittedmins = this.oneInputMins ? Number(this.oneInputMins) : null;\n            const splittedsecs = this.oneInputSecs ? Number(this.oneInputSecs) : null;\n            if (this.hasSeconds) {\n                this.propagatedValues = {\n                    ...this.propagatedValues,\n                    hours: splittedhours,\n                    mins: splittedmins,\n                    secs: splittedsecs,\n                };\n                this.callbackFn(splittedhours, splittedmins, splittedsecs);\n            } else {\n                this.propagatedValues = {\n                    ...this.propagatedValues,\n                    hours: splittedhours,\n                    mins: splittedmins,\n                };\n                this.callbackFn(splittedhours, splittedmins);\n            }\n            if (splittedhours === null && splittedmins === null && splittedsecs === null) {\n                this.propagateChange(null);\n            } else {\n                this.propagateChange(this.propagatedValues);\n            }\n        });\n\n        this.updateInputAriaRequiredAttribute(this.control);\n        this.control?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n            this.updateInputAriaRequiredAttribute(this.control);\n        });\n    }\n\n    ngOnChanges(changes: SimpleChanges):void {\n        if(this.isOneInputField) {\n            if (this.hasSeconds && changes.hasSeconds) {\n                this.timeMask = 'Hh:m0:s0';\n                this.placeholder = 'Hh:m0:s0';\n            }\n            if (changes.timeMask) {\n                this.timeMask = changes.timeMask.currentValue;\n                this.placeholder = changes.timeMask.currentValue;\n            }\n            if(changes.placeholder) {\n                this.placeholder = changes.placeholder.currentValue;\n            }\n        }\n    }\n\n    ngDoCheck(): void {\n        if (this.control) {\n            // marks the input control as touched/invalid if the form control is touched/invalid\n            // eslint-disable-next-line\n            this.control?.touched ? this.oneInputFormControl.markAsTouched() : this.oneInputFormControl.markAsUntouched();\n            // eslint-disable-next-line\n            this.control?.invalid ? this.oneInputFormControl.setErrors(this.control.errors) : this.oneInputFormControl.setErrors(null);\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n    /**\n     * Increments or decrements hours according to the step param being passed\n     *\n     * @param step The step number that hours will increase or decrease\n     */\n    changeHours(step: number): void {\n        if (this.isDisabled) return;\n        if ((!this.hoursUpDisabled && step >0) || (!this.hoursDownDisabled && step <0)) {\n            const val = (isNaN(this.hours) ? 0 : this.hours) + step;\n            this.updateHours(val.toString());\n        }\n    }\n    /**\n     * Increments or decrements minutes according to the step param being passed\n     *\n     * @param step The step number that minutes will increase or decrease\n     */\n    changeMinutes(step: number): void {\n        if (this.isDisabled) return;\n        if ((!this.minutesUpDisabled && step >0) || (!this.minutesDownDisabled && step <0)) {\n            const val = (isNaN(this.mins) ? 0 : this.mins) + step;\n            this.updateMinutes(val.toString());\n        }\n    }\n    /**\n     * Increments or decrements seconds according to the step param being passed\n     *\n     * @param step The step number that seconds will increase or decrease\n     */\n    changeSeconds(step: number): void {\n        if (this.isDisabled) return;\n        if ((!this.secondsUpDisabled && step >0) || (!this.secondsDownDisabled && step <0)) {\n            const val = (isNaN(this.secs) ? 0 : this.secs) + step;\n            this.updateSeconds(val.toString());\n        }\n    }\n    /**\n     * Updates the input field when hours change and adds 24hour validation + propagates the value back to the form\n     *\n     * @param newVal The new value that hours will have\n     */\n    updateHours(newVal: string): void {\n        const enteredHour = this.toInteger(newVal);\n\n        if (!isNaN(enteredHour)) {\n            this.hours = (enteredHour < 0 ? 24 + enteredHour : enteredHour) % 24;\n        } else {\n            this.hours = NaN;\n        }\n\n        this.callbackFn(this.hours, this.mins, this.secs);\n\n        this.propagatedValues = {\n            ...this.propagatedValues,\n            hours: this.hours,\n        };\n        this.propagateChange(this.propagatedValues);\n    }\n    /**\n     * Updates the input field when minutes change and adds 60mins validation + propagates the value back to the form\n     *\n     * @param newVal The new value that minutes will have\n     */\n    updateMinutes(newVal: string): void {\n        const enteredMin = this.toInteger(newVal);\n\n        if (!isNaN(enteredMin)) {\n            this.mins = enteredMin % 60 < 0 ? 60 + (enteredMin % 60) : enteredMin % 60;\n            this.changeHours(Math.floor(enteredMin / 60));\n        } else {\n            this.mins = NaN;\n        }\n\n        this.callbackFn(this.hours, this.mins, this.secs);\n\n        this.propagatedValues = {\n            ...this.propagatedValues,\n            mins: this.mins,\n        };\n        this.propagateChange(this.propagatedValues);\n    }\n    /**\n     * Updates the input field when seconds change and adds 60secs validation + propagates the value back to the form\n     *\n     * @param newVal The new value that seconds will have\n     */\n    updateSeconds(newVal: string): void {\n        const enteredSec = this.toInteger(newVal);\n\n        if (!isNaN(enteredSec)) {\n            this.secs = enteredSec % 60 < 0 ? 60 + (enteredSec % 60) : enteredSec % 60;\n            this.changeMinutes(Math.floor(enteredSec / 60));\n        } else {\n            this.secs = NaN;\n        }\n\n        this.callbackFn(this.hours, this.mins, this.secs);\n\n        this.propagatedValues = {\n            ...this.propagatedValues,\n            secs: this.secs,\n        };\n\n        this.propagateChange(this.propagatedValues);\n    }\n    /**\n     * Autofills mins and secs with 00s if the user tabs after entering hours and marks the input as touched\n     */\n    onFocusOut(): void {\n        if (this.oneInputHours && !this.oneInputMins && !this.oneInputSecs) {\n            switch (this.oneInputHours) {\n                case '0':\n                    this.oneInputHours = '00';\n                    break;\n                case '1':\n                    this.oneInputHours = '01';\n                    break;\n                case '2':\n                    this.oneInputHours = '02';\n                    break;\n            }\n            this.oneInputFormControl.patchValue(`${this.oneInputHours} : 00 : 00`);\n        }\n\n        this.propagateTouched();\n    }\n\n    writeValue(values: EuiTimePicker): void {\n        if (!values) {\n           this.hours = null;\n           this.mins = null;\n           this.secs = null;\n           if(this.isOneInputField) {\n            this.oneInputFormControl.setValue(null)\n           }\n           return;\n        }\n\n        if (values.hours < 0 || values.hours > 23 || typeof values.hours !== 'number') {\n            throw new Error('hours must be defined and be a number with range 0-23');\n        }\n        if (values.mins < 0 || values.mins > 59 || typeof values.mins !== 'number') {\n            throw new Error('mins must be defined and be a number with range 0-59');\n        }\n        if (this.hasSeconds && (values.secs < 0 || values.secs > 59 || typeof values.secs !== 'number')) {\n            throw new Error('secs must be defined and be a number with range 0-59');\n        }\n\n        this.updateHours(values.hours.toString());\n        this.updateMinutes(values.mins.toString());\n        if (values.secs) {\n            this.updateSeconds(values.secs.toString());\n        }\n        if (this.isOneInputField) {\n            const hours = this.padNumber(values.hours);\n            const mins = this.padNumber(values.mins);\n            const secs = this.padNumber(values.secs);\n\n            this.oneInputFormControl.patchValue('' + hours + ':' + mins + ':' + secs);\n        }\n    }\n    /**\n     * Disables the hour up incremental when max time range is reached\n     *\n     * @param state The boolean value that enables the feature\n     */\n    public hoursUpDisable(state: boolean): void {\n        this.hoursUpDisabled = state;\n    }\n    /**\n     * Disables the hour down decremental when min time range is reached\n     *\n     * @param state The boolean value that enables the feature\n     */\n    public hoursDownDisable(state: boolean): void {\n        this.hoursDownDisabled = state;\n    }\n    /**\n     * Disables the minutes up incremental when max time range is reached\n     *\n     * @param state The boolean value that enables the feature\n     */\n    public minutesUpDisable(state: boolean): void {\n        this.minutesUpDisabled = state;\n    }\n    /**\n     * Disables the minutes down decremental when min time range is reached\n     *\n     * @param state The boolean value that enables the feature\n     */\n    public minutesDownDisable(state: boolean): void {\n        this.minutesDownDisabled = state;\n    }\n    /**\n     * Disables the seconds up incremental when max time range is reached\n     *\n     * @param state The boolean value that enables the feature\n     */\n    public secondsUpDisable(state: boolean): void {\n        this.secondsUpDisabled = state;\n    }\n    /**\n     * Disables the seconds down decremental when min time range is reached\n     *\n     * @param state The boolean value that enables the feature\n     */\n    public secondsDownDisable(state: boolean): void {\n        this.secondsDownDisabled = state;\n    }\n\n    registerOnChange(fn: () => void): void {\n        this.propagateChange = fn;\n    }\n\n    registerOnTouched(fn: () => void): void {\n        this.propagateTouched = fn;\n    }\n\n    setDisabledState(isDisabled: boolean): void {\n        this.isDisabled = isDisabled;\n        if (this.isOneInputField) {\n            if (isDisabled) {\n                this.oneInputFormControl.disable();\n            } else {\n                this.oneInputFormControl.enable();\n            }\n        }\n    }\n    /**\n     * A callback function that is called when the time is changed. It is used to propagate the value back to the form.\n     * @param hours The hours value\n     * @param mins The minutes value\n     * @param secs The seconds value\n     */\n    private callbackFn: (hours: number, mins: number, secs?: number) => void = () => {/* empty */};\n\n    /**\n     * Converts the provided value to an integer.\n     *\n     * @param value The value to convert\n     * @private\n     */\n    private toInteger(value: string | number | null | undefined): number {\n        return parseInt(`${value}`, 10);\n    }\n\n    /**\n     * Pads leading zero to the provided number when isOneInputField\n     *\n     * @param value The value to add leading zero to\n     * @private\n     */\n    private padNumber(value: number): string {\n        if (!isNaN(this.toInteger(value))) {\n            return `0${value}`.slice(-2);\n        } else {\n            return '';\n        }\n    }\n\n    private propagateChange = (value: EuiTimePicker | null): void => {/* empty */};\n\n    private propagateTouched = (): void => {/* empty */};\n\n    /**\n     * Updates the `aria-required` attribute on the input element.\n     * @param control The NgControl instance to check for required validator\n     * @private\n     */\n    private updateInputAriaRequiredAttribute(control: NgControl): void {\n        this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@use '../base' as base;\n\n.eui-21 {\n    \n    .eui-timepicker {\n        align-items: center;\n        display: flex;\n    \n        &--centered {\n            justify-content: center;\n        }\n    \n        &__input-container {\n            width: calc(4 * #{var(--eui-s-m)});\n        }\n    \n        &__input {\n            text-align: center;\n            width: 100%;\n    \n            &--one-field {\n                width: calc(6 * #{var(--eui-s-m)}) !important;\n                margin-bottom: var(--eui-s-3xs);\n            }\n        }\n    \n        &__spacer {\n            text-align: center;\n            width: var(--eui-s-m);\n        }\n    \n        &__chevron {\n            display: flex;\n            justify-content: center;\n            padding: var(--eui-s-xs);\n    \n            .eui-icon-svg:not(.time-control--disabled) {\n                &:hover {\n                    cursor: pointer;\n                    color: var(--eui-c-active);\n                }\n            }\n    \n            .eui-icon-svg {\n                &.time-control--disabled {\n                    @include base.eui-disabled();\n                }\n            }\n        }\n    }\n    \n    input[type=number]::-webkit-inner-spin-button,\n    input[type=number]::-webkit-outer-spin-button { // removes the extra dropdown (spinner) on the right\n      -webkit-appearance: none;\n      margin: 0;\n    }\n    \n    input[type=number] {\n        -moz-appearance:textfield; /* Firefox */\n    }\n}    \n",
                    "styleUrl": "./eui-timepicker.scss"
                }
            ],
            "stylesData": "",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 173
            },
            "extends": [],
            "implements": [
                "ControlValueAccessor",
                "OnInit",
                "OnChanges",
                "DoCheck",
                "OnDestroy"
            ],
            "templateData": "<div class=\"eui-timepicker\" [class.eui-timepicker--centered]=\"isDatetimepicker\" attr.data-e2e=\"{{ e2eAttr }}\">\n    @if (isOneInputField) {\n        <input\n            [class.eui-timepicker__input--one-field]=\"isDatetimepicker\"\n            euiInputText\n            [id]=\"inputId\"\n            mask=\"{{ timeMask }}\"\n            [leadZeroDateTime]=\"true\"\n            [placeholder]=\"placeholder\"\n            [attr.aria-label]=\"oneInputFormControl.value?oneInputFormControl.value:'No time value'\"\n            [formControl]=\"oneInputFormControl\"\n            (focusout)=\"onFocusOut()\"\n            [dropSpecialCharacters]=\"false\"\n            [readonly]=\"isreadOnly\" />\n    } @else {\n        <div class=\"eui-timepicker__input-container\">\n            @if (!isreadOnly) {\n                <div class=\"eui-timepicker__chevron eui-timepicker__hours-up\">\n                    <eui-icon-svg\n                        (click)=\"changeHours(stepHours)\"\n                        [class.time-control--disabled]=\"hoursUpDisabled || isDisabled\"\n                        icon=\"eui-chevron-up\"\n                        fillColor=\"secondary\"\n                        [size]=\"iconSize\"\n                        role=\"button\"\n                        aria-label=\"Increase Hours\">\n                    </eui-icon-svg>\n                </div>\n            }\n            <input\n                #inputrefhours\n                euiInputNumber\n                [leadingZero]=\"2\"\n                [digits]=\"2\"\n                [fractionDigits]=\"0\"\n                class=\"eui-timepicker__input\"\n                placeholder=\"HH\"\n                [ngModel]=\"hours\"\n                (ngModelChange)=\"updateHours($event)\"\n                [readonly]=\"isreadOnly\"\n                [disabled]=\"isDisabled\"\n                aria-label=\"Hours\"\n                [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n                (keydown.ArrowUp)=\"changeHours(stepHours); $event.preventDefault()\"\n                (keydown.ArrowDown)=\"changeHours(-stepHours); $event.preventDefault()\" />\n            @if (!isreadOnly) {\n                <div class=\"eui-timepicker__chevron eui-timepicker__hours-down\">\n                    <eui-icon-svg\n                        (click)=\"changeHours(-stepHours)\"\n                        [class.time-control--disabled]=\"hoursDownDisabled || isDisabled\"\n                        icon=\"eui-chevron-down\"\n                        fillColor=\"secondary\"\n                        [size]=\"iconSize\"\n                        role=\"button\"\n                        aria-label=\"Decrease Hours\">\n                    </eui-icon-svg>\n                </div>\n            }\n        </div>\n        <div class=\"eui-timepicker__spacer\">:</div>\n        <div class=\"eui-timepicker__input-container\">\n            @if (!isreadOnly) {\n                <div class=\"eui-timepicker__chevron eui-timepicker__minutes-up\">\n                    <eui-icon-svg\n                        (click)=\"changeMinutes(stepMinutes)\"\n                        [class.time-control--disabled]=\"minutesUpDisabled || isDisabled\"\n                        icon=\"eui-chevron-up\"\n                        fillColor=\"secondary\"\n                        [size]=\"iconSize\"\n                        role=\"button\"\n                        aria-label=\"Increase Minutes\">\n                    </eui-icon-svg>\n                </div>\n            }\n            <input\n                #inputrefmins\n                euiInputNumber\n                [leadingZero]=\"2\"\n                [digits]=\"2\"\n                [fractionDigits]=\"0\"\n                class=\"eui-timepicker__input\"\n                placeholder=\"MM\"\n                [ngModel]=\"mins\"\n                (ngModelChange)=\"updateMinutes($event)\"\n                [readonly]=\"isreadOnly\"\n                [disabled]=\"isDisabled\"\n                aria-label=\"Minutes\"\n                [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n                (keydown.ArrowUp)=\"changeMinutes(stepMinutes); $event.preventDefault()\"\n                (keydown.ArrowDown)=\"changeMinutes(-stepMinutes); $event.preventDefault()\" />\n            @if (!isreadOnly) {\n                <div class=\"eui-timepicker__chevron eui-timepicker__minutes-down\">\n                    <eui-icon-svg\n                        (click)=\"changeMinutes(-stepMinutes)\"\n                        [class.time-control--disabled]=\"minutesDownDisabled || isDisabled\"\n                        icon=\"eui-chevron-down\"\n                        fillColor=\"secondary\"\n                        [size]=\"iconSize\"\n                        role=\"button\"\n                        aria-label=\"Decrease Minutes\">\n                    </eui-icon-svg>\n                </div>\n            }\n        </div>\n        @if (hasSeconds) {\n            <div class=\"eui-timepicker__spacer\">:</div>\n            <div class=\"eui-timepicker__input-container\">\n                @if (!isreadOnly) {\n                    <div class=\"eui-timepicker__chevron eui-timepicker__seconds-up\">\n                        <eui-icon-svg\n                            (click)=\"changeSeconds(stepSeconds)\"\n                            [class.time-control--disabled]=\"secondsUpDisabled || isDisabled\"\n                            icon=\"eui-chevron-up\"\n                            fillColor=\"secondary\"\n                            [size]=\"iconSize\"\n                            role=\"button\"\n                            aria-label=\"Increase seconds\">\n                        </eui-icon-svg>\n                    </div>\n                }\n                <input\n                    #inputrefsecs\n                    euiInputNumber\n                    [leadingZero]=\"2\"\n                    [digits]=\"2\"\n                    [fractionDigits]=\"0\"\n                    class=\"eui-timepicker__input\"\n                    placeholder=\"SS\"\n                    [ngModel]=\"secs\"\n                    (ngModelChange)=\"updateSeconds($event)\"\n                    [readonly]=\"isreadOnly\"\n                    [disabled]=\"isDisabled\"\n                    aria-label=\"Seconds\"\n                    [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n                    (keydown.ArrowUp)=\"changeSeconds(stepSeconds); $event.preventDefault()\"\n                    (keydown.ArrowDown)=\"changeSeconds(-stepSeconds); $event.preventDefault()\" />\n                @if (!isreadOnly) {\n                    <div class=\"eui-timepicker__chevron eui-timepicker__seconds-down\">\n                        <eui-icon-svg\n                            (click)=\"changeSeconds(-stepSeconds)\"\n                            [class.time-control--disabled]=\"secondsDownDisabled || isDisabled\"\n                            icon=\"eui-chevron-down\"\n                            fillColor=\"secondary\"\n                            [size]=\"iconSize\"\n                            role=\"button\"\n                            aria-label=\"Decrease seconds\">\n                        </eui-icon-svg>\n                    </div>\n                }\n            </div>\n        }\n    }\n</div>\n"
        },
        {
            "name": "EuiTimeRangepickerComponent",
            "id": "component-EuiTimeRangepickerComponent-695a0f88083c514ea07a48a8abc074c7869da4cf5ebc9e2ba38348b6757f9b32d1e5dbe5ce3eb42abbef2649d3fcb927b668fe7971df513d2466581cc698b945",
            "file": "packages/components/eui-date-range-selector/eui-time-range-picker/eui-time-range-picker.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-time-range-picker",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-time-range-picker.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-time-range-picker'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 105,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.data-e2e'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "endDateLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Translated label for the end time picker</p>\n",
                    "line": 96,
                    "rawdescription": "\nTranslated label for the end time picker"
                },
                {
                    "name": "endHours",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Current hour value for the end time (0-23)</p>\n",
                    "line": 80,
                    "rawdescription": "\nCurrent hour value for the end time (0-23)"
                },
                {
                    "name": "endMins",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Current minute value for the end time (0-59)</p>\n",
                    "line": 82,
                    "rawdescription": "\nCurrent minute value for the end time (0-59)"
                },
                {
                    "name": "endSecs",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Current second value for the end time (0-59)</p>\n",
                    "line": 84,
                    "rawdescription": "\nCurrent second value for the end time (0-59)"
                },
                {
                    "name": "endTimeFormControl",
                    "defaultValue": "new FormControl()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Form control managing the end time picker value</p>\n",
                    "line": 100,
                    "rawdescription": "\nForm control managing the end time picker value"
                },
                {
                    "name": "hasSeconds",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Determines whether seconds selection is displayed in the time pickers</p>\n",
                    "line": 92,
                    "rawdescription": "\nDetermines whether seconds selection is displayed in the time pickers"
                },
                {
                    "name": "hours",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Current hour value for the start time (0-23)</p>\n",
                    "line": 74,
                    "rawdescription": "\nCurrent hour value for the start time (0-23)"
                },
                {
                    "name": "mins",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Current minute value for the start time (0-59)</p>\n",
                    "line": 76,
                    "rawdescription": "\nCurrent minute value for the start time (0-59)"
                },
                {
                    "name": "secs",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Current second value for the start time (0-59)</p>\n",
                    "line": 78,
                    "rawdescription": "\nCurrent second value for the start time (0-59)"
                },
                {
                    "name": "startDateLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Translated label for the start time picker</p>\n",
                    "line": 94,
                    "rawdescription": "\nTranslated label for the start time picker"
                },
                {
                    "name": "startTimeFormControl",
                    "defaultValue": "new FormControl()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Form control managing the start time picker value</p>\n",
                    "line": 98,
                    "rawdescription": "\nForm control managing the start time picker value"
                },
                {
                    "name": "stepHours",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Increment step for hour selection in the time picker</p>\n",
                    "line": 86,
                    "rawdescription": "\nIncrement step for hour selection in the time picker"
                },
                {
                    "name": "stepMinutes",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Increment step for minute selection in the time picker</p>\n",
                    "line": 88,
                    "rawdescription": "\nIncrement step for minute selection in the time picker"
                },
                {
                    "name": "stepSeconds",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Increment step for second selection in the time picker</p>\n",
                    "line": 90,
                    "rawdescription": "\nIncrement step for second selection in the time picker"
                },
                {
                    "name": "translateService",
                    "defaultValue": "injectOptional(TranslateService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 107,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 158,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 126,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.data-e2e",
                    "defaultValue": "'eui-time-range-picker'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 105,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 102,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "FormsModule",
                    "type": "module"
                },
                {
                    "name": "ReactiveFormsModule",
                    "type": "module"
                },
                {
                    "name": "EUI_TIMEPICKER"
                }
            ],
            "description": "<p>Provides a dual time picker interface for selecting start and end times within a time range.\nTypically used within date range selection workflows where time precision is required.\nReceives configuration via DYNAMIC_COMPONENT_CONFIG injection token and invokes a callback\nwhenever either time value changes.</p>\n<h3>Basic Usage (Internal Component)</h3>\n<p>This component is typically used internally by <code>eui-date-range-selector</code> when <code>isTimeRange</code> is enabled.\nIt&#39;s dynamically created and configured via the portal system.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">// Configuration passed to component\nconst config: EuiTimeRangePickerConfig = {\n  hours: 9,\n  mins: 0,\n  secs: 0,\n  endHours: 17,\n  endMins: 30,\n  endSecs: 0,\n  hasSeconds: false,\n  stepHours: 1,\n  stepMinutes: 15,\n  stepSeconds: 1,\n  callback: (h, m, s, eh, em, es) =&gt; {\n    console.log(&#39;Time range changed&#39;);\n  }\n};</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Each time picker has accessible labels for start and end times</li>\n<li>Keyboard navigation supported through underlying timepicker components</li>\n<li>Time values announced to screen readers on change</li>\n<li>Step increments help users select valid time values</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Automatically created by <code>eui-date-range-selector</code> when time selection enabled</li>\n<li>Displays two timepickers side-by-side for start and end times</li>\n<li>Callback invoked on any time value change</li>\n<li>Supports hours, minutes, and optional seconds</li>\n<li>Step values control increment/decrement behavior</li>\n<li>Labels automatically translated via TranslateService</li>\n</ul>\n",
            "rawdescription": "\n\nProvides a dual time picker interface for selecting start and end times within a time range.\nTypically used within date range selection workflows where time precision is required.\nReceives configuration via DYNAMIC_COMPONENT_CONFIG injection token and invokes a callback\nwhenever either time value changes.\n\n### Basic Usage (Internal Component)\nThis component is typically used internally by `eui-date-range-selector` when `isTimeRange` is enabled.\nIt's dynamically created and configured via the portal system.\n\n```typescript\n// Configuration passed to component\nconst config: EuiTimeRangePickerConfig = {\n  hours: 9,\n  mins: 0,\n  secs: 0,\n  endHours: 17,\n  endMins: 30,\n  endSecs: 0,\n  hasSeconds: false,\n  stepHours: 1,\n  stepMinutes: 15,\n  stepSeconds: 1,\n  callback: (h, m, s, eh, em, es) => {\n    console.log('Time range changed');\n  }\n};\n```\n\n### Accessibility\n- Each time picker has accessible labels for start and end times\n- Keyboard navigation supported through underlying timepicker components\n- Time values announced to screen readers on change\n- Step increments help users select valid time values\n\n### Notes\n- Automatically created by `eui-date-range-selector` when time selection enabled\n- Displays two timepickers side-by-side for start and end times\n- Callback invoked on any time value change\n- Supports hours, minutes, and optional seconds\n- Step values control increment/decrement behavior\n- Labels automatically translated via TranslateService\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    inject,\n    ViewEncapsulation,\n    HostBinding,\n    OnInit,\n    OnDestroy,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { DYNAMIC_COMPONENT_CONFIG, injectOptional } from '@eui/core';\nimport { EUI_TIMEPICKER } from '@eui/components/eui-timepicker';\nimport { EuiTimeRangePickerConfig } from '../models/eui-time-range-picker.config.model';\n\n/**\n * Provides a dual time picker interface for selecting start and end times within a time range.\n * Typically used within date range selection workflows where time precision is required.\n * Receives configuration via DYNAMIC_COMPONENT_CONFIG injection token and invokes a callback\n * whenever either time value changes.\n * \n * @usageNotes\n * ### Basic Usage (Internal Component)\n * This component is typically used internally by `eui-date-range-selector` when `isTimeRange` is enabled.\n * It's dynamically created and configured via the portal system.\n * \n * ```typescript\n * // Configuration passed to component\n * const config: EuiTimeRangePickerConfig = {\n *   hours: 9,\n *   mins: 0,\n *   secs: 0,\n *   endHours: 17,\n *   endMins: 30,\n *   endSecs: 0,\n *   hasSeconds: false,\n *   stepHours: 1,\n *   stepMinutes: 15,\n *   stepSeconds: 1,\n *   callback: (h, m, s, eh, em, es) => {\n *     console.log('Time range changed');\n *   }\n * };\n * ```\n * \n * ### Accessibility\n * - Each time picker has accessible labels for start and end times\n * - Keyboard navigation supported through underlying timepicker components\n * - Time values announced to screen readers on change\n * - Step increments help users select valid time values\n * \n * ### Notes\n * - Automatically created by `eui-date-range-selector` when time selection enabled\n * - Displays two timepickers side-by-side for start and end times\n * - Callback invoked on any time value change\n * - Supports hours, minutes, and optional seconds\n * - Step values control increment/decrement behavior\n * - Labels automatically translated via TranslateService\n */\n@Component({\n    selector: 'eui-time-range-picker',\n    templateUrl: './eui-time-range-picker.component.html',\n    styleUrl: './eui-time-range-picker.scss',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        FormsModule,\n        ReactiveFormsModule,\n        ...EUI_TIMEPICKER,\n    ],\n})\nexport class EuiTimeRangepickerComponent implements OnInit, OnDestroy {\n    /** Current hour value for the start time (0-23) */\n    hours: number;\n    /** Current minute value for the start time (0-59) */\n    mins: number;\n    /** Current second value for the start time (0-59) */\n    secs: number;\n    /** Current hour value for the end time (0-23) */\n    endHours: number;\n    /** Current minute value for the end time (0-59) */\n    endMins: number;\n    /** Current second value for the end time (0-59) */\n    endSecs: number;\n    /** Increment step for hour selection in the time picker */\n    stepHours: number;\n    /** Increment step for minute selection in the time picker */\n    stepMinutes: number;\n    /** Increment step for second selection in the time picker */\n    stepSeconds: number;\n    /** Determines whether seconds selection is displayed in the time pickers */\n    hasSeconds: boolean;\n    /** Translated label for the start time picker */\n    startDateLabel: string;\n    /** Translated label for the end time picker */\n    endDateLabel: string;\n    /** Form control managing the start time picker value */\n    startTimeFormControl = new FormControl();\n    /** Form control managing the end time picker value */\n    endTimeFormControl = new FormControl();\n    @HostBinding('class')\n    get class(): string {\n        return ['eui-timerange'].join(' ').trim();\n    }\n    @HostBinding('attr.data-e2e') e2eAttr = 'eui-time-range-picker';\n\n    protected translateService = injectOptional(TranslateService);\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n\n    constructor() {\n        const config = inject<EuiTimeRangePickerConfig>(DYNAMIC_COMPONENT_CONFIG, { optional: true })!;\n\n        this.hours = config?.hours || 0;\n        this.mins = config?.mins || 0;\n        this.secs = config?.secs || 0;\n        this.endHours = config?.endHours || 0;\n        this.endMins = config?.endMins || 0;\n        this.endSecs = config?.endSecs || 0;\n        this.hasSeconds = config?.hasSeconds;\n        this.stepHours = config? config.stepHours: this.stepHours;\n        this.stepMinutes = config? config.stepMinutes: this.stepMinutes;\n        this.stepSeconds = config? config.stepSeconds: this.stepSeconds;\n        this.callback = config?.callback || this.callback;\n    }\n\n    ngOnInit(): void {\n        this.translateService\n            ?.stream('eui.daterangeselector.FIRSTPICKERSLABEL')\n            .pipe(takeUntil(this.destroy$))\n            .subscribe((result: string) => {\n                this.startDateLabel = result;\n            });\n\n        this.translateService\n            ?.stream('eui.daterangeselector.SECONDPICKERSLABEL')\n            .pipe(takeUntil(this.destroy$))\n            .subscribe((result: string) => {\n                this.endDateLabel = result;\n        });\n\n        this.startTimeFormControl = new FormControl({ value: { hours: this.hours, mins: this.mins, secs: this.secs }, disabled: false });\n        this.endTimeFormControl = new FormControl({ value: { hours: this.endHours, mins: this.endMins, secs: this.endSecs }, disabled: false });\n\n        this.startTimeFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n            this.hours = value.hours;\n            this.mins = value.mins;\n            this.secs = value.secs;\n            this.callback(this.hours, this.mins, this.secs, this.endHours, this.endMins, this.endSecs);\n        });\n        this.endTimeFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n            this.endHours = value.hours;\n            this.endMins = value.mins;\n            this.endSecs = value.secs;\n            this.callback(this.hours, this.mins, this.secs, this.endHours, this.endMins, this.endSecs);\n        });\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    // eslint-disable-next-line @typescript-eslint/no-empty-function\n    private callback: (hours: number, mins: number, secs?: number, endHours?: number, endMins?: number, endSecs?: number) => void = () => {};\n\n}\n",
            "styleUrl": "./eui-time-range-picker.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 108
            },
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy"
            ],
            "accessors": {
                "class": {
                    "name": "class",
                    "getSignature": {
                        "name": "class",
                        "type": "string",
                        "returnType": "string",
                        "line": 102
                    }
                }
            },
            "templateData": "<div class=\"eui-timerange__time-container\">\n    <span class=\"eui-timerange__time-container-label\">{{ startDateLabel }}</span>\n    <eui-timepicker iconSize=\"m\" [hasSeconds]=\"hasSeconds\" [formControl]=\"startTimeFormControl\"></eui-timepicker>\n</div>\n\n<div class=\"eui-timerange__time-container\">\n    <span class=\"eui-timerange__time-container-label\">{{ endDateLabel }}</span>\n    <eui-timepicker iconSize=\"m\" [hasSeconds]=\"hasSeconds\" [formControl]=\"endTimeFormControl\"></eui-timepicker>\n</div>\n"
        },
        {
            "name": "EuiToggleGroupComponent",
            "id": "component-EuiToggleGroupComponent-ba4d39cb5977117576c80aff8b485082b298d2915b8c1c32a940c8a121256cdd67f3af49e0afd97aa3218b3236da737707988dfee121469dc895ffd52b5458a7",
            "file": "packages/components/eui-toggle-group/eui-toggle-group.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-toggle-group",
            "styleUrls": [
                "./eui-toggle-group.scss"
            ],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "isFluid",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 85,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isMultiple",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2964,
                            "end": 2984,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2965,
                                "end": 2972,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the several items can be checked\n",
                    "description": "<p>Whether the several items can be checked</p>\n",
                    "line": 84,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "itemClick",
                    "defaultValue": "new EventEmitter<EuiToggleGroupItemComponent>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when any item in the group is clicked\nEmits the clicked EuiToggleGroupItemComponent instance\n",
                    "description": "<p>Event emitted when any item in the group is clicked\nEmits the clicked EuiToggleGroupItemComponent instance</p>\n",
                    "line": 91,
                    "type": "EventEmitter<EuiToggleGroupItemComponent>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "items",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiToggleGroupItemComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Query list of all EuiButtonComponent instances within the group</p>\n",
                    "line": 96,
                    "rawdescription": "\n\nQuery list of all EuiButtonComponent instances within the group\n",
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 101,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nInitializes button click subscriptions after content is initialized\n",
                    "description": "<p>Initializes button click subscriptions after content is initialized</p>\n"
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\nCSS classes applied to the host element",
                    "description": "<p>CSS classes applied to the host element</p>\n",
                    "line": 74,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Component for grouping multiple buttons together with optional checkbox or radio button behavior.\nSegmented control component that groups multiple toggle items into a unified selection interface.\nSupports both single-select (radio button behavior) and multi-select (checkbox behavior) modes.\nManages selection state coordination across child toggle items automatically.\nProvides fluid width option for responsive layouts where items expand to fill available space.\nCommonly used for view switchers, filter options, or any mutually exclusive or multi-select choice sets.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Single select (radio behavior) --&gt;\n&lt;eui-toggle-group (itemClick)=&quot;onViewChange($event)&quot;&gt;\n  &lt;eui-toggle-group-item id=&quot;list&quot; [isChecked]=&quot;true&quot;&gt;\n    List View\n  &lt;/eui-toggle-group-item&gt;\n  &lt;eui-toggle-group-item id=&quot;grid&quot;&gt;\n    Grid View\n  &lt;/eui-toggle-group-item&gt;\n&lt;/eui-toggle-group&gt;\n\n&lt;!-- Multi-select (checkbox behavior) --&gt;\n&lt;eui-toggle-group [isMultiple]=&quot;true&quot;&gt;\n  &lt;eui-toggle-group-item id=&quot;bold&quot;&gt;Bold&lt;/eui-toggle-group-item&gt;\n  &lt;eui-toggle-group-item id=&quot;italic&quot;&gt;Italic&lt;/eui-toggle-group-item&gt;\n  &lt;eui-toggle-group-item id=&quot;underline&quot;&gt;Underline&lt;/eui-toggle-group-item&gt;\n&lt;/eui-toggle-group&gt;\n\n&lt;!-- Fluid width --&gt;\n&lt;eui-toggle-group [isFluid]=&quot;true&quot;&gt;\n  &lt;eui-toggle-group-item id=&quot;option1&quot;&gt;Option 1&lt;/eui-toggle-group-item&gt;\n  &lt;eui-toggle-group-item id=&quot;option2&quot;&gt;Option 2&lt;/eui-toggle-group-item&gt;\n&lt;/eui-toggle-group&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use role=&quot;group&quot; with aria-label describing the group purpose</li>\n<li>Each item should have clear, descriptive text</li>\n<li>Keyboard navigation (Tab, Arrow keys) should work</li>\n<li>Announce selection changes to screen readers</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Single-select mode (default): only one item can be checked at a time</li>\n<li>Multi-select mode (isMultiple=&quot;true&quot;): multiple items can be checked</li>\n<li>Fluid mode (isFluid=&quot;true&quot;): items expand to fill container width</li>\n<li>Each item must have unique id for proper state management</li>\n</ul>\n",
            "rawdescription": "\n\nComponent for grouping multiple buttons together with optional checkbox or radio button behavior.\nSegmented control component that groups multiple toggle items into a unified selection interface.\nSupports both single-select (radio button behavior) and multi-select (checkbox behavior) modes.\nManages selection state coordination across child toggle items automatically.\nProvides fluid width option for responsive layouts where items expand to fill available space.\nCommonly used for view switchers, filter options, or any mutually exclusive or multi-select choice sets.\n\n### Basic Usage\n```html\n<!-- Single select (radio behavior) -->\n<eui-toggle-group (itemClick)=\"onViewChange($event)\">\n  <eui-toggle-group-item id=\"list\" [isChecked]=\"true\">\n    List View\n  </eui-toggle-group-item>\n  <eui-toggle-group-item id=\"grid\">\n    Grid View\n  </eui-toggle-group-item>\n</eui-toggle-group>\n\n<!-- Multi-select (checkbox behavior) -->\n<eui-toggle-group [isMultiple]=\"true\">\n  <eui-toggle-group-item id=\"bold\">Bold</eui-toggle-group-item>\n  <eui-toggle-group-item id=\"italic\">Italic</eui-toggle-group-item>\n  <eui-toggle-group-item id=\"underline\">Underline</eui-toggle-group-item>\n</eui-toggle-group>\n\n<!-- Fluid width -->\n<eui-toggle-group [isFluid]=\"true\">\n  <eui-toggle-group-item id=\"option1\">Option 1</eui-toggle-group-item>\n  <eui-toggle-group-item id=\"option2\">Option 2</eui-toggle-group-item>\n</eui-toggle-group>\n```\n\n### Accessibility\n- Use role=\"group\" with aria-label describing the group purpose\n- Each item should have clear, descriptive text\n- Keyboard navigation (Tab, Arrow keys) should work\n- Announce selection changes to screen readers\n\n### Notes\n- Single-select mode (default): only one item can be checked at a time\n- Multi-select mode (isMultiple=\"true\"): multiple items can be checked\n- Fluid mode (isFluid=\"true\"): items expand to fill container width\n- Each item must have unique id for proper state management\n",
            "type": "component",
            "sourceCode": "import {\n    AfterContentInit,\n    Component,\n    ContentChildren,\n    EventEmitter,\n    forwardRef,\n    Input,\n    Output,\n    QueryList,\n    ChangeDetectionStrategy,\n    HostBinding,\n    booleanAttribute,\n} from '@angular/core';\n\nimport { EuiToggleGroupItemComponent } from './eui-toggle-group-item.component';\n\n/**\n * @description\n * Component for grouping multiple buttons together with optional checkbox or radio button behavior.\n * Segmented control component that groups multiple toggle items into a unified selection interface.\n * Supports both single-select (radio button behavior) and multi-select (checkbox behavior) modes.\n * Manages selection state coordination across child toggle items automatically.\n * Provides fluid width option for responsive layouts where items expand to fill available space.\n * Commonly used for view switchers, filter options, or any mutually exclusive or multi-select choice sets.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <!-- Single select (radio behavior) -->\n * <eui-toggle-group (itemClick)=\"onViewChange($event)\">\n *   <eui-toggle-group-item id=\"list\" [isChecked]=\"true\">\n *     List View\n *   </eui-toggle-group-item>\n *   <eui-toggle-group-item id=\"grid\">\n *     Grid View\n *   </eui-toggle-group-item>\n * </eui-toggle-group>\n *\n * <!-- Multi-select (checkbox behavior) -->\n * <eui-toggle-group [isMultiple]=\"true\">\n *   <eui-toggle-group-item id=\"bold\">Bold</eui-toggle-group-item>\n *   <eui-toggle-group-item id=\"italic\">Italic</eui-toggle-group-item>\n *   <eui-toggle-group-item id=\"underline\">Underline</eui-toggle-group-item>\n * </eui-toggle-group>\n *\n * <!-- Fluid width -->\n * <eui-toggle-group [isFluid]=\"true\">\n *   <eui-toggle-group-item id=\"option1\">Option 1</eui-toggle-group-item>\n *   <eui-toggle-group-item id=\"option2\">Option 2</eui-toggle-group-item>\n * </eui-toggle-group>\n * ```\n *\n * ### Accessibility\n * - Use role=\"group\" with aria-label describing the group purpose\n * - Each item should have clear, descriptive text\n * - Keyboard navigation (Tab, Arrow keys) should work\n * - Announce selection changes to screen readers\n *\n * ### Notes\n * - Single-select mode (default): only one item can be checked at a time\n * - Multi-select mode (isMultiple=\"true\"): multiple items can be checked\n * - Fluid mode (isFluid=\"true\"): items expand to fill container width\n * - Each item must have unique id for proper state management\n */\n@Component({\n    selector: 'eui-toggle-group',\n    template: '<ng-content/>',\n    styleUrls: ['./eui-toggle-group.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiToggleGroupComponent implements AfterContentInit {\n    /** CSS classes applied to the host element */\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-toggle-group',\n            this.isFluid ? 'eui-toggle-group--fluid' : '',\n        ].join(' ').trim();\n    } \n    /**\n     * Whether the several items can be checked\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isMultiple = false;\n    @Input({ transform: booleanAttribute }) isFluid = false;\n\n    /**\n     * Event emitted when any item in the group is clicked\n     * Emits the clicked EuiToggleGroupItemComponent instance\n     */\n    @Output() itemClick: EventEmitter<EuiToggleGroupItemComponent> = new EventEmitter<EuiToggleGroupItemComponent>();\n\n    /**\n     * Query list of all EuiButtonComponent instances within the group\n     */\n    @ContentChildren(forwardRef(() => EuiToggleGroupItemComponent)) items: QueryList<EuiToggleGroupItemComponent>;\n\n    /**\n     * Initializes button click subscriptions after content is initialized\n     */\n    ngAfterContentInit(): void {\n        this.items.map((b: EuiToggleGroupItemComponent) => {\n            b.itemClick.subscribe(() => {\n                this.handleInnerButtonClick(b);\n            });\n        });\n    }\n\n    private handleInnerButtonClick(item: EuiToggleGroupItemComponent): void {\n        try {\n            if (item.isChecked && this.isMultiple) {\n                item.isChecked = false;\n            } else {\n                if (this.isMultiple) {\n                    this.items.find((b) => b.id === item.id).isChecked = true;\n                } else {\n                    this.items.find((b) => b.id === item.id).isChecked = true;\n                    this.items.forEach((b) => {\n                        if (b.id !== item.id) {\n                            b.isChecked = false;\n                        }\n                    });\n                }\n            }\n\n            this.itemClick.emit(item);\n        } catch (e) {\n            console.log(e);\n        }\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@use '../base' as base;\n\n.eui-21 {\n    :host {\n        position: relative;\n        display: inline-flex;\n        vertical-align: middle;\n        gap: var(--eui-s-xs);\n        width: 100%;\n    }\n}\n",
                    "styleUrl": "./eui-toggle-group.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterContentInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 74,
                        "rawdescription": "\nCSS classes applied to the host element",
                        "description": "<p>CSS classes applied to the host element</p>\n"
                    }
                }
            }
        },
        {
            "name": "EuiToggleGroupItemComponent",
            "id": "component-EuiToggleGroupItemComponent-ff57e38058c6b14e75e6c814d2661ea23b515070963d51b00f0d4c1368bda6fa413c0e177605846b46563bb08c46d4b614fc58e00757e24b98f13e98d9ad0876",
            "file": "packages/components/eui-toggle-group/eui-toggle-group-item.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-toggle-group-item",
            "styleUrls": [],
            "styles": [],
            "template": "<button (click)=\"buttonClick()\"><ng-content/></button>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUnique identifier for the toggle item.\nUsed for tracking selection state and programmatic item management.\n",
                    "description": "<p>Unique identifier for the toggle item.\nUsed for tracking selection state and programmatic item management.</p>\n",
                    "line": 54,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isChecked",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2205,
                            "end": 2225,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2206,
                                "end": 2213,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nControls the checked state of the toggle item.\nWhen true, applies checked styling and indicates selection.\nManaged by parent toggle group for single-select mode or individually for multi-select.\n",
                    "description": "<p>Controls the checked state of the toggle item.\nWhen true, applies checked styling and indicates selection.\nManaged by parent toggle group for single-select mode or individually for multi-select.</p>\n",
                    "line": 62,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "itemClick",
                    "defaultValue": "new EventEmitter<EuiToggleGroupItemComponent>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the toggle item is clicked.\nPayload: reference to the clicked EuiToggleGroupItemComponent instance.\nAllows parent toggle group to coordinate selection state across items.\n",
                    "description": "<p>Emitted when the toggle item is clicked.\nPayload: reference to the clicked EuiToggleGroupItemComponent instance.\nAllows parent toggle group to coordinate selection state across items.</p>\n",
                    "line": 69,
                    "type": "EventEmitter<EuiToggleGroupItemComponent>"
                }
            ],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "buttonClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 71,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 43,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Individual toggle item component within eui-toggle-group for segmented control interfaces.\nRepresents a single selectable option in a group of mutually exclusive or multi-select choices.\nManages checked state and emits selection events for parent toggle group coordination.\nProvides button-based interaction with consistent styling and accessibility.\nMust be used as a direct child of eui-toggle-group to participate in group selection behavior.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Within toggle group --&gt;\n&lt;eui-toggle-group&gt;\n  &lt;eui-toggle-group-item id=&quot;option1&quot; [isChecked]=&quot;true&quot;&gt;\n    Option 1\n  &lt;/eui-toggle-group-item&gt;\n  &lt;eui-toggle-group-item id=&quot;option2&quot;&gt;\n    Option 2\n  &lt;/eui-toggle-group-item&gt;\n&lt;/eui-toggle-group&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Button element provides native keyboard support</li>\n<li>Clear, descriptive text content is essential</li>\n<li>Checked state is visually distinct</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be direct child of eui-toggle-group</li>\n<li>Requires unique id for state management</li>\n<li>Selection behavior controlled by parent toggle group</li>\n</ul>\n",
            "rawdescription": "\n\nIndividual toggle item component within eui-toggle-group for segmented control interfaces.\nRepresents a single selectable option in a group of mutually exclusive or multi-select choices.\nManages checked state and emits selection events for parent toggle group coordination.\nProvides button-based interaction with consistent styling and accessibility.\nMust be used as a direct child of eui-toggle-group to participate in group selection behavior.\n\n### Basic Usage\n```html\n<!-- Within toggle group -->\n<eui-toggle-group>\n  <eui-toggle-group-item id=\"option1\" [isChecked]=\"true\">\n    Option 1\n  </eui-toggle-group-item>\n  <eui-toggle-group-item id=\"option2\">\n    Option 2\n  </eui-toggle-group-item>\n</eui-toggle-group>\n```\n\n### Accessibility\n- Button element provides native keyboard support\n- Clear, descriptive text content is essential\n- Checked state is visually distinct\n\n### Notes\n- Must be direct child of eui-toggle-group\n- Requires unique id for state management\n- Selection behavior controlled by parent toggle group\n",
            "type": "component",
            "sourceCode": "import { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\n\n/**\n * @description\n * Individual toggle item component within eui-toggle-group for segmented control interfaces.\n * Represents a single selectable option in a group of mutually exclusive or multi-select choices.\n * Manages checked state and emits selection events for parent toggle group coordination.\n * Provides button-based interaction with consistent styling and accessibility.\n * Must be used as a direct child of eui-toggle-group to participate in group selection behavior.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <!-- Within toggle group -->\n * <eui-toggle-group>\n *   <eui-toggle-group-item id=\"option1\" [isChecked]=\"true\">\n *     Option 1\n *   </eui-toggle-group-item>\n *   <eui-toggle-group-item id=\"option2\">\n *     Option 2\n *   </eui-toggle-group-item>\n * </eui-toggle-group>\n * ```\n *\n * ### Accessibility\n * - Button element provides native keyboard support\n * - Clear, descriptive text content is essential\n * - Checked state is visually distinct\n *\n * ### Notes\n * - Must be direct child of eui-toggle-group\n * - Requires unique id for state management\n * - Selection behavior controlled by parent toggle group\n */\n@Component({\n    selector: 'eui-toggle-group-item',\n    styleUrl: './eui-toggle-group-item.component.scss',\n    template: '<button (click)=\"buttonClick()\"><ng-content/></button>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiToggleGroupItemComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-toggle-group-item',\n            this.isChecked ? 'eui-toggle-group-item--checked' : '',\n        ].join(' ').trim();\n    }    \n    /**\n     * Unique identifier for the toggle item.\n     * Used for tracking selection state and programmatic item management.\n     */\n    @HostBinding('attr.id')\n    @Input() id: string;\n\n    /**\n     * Controls the checked state of the toggle item.\n     * When true, applies checked styling and indicates selection.\n     * Managed by parent toggle group for single-select mode or individually for multi-select.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isChecked = false;\n\n    /**\n     * Emitted when the toggle item is clicked.\n     * Payload: reference to the clicked EuiToggleGroupItemComponent instance.\n     * Allows parent toggle group to coordinate selection state across items.\n     */\n    @Output() itemClick: EventEmitter<EuiToggleGroupItemComponent> = new EventEmitter<EuiToggleGroupItemComponent>();\n\n    protected buttonClick(): void {\n        this.itemClick.emit(this);\n    }    \n}\n",
            "styleUrl": "./eui-toggle-group-item.component.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 43
                    }
                }
            }
        },
        {
            "name": "EuiToolbarAppComponent",
            "id": "component-EuiToolbarAppComponent-a75d4ded5ab581ef0f6f7c577df418a7c311a393f9baf6cf50c2bbfb6bf42a50906be0b4c658482e49f273c7ad6224797c1bb54b073253f117eab4274433675f",
            "file": "packages/components/layout/eui-toolbar/toolbar-app/toolbar-app.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-toolbar-app",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./toolbar-app.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "appName",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nApplication name displayed in the toolbar.\nProvides the primary application identifier for toolbar branding.\nOptional.\n",
                    "description": "<p>Application name displayed in the toolbar.\nProvides the primary application identifier for toolbar branding.\nOptional.</p>\n",
                    "line": 56,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "appSubTitle",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSubtitle or descriptive text displayed below the application name.\nProvides additional context about the application, current section, or user role.\nOptional.\n",
                    "description": "<p>Subtitle or descriptive text displayed below the application name.\nProvides additional context about the application, current section, or user role.\nOptional.</p>\n",
                    "line": 63,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "class",
                    "defaultValue": "'eui-toolbar-app'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 49,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": ""
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-toolbar-app'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 49,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Application name and subtitle component for toolbar placement, displaying the application title and descriptive text.\nProvides a compact representation of application identity suitable for toolbar layouts.\nDisplays application name with optional subtitle for additional context or section information.\nTypically used within eui-toolbar for consistent application branding in toolbar-based layouts.\nSimpler alternative to eui-header-app for toolbar-specific use cases.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-app&gt;\n  &lt;eui-app-toolbar&gt;\n    &lt;eui-toolbar&gt;\n      &lt;eui-toolbar-app\n        appName=&quot;MyWorkplace&quot;\n        appSubTitle=&quot;Dashboard&quot;&gt;\n      &lt;/eui-toolbar-app&gt;\n    &lt;/eui-toolbar&gt;\n  &lt;/eui-app-toolbar&gt;\n&lt;/eui-app&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Application name provides primary identification</li>\n<li>Subtitle offers additional context</li>\n<li>Text content readable by screen readers</li>\n<li>Semantic structure for application branding</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-toolbar for proper layout</li>\n<li>Positioned in toolbar content area</li>\n<li>Simpler alternative to eui-header-app</li>\n<li>Designed for toolbar-specific layouts</li>\n<li>appName for primary application title</li>\n<li>appSubTitle for additional context (optional)</li>\n<li>Both inputs are optional</li>\n<li>Compact design suitable for toolbar height</li>\n<li>No integration with EuiAppShellService (unlike eui-header-app)</li>\n<li>Use when toolbar is primary navigation instead of header</li>\n</ul>\n",
            "rawdescription": "\n\nApplication name and subtitle component for toolbar placement, displaying the application title and descriptive text.\nProvides a compact representation of application identity suitable for toolbar layouts.\nDisplays application name with optional subtitle for additional context or section information.\nTypically used within eui-toolbar for consistent application branding in toolbar-based layouts.\nSimpler alternative to eui-header-app for toolbar-specific use cases.\n\n```html\n<eui-app>\n  <eui-app-toolbar>\n    <eui-toolbar>\n      <eui-toolbar-app\n        appName=\"MyWorkplace\"\n        appSubTitle=\"Dashboard\">\n      </eui-toolbar-app>\n    </eui-toolbar>\n  </eui-app-toolbar>\n</eui-app>\n```\n\n### Accessibility\n- Application name provides primary identification\n- Subtitle offers additional context\n- Text content readable by screen readers\n- Semantic structure for application branding\n\n### Notes\n- Must be used within eui-toolbar for proper layout\n- Positioned in toolbar content area\n- Simpler alternative to eui-header-app\n- Designed for toolbar-specific layouts\n- appName for primary application title\n- appSubTitle for additional context (optional)\n- Both inputs are optional\n- Compact design suitable for toolbar height\n- No integration with EuiAppShellService (unlike eui-header-app)\n- Use when toolbar is primary navigation instead of header\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ViewEncapsulation, Input } from '@angular/core';\n\n/**\n * @description\n * Application name and subtitle component for toolbar placement, displaying the application title and descriptive text.\n * Provides a compact representation of application identity suitable for toolbar layouts.\n * Displays application name with optional subtitle for additional context or section information.\n * Typically used within eui-toolbar for consistent application branding in toolbar-based layouts.\n * Simpler alternative to eui-header-app for toolbar-specific use cases.\n * \n * @usageNotes\n * ```html\n * <eui-app>\n *   <eui-app-toolbar>\n *     <eui-toolbar>\n *       <eui-toolbar-app\n *         appName=\"MyWorkplace\"\n *         appSubTitle=\"Dashboard\">\n *       </eui-toolbar-app>\n *     </eui-toolbar>\n *   </eui-app-toolbar>\n * </eui-app>\n * ```\n *\n * ### Accessibility\n * - Application name provides primary identification\n * - Subtitle offers additional context\n * - Text content readable by screen readers\n * - Semantic structure for application branding\n *\n * ### Notes\n * - Must be used within eui-toolbar for proper layout\n * - Positioned in toolbar content area\n * - Simpler alternative to eui-header-app\n * - Designed for toolbar-specific layouts\n * - appName for primary application title\n * - appSubTitle for additional context (optional)\n * - Both inputs are optional\n * - Compact design suitable for toolbar height\n * - No integration with EuiAppShellService (unlike eui-header-app)\n * - Use when toolbar is primary navigation instead of header\n */\n@Component({\n    selector: 'eui-toolbar-app',\n    templateUrl: './toolbar-app.component.html',\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiToolbarAppComponent {\n    @HostBinding() class = 'eui-toolbar-app';\n\n    /**\n     * Application name displayed in the toolbar.\n     * Provides the primary application identifier for toolbar branding.\n     * Optional.\n     */\n    @Input() appName: string;\n\n    /**\n     * Subtitle or descriptive text displayed below the application name.\n     * Provides additional context about the application, current section, or user role.\n     * Optional.\n     */\n    @Input() appSubTitle: string;\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "@if (appSubTitle) {\n    <div class=\"eui-toolbar-app__name\">\n        {{ appName }}\n    </div>\n    <div class=\"eui-toolbar-app__subTitle\">\n        {{ appSubTitle }}\n    </div>\n} @else {\n    {{ appName }}\n}\n"
        },
        {
            "name": "EuiToolbarCenterComponent",
            "id": "component-EuiToolbarCenterComponent-ca3e6d976464950d1e5d99ac4d336a07e6e6d9a85542d3968e9cb2d8d1099fa5ad46a45fb2bc350de94df3fab93d7aa58cacf54e1fe108313072f8e797a70ae3",
            "file": "packages/components/layout/eui-toolbar/toolbar-center/toolbar-center.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-toolbar-center",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-toolbar__center'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 49,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-toolbar__center'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 49,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Center-aligned container component for toolbar content, positioning elements in the middle of the toolbar.\nProvides a dedicated region for center-aligned content such as application name, search bar, or navigation tabs.\nContent is projected via ng-content allowing flexible composition of centered toolbar elements.\nAutomatically applies flexbox centering within the toolbar layout for consistent positioning.\nTypically used within eui-toolbar to organize content in the center region between left and right toolbar items.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-app&gt;\n  &lt;eui-app-toolbar&gt;\n    &lt;eui-toolbar&gt;\n      &lt;eui-toolbar-mega-menu [items]=&quot;menuItems&quot;&gt;&lt;/eui-toolbar-mega-menu&gt;\n      &lt;eui-toolbar-center&gt;\n        &lt;eui-toolbar-app appName=&quot;MyWorkplace&quot;&gt;&lt;/eui-toolbar-app&gt;\n      &lt;/eui-toolbar-center&gt;\n      &lt;eui-toolbar-items euiPositionRight&gt;\n        &lt;button euiButton&gt;Action&lt;/button&gt;\n      &lt;/eui-toolbar-items&gt;\n    &lt;/eui-toolbar&gt;\n  &lt;/eui-app-toolbar&gt;\n&lt;/eui-app&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Center positioning provides visual balance</li>\n<li>Content should follow proper semantic structure</li>\n<li>Interactive elements must be keyboard accessible</li>\n<li>Maintains consistent toolbar layout</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-toolbar for proper layout</li>\n<li>Positioned in center of toolbar between left and right content</li>\n<li>Content projected via ng-content</li>\n<li>Flexbox centering applied automatically</li>\n<li>Common content: app name, search bar, navigation tabs</li>\n<li>Works alongside toolbar-items and toolbar-mega-menu</li>\n<li>Provides visual balance in toolbar layout</li>\n<li>Responsive behavior inherits from toolbar</li>\n</ul>\n",
            "rawdescription": "\n\nCenter-aligned container component for toolbar content, positioning elements in the middle of the toolbar.\nProvides a dedicated region for center-aligned content such as application name, search bar, or navigation tabs.\nContent is projected via ng-content allowing flexible composition of centered toolbar elements.\nAutomatically applies flexbox centering within the toolbar layout for consistent positioning.\nTypically used within eui-toolbar to organize content in the center region between left and right toolbar items.\n\n```html\n<eui-app>\n  <eui-app-toolbar>\n    <eui-toolbar>\n      <eui-toolbar-mega-menu [items]=\"menuItems\"></eui-toolbar-mega-menu>\n      <eui-toolbar-center>\n        <eui-toolbar-app appName=\"MyWorkplace\"></eui-toolbar-app>\n      </eui-toolbar-center>\n      <eui-toolbar-items euiPositionRight>\n        <button euiButton>Action</button>\n      </eui-toolbar-items>\n    </eui-toolbar>\n  </eui-app-toolbar>\n</eui-app>\n```\n\n### Accessibility\n- Center positioning provides visual balance\n- Content should follow proper semantic structure\n- Interactive elements must be keyboard accessible\n- Maintains consistent toolbar layout\n\n### Notes\n- Must be used within eui-toolbar for proper layout\n- Positioned in center of toolbar between left and right content\n- Content projected via ng-content\n- Flexbox centering applied automatically\n- Common content: app name, search bar, navigation tabs\n- Works alongside toolbar-items and toolbar-mega-menu\n- Provides visual balance in toolbar layout\n- Responsive behavior inherits from toolbar\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Center-aligned container component for toolbar content, positioning elements in the middle of the toolbar.\n * Provides a dedicated region for center-aligned content such as application name, search bar, or navigation tabs.\n * Content is projected via ng-content allowing flexible composition of centered toolbar elements.\n * Automatically applies flexbox centering within the toolbar layout for consistent positioning.\n * Typically used within eui-toolbar to organize content in the center region between left and right toolbar items.\n * \n * @usageNotes\n * ```html\n * <eui-app>\n *   <eui-app-toolbar>\n *     <eui-toolbar>\n *       <eui-toolbar-mega-menu [items]=\"menuItems\"></eui-toolbar-mega-menu>\n *       <eui-toolbar-center>\n *         <eui-toolbar-app appName=\"MyWorkplace\"></eui-toolbar-app>\n *       </eui-toolbar-center>\n *       <eui-toolbar-items euiPositionRight>\n *         <button euiButton>Action</button>\n *       </eui-toolbar-items>\n *     </eui-toolbar>\n *   </eui-app-toolbar>\n * </eui-app>\n * ```\n *\n * ### Accessibility\n * - Center positioning provides visual balance\n * - Content should follow proper semantic structure\n * - Interactive elements must be keyboard accessible\n * - Maintains consistent toolbar layout\n *\n * ### Notes\n * - Must be used within eui-toolbar for proper layout\n * - Positioned in center of toolbar between left and right content\n * - Content projected via ng-content\n * - Flexbox centering applied automatically\n * - Common content: app name, search bar, navigation tabs\n * - Works alongside toolbar-items and toolbar-mega-menu\n * - Provides visual balance in toolbar layout\n * - Responsive behavior inherits from toolbar\n */\n@Component({\n    selector: 'eui-toolbar-center',\n    template: '<ng-content />',\n})\nexport class EuiToolbarCenterComponent {\n    @HostBinding('class') string = 'eui-toolbar__center';\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiToolbarComponent",
            "id": "component-EuiToolbarComponent-42657a5210b8ceb7ad6824624089a3ee6af27f1059fa871c5b067f0142ee914a43a510222d25893fa676b75b5aa2d314781ca2ea9b1eb3da84630ce970d3122f",
            "file": "packages/components/layout/eui-toolbar/toolbar.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-toolbar",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./toolbar.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "euiPrimary",
                    "defaultValue": "true, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Applies primary theme styling to the toolbar.\nWhen true, uses primary brand colors. Automatically disabled when euiSecondary is true.</p>\n",
                    "line": 118,
                    "rawdescription": "\n\nApplies primary theme styling to the toolbar.\nWhen true, uses primary brand colors. Automatically disabled when euiSecondary is true.\n",
                    "jsdoctags": [
                        {
                            "pos": 4506,
                            "end": 4525,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4507,
                                "end": 4514,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "required": false
                },
                {
                    "name": "euiSecondary",
                    "defaultValue": "false, { transform: booleanAttribute }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Applies secondary theme styling to the toolbar.\nWhen true, uses secondary colors and automatically disables primary styling.\nAutomatically inherits secondary styling from parent eui-app-toolbar if present.</p>\n",
                    "line": 111,
                    "rawdescription": "\n\nApplies secondary theme styling to the toolbar.\nWhen true, uses secondary colors and automatically disables primary styling.\nAutomatically inherits secondary styling from parent eui-app-toolbar if present.\n",
                    "jsdoctags": [
                        {
                            "pos": 4254,
                            "end": 4274,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4255,
                                "end": 4262,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "required": false
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 104
                },
                {
                    "name": "hasMegaMenu",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiToolbarMegaMenuComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 102,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 135,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 129,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 93,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "EuiToolbarLogoComponent",
                    "type": "component"
                },
                {
                    "name": "EuiToolbarEnvironmentComponent",
                    "type": "component"
                },
                {
                    "name": "EuiToolbarAppComponent",
                    "type": "component"
                },
                {
                    "name": "EuiToolbarItemsComponent",
                    "type": "component"
                },
                {
                    "name": "EuiToolbarItemComponent",
                    "type": "component"
                },
                {
                    "name": "EUI_USER_PROFILE"
                }
            ],
            "description": "<p>Toolbar component providing a horizontal container for navigation, branding, and action items.\nSupports primary and secondary visual variants with automatic theme inheritance from parent eui-app-toolbar.\nIntegrates with EuiAppShellService for layout coordination and responsive behavior.\nProvides content projection areas for logo, environment indicator, app name, menu items, and user profile.\nDetects and adapts to mega menu presence for enhanced navigation capabilities.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Basic toolbar within app structure --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-toolbar&gt;\n    &lt;eui-toolbar&gt;\n      &lt;eui-toolbar-mega-menu [items]=&quot;menuItems&quot;&gt;&lt;/eui-toolbar-mega-menu&gt;\n      &lt;eui-toolbar-items euiPositionRight&gt;\n        &lt;eui-toolbar-item-notifications&gt;\n          &lt;eui-notifications [count]=&quot;5&quot; [items]=&quot;notifications&quot;&gt;&lt;/eui-notifications&gt;\n        &lt;/eui-toolbar-item-notifications&gt;\n      &lt;/eui-toolbar-items&gt;\n    &lt;/eui-toolbar&gt;\n  &lt;/eui-app-toolbar&gt;\n&lt;/eui-app&gt;\n\n&lt;!-- Secondary toolbar variant --&gt;\n&lt;eui-toolbar [euiSecondary]=&quot;true&quot;&gt;\n  &lt;eui-toolbar-mega-menu [items]=&quot;menuItems&quot;&gt;&lt;/eui-toolbar-mega-menu&gt;\n&lt;/eui-toolbar&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Provides semantic navigation structure for toolbar items</li>\n<li>Keyboard navigation supported through child components</li>\n<li>Focus management handled by individual toolbar items</li>\n<li>Theme variants maintain sufficient contrast ratios</li>\n<li>Mega menu integration provides accessible dropdown navigation</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-app-toolbar for proper layout integration</li>\n<li>euiPrimary applies primary brand colors (default: true)</li>\n<li>euiSecondary applies secondary theme and overrides primary</li>\n<li>Automatically inherits secondary styling from parent eui-app-toolbar</li>\n<li>Content projection expects eui-toolbar-mega-menu and eui-toolbar-items children</li>\n<li>Detects mega menu presence for layout adjustments</li>\n<li>Integrates with EuiAppShellService for responsive behavior</li>\n<li>Theme variants are mutually exclusive (secondary overrides primary)</li>\n</ul>\n",
            "rawdescription": "\n\nToolbar component providing a horizontal container for navigation, branding, and action items.\nSupports primary and secondary visual variants with automatic theme inheritance from parent eui-app-toolbar.\nIntegrates with EuiAppShellService for layout coordination and responsive behavior.\nProvides content projection areas for logo, environment indicator, app name, menu items, and user profile.\nDetects and adapts to mega menu presence for enhanced navigation capabilities.\n\n```html\n<!-- Basic toolbar within app structure -->\n<eui-app>\n  <eui-app-toolbar>\n    <eui-toolbar>\n      <eui-toolbar-mega-menu [items]=\"menuItems\"></eui-toolbar-mega-menu>\n      <eui-toolbar-items euiPositionRight>\n        <eui-toolbar-item-notifications>\n          <eui-notifications [count]=\"5\" [items]=\"notifications\"></eui-notifications>\n        </eui-toolbar-item-notifications>\n      </eui-toolbar-items>\n    </eui-toolbar>\n  </eui-app-toolbar>\n</eui-app>\n\n<!-- Secondary toolbar variant -->\n<eui-toolbar [euiSecondary]=\"true\">\n  <eui-toolbar-mega-menu [items]=\"menuItems\"></eui-toolbar-mega-menu>\n</eui-toolbar>\n```\n\n### Accessibility\n- Provides semantic navigation structure for toolbar items\n- Keyboard navigation supported through child components\n- Focus management handled by individual toolbar items\n- Theme variants maintain sufficient contrast ratios\n- Mega menu integration provides accessible dropdown navigation\n\n### Notes\n- Must be used within eui-app-toolbar for proper layout integration\n- euiPrimary applies primary brand colors (default: true)\n- euiSecondary applies secondary theme and overrides primary\n- Automatically inherits secondary styling from parent eui-app-toolbar\n- Content projection expects eui-toolbar-mega-menu and eui-toolbar-items children\n- Detects mega menu presence for layout adjustments\n- Integrates with EuiAppShellService for responsive behavior\n- Theme variants are mutually exclusive (secondary overrides primary)\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ViewEncapsulation,\n    forwardRef,\n    ContentChild,\n    booleanAttribute,\n    ElementRef,\n    AfterViewInit,\n    OnInit,\n    inject,\n    linkedSignal,\n    input,\n} from '@angular/core';\nimport { EuiAppShellService } from '@eui/core';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\n\nimport { EUI_USER_PROFILE } from '@eui/components/eui-user-profile';\n\nimport { EuiToolbarLogoComponent } from './toolbar-logo/toolbar-logo.component';\nimport { EuiToolbarEnvironmentComponent } from './toolbar-environment/toolbar-environment.component';\nimport { EuiToolbarAppComponent } from './toolbar-app/toolbar-app.component';\nimport { EuiToolbarItemsComponent } from './toolbar-items/toolbar-items.component';\nimport { EuiToolbarItemComponent } from './toolbar-item/toolbar-item.component';\nimport { EuiToolbarMegaMenuComponent } from './toolbar-mega-menu/toolbar-mega-menu.component';\n\n/**\n * @description\n * Toolbar component providing a horizontal container for navigation, branding, and action items.\n * Supports primary and secondary visual variants with automatic theme inheritance from parent eui-app-toolbar.\n * Integrates with EuiAppShellService for layout coordination and responsive behavior.\n * Provides content projection areas for logo, environment indicator, app name, menu items, and user profile.\n * Detects and adapts to mega menu presence for enhanced navigation capabilities.\n * \n * @usageNotes\n * ```html\n * <!-- Basic toolbar within app structure -->\n * <eui-app>\n *   <eui-app-toolbar>\n *     <eui-toolbar>\n *       <eui-toolbar-mega-menu [items]=\"menuItems\"></eui-toolbar-mega-menu>\n *       <eui-toolbar-items euiPositionRight>\n *         <eui-toolbar-item-notifications>\n *           <eui-notifications [count]=\"5\" [items]=\"notifications\"></eui-notifications>\n *         </eui-toolbar-item-notifications>\n *       </eui-toolbar-items>\n *     </eui-toolbar>\n *   </eui-app-toolbar>\n * </eui-app>\n *\n * <!-- Secondary toolbar variant -->\n * <eui-toolbar [euiSecondary]=\"true\">\n *   <eui-toolbar-mega-menu [items]=\"menuItems\"></eui-toolbar-mega-menu>\n * </eui-toolbar>\n * ```\n *\n * ### Accessibility\n * - Provides semantic navigation structure for toolbar items\n * - Keyboard navigation supported through child components\n * - Focus management handled by individual toolbar items\n * - Theme variants maintain sufficient contrast ratios\n * - Mega menu integration provides accessible dropdown navigation\n *\n * ### Notes\n * - Must be used within eui-app-toolbar for proper layout integration\n * - euiPrimary applies primary brand colors (default: true)\n * - euiSecondary applies secondary theme and overrides primary\n * - Automatically inherits secondary styling from parent eui-app-toolbar\n * - Content projection expects eui-toolbar-mega-menu and eui-toolbar-items children\n * - Detects mega menu presence for layout adjustments\n * - Integrates with EuiAppShellService for responsive behavior\n * - Theme variants are mutually exclusive (secondary overrides primary)\n */\n@Component({\n    selector: 'eui-toolbar',\n    templateUrl: './toolbar.component.html',\n    styleUrl: './toolbar.component.scss',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        AsyncPipe,\n        NgTemplateOutlet,\n        EuiToolbarLogoComponent,\n        EuiToolbarEnvironmentComponent,\n        EuiToolbarAppComponent,\n        EuiToolbarItemsComponent,\n        EuiToolbarItemComponent,\n        ...EUI_USER_PROFILE,\n    ],\n})\nexport class EuiToolbarComponent implements OnInit, AfterViewInit {\n\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-toolbar',\n            this.euiSecondarySignal() ? 'eui-toolbar--secondary eui--secondary' : '',\n            this.euiPrimarySignal() ? 'eui-toolbar--primary eui--primary' : '',\n        ].join(' ').trim();\n    }\n\n    @ContentChild(forwardRef(() => EuiToolbarMegaMenuComponent))\n    hasMegaMenu: EuiToolbarMegaMenuComponent;\n\n    asService = inject(EuiAppShellService);\n    /**\n     * Applies secondary theme styling to the toolbar.\n     * When true, uses secondary colors and automatically disables primary styling.\n     * Automatically inherits secondary styling from parent eui-app-toolbar if present.\n     * @default false\n     */\n    euiSecondary = input(false, { transform: booleanAttribute })\n\n    /**\n     * Applies primary theme styling to the toolbar.\n     * When true, uses primary brand colors. Automatically disabled when euiSecondary is true.\n     * @default true\n     */\n    euiPrimary = input(true, { transform: booleanAttribute });\n    private euiSecondarySignal = linkedSignal({\n      source: this.euiSecondary,\n      computation: () => this.euiSecondary(),\n    });\n    private euiPrimarySignal  = linkedSignal({\n      source: this.euiPrimary,\n      computation: () => this.euiPrimary(),\n    });\n    private elRef = inject(ElementRef);\n\n    ngOnInit(): void {\n        if (this.euiSecondarySignal()) {\n            this.euiPrimarySignal.set(false);\n        }\n    }\n\n    ngAfterViewInit(): void {\n        const appToolbar = this.elRef.nativeElement.closest('eui-app-toolbar');\n        if (appToolbar && appToolbar.classList.contains('eui--secondary')) {\n            this.euiSecondarySignal.set(true);\n            this.euiPrimarySignal.set(false);\n        }\n    }\n}\n",
            "styleUrl": "./toolbar.component.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "AfterViewInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 93
                    }
                }
            },
            "templateData": "@if ( (asService.state$ | async).hasHeader && (asService.breakpoints$ | async).isMobile ) {\n\n    <div class=\"eui-toolbar__left\">\n        @if ( ( asService.state$ | async).hasHeaderLogo ) {\n            <eui-toolbar-logo></eui-toolbar-logo>\n        }\n        @if ( ( asService.state$ | async).hasHeaderEnvironment ) {\n            <eui-toolbar-environment>\n                {{ (asService.state$ | async).environmentValue }}\n            </eui-toolbar-environment>\n        }\n        @if ( (asService.state$ | async).appName ) {\n            <eui-toolbar-app appName=\"{{ (asService.state$ | async).appName }}\"></eui-toolbar-app>\n        }\n    </div>\n\n    <ng-container *ngTemplateOutlet=\"toolbarItems\" />\n\n    <ng-container *ngTemplateOutlet=\"toolbarLanguageSelector\" />\n\n} @else {\n    @if ( (asService.state$ | async).hasHeader ) {\n\n        @if ( hasMegaMenu ) {\n            <ng-container *ngTemplateOutlet=\"toolbarMegaMenu\" />\n        } @else {\n            <ng-container *ngTemplateOutlet=\"toolbarNavbar\" />\n            <ng-container *ngTemplateOutlet=\"toolbarCenter\" />\n        }\n        <ng-container *ngTemplateOutlet=\"toolbarItems\" />\n\n    } @else {\n\n        <div class=\"eui-toolbar__left\">\n            <ng-content select=\"eui-toolbar-logo\"></ng-content>\n            <ng-content select=\"eui-toolbar-app\"></ng-content>\n            <ng-content select=\"eui-toolbar-environment\"></ng-content>\n            <ng-container *ngTemplateOutlet=\"toolbarNavbar\"></ng-container>\n        </div>\n\n        <ng-container *ngTemplateOutlet=\"toolbarCenter\" />\n\n        <div class=\"eui-toolbar__right\">\n            <ng-container *ngTemplateOutlet=\"toolbarItems\"></ng-container>\n        </div>\n    }\n    <ng-container *ngTemplateOutlet=\"toolbarLanguageSelector\" />\n}\n\n<ng-template #toolbarCenter>\n    <ng-content select=\"eui-toolbar-center\" />\n</ng-template>\n\n<ng-template #toolbarItems>\n    <ng-content select=\"eui-toolbar-items\" />\n</ng-template>\n\n<ng-template #toolbarNavbar>\n    <ng-content select=\"eui-toolbar-navbar\" />\n</ng-template>\n\n<ng-template #toolbarMegaMenu>\n    @if (hasMegaMenu) {\n        <ng-content select=\"eui-toolbar-mega-menu\"></ng-content>\n    }\n</ng-template>\n\n<ng-template #toolbarLanguageSelector>\n    <ng-content select=\"eui-language-selector\" />\n</ng-template>\n"
        },
        {
            "name": "EuiToolbarEnvironmentComponent",
            "id": "component-EuiToolbarEnvironmentComponent-6abc80d06b40fc58cceccc73111ec2a4001deb097315eda896cd966d18e387284e9ad0820df2988409226f40ccf5a7d6afae14c11a7b4fe535f1b5f128c9442f",
            "file": "packages/components/layout/eui-toolbar/toolbar-environment/toolbar-environment.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-toolbar-environment",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "class",
                    "defaultValue": "'eui-toolbar-environment'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 45,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": ""
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-toolbar-environment'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 45,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Environment indicator component for toolbar placement, displaying the current application environment.\nProvides visual distinction between different deployment environments (dev, test, production, etc.) to prevent user confusion.\nContent is projected via ng-content allowing custom environment labels and styling.\nTypically displays text like &quot;Development&quot;, &quot;Testing&quot;, &quot;Staging&quot; with distinct background colors.\nUsed within eui-toolbar for consistent environment indication across the application.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-app&gt;\n  &lt;eui-app-toolbar&gt;\n    &lt;eui-toolbar&gt;\n      &lt;eui-toolbar-environment&gt;DEV&lt;/eui-toolbar-environment&gt;\n      &lt;eui-toolbar-mega-menu [items]=&quot;menuItems&quot;&gt;&lt;/eui-toolbar-mega-menu&gt;\n    &lt;/eui-toolbar&gt;\n  &lt;/eui-app-toolbar&gt;\n&lt;/eui-app&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Environment text readable by screen readers</li>\n<li>Provides critical deployment context</li>\n<li>Visual distinction prevents accidental actions</li>\n<li>Text content should be concise and clear</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-toolbar for proper layout</li>\n<li>Positioned at start of toolbar (leftmost)</li>\n<li>Content projected via ng-content</li>\n<li>Common values: &quot;DEV&quot;, &quot;TEST&quot;, &quot;ACC&quot;, &quot;PROD&quot;</li>\n<li>Styling typically uses distinct background colors per environment</li>\n<li>Simpler alternative to eui-header-environment for toolbar layouts</li>\n<li>No integration with EuiAppShellService</li>\n<li>Use when toolbar is primary navigation instead of header</li>\n</ul>\n",
            "rawdescription": "\n\nEnvironment indicator component for toolbar placement, displaying the current application environment.\nProvides visual distinction between different deployment environments (dev, test, production, etc.) to prevent user confusion.\nContent is projected via ng-content allowing custom environment labels and styling.\nTypically displays text like \"Development\", \"Testing\", \"Staging\" with distinct background colors.\nUsed within eui-toolbar for consistent environment indication across the application.\n\n```html\n<eui-app>\n  <eui-app-toolbar>\n    <eui-toolbar>\n      <eui-toolbar-environment>DEV</eui-toolbar-environment>\n      <eui-toolbar-mega-menu [items]=\"menuItems\"></eui-toolbar-mega-menu>\n    </eui-toolbar>\n  </eui-app-toolbar>\n</eui-app>\n```\n\n### Accessibility\n- Environment text readable by screen readers\n- Provides critical deployment context\n- Visual distinction prevents accidental actions\n- Text content should be concise and clear\n\n### Notes\n- Must be used within eui-toolbar for proper layout\n- Positioned at start of toolbar (leftmost)\n- Content projected via ng-content\n- Common values: \"DEV\", \"TEST\", \"ACC\", \"PROD\"\n- Styling typically uses distinct background colors per environment\n- Simpler alternative to eui-header-environment for toolbar layouts\n- No integration with EuiAppShellService\n- Use when toolbar is primary navigation instead of header\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n * @description\n * Environment indicator component for toolbar placement, displaying the current application environment.\n * Provides visual distinction between different deployment environments (dev, test, production, etc.) to prevent user confusion.\n * Content is projected via ng-content allowing custom environment labels and styling.\n * Typically displays text like \"Development\", \"Testing\", \"Staging\" with distinct background colors.\n * Used within eui-toolbar for consistent environment indication across the application.\n * \n * @usageNotes\n * ```html\n * <eui-app>\n *   <eui-app-toolbar>\n *     <eui-toolbar>\n *       <eui-toolbar-environment>DEV</eui-toolbar-environment>\n *       <eui-toolbar-mega-menu [items]=\"menuItems\"></eui-toolbar-mega-menu>\n *     </eui-toolbar>\n *   </eui-app-toolbar>\n * </eui-app>\n * ```\n *\n * ### Accessibility\n * - Environment text readable by screen readers\n * - Provides critical deployment context\n * - Visual distinction prevents accidental actions\n * - Text content should be concise and clear\n *\n * ### Notes\n * - Must be used within eui-toolbar for proper layout\n * - Positioned at start of toolbar (leftmost)\n * - Content projected via ng-content\n * - Common values: \"DEV\", \"TEST\", \"ACC\", \"PROD\"\n * - Styling typically uses distinct background colors per environment\n * - Simpler alternative to eui-header-environment for toolbar layouts\n * - No integration with EuiAppShellService\n * - Use when toolbar is primary navigation instead of header\n */\n@Component({\n    selector: 'eui-toolbar-environment',\n    template: '<ng-content />',\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiToolbarEnvironmentComponent {\n    @HostBinding() class = 'eui-toolbar-environment';\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiToolbarItemComponent",
            "id": "component-EuiToolbarItemComponent-7696dd065989b678eced5a8a6a64ef825765d78b4b694701abc4ad720252cfa9fb735f43866150bb9e1e10133d11ae1e6e53a0d3911fbad2b8d9ae131941b4de",
            "file": "packages/components/layout/eui-toolbar/toolbar-item/toolbar-item.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-toolbar-item",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-toolbar-item'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 50,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-toolbar-item'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 50,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Individual toolbar item wrapper component for consistent spacing and styling of toolbar elements.\nProvides a standardized container for single toolbar actions, buttons, icons, or custom content.\nContent is projected via ng-content allowing flexible composition of any toolbar element.\nAutomatically applies consistent spacing and alignment within the toolbar layout.\nTypically used within eui-toolbar-items to wrap individual buttons, icons, or interactive elements.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-app&gt;\n  &lt;eui-app-toolbar&gt;\n    &lt;eui-toolbar&gt;\n      &lt;eui-toolbar-items euiPositionRight&gt;\n        &lt;eui-toolbar-item&gt;\n          &lt;button euiButton&gt;Action&lt;/button&gt;\n        &lt;/eui-toolbar-item&gt;\n        &lt;eui-toolbar-item&gt;\n          &lt;button euiIconButton icon=&quot;settings&quot;&gt;&lt;/button&gt;\n        &lt;/eui-toolbar-item&gt;\n      &lt;/eui-toolbar-items&gt;\n    &lt;/eui-toolbar&gt;\n  &lt;/eui-app-toolbar&gt;\n&lt;/eui-app&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Provides consistent spacing for toolbar elements</li>\n<li>Content should be keyboard accessible</li>\n<li>Interactive elements must have proper focus states</li>\n<li>Maintains visual consistency across toolbar</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-toolbar-items for proper layout</li>\n<li>Wraps individual toolbar elements (buttons, icons, etc.)</li>\n<li>Content projected via ng-content</li>\n<li>Automatic spacing and alignment applied</li>\n<li>Common content: buttons, icon buttons, custom controls</li>\n<li>Use one eui-toolbar-item per toolbar element</li>\n<li>Works with euiPositionRight directive on parent</li>\n<li>Provides consistent visual rhythm in toolbar</li>\n</ul>\n",
            "rawdescription": "\n\nIndividual toolbar item wrapper component for consistent spacing and styling of toolbar elements.\nProvides a standardized container for single toolbar actions, buttons, icons, or custom content.\nContent is projected via ng-content allowing flexible composition of any toolbar element.\nAutomatically applies consistent spacing and alignment within the toolbar layout.\nTypically used within eui-toolbar-items to wrap individual buttons, icons, or interactive elements.\n\n```html\n<eui-app>\n  <eui-app-toolbar>\n    <eui-toolbar>\n      <eui-toolbar-items euiPositionRight>\n        <eui-toolbar-item>\n          <button euiButton>Action</button>\n        </eui-toolbar-item>\n        <eui-toolbar-item>\n          <button euiIconButton icon=\"settings\"></button>\n        </eui-toolbar-item>\n      </eui-toolbar-items>\n    </eui-toolbar>\n  </eui-app-toolbar>\n</eui-app>\n```\n\n### Accessibility\n- Provides consistent spacing for toolbar elements\n- Content should be keyboard accessible\n- Interactive elements must have proper focus states\n- Maintains visual consistency across toolbar\n\n### Notes\n- Must be used within eui-toolbar-items for proper layout\n- Wraps individual toolbar elements (buttons, icons, etc.)\n- Content projected via ng-content\n- Automatic spacing and alignment applied\n- Common content: buttons, icon buttons, custom controls\n- Use one eui-toolbar-item per toolbar element\n- Works with euiPositionRight directive on parent\n- Provides consistent visual rhythm in toolbar\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Individual toolbar item wrapper component for consistent spacing and styling of toolbar elements.\n * Provides a standardized container for single toolbar actions, buttons, icons, or custom content.\n * Content is projected via ng-content allowing flexible composition of any toolbar element.\n * Automatically applies consistent spacing and alignment within the toolbar layout.\n * Typically used within eui-toolbar-items to wrap individual buttons, icons, or interactive elements.\n * \n * @usageNotes\n * ```html\n * <eui-app>\n *   <eui-app-toolbar>\n *     <eui-toolbar>\n *       <eui-toolbar-items euiPositionRight>\n *         <eui-toolbar-item>\n *           <button euiButton>Action</button>\n *         </eui-toolbar-item>\n *         <eui-toolbar-item>\n *           <button euiIconButton icon=\"settings\"></button>\n *         </eui-toolbar-item>\n *       </eui-toolbar-items>\n *     </eui-toolbar>\n *   </eui-app-toolbar>\n * </eui-app>\n * ```\n *\n * ### Accessibility\n * - Provides consistent spacing for toolbar elements\n * - Content should be keyboard accessible\n * - Interactive elements must have proper focus states\n * - Maintains visual consistency across toolbar\n *\n * ### Notes\n * - Must be used within eui-toolbar-items for proper layout\n * - Wraps individual toolbar elements (buttons, icons, etc.)\n * - Content projected via ng-content\n * - Automatic spacing and alignment applied\n * - Common content: buttons, icon buttons, custom controls\n * - Use one eui-toolbar-item per toolbar element\n * - Works with euiPositionRight directive on parent\n * - Provides consistent visual rhythm in toolbar\n */\n@Component({\n    selector: 'eui-toolbar-item',\n    template: '<ng-content />',\n})\nexport class EuiToolbarItemComponent {\n    @HostBinding('class') string = 'eui-toolbar-item';\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiToolbarItemsComponent",
            "id": "component-EuiToolbarItemsComponent-7030ae8d9199aa4ec837f87938603e5d1875f7fc847f56d12c5865c70a41026864d5b8ec917bdd603cf14de3c83b191fa128651ff04edb870d82ef232b8bdca5",
            "file": "packages/components/layout/eui-toolbar/toolbar-items/toolbar-items.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-toolbar-items",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "euiEnd",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2563,
                            "end": 2583,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2564,
                                "end": 2571,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nPositions the toolbar items container to the right end of the toolbar.\nWhen true, applies right alignment styling using flexbox positioning.\n",
                    "description": "<p>Positions the toolbar items container to the right end of the toolbar.\nWhen true, applies right alignment styling using flexbox positioning.</p>\n",
                    "line": 68,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiPositionRight",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2830,
                            "end": 2850,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2831,
                                "end": 2838,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nAlternative property to position the toolbar items container to the right.\nWhen true, applies right alignment styling. Functionally equivalent to euiEnd.\n",
                    "description": "<p>Alternative property to position the toolbar items container to the right.\nWhen true, applies right alignment styling. Functionally equivalent to euiEnd.</p>\n",
                    "line": 75,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 54,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Container component for grouping toolbar items with flexible positioning options.\nProvides a wrapper for organizing multiple toolbar items (buttons, icons, menus) with left or right alignment.\nContent is projected via ng-content allowing flexible composition of toolbar actions and utilities.\nSupports right-side positioning through euiEnd or euiPositionRight properties for consistent layout control.\nTypically used within eui-toolbar to organize action buttons, user profile, notifications, and other toolbar elements.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-app&gt;\n  &lt;eui-app-toolbar&gt;\n    &lt;eui-toolbar&gt;\n      &lt;eui-toolbar-mega-menu [items]=&quot;menuItems&quot;&gt;&lt;/eui-toolbar-mega-menu&gt;\n      &lt;eui-toolbar-items euiPositionRight&gt;\n        &lt;eui-toolbar-item-notifications&gt;\n          &lt;eui-notifications [items]=&quot;notificationItems&quot;&gt;&lt;/eui-notifications&gt;\n        &lt;/eui-toolbar-item-notifications&gt;\n        &lt;eui-toolbar-item&gt;\n          &lt;button euiButton&gt;Action&lt;/button&gt;\n        &lt;/eui-toolbar-item&gt;\n      &lt;/eui-toolbar-items&gt;\n    &lt;/eui-toolbar&gt;\n  &lt;/eui-app-toolbar&gt;\n&lt;/eui-app&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Groups related toolbar actions logically</li>\n<li>Content should be keyboard accessible</li>\n<li>Interactive elements must have proper focus states</li>\n<li>Maintains consistent toolbar navigation</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-toolbar for proper layout</li>\n<li>Groups multiple eui-toolbar-item components</li>\n<li>Content projected via ng-content</li>\n<li>euiPositionRight or euiEnd for right alignment (default: left)</li>\n<li>Both positioning properties are functionally equivalent</li>\n<li>Common content: notifications, buttons, user profile</li>\n<li>Typically used for right-aligned actions</li>\n<li>Works with eui-toolbar-item children</li>\n<li>Flexbox-based positioning</li>\n<li>Multiple instances can exist in same toolbar</li>\n</ul>\n",
            "rawdescription": "\n\nContainer component for grouping toolbar items with flexible positioning options.\nProvides a wrapper for organizing multiple toolbar items (buttons, icons, menus) with left or right alignment.\nContent is projected via ng-content allowing flexible composition of toolbar actions and utilities.\nSupports right-side positioning through euiEnd or euiPositionRight properties for consistent layout control.\nTypically used within eui-toolbar to organize action buttons, user profile, notifications, and other toolbar elements.\n\n```html\n<eui-app>\n  <eui-app-toolbar>\n    <eui-toolbar>\n      <eui-toolbar-mega-menu [items]=\"menuItems\"></eui-toolbar-mega-menu>\n      <eui-toolbar-items euiPositionRight>\n        <eui-toolbar-item-notifications>\n          <eui-notifications [items]=\"notificationItems\"></eui-notifications>\n        </eui-toolbar-item-notifications>\n        <eui-toolbar-item>\n          <button euiButton>Action</button>\n        </eui-toolbar-item>\n      </eui-toolbar-items>\n    </eui-toolbar>\n  </eui-app-toolbar>\n</eui-app>\n```\n\n### Accessibility\n- Groups related toolbar actions logically\n- Content should be keyboard accessible\n- Interactive elements must have proper focus states\n- Maintains consistent toolbar navigation\n\n### Notes\n- Must be used within eui-toolbar for proper layout\n- Groups multiple eui-toolbar-item components\n- Content projected via ng-content\n- euiPositionRight or euiEnd for right alignment (default: left)\n- Both positioning properties are functionally equivalent\n- Common content: notifications, buttons, user profile\n- Typically used for right-aligned actions\n- Works with eui-toolbar-item children\n- Flexbox-based positioning\n- Multiple instances can exist in same toolbar\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, Input, booleanAttribute } from '@angular/core';\n\n/**\n * @description\n * Container component for grouping toolbar items with flexible positioning options.\n * Provides a wrapper for organizing multiple toolbar items (buttons, icons, menus) with left or right alignment.\n * Content is projected via ng-content allowing flexible composition of toolbar actions and utilities.\n * Supports right-side positioning through euiEnd or euiPositionRight properties for consistent layout control.\n * Typically used within eui-toolbar to organize action buttons, user profile, notifications, and other toolbar elements.\n * \n * @usageNotes\n * ```html\n * <eui-app>\n *   <eui-app-toolbar>\n *     <eui-toolbar>\n *       <eui-toolbar-mega-menu [items]=\"menuItems\"></eui-toolbar-mega-menu>\n *       <eui-toolbar-items euiPositionRight>\n *         <eui-toolbar-item-notifications>\n *           <eui-notifications [items]=\"notificationItems\"></eui-notifications>\n *         </eui-toolbar-item-notifications>\n *         <eui-toolbar-item>\n *           <button euiButton>Action</button>\n *         </eui-toolbar-item>\n *       </eui-toolbar-items>\n *     </eui-toolbar>\n *   </eui-app-toolbar>\n * </eui-app>\n * ```\n *\n * ### Accessibility\n * - Groups related toolbar actions logically\n * - Content should be keyboard accessible\n * - Interactive elements must have proper focus states\n * - Maintains consistent toolbar navigation\n *\n * ### Notes\n * - Must be used within eui-toolbar for proper layout\n * - Groups multiple eui-toolbar-item components\n * - Content projected via ng-content\n * - euiPositionRight or euiEnd for right alignment (default: left)\n * - Both positioning properties are functionally equivalent\n * - Common content: notifications, buttons, user profile\n * - Typically used for right-aligned actions\n * - Works with eui-toolbar-item children\n * - Flexbox-based positioning\n * - Multiple instances can exist in same toolbar\n */\n@Component({\n    selector: 'eui-toolbar-items',\n    template: '<ng-content />',\n})\nexport class EuiToolbarItemsComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        const rootClass = 'eui-toolbar-items';\n        return [\n            rootClass,\n            this.euiEnd ? `${rootClass}--position-right` : '',\n            this.euiPositionRight ? `${rootClass}--position-right` : '',\n        ].join(' ').trim();\n    }\n\n    /**\n     * Positions the toolbar items container to the right end of the toolbar.\n     * When true, applies right alignment styling using flexbox positioning.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiEnd = false;\n\n    /**\n     * Alternative property to position the toolbar items container to the right.\n     * When true, applies right alignment styling. Functionally equivalent to euiEnd.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiPositionRight = false;\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 54
                    }
                }
            }
        },
        {
            "name": "EuiToolbarLogoComponent",
            "id": "component-EuiToolbarLogoComponent-b7e66f422c0037c935c3b0bc3db807446bd053f955fd21114f3a71639e43e1c12fae9c2ac568d747cc85a6e2aa52eb7fef91c8f757e27b5312e9037537cdee2b",
            "file": "packages/components/layout/eui-toolbar/toolbar-logo/toolbar-logo.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-toolbar-logo",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./toolbar-logo.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "homeUrl",
                    "defaultValue": "'..'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2515,
                            "end": 2534,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2516,
                                "end": 2523,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;..&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nURL or route path for the home page navigation when logo is clicked.\nSupports both relative and absolute paths for Angular routing.\n",
                    "description": "<p>URL or route path for the home page navigation when logo is clicked.\nSupports both relative and absolute paths for Angular routing.</p>\n",
                    "line": 68,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "logoHeight",
                    "defaultValue": "'36px'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2913,
                            "end": 2934,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2914,
                                "end": 2921,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;36px&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nCSS height value for the logo image.\nAccepts any valid CSS height unit (px, rem, %, etc.).\n",
                    "description": "<p>CSS height value for the logo image.\nAccepts any valid CSS height unit (px, rem, %, etc.).</p>\n",
                    "line": 82,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "logoUrl",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nCustom URL path to a logo image file.\nWhen provided, overrides the default Europa flag logo.\nOptional - defaults to Europa flag small logo when not provided.\n",
                    "description": "<p>Custom URL path to a logo image file.\nWhen provided, overrides the default Europa flag logo.\nOptional - defaults to Europa flag small logo when not provided.</p>\n",
                    "line": 75,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "logoWidth",
                    "defaultValue": "'53px'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3089,
                            "end": 3110,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3090,
                                "end": 3097,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;53px&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nCSS width value for the logo image.\nAccepts any valid CSS width unit (px, rem, %, etc.).\n",
                    "description": "<p>CSS width value for the logo image.\nAccepts any valid CSS width unit (px, rem, %, etc.).</p>\n",
                    "line": 89,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "class",
                    "defaultValue": "'eui-toolbar-logo'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 61,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": ""
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "logoStyle",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 92,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "logoUrlGenerated",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 91,
                    "modifierKind": [
                        124
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 101,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 97,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'click'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-toolbar-logo'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 61,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [
                {
                    "name": "click",
                    "args": [],
                    "argsDecorator": [],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 97
                }
            ],
            "standalone": false,
            "imports": [],
            "description": "<p>Logo component for toolbar placement, displaying organization branding with automatic navigation to home page.\nProvides clickable logo linking to home route with support for custom or default Europa flag logo.\nAutomatically resolves asset paths using EuiConfig for flexible asset location configuration.\nIntegrates with Angular Router for navigation on click.\nTypically used within eui-toolbar for consistent branding across the application.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Default Europa flag logo --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-toolbar&gt;\n    &lt;eui-toolbar&gt;\n      &lt;eui-toolbar-logo&gt;&lt;/eui-toolbar-logo&gt;\n      &lt;eui-toolbar-mega-menu [items]=&quot;menuItems&quot;&gt;&lt;/eui-toolbar-mega-menu&gt;\n    &lt;/eui-toolbar&gt;\n  &lt;/eui-app-toolbar&gt;\n&lt;/eui-app&gt;\n\n&lt;!-- Custom logo --&gt;\n&lt;eui-toolbar-logo\n  logoUrl=&quot;assets/custom-logo.png&quot;\n  homeUrl=&quot;/home&quot;\n  logoHeight=&quot;32px&quot;\n  logoWidth=&quot;48px&quot;&gt;\n&lt;/eui-toolbar-logo&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Logo is clickable and navigates to home page</li>\n<li>Provides visual branding and orientation</li>\n<li>Keyboard accessible via click handler</li>\n<li>Focus visible for keyboard navigation</li>\n<li>Alt text should be provided in template</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-toolbar for proper layout</li>\n<li>Positioned at the start of the toolbar (leftmost)</li>\n<li>Default logo: Europa flag small (36x53px)</li>\n<li>Custom logoUrl overrides default logo</li>\n<li>homeUrl defaults to &#39;..&#39; for parent route navigation</li>\n<li>Logo dimensions customizable via logoHeight and logoWidth</li>\n<li>Asset path resolved via EuiConfig (default: &#39;assets&#39;)</li>\n<li>Click handler navigates using Angular Router</li>\n<li>Simpler alternative to eui-header-logo for toolbar layouts</li>\n<li>No theme adaptation (unlike eui-header-logo)</li>\n<li>PNG format for default logo</li>\n</ul>\n",
            "rawdescription": "\n\nLogo component for toolbar placement, displaying organization branding with automatic navigation to home page.\nProvides clickable logo linking to home route with support for custom or default Europa flag logo.\nAutomatically resolves asset paths using EuiConfig for flexible asset location configuration.\nIntegrates with Angular Router for navigation on click.\nTypically used within eui-toolbar for consistent branding across the application.\n\n```html\n<!-- Default Europa flag logo -->\n<eui-app>\n  <eui-app-toolbar>\n    <eui-toolbar>\n      <eui-toolbar-logo></eui-toolbar-logo>\n      <eui-toolbar-mega-menu [items]=\"menuItems\"></eui-toolbar-mega-menu>\n    </eui-toolbar>\n  </eui-app-toolbar>\n</eui-app>\n\n<!-- Custom logo -->\n<eui-toolbar-logo\n  logoUrl=\"assets/custom-logo.png\"\n  homeUrl=\"/home\"\n  logoHeight=\"32px\"\n  logoWidth=\"48px\">\n</eui-toolbar-logo>\n```\n\n### Accessibility\n- Logo is clickable and navigates to home page\n- Provides visual branding and orientation\n- Keyboard accessible via click handler\n- Focus visible for keyboard navigation\n- Alt text should be provided in template\n\n### Notes\n- Must be used within eui-toolbar for proper layout\n- Positioned at the start of the toolbar (leftmost)\n- Default logo: Europa flag small (36x53px)\n- Custom logoUrl overrides default logo\n- homeUrl defaults to '..' for parent route navigation\n- Logo dimensions customizable via logoHeight and logoWidth\n- Asset path resolved via EuiConfig (default: 'assets')\n- Click handler navigates using Angular Router\n- Simpler alternative to eui-header-logo for toolbar layouts\n- No theme adaptation (unlike eui-header-logo)\n- PNG format for default logo\n",
            "type": "component",
            "sourceCode": "import { Component, ChangeDetectionStrategy, HostBinding, ViewEncapsulation, Input, HostListener, OnInit, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { EUI_CONFIG_TOKEN, EuiConfig } from '@eui/core';\n\n/**\n * @description\n * Logo component for toolbar placement, displaying organization branding with automatic navigation to home page.\n * Provides clickable logo linking to home route with support for custom or default Europa flag logo.\n * Automatically resolves asset paths using EuiConfig for flexible asset location configuration.\n * Integrates with Angular Router for navigation on click.\n * Typically used within eui-toolbar for consistent branding across the application.\n * \n * @usageNotes\n * ```html\n * <!-- Default Europa flag logo -->\n * <eui-app>\n *   <eui-app-toolbar>\n *     <eui-toolbar>\n *       <eui-toolbar-logo></eui-toolbar-logo>\n *       <eui-toolbar-mega-menu [items]=\"menuItems\"></eui-toolbar-mega-menu>\n *     </eui-toolbar>\n *   </eui-app-toolbar>\n * </eui-app>\n *\n * <!-- Custom logo -->\n * <eui-toolbar-logo\n *   logoUrl=\"assets/custom-logo.png\"\n *   homeUrl=\"/home\"\n *   logoHeight=\"32px\"\n *   logoWidth=\"48px\">\n * </eui-toolbar-logo>\n * ```\n *\n * ### Accessibility\n * - Logo is clickable and navigates to home page\n * - Provides visual branding and orientation\n * - Keyboard accessible via click handler\n * - Focus visible for keyboard navigation\n * - Alt text should be provided in template\n *\n * ### Notes\n * - Must be used within eui-toolbar for proper layout\n * - Positioned at the start of the toolbar (leftmost)\n * - Default logo: Europa flag small (36x53px)\n * - Custom logoUrl overrides default logo\n * - homeUrl defaults to '..' for parent route navigation\n * - Logo dimensions customizable via logoHeight and logoWidth\n * - Asset path resolved via EuiConfig (default: 'assets')\n * - Click handler navigates using Angular Router\n * - Simpler alternative to eui-header-logo for toolbar layouts\n * - No theme adaptation (unlike eui-header-logo)\n * - PNG format for default logo\n */\n@Component({\n    selector: 'eui-toolbar-logo',\n    templateUrl: './toolbar-logo.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiToolbarLogoComponent implements OnInit {\n    @HostBinding() class = 'eui-toolbar-logo';\n\n    /**\n     * URL or route path for the home page navigation when logo is clicked.\n     * Supports both relative and absolute paths for Angular routing.\n     * @default '..'\n     */\n    @Input() homeUrl = '..';\n\n    /**\n     * Custom URL path to a logo image file.\n     * When provided, overrides the default Europa flag logo.\n     * Optional - defaults to Europa flag small logo when not provided.\n     */\n    @Input() logoUrl: string;\n\n    /**\n     * CSS height value for the logo image.\n     * Accepts any valid CSS height unit (px, rem, %, etc.).\n     * @default '36px'\n     */\n    @Input() logoHeight = '36px'\n\n    /**\n     * CSS width value for the logo image.\n     * Accepts any valid CSS width unit (px, rem, %, etc.).\n     * @default '53px'\n     */\n    @Input() logoWidth = '53px';\n\n    protected logoUrlGenerated;\n    protected logoStyle;\n    private router = inject(Router);\n    private config = inject<EuiConfig>(EUI_CONFIG_TOKEN, { optional: true })!;\n\n    @HostListener('click')\n    onClick(): void {\n        this.router.navigate([this.homeUrl]);\n    }\n\n    ngOnInit(): void {\n        let assetsBaseUrl = this.config?.appConfig?.global?.eui?.assetsBaseUrl;\n        if (!assetsBaseUrl) {\n            assetsBaseUrl = 'assets';\n        }\n\n        if (!this.logoUrl) {\n            this.logoUrlGenerated = `${assetsBaseUrl}/images/ec-europa/logos/europa-flag-small.png`;\n        } else {\n            this.logoUrlGenerated = this.logoUrl;\n        }\n\n        this.logoStyle = `width:${this.logoWidth}; height:${this.logoHeight};`;\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit"
            ],
            "templateData": "<img [src]=\"logoUrlGenerated\" class=\"eui-toolbar-logo__image\" alt=\"European Commission\" [style]=\"logoStyle\"/>\n"
        },
        {
            "name": "EuiToolbarMegaMenuComponent",
            "id": "component-EuiToolbarMegaMenuComponent-371009a29e0775eb18518e9dd37ba08a56dbc2ebce31a32b7ff1f4377ce0cec93d36fd573fe5fc0600491d5c12aea08d7469b24abcea6cffd0c51b3d64fbc1df",
            "file": "packages/components/layout/eui-toolbar/toolbar-mega-menu/toolbar-mega-menu.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-toolbar-mega-menu",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./toolbar-mega-menu.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "ariaLabel",
                    "defaultValue": "`eUI mega menu ${uniqueId()}`",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4352,
                            "end": 4396,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4353,
                                "end": 4360,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p><code>eUI mega menu ${uniqueId()}</code></p>\n"
                        }
                    ],
                    "rawdescription": "\n\nProvides a unique label for the menubar.\n",
                    "description": "<p>Provides a unique label for the menubar.</p>\n",
                    "line": 111,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "id",
                    "defaultValue": "`eui-mega-menu ${uniqueId()}`",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4514,
                            "end": 4558,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4515,
                                "end": 4522,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p><code>eui-mega-menu ${uniqueId()}</code></p>\n"
                        }
                    ],
                    "rawdescription": "\n\nProvides a unique id for the menubar\n",
                    "description": "<p>Provides a unique id for the menubar</p>\n",
                    "line": 116,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "items",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nArray of menu items to display in the mega menu.\nEach item should conform to EuiMenuItem interface with support for children, megaMenuColIndex, and megaMenuColLabel properties.\nChild items are automatically grouped by column for multi-column dropdown layout.\nRequired for menu display.\n",
                    "description": "<p>Array of menu items to display in the mega menu.\nEach item should conform to EuiMenuItem interface with support for children, megaMenuColIndex, and megaMenuColLabel properties.\nChild items are automatically grouped by column for multi-column dropdown layout.\nRequired for menu display.</p>\n",
                    "line": 106,
                    "type": "Items[]",
                    "decorators": []
                },
                {
                    "name": "itemsInput",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Items[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 117,
                    "modifierKind": [
                        148
                    ],
                    "required": false
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "active",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiMenuItem",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 122,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "activeMenu",
                    "defaultValue": "signal<number | null>(null)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 121,
                    "modifierKind": [
                        124,
                        148
                    ]
                },
                {
                    "name": "activeParent",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiMenuItem",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 123,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "megaMenuItems",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Items[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 119,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "megaMenuItemsGrouped",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 120,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "menuItemLinks",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<ElementRef<HTMLElement>>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 127,
                    "decorators": [
                        {
                            "name": "ViewChildren",
                            "stringifiedArguments": "'menuItemLink', {read: ElementRef}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "string",
                    "defaultValue": "'eui-toolbar-mega-menu'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 98,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "subMenuComponent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiToolbarMegaMenuContainerComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 126,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "EuiToolbarMegaMenuContainerComponent"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "templatePortalContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<ElementRef>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 125,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'templatePortalContent'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "closeMenu",
                    "args": [
                        {
                            "name": "returnFocus",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "false"
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 248,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nProgrammatically closes the currently open mega menu dropdown.\nDisposes of the overlay and resets active menu state.\nCan be called externally to close the menu programmatically.\n",
                    "description": "<p>Programmatically closes the currently open mega menu dropdown.\nDisposes of the overlay and resets active menu state.\nCan be called externally to close the menu programmatically.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "returnFocus",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "false",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 167,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 139,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 171,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 149,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onContainerItemClick",
                    "args": [
                        {
                            "name": "item",
                            "type": "EuiMenuItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 277,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nIf the Tab key in the submenu was pressed and null emitted, it captures the host megamenu element,\ncloses the menu and focuses the next focusable element after the megamenu. If item is not null calls the closeMenu method.\n",
                    "description": "<p>If the Tab key in the submenu was pressed and null emitted, it captures the host megamenu element,\ncloses the menu and focuses the next focusable element after the megamenu. If item is not null calls the closeMenu method.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 10557,
                                "end": 10561,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "item"
                            },
                            "type": "EuiMenuItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 10551,
                                "end": 10556,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The item that was clicked or null if tab was pressed</li>\n</ul>\n"
                        }
                    ]
                },
                {
                    "name": "onItemClick",
                    "args": [
                        {
                            "name": "item",
                            "type": "EuiMenuItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 264,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles click events on menu items.\nExecutes the item's command function if defined.\nCalled internally when user clicks a menu item.\n",
                    "description": "<p>Handles click events on menu items.\nExecutes the item&#39;s command function if defined.\nCalled internally when user clicks a menu item.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "item",
                            "type": "EuiMenuItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onMenubarKeydown",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 299,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nApplies the keyboard navigation actions for each key pressed\n",
                    "description": "<p>Applies the keyboard navigation actions for each key pressed</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 11710,
                                "end": 11715,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 11704,
                                "end": 11709,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The keyboard event from the menue item</li>\n</ul>\n"
                        }
                    ]
                },
                {
                    "name": "openMenu",
                    "args": [
                        {
                            "name": "menuIndex",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "target",
                            "type": "Element | PointerEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 198,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nProgrammatically opens the mega menu dropdown for a specific menu item.\nCreates overlay with positioning strategy and attaches menu content portal.\nSets up outside click and escape key listeners for dismissal.\n",
                    "description": "<p>Programmatically opens the mega menu dropdown for a specific menu item.\nCreates overlay with positioning strategy and attaches menu content portal.\nSets up outside click and escape key listeners for dismissal.</p>\n",
                    "jsdoctags": [
                        {
                            "name": "menuIndex",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "target",
                            "type": "Element | PointerEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "toggleMenu",
                    "args": [
                        {
                            "name": "menuIndex",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "e",
                            "type": "PointerEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 185,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "menuIndex",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "e",
                            "type": "PointerEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-toolbar-mega-menu'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 98,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_BADGE"
                },
                {
                    "name": "EuiToolbarMegaMenuContainerComponent",
                    "type": "component"
                },
                {
                    "name": "RouterLink"
                },
                {
                    "name": "RouterLinkActive"
                },
                {
                    "name": "JsonPipe",
                    "type": "pipe"
                },
                {
                    "name": "KeyValuePipe",
                    "type": "pipe"
                },
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "OverlayModule",
                    "type": "module"
                }
            ],
            "description": "<p>Mega menu component for toolbar providing a multi-column dropdown navigation with grouped menu items.\nDisplays a horizontal menu bar with expandable dropdown panels containing organized navigation links.\nAutomatically groups child menu items by column index and label for structured multi-column layout.\nIntegrates with Angular CDK Overlay for positioning and manages outside click/escape key dismissal.\nSynchronizes menu items with EuiAppShellService state for global access and reactive updates.\nSupports badges, icons, and custom commands on menu items with router link integration.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-app&gt;\n  &lt;eui-app-toolbar&gt;\n    &lt;eui-toolbar&gt;\n      &lt;eui-toolbar-mega-menu [items]=&quot;menuItems&quot;&gt;&lt;/eui-toolbar-mega-menu&gt;\n    &lt;/eui-toolbar&gt;\n  &lt;/eui-app-toolbar&gt;\n&lt;/eui-app&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">menuItems: EuiMenuItem[] = [\n  {\n    label: &#39;Products&#39;,\n    children: [\n      { label: &#39;Item 1&#39;, url: &#39;/products/1&#39;, megaMenuColIndex: 0, megaMenuColLabel: &#39;Category A&#39; },\n      { label: &#39;Item 2&#39;, url: &#39;/products/2&#39;, megaMenuColIndex: 1, megaMenuColLabel: &#39;Category B&#39; }\n    ]\n  }\n];</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Navigation role for semantic structure</li>\n<li>Keyboard accessible (Escape to close)</li>\n<li>Router link integration for navigation</li>\n<li>Outside click dismissal</li>\n<li>Focus management for dropdown</li>\n<li>ARIA attributes for menu structure</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-toolbar for proper layout</li>\n<li>Positioned at start of toolbar (leftmost)</li>\n<li>Items array uses EuiMenuItem interface</li>\n<li>Children grouped by megaMenuColIndex and megaMenuColLabel</li>\n<li>Multi-column dropdown layout automatically generated</li>\n<li>CDK Overlay for dropdown positioning</li>\n<li>Outside click and Escape key close dropdown</li>\n<li>Synchronizes with EuiAppShellService state</li>\n<li>Supports badges and icons on menu items</li>\n<li>Router link integration for navigation</li>\n<li>Custom command functions on items</li>\n<li>openMenu() method to programmatically open</li>\n<li>closeMenu() method to programmatically close</li>\n<li>onItemClick() executes item commands</li>\n<li>Overlay disposed on navigation</li>\n<li>Responsive positioning strategy</li>\n</ul>\n",
            "rawdescription": "\n\nMega menu component for toolbar providing a multi-column dropdown navigation with grouped menu items.\nDisplays a horizontal menu bar with expandable dropdown panels containing organized navigation links.\nAutomatically groups child menu items by column index and label for structured multi-column layout.\nIntegrates with Angular CDK Overlay for positioning and manages outside click/escape key dismissal.\nSynchronizes menu items with EuiAppShellService state for global access and reactive updates.\nSupports badges, icons, and custom commands on menu items with router link integration.\n\n```html\n<eui-app>\n  <eui-app-toolbar>\n    <eui-toolbar>\n      <eui-toolbar-mega-menu [items]=\"menuItems\"></eui-toolbar-mega-menu>\n    </eui-toolbar>\n  </eui-app-toolbar>\n</eui-app>\n```\n```typescript\nmenuItems: EuiMenuItem[] = [\n  {\n    label: 'Products',\n    children: [\n      { label: 'Item 1', url: '/products/1', megaMenuColIndex: 0, megaMenuColLabel: 'Category A' },\n      { label: 'Item 2', url: '/products/2', megaMenuColIndex: 1, megaMenuColLabel: 'Category B' }\n    ]\n  }\n];\n```\n\n### Accessibility\n- Navigation role for semantic structure\n- Keyboard accessible (Escape to close)\n- Router link integration for navigation\n- Outside click dismissal\n- Focus management for dropdown\n- ARIA attributes for menu structure\n\n### Notes\n- Must be used within eui-toolbar for proper layout\n- Positioned at start of toolbar (leftmost)\n- Items array uses EuiMenuItem interface\n- Children grouped by megaMenuColIndex and megaMenuColLabel\n- Multi-column dropdown layout automatically generated\n- CDK Overlay for dropdown positioning\n- Outside click and Escape key close dropdown\n- Synchronizes with EuiAppShellService state\n- Supports badges and icons on menu items\n- Router link integration for navigation\n- Custom command functions on items\n- openMenu() method to programmatically open\n- closeMenu() method to programmatically close\n- onItemClick() executes item commands\n- Overlay disposed on navigation\n- Responsive positioning strategy\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ChangeDetectionStrategy, OnInit, inject, Input, OnDestroy, OnChanges, SimpleChanges, ViewChild, TemplateRef,\n    ElementRef, ViewContainerRef, AfterViewInit, signal, input, ViewChildren, QueryList } from '@angular/core';\nimport { JsonPipe, KeyValuePipe, NgTemplateOutlet } from '@angular/common';\nimport { ActivatedRoute, IsActiveMatchOptions, NavigationEnd, Router, RouterLink, RouterLinkActive } from '@angular/router';\nimport {\n    ConnectionPositionPair,\n    FlexibleConnectedPositionStrategyOrigin,\n    Overlay,\n    OverlayModule,\n    OverlayRef,\n    PositionStrategy,\n    RepositionScrollStrategy,\n} from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { filter, startWith, Subject, Subscription, takeUntil } from 'rxjs';\n\nimport { EuiAppShellService, EuiMenuItem, uniqueId } from '@eui/core';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BADGE } from '@eui/components/eui-badge';\n\nimport { EuiToolbarMegaMenuContainerComponent } from './toolbar-mega-menu-container.component';\n\n/**\n * @description\n * Mega menu component for toolbar providing a multi-column dropdown navigation with grouped menu items.\n * Displays a horizontal menu bar with expandable dropdown panels containing organized navigation links.\n * Automatically groups child menu items by column index and label for structured multi-column layout.\n * Integrates with Angular CDK Overlay for positioning and manages outside click/escape key dismissal.\n * Synchronizes menu items with EuiAppShellService state for global access and reactive updates.\n * Supports badges, icons, and custom commands on menu items with router link integration.\n * \n * @usageNotes\n * ```html\n * <eui-app>\n *   <eui-app-toolbar>\n *     <eui-toolbar>\n *       <eui-toolbar-mega-menu [items]=\"menuItems\"></eui-toolbar-mega-menu>\n *     </eui-toolbar>\n *   </eui-app-toolbar>\n * </eui-app>\n * ```\n * ```typescript\n * menuItems: EuiMenuItem[] = [\n *   {\n *     label: 'Products',\n *     children: [\n *       { label: 'Item 1', url: '/products/1', megaMenuColIndex: 0, megaMenuColLabel: 'Category A' },\n *       { label: 'Item 2', url: '/products/2', megaMenuColIndex: 1, megaMenuColLabel: 'Category B' }\n *     ]\n *   }\n * ];\n * ```\n *\n * ### Accessibility\n * - Navigation role for semantic structure\n * - Keyboard accessible (Escape to close)\n * - Router link integration for navigation\n * - Outside click dismissal\n * - Focus management for dropdown\n * - ARIA attributes for menu structure\n *\n * ### Notes\n * - Must be used within eui-toolbar for proper layout\n * - Positioned at start of toolbar (leftmost)\n * - Items array uses EuiMenuItem interface\n * - Children grouped by megaMenuColIndex and megaMenuColLabel\n * - Multi-column dropdown layout automatically generated\n * - CDK Overlay for dropdown positioning\n * - Outside click and Escape key close dropdown\n * - Synchronizes with EuiAppShellService state\n * - Supports badges and icons on menu items\n * - Router link integration for navigation\n * - Custom command functions on items\n * - openMenu() method to programmatically open\n * - closeMenu() method to programmatically close\n * - onItemClick() executes item commands\n * - Overlay disposed on navigation\n * - Responsive positioning strategy\n */\n@Component({\n    selector: 'eui-toolbar-mega-menu',\n    templateUrl: './toolbar-mega-menu.component.html',\n    styleUrl: './toolbar-mega-menu.scss',\n    changeDetection: ChangeDetectionStrategy.Default,\n    imports: [\n        ...EUI_ICON, \n        ...EUI_BADGE, \n        EuiToolbarMegaMenuContainerComponent,\n        RouterLink, \n        RouterLinkActive,\n        JsonPipe, \n        KeyValuePipe, \n        NgTemplateOutlet, \n        OverlayModule,\n    ],\n})\nexport class EuiToolbarMegaMenuComponent<Items = EuiMenuItem> implements OnInit, AfterViewInit, OnDestroy, OnChanges {\n    @HostBinding('class') string = 'eui-toolbar-mega-menu';\n\n    /**\n     * Array of menu items to display in the mega menu.\n     * Each item should conform to EuiMenuItem interface with support for children, megaMenuColIndex, and megaMenuColLabel properties.\n     * Child items are automatically grouped by column for multi-column dropdown layout.\n     * Required for menu display.\n     */\n    @Input() items: Items[];\n    /**\n     * Provides a unique label for the menubar.\n     * @default `eUI mega menu ${uniqueId()}`\n     */\n    @Input() ariaLabel = `eUI mega menu ${uniqueId()}`;\n    /**\n     * Provides a unique id for the menubar\n     * @default `eui-mega-menu ${uniqueId()}`\n     */\n    @Input() id = `eui-mega-menu ${uniqueId()}`;\n    readonly itemsInput = input<Items[]>([]);\n    \n    protected megaMenuItems: Items[];\n    protected megaMenuItemsGrouped: { [parentIndex: number]: { [colIndex: string]: { [colLabel: string]: Items[] } } } ;\n    protected readonly activeMenu = signal<number | null>(null);\n    protected active: EuiMenuItem = null;\n    protected activeParent: EuiMenuItem = null;\n    \n    @ViewChild('templatePortalContent') templatePortalContent: TemplateRef<ElementRef>;\n    @ViewChild(EuiToolbarMegaMenuContainerComponent) subMenuComponent: EuiToolbarMegaMenuContainerComponent;\n    @ViewChildren('menuItemLink', { read: ElementRef }) menuItemLinks: QueryList<ElementRef<HTMLElement>>;\n\n    private asService = inject(EuiAppShellService);\n    private subs: Subscription = new Subscription();\n    private overlayRef: OverlayRef;\n    private templatePortal: TemplatePortal<unknown>;\n    private overlay = inject(Overlay);\n    private viewContainerRef = inject(ViewContainerRef);\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private router = inject(Router);\n    private route = inject(ActivatedRoute);\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes.items) {\n            this.asService.setState({\n                ...this.asService.state,\n                menuLinks: changes.items.currentValue,\n            });\n            this.megaMenuItems = this.filterMegaMenuItems(this.items);\n        }\n    }\n\n    ngOnInit(): void {\n        this.megaMenuItems = this.filterMegaMenuItems(this.items);\n        this.megaMenuItemsGrouped = this.groupByColIdPerParent(this.megaMenuItems);\n\n        this.subs.add(this.asService.getState<Items[]>('menuLinks').subscribe((links: Items[]) => (this.items = links)));  \n        \n        this.router.events.pipe(\n            filter((e): e is NavigationEnd => e instanceof NavigationEnd),\n            startWith(new NavigationEnd(0, this.router.url, this.router.url)),\n            takeUntil(this.destroy$),\n        ).subscribe(() => {\n            this.active = this.findActiveItemByUrl(this.router, this.route, this.items).active;\n            this.activeParent = this.findActiveItemByUrl(this.router, this.route, this.items).parent;\n\n            this.closeMenu();\n        });\n    }\n\n    ngAfterViewInit(): void {\n        this.templatePortal = new TemplatePortal(this.templatePortalContent, this.viewContainerRef);\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n\n        this.activeMenu.set(null);\n        this.overlayRef?.dispose();\n        this.overlayRef = null;\n\n        this.asService.setState({\n            ...this.asService.state,\n            hasToolbarMegaMenu: false,\n        });\n    }\n\n    toggleMenu(menuIndex: number, e: PointerEvent): void {\n        if (this.activeMenu() === menuIndex) {\n            this.closeMenu();\n        } else {\n            this.openMenu(menuIndex, e);\n        }\n    }\n\n    /**\n     * Programmatically opens the mega menu dropdown for a specific menu item.\n     * Creates overlay with positioning strategy and attaches menu content portal.\n     * Sets up outside click and escape key listeners for dismissal.\n     */\n    openMenu(menuIndex: number, target: Element | PointerEvent): void {\n        this.activeMenu.set(menuIndex);\n        this.overlayRef?.dispose();\n\n        const element = target instanceof Element ? target : (target as PointerEvent).currentTarget as Element;\n        const positionStrategy = this.getPositionStrategy(element);\n        const scrollStrategy = this.getScrollStrategy();\n\n        this.overlayRef = this.overlay.create({\n            hasBackdrop: false,\n            positionStrategy,\n            scrollStrategy,\n            disposeOnNavigation: true,\n        });\n        this.overlayRef.attach(this.templatePortal);\n\n        this.overlayRef\n            .outsidePointerEvents()\n            .pipe(takeUntil(this.destroy$))\n            .subscribe((e) => {\n                if (!(e.target as HTMLElement).closest('.eui-toolbar-mega-menu-item-container')) {\n                    this.closeMenu();\n                }\n            });\n\n        this.overlayRef\n            .keydownEvents()\n            .pipe(takeUntil(this.destroy$))\n            .subscribe((keyboardEvent) => {\n                if (keyboardEvent.key?.toLowerCase() === 'escape') {\n                    const activeIndex = this.activeMenu();\n                    this.closeMenu();\n                    if (activeIndex !== null) {\n                        this.getMenuItemElements()[activeIndex]?.focus();\n                    }\n                }\n            });\n\n        document.querySelectorAll('.cdk-overlay-container')?.forEach(el => {\n            if (!el.classList.contains('eui-21')) {\n                el.classList.add('eui-21');\n            }\n        }); \n    }\n\n    /**\n     * Programmatically closes the currently open mega menu dropdown.\n     * Disposes of the overlay and resets active menu state.\n     * Can be called externally to close the menu programmatically.\n     */\n    public closeMenu(returnFocus = false): void {\n        const activeIndex = returnFocus ? this.activeMenu() : null;\n        this.activeMenu.set(null);\n        this.overlayRef?.dispose();\n        this.overlayRef = null;\n        \n        if (returnFocus && activeIndex !== null) {\n            this.getMenuItemElements()[activeIndex]?.focus();\n        }\n    }\n\n    /**\n     * Handles click events on menu items.\n     * Executes the item's command function if defined.\n     * Called internally when user clicks a menu item.\n     */\n    public onItemClick(item: EuiMenuItem): void {\n        if (item.command) {\n            item.command();\n        }\n\n        this.closeMenu();\n    }\n\n    /**\n     * If the Tab key in the submenu was pressed and null emitted, it captures the host megamenu element,\n     * closes the menu and focuses the next focusable element after the megamenu. If item is not null calls the closeMenu method.\n     * @param item - The item that was clicked or null if tab was pressed\n     */\n    public onContainerItemClick(item: EuiMenuItem): void {\n        if (item === null) {\n            const host = this.menuItemLinks.last?.nativeElement.closest('eui-toolbar-mega-menu') as HTMLElement;\n            this.closeMenu();\n            setTimeout(() => {\n                const focusable = Array.from(document.querySelectorAll<HTMLElement>(\n                    'button:not([disabled]):not([tabindex=\"-1\"]), a[href]:not([tabindex=\"-1\"]), input:not([disabled]):not([tabindex=\"-1\"]), select:not([disabled]):not([tabindex=\"-1\"]), textarea:not([disabled]):not([tabindex=\"-1\"]), [tabindex]:not([tabindex=\"-1\"])',\n                )).filter(el => !el.closest('.cdk-overlay-container') && !host?.contains(el));\n                const following = focusable.filter(el =>\n                    !!(host.compareDocumentPosition(el) & Node.DOCUMENT_POSITION_FOLLOWING),\n                );\n                following[0]?.focus();\n            });\n            return;\n        }\n        this.closeMenu();\n    }\n\n    /**\n     * Applies the keyboard navigation actions for each key pressed\n     * @param event - The keyboard event from the menue item\n     */\n    protected onMenubarKeydown(event: KeyboardEvent): void {\n        const key = event.key;\n        const target = event.target as HTMLElement;\n        const menuItems = this.getMenuItemElements();\n        const currentIndex = menuItems.indexOf(target);\n\n        if (currentIndex === -1) return;\n\n        switch (key) {\n            case 'ArrowRight':\n                event.preventDefault();\n                this.focusNextItem(menuItems, currentIndex);\n                break;\n            case 'ArrowLeft':\n                event.preventDefault();\n                this.focusPreviousItem(menuItems, currentIndex);\n                break;\n            case 'ArrowDown':\n                event.preventDefault();\n                if (this.megaMenuItems[currentIndex]?.['children']?.length > 0) {\n                    const wasOpen = this.activeMenu() === currentIndex;\n                    if (!wasOpen) {\n                        this.openMenu(currentIndex, target);\n                    }\n                    setTimeout(() => this.subMenuComponent?.focusFirstItem(), 0);\n                }\n                break;\n            case 'Home':\n                event.preventDefault();\n                this.focusItem(menuItems, 0);\n                break;\n            case 'End':\n                event.preventDefault();\n                this.focusItem(menuItems, menuItems.length - 1);\n                break;\n            case 'Enter':\n            case ' ':\n                event.preventDefault();\n                if (this.megaMenuItems[currentIndex]?.['disabled']) return;\n                if (this.megaMenuItems[currentIndex]?.['children']?.length > 0) {\n                    const wasOpen = this.activeMenu() === currentIndex;\n                    if (!wasOpen) {\n                        this.openMenu(currentIndex, target);\n                    }\n                    setTimeout(() => this.subMenuComponent?.focusFirstItem(), 0);\n                } else {\n                    target.click();\n                }\n                break;\n        }\n    }\n\n    /**\n     * Maps the menu item links to html elements\n     * @returns HTMLElement[]\n     */\n    private getMenuItemElements(): HTMLElement[] {\n        return this.menuItemLinks.toArray().map(ref => ref.nativeElement);\n    }\n\n    /**\n     * Focuses the next item based on the current index\n     * @param items\n     * @param currentIndex\n     */\n    private focusNextItem(items: HTMLElement[], currentIndex: number): void {\n        const nextIndex = (currentIndex + 1) % items.length;\n        this.focusItem(items, nextIndex);\n    }\n\n    /**\n     * Focuses the previous item based on the current index\n     * @param items\n     * @param currentIndex\n     */\n    private focusPreviousItem(items: HTMLElement[], currentIndex: number): void {\n        const prevIndex = currentIndex === 0 ? items.length - 1 : currentIndex - 1;\n        this.focusItem(items, prevIndex);\n    }\n\n    /**\n     * Sets the tabindex value based on the index of the item\n     * @param items\n     * @param index\n     */\n    private focusItem(items: HTMLElement[], index: number): void {\n        items.forEach((item, i) => item.setAttribute('tabindex', i === index ? '0' : '-1'));\n        items[index]?.focus();\n    }\n\n    private groupByColIdPerParent(items: Items[]): { [parentIndex: number]: { [colIndex: string]: { [colLabel: string]: Items[] } } } {\n        const result: { [parentIndex: number]: { [colIndex: string]: { [colLabel: string]: Items[] } } } = {};\n\n        items.forEach((parent, index) => {\n            const group: { [colIndex: string]: { [colLabel: string]: Items[] } } = {};\n\n            parent['children']?.forEach((child: Items) => {\n                const colId = child['megaMenuColIndex'] ?? 'eui-no-col-label';\n                const colLabel = child['megaMenuColLabel'] ?? 'eui-no-label';\n\n                if (!group[colId]) {\n                    group[colId] = {};\n                }\n\n                if (!group[colId][colLabel]) {\n                    group[colId][colLabel] = [];\n                }\n\n                group[colId][colLabel].push(child);\n            });\n\n            result[index] = group;\n        });\n\n        return result;\n    }\n\n    private filterMegaMenuItems(items: Items[]): Items[] {\n        return items\n            .map((item) => {\n                const newItem = { ...item };\n                if (newItem['children']) {\n                    newItem['children'] = this.filterMegaMenuItems(newItem['children']);\n                }\n                return newItem;\n            });\n    }    \n\n    /**\n     * Return the position strategy for the panel.\n     *\n     * @returns A CDK position strategy.\n     */\n    private getPositionStrategy(target: Element): PositionStrategy {\n        return this.overlay\n            .position()\n            .flexibleConnectedTo(target as FlexibleConnectedPositionStrategyOrigin)\n            .withPositions([new ConnectionPositionPair({ originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'top' }, 0, 0)])\n            .withFlexibleDimensions(false)\n    }\n\n    /**\n     * Return the scroll strategy for the panel.\n     *\n     * @returns A CDK scroll strategy.\n     */\n    private getScrollStrategy(): RepositionScrollStrategy {\n        return this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n    }\n\n    private findActiveItemByUrl(router: Router, route: ActivatedRoute, items: EuiMenuItem[]): { active: EuiMenuItem; parent: EuiMenuItem } {\n        const match: IsActiveMatchOptions = { paths: 'exact', queryParams: 'ignored', fragment: 'ignored', matrixParams: 'ignored' };\n        const toCommands = (url: string): string[] => url.trim().replace(/^\\.\\//, '').split('/').filter(Boolean);\n        const visit = (list: EuiMenuItem[], parent: EuiMenuItem): { active: EuiMenuItem; parent: EuiMenuItem } => {\n            for (const item of list ?? []) {\n                const url = (item?.url ?? '').trim();\n\n                if (url && url !== '#') {\n                    const tree = router.createUrlTree(toCommands(url), { relativeTo: route });\n                    if (router.isActive(tree, match)) return { active: item, parent };\n                }\n\n                const found = visit(item?.children ?? [], item);\n                if (found) return found;\n            }\n            return null;\n        };\n\n        return visit(items, null) ?? { active: null, parent: null };\n    }\n\n}\n",
            "styleUrl": "./toolbar-mega-menu.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "AfterViewInit",
                "OnDestroy",
                "OnChanges"
            ],
            "templateData": "<nav [id]=\"id\" class=\"eui-toolbar-mega-menu-content\" [aria-label]=\"ariaLabel\">\n    <ul role=\"menubar\" class=\"eui-toolbar-mega-menu-items\" (keydown)=\"onMenubarKeydown($event)\">\n        @for(megaMenuItem of megaMenuItems; track $index; let i = $index) {\n            @if (megaMenuItem['visible'] !== false) {\n                <li role=\"none\" class=\"eui-toolbar-mega-menu-item\"\n                    [class.eui-toolbar-mega-menu-item--active]=\"activeMenu() === i || megaMenuItem['active'] || parentLi.isActive || megaMenuItem['label'] === activeParent?.label\"\n                    [class.eui-toolbar-mega-menu-item--parent-active]=\"megaMenuItem['active'] || parentLi.isActive || megaMenuItem['label'] === activeParent?.label\"\n                    [class.eui-toolbar-mega-menu-item--disabled]=\"megaMenuItem['disabled']\"\n                    routerLinkActive=\"eui-toolbar-mega-menu-item--active\"\n                    #parentLi=\"routerLinkActive\">\n                    @if (!megaMenuItem['url'] && !megaMenuItem['urlExternal']) {\n                        <a #menuItemLink href=\"javascript: void(0)\"\n                            role=\"menuitem\"\n                            title=\"{{ megaMenuItem['label'] }}\"\n                            [attr.tabindex]=\"i === 0 ? 0 : -1\"\n                            [attr.aria-haspopup]=\"megaMenuItem['children']?.length > 0 ? 'true' : null\"\n                            [attr.aria-expanded]=\"megaMenuItem['children']?.length > 0 ? (activeMenu() === i) : null\"\n                            [attr.aria-disabled]=\"megaMenuItem['disabled']\"\n                            class=\"eui-toolbar-mega-menu-item-container\"\n                            (click)=\"toggleMenu(i, $event)\">    \n                            @if (megaMenuItem['iconSvgName']) {\n                                <eui-icon-svg icon=\"{{ megaMenuItem['iconSvgName'] }}\" fillColor=\"{{ megaMenuItem['iconTypeClass'] || null }}\" class=\"eui-u-mr-xs\"/>\n                            } @else if (megaMenuItem['iconSvgUrl']) {\n                                <eui-icon-svg iconUrl=\"{{ megaMenuItem['iconSvgUrl'] }}\" fillColor=\"{{ megaMenuItem['iconTypeClass'] || null }}\" class=\"eui-u-mr-xs\"/>\n                            }\n                            <span class=\"eui-toolbar-mega-menu-item-label\">{{ megaMenuItem['label'] }}</span>\n                            @if (megaMenuItem['children'] && megaMenuItem['children'].length > 0) {\n                                @if (activeMenu() === i) {\n                                    <eui-icon-svg icon=\"eui-chevron-up\" size=\"xs\" class=\"eui-u-ml-xs\" />\n                                } @else {\n                                    <eui-icon-svg icon=\"eui-chevron-down\" size=\"xs\" class=\"eui-u-ml-xs\" />\n                                }\n                            }\n                        </a>\n                    } @else {\n                        @if (megaMenuItem['url']) {\n                            <a  #menuItemLink=\"routerLinkActive\"\n                                [routerLink]=\"!megaMenuItem['disabled'] ? megaMenuItem['url'] : null\"\n                                role=\"menuitem\"\n                                title=\"{{ megaMenuItem['label'] }}\"\n                                [attr.tabindex]=\"i === 0 ? 0 : -1\"\n                                [attr.aria-haspopup]=\"megaMenuItem['children']?.length > 0 ? 'true' : null\"\n                                [attr.aria-expanded]=\"megaMenuItem['children']?.length > 0 ? (activeMenu() === i) : null\"\n                                [attr.aria-disabled]=\"megaMenuItem['disabled']\"\n                                routerLinkActive=\"eui-toolbar-mega-menu-item-container--active\"\n                                [queryParams]=\"megaMenuItem['queryParams']\"\n                                class=\"eui-toolbar-mega-menu-item-container\"\n                                [class.eui-toolbar-mega-menu-item-container--active]=\"activeMenu() === i || megaMenuItem['active'] || menuItemLink.isActive || megaMenuItem['label'] === activeParent?.label\"\n                                [class.eui-toolbar-mega-menu-item--disabled]=\"megaMenuItem['disabled']\"\n                                (click)=\"toggleMenu(i, $event)\">\n    \n                                @if (megaMenuItem['iconSvgName']) {\n                                    <eui-icon-svg icon=\"{{ megaMenuItem['iconSvgName'] }}\" fillColor=\"{{ megaMenuItem['iconTypeClass'] || null }}\" class=\"eui-u-mr-xs\"/>\n                                } @else if (megaMenuItem['iconSvgUrl']) {\n                                    <eui-icon-svg iconUrl=\"{{ megaMenuItem['iconSvgUrl'] }}\" fillColor=\"{{ megaMenuItem['iconTypeClass'] || null }}\" class=\"eui-u-mr-xs\"/>\n                                }\n                                <span class=\"eui-toolbar-mega-menu-item-label\">{{ megaMenuItem['label'] }}</span>\n                                @if (megaMenuItem['children'] && megaMenuItem['children'].length > 0) {\n                                    <eui-icon-svg icon=\"eui-chevron-down\" size=\"xs\" class=\"eui-u-ml-xs\" />\n                                }\n                            </a>\n                        } @else if (megaMenuItem['urlExternal']) {\n                            <a #menuItemLink [href]=\"!megaMenuItem['disabled'] ? megaMenuItem['urlExternal'] : null\"\n                                [target]=\"megaMenuItem['urlExternalTarget'] ? megaMenuItem['urlExternalTarget'] : '_blank'\"\n                                role=\"menuitem\"\n                                title=\"{{ megaMenuItem['label'] }}\"\n                                [attr.tabindex]=\"i === 0 ? 0 : -1\"\n                                [attr.aria-disabled]=\"megaMenuItem['disabled']\"\n                                class=\"eui-toolbar-mega-menu-item-container\"\n                                [class.eui-toolbar-mega-menu-item-container--active]=\"activeMenu() === i || megaMenuItem['active']\"\n                                [class.eui-toolbar-mega-menu-item--disabled]=\"megaMenuItem['disabled']\">\n                                {{ megaMenuItem['label'] }}\n                            </a>\n                        } @else if (megaMenuItem['command']) {\n                            <a #menuItemLink href=\"javascript: void(0)\"\n                                role=\"menuitem\"\n                                title=\"{{ megaMenuItem['label'] }}\"\n                                [attr.tabindex]=\"i === 0 ? 0 : -1\"\n                                [attr.aria-disabled]=\"megaMenuItem['disabled']\"\n                                class=\"eui-toolbar-mega-menu-item-container\"\n                                [class.eui-toolbar-mega-menu-item-container--active]=\"activeMenu() === i || megaMenuItem['active']\"\n                                [class.eui-toolbar-mega-menu-item--disabled]=\"megaMenuItem['disabled']\"\n                                (click)=\"onItemClick(megaMenuItem)\">\n                                {{ megaMenuItem['label'] }}\n                            </a>\n                        }\n                    }\n                </li>\n            }\n        }\n    </ul>\n</nav>\n\n<ng-template #templatePortalContent>\n    @if (activeMenu()) {\n        <eui-toolbar-mega-menu-container [megaMenuItemsGrouped]=\"megaMenuItemsGrouped\" [activeMenu]=\"activeMenu()\" (itemClick)=\"onContainerItemClick($event)\"/>\n    }\n</ng-template>\n"
        },
        {
            "name": "EuiToolbarMegaMenuContainerComponent",
            "id": "component-EuiToolbarMegaMenuContainerComponent-3fe2f081f6520ec86dcf6e82738cafff1047e80a17d5ed7d5a15a2abdf1b24fe75dbdd1a2514570795c06dd655a829ad3ad327ac834ad8a2c359529d982006e7",
            "file": "packages/components/layout/eui-toolbar/toolbar-mega-menu/toolbar-mega-menu-container.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-toolbar-mega-menu-container",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./toolbar-mega-menu-container.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "activeMenu",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3368,
                            "end": 3387,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3369,
                                "end": 3376,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>null</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIndex of the currently active menu item whose dropdown is displayed.\nUsed to determine which parent menu's children to render in the dropdown.\nWhen null, no dropdown is displayed.\n",
                    "description": "<p>Index of the currently active menu item whose dropdown is displayed.\nUsed to determine which parent menu&#39;s children to render in the dropdown.\nWhen null, no dropdown is displayed.</p>\n",
                    "line": 87,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "ariaLabel",
                    "defaultValue": "'eUI sub menu'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3622,
                            "end": 3651,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3623,
                                "end": 3630,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p><code>eUI sub menu</code></p>\n"
                        }
                    ],
                    "rawdescription": "\n\nProvides accessibility labeling for the dropdown menu.\n",
                    "description": "<p>Provides accessibility labeling for the dropdown menu.</p>\n",
                    "line": 95,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "megaMenuItemsGrouped",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nGrouped menu items organized by parent index, column index, and column label.\nStructure: { [parentIndex]: { [colIndex]: { [colLabel]: Items[] } } }\nProvided by parent EuiToolbarMegaMenuComponent after processing menu items.\nRequired for rendering the multi-column dropdown layout.\n",
                    "description": "<p>Grouped menu items organized by parent index, column index, and column label.\nStructure: { [parentIndex]: { [colIndex]: { [colLabel]: Items[] } } }\nProvided by parent EuiToolbarMegaMenuComponent after processing menu items.\nRequired for rendering the multi-column dropdown layout.</p>\n",
                    "line": 79,
                    "type": "literal type",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "itemClick",
                    "defaultValue": "new EventEmitter<EuiMenuItem>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmits an output event when item is clicked\n",
                    "description": "<p>Emits an output event when item is clicked</p>\n",
                    "line": 99,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-toolbar-mega-menu-container'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 71,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "submenuItemLinks",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<ElementRef<HTMLElement>>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 89,
                    "decorators": [
                        {
                            "name": "ViewChildren",
                            "stringifiedArguments": "'submenuItemLink', {read: ElementRef}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "focusFirstItem",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 117,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nFocuses the first item in the submenu.\n",
                    "description": "<p>Focuses the first item in the submenu.</p>\n"
                },
                {
                    "name": "onItemClick",
                    "args": [
                        {
                            "name": "item",
                            "type": "EuiMenuItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 106,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles click events on menu items within the dropdown.\nExecutes the item's command function if defined.\nCalled internally when user clicks a menu item in the dropdown panel.\n",
                    "description": "<p>Handles click events on menu items within the dropdown.\nExecutes the item&#39;s command function if defined.\nCalled internally when user clicks a menu item in the dropdown panel.</p>\n",
                    "jsdoctags": [
                        {
                            "name": "item",
                            "type": "EuiMenuItem",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onSubmenuKeydown",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 128,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles keyboard navigation for submenu items.\n",
                    "description": "<p>Handles keyboard navigation for submenu items.</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 4500,
                                "end": 4505,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 4494,
                                "end": 4499,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The keyboard event from the submenu item.</li>\n</ul>\n"
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-toolbar-mega-menu-container'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 71,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_BADGE"
                },
                {
                    "name": "JsonPipe",
                    "type": "pipe"
                },
                {
                    "name": "KeyValuePipe",
                    "type": "pipe"
                },
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "RouterLink"
                },
                {
                    "name": "RouterLinkActive"
                }
            ],
            "description": "<p>Container component for rendering the mega menu dropdown content with multi-column layout.\nDisplays grouped menu items organized by parent, column index, and column label in a structured grid.\nHandles menu item clicks and executes associated command functions.\nUsed internally by EuiToolbarMegaMenuComponent to render the dropdown panel content.\nSupports router links, badges, and icons on menu items.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Used internally by eui-toolbar-mega-menu --&gt;\n&lt;eui-toolbar-mega-menu-container\n  [megaMenuItemsGrouped]=&quot;groupedItems&quot;\n  [activeMenu]=&quot;0&quot;&gt;\n&lt;/eui-toolbar-mega-menu-container&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">// Grouped structure created by parent component\nmegaMenuItemsGrouped = {\n  0: {\n    &#39;0&#39;: { &#39;Category A&#39;: [{ label: &#39;Item 1&#39;, url: &#39;/item1&#39; }] },\n    &#39;1&#39;: { &#39;Category B&#39;: [{ label: &#39;Item 2&#39;, url: &#39;/item2&#39; }] }\n  }\n};</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Router link integration for navigation</li>\n<li>Keyboard accessible menu items</li>\n<li>Semantic structure for menu layout</li>\n<li>Focus management for dropdown items</li>\n<li>ARIA attributes inherited from parent</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Used internally by eui-toolbar-mega-menu</li>\n<li>Not intended for standalone usage</li>\n<li>Renders dropdown panel content</li>\n<li>Multi-column grid layout automatically generated</li>\n<li>megaMenuItemsGrouped structure: parent → column → label → items</li>\n<li>activeMenu determines which parent&#39;s children to display</li>\n<li>onItemClick() executes item command functions</li>\n<li>Supports router links via RouterLink directive</li>\n<li>Badge and icon support on menu items</li>\n<li>Column labels used as section headers</li>\n<li>Grid layout adapts to number of columns</li>\n<li>Items grouped by megaMenuColIndex and megaMenuColLabel</li>\n</ul>\n",
            "rawdescription": "\n\nContainer component for rendering the mega menu dropdown content with multi-column layout.\nDisplays grouped menu items organized by parent, column index, and column label in a structured grid.\nHandles menu item clicks and executes associated command functions.\nUsed internally by EuiToolbarMegaMenuComponent to render the dropdown panel content.\nSupports router links, badges, and icons on menu items.\n\n```html\n<!-- Used internally by eui-toolbar-mega-menu -->\n<eui-toolbar-mega-menu-container\n  [megaMenuItemsGrouped]=\"groupedItems\"\n  [activeMenu]=\"0\">\n</eui-toolbar-mega-menu-container>\n```\n```typescript\n// Grouped structure created by parent component\nmegaMenuItemsGrouped = {\n  0: {\n    '0': { 'Category A': [{ label: 'Item 1', url: '/item1' }] },\n    '1': { 'Category B': [{ label: 'Item 2', url: '/item2' }] }\n  }\n};\n```\n\n### Accessibility\n- Router link integration for navigation\n- Keyboard accessible menu items\n- Semantic structure for menu layout\n- Focus management for dropdown items\n- ARIA attributes inherited from parent\n\n### Notes\n- Used internally by eui-toolbar-mega-menu\n- Not intended for standalone usage\n- Renders dropdown panel content\n- Multi-column grid layout automatically generated\n- megaMenuItemsGrouped structure: parent → column → label → items\n- activeMenu determines which parent's children to display\n- onItemClick() executes item command functions\n- Supports router links via RouterLink directive\n- Badge and icon support on menu items\n- Column labels used as section headers\n- Grid layout adapts to number of columns\n- Items grouped by megaMenuColIndex and megaMenuColLabel\n",
            "type": "component",
            "sourceCode": "import { JsonPipe, KeyValuePipe, NgTemplateOutlet } from '@angular/common';\nimport { Component, HostBinding, Input, ViewChildren, QueryList, ElementRef, EventEmitter, Output } from '@angular/core';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\n\nimport { EuiMenuItem } from '@eui/base';\nimport { EUI_BADGE } from '@eui/components/eui-badge';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\n/**\n * @description\n * Container component for rendering the mega menu dropdown content with multi-column layout.\n * Displays grouped menu items organized by parent, column index, and column label in a structured grid.\n * Handles menu item clicks and executes associated command functions.\n * Used internally by EuiToolbarMegaMenuComponent to render the dropdown panel content.\n * Supports router links, badges, and icons on menu items.\n * \n * @usageNotes\n * ```html\n * <!-- Used internally by eui-toolbar-mega-menu -->\n * <eui-toolbar-mega-menu-container\n *   [megaMenuItemsGrouped]=\"groupedItems\"\n *   [activeMenu]=\"0\">\n * </eui-toolbar-mega-menu-container>\n * ```\n * ```typescript\n * // Grouped structure created by parent component\n * megaMenuItemsGrouped = {\n *   0: {\n *     '0': { 'Category A': [{ label: 'Item 1', url: '/item1' }] },\n *     '1': { 'Category B': [{ label: 'Item 2', url: '/item2' }] }\n *   }\n * };\n * ```\n *\n * ### Accessibility\n * - Router link integration for navigation\n * - Keyboard accessible menu items\n * - Semantic structure for menu layout\n * - Focus management for dropdown items\n * - ARIA attributes inherited from parent\n *\n * ### Notes\n * - Used internally by eui-toolbar-mega-menu\n * - Not intended for standalone usage\n * - Renders dropdown panel content\n * - Multi-column grid layout automatically generated\n * - megaMenuItemsGrouped structure: parent → column → label → items\n * - activeMenu determines which parent's children to display\n * - onItemClick() executes item command functions\n * - Supports router links via RouterLink directive\n * - Badge and icon support on menu items\n * - Column labels used as section headers\n * - Grid layout adapts to number of columns\n * - Items grouped by megaMenuColIndex and megaMenuColLabel\n */\n@Component({\n    selector: 'eui-toolbar-mega-menu-container',\n    templateUrl: './toolbar-mega-menu-container.component.html',\n    styleUrl: './toolbar-mega-menu-container.component.scss',\n    imports: [\n        ...EUI_ICON, \n        ...EUI_BADGE, \n        JsonPipe, \n        KeyValuePipe, \n        NgTemplateOutlet,\n        RouterLink,\n        RouterLinkActive,\n    ],\n})\nexport class EuiToolbarMegaMenuContainerComponent<Items = EuiMenuItem> {\n    @HostBinding('class') string = 'eui-toolbar-mega-menu-container';\n\n    /**\n     * Grouped menu items organized by parent index, column index, and column label.\n     * Structure: { [parentIndex]: { [colIndex]: { [colLabel]: Items[] } } }\n     * Provided by parent EuiToolbarMegaMenuComponent after processing menu items.\n     * Required for rendering the multi-column dropdown layout.\n     */\n    @Input() megaMenuItemsGrouped: { [parentIndex: number]: { [colIndex: string]: { [colLabel: string]: Items[] } } } ;\n\n    /**\n     * Index of the currently active menu item whose dropdown is displayed.\n     * Used to determine which parent menu's children to render in the dropdown.\n     * When null, no dropdown is displayed.\n     * @default null\n     */\n    @Input() activeMenu: number = null;\n\n    @ViewChildren('submenuItemLink', { read: ElementRef }) submenuItemLinks: QueryList<ElementRef<HTMLElement>>;\n\n    /**\n     * Provides accessibility labeling for the dropdown menu.\n     * @default `eUI sub menu`\n     */\n    @Input() ariaLabel = 'eUI sub menu';\n    /**\n     * Emits an output event when item is clicked\n     */\n    @Output() itemClick = new EventEmitter<EuiMenuItem>();\n\n    /**\n     * Handles click events on menu items within the dropdown.\n     * Executes the item's command function if defined.\n     * Called internally when user clicks a menu item in the dropdown panel.\n     */\n    onItemClick(item: EuiMenuItem): void {\n        if (item.command) {\n            item.command();\n        }\n\n        this.itemClick.emit(item);\n    }\n\n    /**\n     * Focuses the first item in the submenu.\n     */\n    focusFirstItem(): void {\n        const items = this.submenuItemLinks.toArray();\n        if (items.length > 0) {\n            items[0].nativeElement.focus();\n        }\n    }\n\n    /**\n     * Handles keyboard navigation for submenu items.\n     * @param event - The keyboard event from the submenu item.\n     */\n    protected onSubmenuKeydown(event: KeyboardEvent): void {\n        const key = event.key;\n        const target = event.target as HTMLElement;\n        const menuItems = this.submenuItemLinks.toArray().map(ref => ref.nativeElement);\n        const currentIndex = menuItems.indexOf(target);\n\n        if (currentIndex === -1) return;\n\n        switch (key) {\n            case 'ArrowDown':\n                event.preventDefault();\n                this.focusNextItem(menuItems, currentIndex);\n                break;\n            case 'ArrowUp':\n                event.preventDefault();\n                this.focusPreviousItem(menuItems, currentIndex);\n                break;\n            case 'Home':\n                event.preventDefault();\n                menuItems[0]?.focus();\n                break;\n            case 'End':\n                event.preventDefault();\n                menuItems[menuItems.length - 1]?.focus();\n                break;\n            case 'Tab':\n                this.itemClick.emit(null);\n                break;\n            case 'Enter':\n            case ' ':\n                event.preventDefault();\n                if (target.getAttribute('aria-disabled') !== 'true') {\n                    target.click();\n                }\n                break;\n        }\n    }\n\n    /**\n     * Focuses the next item in the list based on the current index\n     * @param items\n     * @param currentIndex \n     */\n    private focusNextItem(items: HTMLElement[], currentIndex: number): void {\n        items[(currentIndex + 1) % items.length]?.focus();\n    }\n\n    /**\n     * Focuses the previous item in the list based on the current index\n     * @param items\n     * @param currentIndex \n     */\n    private focusPreviousItem(items: HTMLElement[], currentIndex: number): void {\n        items[currentIndex === 0 ? items.length - 1 : currentIndex - 1]?.focus();\n    }\n}\n",
            "styleUrl": "./toolbar-mega-menu-container.component.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "<nav class=\"eui-toolbar-mega-menu-container-nav\" [aria-label]=\"ariaLabel\" (keydown)=\"onSubmenuKeydown($event)\">\n    @for (col of megaMenuItemsGrouped[activeMenu] | keyvalue; track $index) {\n        <div class=\"eui-toolbar-mega-menu-container-col\">\n            @for (label of col.value | keyvalue; track $index) {\n                <div class=\"eui-toolbar-mega-menu-container-item-container\">\n                    <ul role=\"menu\" class=\"eui-toolbar-mega-menu-container-items\">\n                        @if (label.key !== 'eui-no-label') {\n                            <li role=\"none\" class=\"eui-toolbar-mega-menu-container-item-category\">\n                                <span\n                                    #submenuItemLink\n                                    role=\"menuitem\"\n                                    [attr.tabindex]=\"-1\"\n                                    [attr.aria-disabled]=\"true\"\n                                    class=\"eui-toolbar-mega-menu-container-item-category-label\">\n                                    {{ label.key }}\n                                </span>\n                            </li>\n                        }\n                        @for (item of label.value; track $index) {\n                            @if (item['visible'] !== false) { <!-- Reverted ! operator to prevent passing when visible is null or undefined -->\n                                @if (item['url'] || item['urlExternal'] || item['command']) {\n                                    <li\n                                        class=\"eui-toolbar-mega-menu-container-item\"\n                                        role=\"none\"\n                                        [class.eui-toolbar-mega-menu-container-item-disabled]=\"item['disabled']\">\n                                        @if (item['url']) {\n                                            <a\n                                                #submenuItemLink\n                                                role=\"menuitem\"\n                                                title=\"{{ item['label'] }}\"\n                                                [attr.tabindex]=\"-1\"\n                                                [attr.aria-disabled]=\"item['disabled']\"\n                                                class=\"eui-toolbar-mega-menu-container-item-link\"\n                                                [routerLink]=\"!item['disabled'] ? item['url'] : null\"\n                                                [queryParams]=\"item['queryParams']\"\n                                                routerLinkActive=\"eui-toolbar-mega-menu-container-item-link--active\">\n                                                <ng-template [ngTemplateOutlet]=\"itemContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"/>\n                                            </a>\n                                        } @else if (item['urlExternal']) {\n                                            <a\n                                                #submenuItemLink\n                                                role=\"menuitem\"\n                                                title=\"{{ item['label'] }}\"\n                                                [attr.tabindex]=\"-1\"\n                                                [attr.aria-disabled]=\"item['disabled']\"\n                                                class=\"eui-toolbar-mega-menu-container-item-link\"\n                                                [href]=\"!item['disabled'] ? item['urlExternal'] : null\"\n                                                [target]=\"item['urlExternalTarget'] ? item['urlExternalTarget'] : '_blank'\">\n                                                <ng-template [ngTemplateOutlet]=\"itemContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"/>\n                                            </a>\n                                        } @else {\n                                            <a\n                                                #submenuItemLink\n                                                role=\"menuitem\"\n                                                title=\"{{ item['label'] }}\"\n                                                [attr.tabindex]=\"-1\"\n                                                [attr.aria-disabled]=\"item['disabled']\"\n                                                class=\"eui-toolbar-mega-menu-container-item-link\"\n                                                href=\"javascript: void(0)\"\n                                                (click)=\"onItemClick(item)\">\n                                                <ng-template [ngTemplateOutlet]=\"itemContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"/>\n                                            </a>\n                                        }\n                                    </li>\n                                } @else {\n                                    <li role=\"none\" class=\"eui-toolbar-mega-menu-container-item-category\">\n                                        <span\n                                            #submenuItemLink\n                                            role=\"menuitem\"\n                                            title=\"{{ item['label'] }}\"\n                                            [attr.tabindex]=\"-1\"\n                                            [attr.aria-disabled]=\"true\"\n                                            class=\"eui-toolbar-mega-menu-container-item-category-label\">\n                                            <ng-template [ngTemplateOutlet]=\"itemContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"/>\n                                        </span>\n                                    </li>\n                                }\n                            }\n                        }\n                    </ul>\n                </div>\n            }\n        </div>\n    }\n</nav>\n\n<!-- PROJECTED CONTENT -->\n<ng-template #itemContent let-item>\n    <div class=\"eui-toolbar-mega-menu-container-item-start-block\">\n        @if (item['iconSvgName']) {\n            <eui-icon-svg icon=\"{{ item['iconSvgName'] }}\" fillColor=\"{{ item['iconTypeClass'] || null }}\" />\n        } @else if (item['hasMarker']) {\n            <eui-icon-svg fillColor=\"{{ item['markerTypeClass'] || null }}\" icon=\"eui-circle-fill\" size=\"2xs\"/>\n        }\n    </div>\n\n    <div class=\"eui-toolbar-mega-menu-container-item-content-block\">\n        <div class=\"eui-toolbar-mega-menu-container-item-label-container\">\n            <span class=\"eui-toolbar-mega-menu-container-item-label\">{{ item['label'] }}</span>\n        </div>\n    </div>\n\n    <div class=\"eui-toolbar-mega-menu-container-item-end-block\">\n        @if (item['tagLabel']) {\n            <eui-badge euiOutline euiVariant=\"{{ item['tagTypeClass'] }}\">{{ item['tagLabel'] }}</eui-badge>\n        }\n    </div>\n</ng-template>"
        },
        {
            "name": "EuiToolbarNavbarComponent",
            "id": "component-EuiToolbarNavbarComponent-95fa07714af466aa3f0cc49fb1b105aa31af5bbd05ff02f331ea940f25436a56c650c464e21b696d09645bfa74a7b647742151c1ae17480c9c593d27fa549823",
            "file": "packages/components/layout/eui-toolbar/toolbar-navbar/toolbar-navbar.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-toolbar-navbar",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./toolbar-navbar.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [
                {
                    "name": "itemClick",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when a navbar item is clicked or activated.\nPayload: string - the id of the selected navbar item\nTriggered when user clicks or keyboard-activates any navbar item. Automatically updates active state of all items.\n",
                    "description": "<p>Emitted when a navbar item is clicked or activated.\nPayload: string - the id of the selected navbar item\nTriggered when user clicks or keyboard-activates any navbar item. Automatically updates active state of all items.</p>\n",
                    "line": 100,
                    "type": "EventEmitter<string>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 104
                },
                {
                    "name": "baseItemSelected",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiToolbarNavbarItemComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 105,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "class",
                    "defaultValue": "'eui-toolbar-navbar'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 93,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": ""
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "isDropdownView",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 106,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "items",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiToolbarNavbarItemComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 102,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "itemSelected",
                    "args": [
                        {
                            "name": "id",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 131,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHandles item selection from child navbar items.\nUpdates active state across all items and emits itemClick event with selected item id.\nCalled internally by child EuiToolbarNavbarItemComponent instances.\n",
                    "description": "<p>Handles item selection from child navbar items.\nUpdates active state across all items and emits itemClick event with selected item id.\nCalled internally by child EuiToolbarNavbarItemComponent instances.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "id",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 109,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 113,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-toolbar-navbar'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 93,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_DROPDOWN"
                }
            ],
            "description": "<p>Navigation bar container component for horizontal tab navigation within the toolbar.\nManages a collection of navbar items with automatic active state coordination and responsive dropdown fallback.\nAutomatically switches to dropdown mode when navbar items exceed available horizontal space.\nIntegrates with EuiAppShellService for responsive behavior and coordinates selection state across child items.\nEmits events when navbar items are clicked for parent components to handle navigation logic.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-app&gt;\n  &lt;eui-app-toolbar&gt;\n    &lt;eui-toolbar&gt;\n      &lt;eui-toolbar-navbar (itemClick)=&quot;onNavItemClick($event)&quot;&gt;\n        &lt;eui-toolbar-navbar-item id=&quot;home&quot; [isActive]=&quot;true&quot;&gt;\n          Home\n        &lt;/eui-toolbar-navbar-item&gt;\n        &lt;eui-toolbar-navbar-item id=&quot;products&quot;&gt;\n          Products\n        &lt;/eui-toolbar-navbar-item&gt;\n        &lt;eui-toolbar-navbar-item id=&quot;about&quot;&gt;\n          About\n        &lt;/eui-toolbar-navbar-item&gt;\n      &lt;/eui-toolbar-navbar&gt;\n    &lt;/eui-toolbar&gt;\n  &lt;/eui-app-toolbar&gt;\n&lt;/eui-app&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">onNavItemClick(itemId: string): void {\n  console.log(&#39;Selected:&#39;, itemId);\n}</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Tab navigation keyboard accessible</li>\n<li>Active state clearly indicated</li>\n<li>Dropdown fallback for overflow</li>\n<li>Focus management for navigation</li>\n<li>ARIA attributes for tab structure</li>\n<li>Keyboard navigation between items</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-toolbar for proper layout</li>\n<li>Contains eui-toolbar-navbar-item children</li>\n<li>Automatically coordinates active state across items</li>\n<li>Responsive: switches to dropdown when items overflow</li>\n<li>Overflow detection based on parent toolbar width</li>\n<li>itemClick event emits selected item id</li>\n<li>itemSelected() method updates active states</li>\n<li>Only one item can be active at a time</li>\n<li>baseItemSelected tracks initially active item</li>\n<li>isDropdownView flag controls display mode</li>\n<li>Dropdown mode activated automatically on overflow</li>\n<li>Integrates with EuiAppShellService for responsive behavior</li>\n</ul>\n",
            "rawdescription": "\n\nNavigation bar container component for horizontal tab navigation within the toolbar.\nManages a collection of navbar items with automatic active state coordination and responsive dropdown fallback.\nAutomatically switches to dropdown mode when navbar items exceed available horizontal space.\nIntegrates with EuiAppShellService for responsive behavior and coordinates selection state across child items.\nEmits events when navbar items are clicked for parent components to handle navigation logic.\n\n```html\n<eui-app>\n  <eui-app-toolbar>\n    <eui-toolbar>\n      <eui-toolbar-navbar (itemClick)=\"onNavItemClick($event)\">\n        <eui-toolbar-navbar-item id=\"home\" [isActive]=\"true\">\n          Home\n        </eui-toolbar-navbar-item>\n        <eui-toolbar-navbar-item id=\"products\">\n          Products\n        </eui-toolbar-navbar-item>\n        <eui-toolbar-navbar-item id=\"about\">\n          About\n        </eui-toolbar-navbar-item>\n      </eui-toolbar-navbar>\n    </eui-toolbar>\n  </eui-app-toolbar>\n</eui-app>\n```\n```typescript\nonNavItemClick(itemId: string): void {\n  console.log('Selected:', itemId);\n}\n```\n\n### Accessibility\n- Tab navigation keyboard accessible\n- Active state clearly indicated\n- Dropdown fallback for overflow\n- Focus management for navigation\n- ARIA attributes for tab structure\n- Keyboard navigation between items\n\n### Notes\n- Must be used within eui-toolbar for proper layout\n- Contains eui-toolbar-navbar-item children\n- Automatically coordinates active state across items\n- Responsive: switches to dropdown when items overflow\n- Overflow detection based on parent toolbar width\n- itemClick event emits selected item id\n- itemSelected() method updates active states\n- Only one item can be active at a time\n- baseItemSelected tracks initially active item\n- isDropdownView flag controls display mode\n- Dropdown mode activated automatically on overflow\n- Integrates with EuiAppShellService for responsive behavior\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    ChangeDetectionStrategy,\n    HostBinding,\n    ViewEncapsulation,\n    Output,\n    EventEmitter,\n    ContentChildren,\n    forwardRef,\n    QueryList,\n    ElementRef,\n    AfterViewInit,\n    AfterContentInit,\n    inject,\n} from '@angular/core';\nimport { EuiToolbarNavbarItemComponent } from '../toolbar-navbar-item/toolbar-navbar-item.component';\nimport { EuiAppShellService } from '@eui/core';\nimport { EUI_DROPDOWN } from '@eui/components/eui-dropdown';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { AsyncPipe } from '@angular/common';\n\n/**\n * @description\n * Navigation bar container component for horizontal tab navigation within the toolbar.\n * Manages a collection of navbar items with automatic active state coordination and responsive dropdown fallback.\n * Automatically switches to dropdown mode when navbar items exceed available horizontal space.\n * Integrates with EuiAppShellService for responsive behavior and coordinates selection state across child items.\n * Emits events when navbar items are clicked for parent components to handle navigation logic.\n * \n * @usageNotes\n * ```html\n * <eui-app>\n *   <eui-app-toolbar>\n *     <eui-toolbar>\n *       <eui-toolbar-navbar (itemClick)=\"onNavItemClick($event)\">\n *         <eui-toolbar-navbar-item id=\"home\" [isActive]=\"true\">\n *           Home\n *         </eui-toolbar-navbar-item>\n *         <eui-toolbar-navbar-item id=\"products\">\n *           Products\n *         </eui-toolbar-navbar-item>\n *         <eui-toolbar-navbar-item id=\"about\">\n *           About\n *         </eui-toolbar-navbar-item>\n *       </eui-toolbar-navbar>\n *     </eui-toolbar>\n *   </eui-app-toolbar>\n * </eui-app>\n * ```\n * ```typescript\n * onNavItemClick(itemId: string): void {\n *   console.log('Selected:', itemId);\n * }\n * ```\n *\n * ### Accessibility\n * - Tab navigation keyboard accessible\n * - Active state clearly indicated\n * - Dropdown fallback for overflow\n * - Focus management for navigation\n * - ARIA attributes for tab structure\n * - Keyboard navigation between items\n *\n * ### Notes\n * - Must be used within eui-toolbar for proper layout\n * - Contains eui-toolbar-navbar-item children\n * - Automatically coordinates active state across items\n * - Responsive: switches to dropdown when items overflow\n * - Overflow detection based on parent toolbar width\n * - itemClick event emits selected item id\n * - itemSelected() method updates active states\n * - Only one item can be active at a time\n * - baseItemSelected tracks initially active item\n * - isDropdownView flag controls display mode\n * - Dropdown mode activated automatically on overflow\n * - Integrates with EuiAppShellService for responsive behavior\n */\n@Component({\n    selector: 'eui-toolbar-navbar',\n    templateUrl: './toolbar-navbar.component.html',\n    styleUrl: './toolbar-navbar.component.scss',\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        AsyncPipe,\n        ...EUI_ICON,\n        ...EUI_BUTTON,\n        ...EUI_DROPDOWN,\n    ],\n})\nexport class EuiToolbarNavbarComponent implements AfterContentInit, AfterViewInit {\n    @HostBinding() class = 'eui-toolbar-navbar';\n\n    /**\n     * Emitted when a navbar item is clicked or activated.\n     * Payload: string - the id of the selected navbar item\n     * Triggered when user clicks or keyboard-activates any navbar item. Automatically updates active state of all items.\n     */\n    @Output() itemClick: EventEmitter<string> = new EventEmitter();\n\n    @ContentChildren(forwardRef(() => EuiToolbarNavbarItemComponent)) items: QueryList<EuiToolbarNavbarItemComponent>;\n\n    asService = inject(EuiAppShellService);\n    public baseItemSelected: EuiToolbarNavbarItemComponent;\n    public isDropdownView = false;\n    private elementRef = inject(ElementRef);\n\n    ngAfterContentInit(): void {\n        this.baseItemSelected = this.items.filter((i) => i.isActive)[0];\n    }\n\n    ngAfterViewInit(): void {\n        // if (!this.asService?.state?.hasHeader) {\n            const parentWidth = this.elementRef.nativeElement.closest('eui-toolbar').clientWidth;\n            const width = this.elementRef.nativeElement.clientWidth;\n\n            if (width > parentWidth) {\n                setTimeout(() => {\n                    this.isDropdownView = true;\n                }, 1);\n            }\n        // }\n    }\n\n    /**\n     * Handles item selection from child navbar items.\n     * Updates active state across all items and emits itemClick event with selected item id.\n     * Called internally by child EuiToolbarNavbarItemComponent instances.\n     */\n    public itemSelected(id: string): void {\n        this.items.forEach((item) => {\n            if (item.id === id) {\n                item.isActive = true;\n            } else {\n                item.isActive = false;\n            }\n        });\n        this.itemClick.emit(id);\n    }\n}\n",
            "styleUrl": "./toolbar-navbar.component.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterContentInit",
                "AfterViewInit"
            ],
            "templateData": "@if ( (asService.breakpoints$ | async).isLtLargeTablet || isDropdownView ) {\n    <eui-dropdown isLabelUpdatedFromSelectedItem>\n        <button euiButton euiSecondary euiSizeS [attr.aria-label]=\"'Button trigger'\">\n            <span class=\"eui-label\">{{ baseItemSelected.label }}</span>\n            <eui-icon-svg icon=\"eui-chevron-down\" size=\"s\"></eui-icon-svg>\n        </button>\n        <eui-dropdown-content>\n            @for (item of items; track item) {\n            <button euiDropdownItem (click)=\"itemSelected(item.id)\" ariaLabel=\"{{ item.label }}\">\n                {{ item.label }}\n            </button>\n            }\n        </eui-dropdown-content>\n    </eui-dropdown>\n} @else {\n    <ng-content />\n}\n"
        },
        {
            "name": "EuiToolbarNavbarItemComponent",
            "id": "component-EuiToolbarNavbarItemComponent-c9633cd97e6d2a1dede148c85a3048336d1e82fdf033d3e2fbc2412364d2613f1576e61a50089d923b3a7ba7ac62fdb87ac4397ef076dbc7146f0a296b839ac6",
            "file": "packages/components/layout/eui-toolbar/toolbar-navbar-item/toolbar-navbar-item.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-toolbar-navbar-item",
            "styleUrls": [],
            "styles": [],
            "template": "{{ label }}",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUnique identifier for the navbar item.\nUsed by parent navbar component to track and manage selection state.\nRequired for proper item identification and selection handling.\n",
                    "description": "<p>Unique identifier for the navbar item.\nUsed by parent navbar component to track and manage selection state.\nRequired for proper item identification and selection handling.</p>\n",
                    "line": 84,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isActive",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3207,
                            "end": 3227,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3208,
                                "end": 3215,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIndicates whether this navbar item is currently active/selected.\nWhen true, applies active styling to highlight the current selection.\n",
                    "description": "<p>Indicates whether this navbar item is currently active/selected.\nWhen true, applies active styling to highlight the current selection.</p>\n",
                    "line": 98,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nText label displayed for the navbar item.\nProvides the visible text content for the navigation tab.\nRequired for item display.\n",
                    "description": "<p>Text label displayed for the navbar item.\nProvides the visible text content for the navigation tab.\nRequired for item display.</p>\n",
                    "line": 91,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "navBarComponentParent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiToolbarNavbarComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 100
                },
                {
                    "name": "tabindex",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "number",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 77,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.tabindex'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 109,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'click'"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ]
                },
                {
                    "name": "onKeydown",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 114,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'keydown', ['$event']"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.tabindex",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 77,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 70,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [
                {
                    "name": "click",
                    "args": [],
                    "argsDecorator": [],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 109
                },
                {
                    "name": "keydown",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$event"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 114
                }
            ],
            "standalone": false,
            "imports": [],
            "description": "<p>Navigation bar item component representing a single clickable tab or link within the toolbar navbar.\nProvides visual active state indication and keyboard navigation support (Enter/Space keys).\nAutomatically registers with parent EuiToolbarNavbarComponent to coordinate selection state.\nEmits selection events to parent when clicked or activated via keyboard.\nTypically used within eui-toolbar-navbar for horizontal tab navigation.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-app&gt;\n  &lt;eui-app-toolbar&gt;\n    &lt;eui-toolbar&gt;\n      &lt;eui-toolbar-navbar (itemClick)=&quot;onNavItemClick($event)&quot;&gt;\n        &lt;eui-toolbar-navbar-item\n          id=&quot;home&quot;\n          label=&quot;Home&quot;\n          [isActive]=&quot;true&quot;&gt;\n        &lt;/eui-toolbar-navbar-item&gt;\n        &lt;eui-toolbar-navbar-item\n          id=&quot;products&quot;\n          label=&quot;Products&quot;&gt;\n        &lt;/eui-toolbar-navbar-item&gt;\n      &lt;/eui-toolbar-navbar&gt;\n    &lt;/eui-toolbar&gt;\n  &lt;/eui-app-toolbar&gt;\n&lt;/eui-app&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Keyboard accessible (Enter/Space keys)</li>\n<li>Tabindex 0 for keyboard navigation</li>\n<li>Active state visually indicated</li>\n<li>Focus visible for keyboard users</li>\n<li>Click and keyboard events handled</li>\n<li>ARIA attributes for tab role</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-toolbar-navbar for proper functionality</li>\n<li>Automatically registers with parent navbar component</li>\n<li>id required for selection tracking</li>\n<li>label required for display text</li>\n<li>isActive controls active/selected state (default: false)</li>\n<li>Only one item should be active at a time (managed by parent)</li>\n<li>Click handler notifies parent via itemSelected()</li>\n<li>Enter and Space keys trigger selection</li>\n<li>Active state applies &#39;eui-toolbar-navbar-item--active&#39; class</li>\n<li>Parent navbar coordinates selection across all items</li>\n<li>Tabindex 0 makes item keyboard focusable</li>\n<li>Template displays label text only</li>\n</ul>\n",
            "rawdescription": "\n\nNavigation bar item component representing a single clickable tab or link within the toolbar navbar.\nProvides visual active state indication and keyboard navigation support (Enter/Space keys).\nAutomatically registers with parent EuiToolbarNavbarComponent to coordinate selection state.\nEmits selection events to parent when clicked or activated via keyboard.\nTypically used within eui-toolbar-navbar for horizontal tab navigation.\n\n```html\n<eui-app>\n  <eui-app-toolbar>\n    <eui-toolbar>\n      <eui-toolbar-navbar (itemClick)=\"onNavItemClick($event)\">\n        <eui-toolbar-navbar-item\n          id=\"home\"\n          label=\"Home\"\n          [isActive]=\"true\">\n        </eui-toolbar-navbar-item>\n        <eui-toolbar-navbar-item\n          id=\"products\"\n          label=\"Products\">\n        </eui-toolbar-navbar-item>\n      </eui-toolbar-navbar>\n    </eui-toolbar>\n  </eui-app-toolbar>\n</eui-app>\n```\n\n### Accessibility\n- Keyboard accessible (Enter/Space keys)\n- Tabindex 0 for keyboard navigation\n- Active state visually indicated\n- Focus visible for keyboard users\n- Click and keyboard events handled\n- ARIA attributes for tab role\n\n### Notes\n- Must be used within eui-toolbar-navbar for proper functionality\n- Automatically registers with parent navbar component\n- id required for selection tracking\n- label required for display text\n- isActive controls active/selected state (default: false)\n- Only one item should be active at a time (managed by parent)\n- Click handler notifies parent via itemSelected()\n- Enter and Space keys trigger selection\n- Active state applies 'eui-toolbar-navbar-item--active' class\n- Parent navbar coordinates selection across all items\n- Tabindex 0 makes item keyboard focusable\n- Template displays label text only\n",
            "type": "component",
            "sourceCode": "import {\n    ChangeDetectionStrategy,\n    Component,\n    HostBinding,\n    HostListener,\n    Input,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\nimport { EuiToolbarNavbarComponent } from '../toolbar-navbar/toolbar-navbar.component';\n\n/**\n * @description\n * Navigation bar item component representing a single clickable tab or link within the toolbar navbar.\n * Provides visual active state indication and keyboard navigation support (Enter/Space keys).\n * Automatically registers with parent EuiToolbarNavbarComponent to coordinate selection state.\n * Emits selection events to parent when clicked or activated via keyboard.\n * Typically used within eui-toolbar-navbar for horizontal tab navigation.\n * \n * @usageNotes\n * ```html\n * <eui-app>\n *   <eui-app-toolbar>\n *     <eui-toolbar>\n *       <eui-toolbar-navbar (itemClick)=\"onNavItemClick($event)\">\n *         <eui-toolbar-navbar-item\n *           id=\"home\"\n *           label=\"Home\"\n *           [isActive]=\"true\">\n *         </eui-toolbar-navbar-item>\n *         <eui-toolbar-navbar-item\n *           id=\"products\"\n *           label=\"Products\">\n *         </eui-toolbar-navbar-item>\n *       </eui-toolbar-navbar>\n *     </eui-toolbar>\n *   </eui-app-toolbar>\n * </eui-app>\n * ```\n *\n * ### Accessibility\n * - Keyboard accessible (Enter/Space keys)\n * - Tabindex 0 for keyboard navigation\n * - Active state visually indicated\n * - Focus visible for keyboard users\n * - Click and keyboard events handled\n * - ARIA attributes for tab role\n *\n * ### Notes\n * - Must be used within eui-toolbar-navbar for proper functionality\n * - Automatically registers with parent navbar component\n * - id required for selection tracking\n * - label required for display text\n * - isActive controls active/selected state (default: false)\n * - Only one item should be active at a time (managed by parent)\n * - Click handler notifies parent via itemSelected()\n * - Enter and Space keys trigger selection\n * - Active state applies 'eui-toolbar-navbar-item--active' class\n * - Parent navbar coordinates selection across all items\n * - Tabindex 0 makes item keyboard focusable\n * - Template displays label text only\n */\n@Component({\n    selector: 'eui-toolbar-navbar-item',\n    template: '{{ label }}',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiToolbarNavbarItemComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-toolbar-navbar-item',\n            this.isActive ? 'eui-toolbar-navbar-item--active' : '',\n        ].join(' ').trim();\n    }\n\n    @HostBinding('attr.tabindex') tabindex = 0;\n\n    /**\n     * Unique identifier for the navbar item.\n     * Used by parent navbar component to track and manage selection state.\n     * Required for proper item identification and selection handling.\n     */\n    @Input() id: string;\n\n    /**\n     * Text label displayed for the navbar item.\n     * Provides the visible text content for the navigation tab.\n     * Required for item display.\n     */\n    @Input() label: string;\n\n    /**\n     * Indicates whether this navbar item is currently active/selected.\n     * When true, applies active styling to highlight the current selection.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isActive = false;\n\n    navBarComponentParent: EuiToolbarNavbarComponent;\n\n    constructor() {\n        const navBarComponent = inject(EuiToolbarNavbarComponent, { host: true, optional: true })!;\n\n        this.navBarComponentParent = navBarComponent;\n    }\n\n    @HostListener('click')\n    protected onClick(): void {\n        this._click();\n    }\n\n    @HostListener('keydown', ['$event'])\n    protected onKeydown(event: KeyboardEvent): void {\n        switch (event.code) {\n            case 'Enter':\n            case 'Space':\n                event.preventDefault();\n                event.stopPropagation();\n                this._click();\n                break;\n        }\n    }\n\n    private _click(): void {\n        this.navBarComponentParent.itemSelected(this.id);\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [],
                "line": 100
            },
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 70
                    }
                }
            }
        },
        {
            "name": "EuiToolbarSearchComponent",
            "id": "component-EuiToolbarSearchComponent-1972243adbbb1d995dde7d0af2f17dc484ad2b0c598442f7ac545a2fd03cc4e356c948a91f6d1a8f6301afacc814df51f946b389efd11d8a537b023333e5fe8b",
            "file": "packages/components/layout/eui-toolbar/toolbar-search/toolbar-search.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-toolbar-search",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./toolbar-search.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "hasExpandAnimation",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5947,
                            "end": 5966,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5948,
                                "end": 5955,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables expand animation when search input gains focus.\nWhen true, animates the input field expansion. When false, input expands instantly.\n",
                    "description": "<p>Enables expand animation when search input gains focus.\nWhen true, animates the input field expansion. When false, input expands instantly.</p>\n",
                    "line": 175,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasSearchButton",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5685,
                            "end": 5705,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5686,
                                "end": 5693,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nShows a search button next to the input field.\nWhen true, displays a button to trigger search action explicitly.\n",
                    "description": "<p>Shows a search button next to the input field.\nWhen true, displays a button to trigger search action explicitly.</p>\n",
                    "line": 168,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isAutocomplete",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5126,
                            "end": 5223,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5127,
                                "end": 5134,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false (automatically set to true if both isInputText and isAutocomplete are false)</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables autocomplete mode with dropdown suggestions.\nWhen true, displays autocomplete dropdown. Automatically disables isInputText.\n",
                    "description": "<p>Enables autocomplete mode with dropdown suggestions.\nWhen true, displays autocomplete dropdown. Automatically disables isInputText.</p>\n",
                    "line": 154,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isInputText",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5454,
                            "end": 5474,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5455,
                                "end": 5462,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables plain text input mode without autocomplete.\nWhen true, displays simple text input. Automatically disables isAutocomplete.\n",
                    "description": "<p>Enables plain text input mode without autocomplete.\nWhen true, displays simple text input. Automatically disables isAutocomplete.</p>\n",
                    "line": 161,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "panelWidth",
                    "defaultValue": "'25vw'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4627,
                            "end": 4648,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4628,
                                "end": 4635,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;25vw&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWidth of the autocomplete dropdown panel.\nAccepts any valid CSS width value.\n",
                    "description": "<p>Width of the autocomplete dropdown panel.\nAccepts any valid CSS width value.</p>\n",
                    "line": 140,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "placeholderLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nPlaceholder text displayed in the search input when empty.\nProvides hint text to guide users on what they can search for.\nOptional.\n",
                    "description": "<p>Placeholder text displayed in the search input when empty.\nProvides hint text to guide users on what they can search for.\nOptional.</p>\n",
                    "line": 133,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "searchResults",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4879,
                            "end": 4905,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4880,
                                "end": 4887,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>empty array</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nArray of autocomplete suggestion items displayed in the dropdown.\nOnly used when isAutocomplete is true. Each item should conform to EuiAutoCompleteItem interface.\n",
                    "description": "<p>Array of autocomplete suggestion items displayed in the dropdown.\nOnly used when isAutocomplete is true. Each item should conform to EuiAutoCompleteItem interface.</p>\n",
                    "line": 147,
                    "type": "EuiAutoCompleteItem[]",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "inputBlur",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the search input loses focus.\nPayload: Event - the blur event\nTriggered when user leaves the search input field, unless search button is present and input has value.\n",
                    "description": "<p>Emitted when the search input loses focus.\nPayload: Event - the blur event\nTriggered when user leaves the search input field, unless search button is present and input has value.</p>\n",
                    "line": 211,
                    "type": "EventEmitter<Event>"
                },
                {
                    "name": "inputFocus",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the search input gains focus.\nPayload: Event - the focus event\nTriggered when user focuses on the search input field.\n",
                    "description": "<p>Emitted when the search input gains focus.\nPayload: Event - the focus event\nTriggered when user focuses on the search input field.</p>\n",
                    "line": 204,
                    "type": "EventEmitter<Event>"
                },
                {
                    "name": "search",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when a search is performed via Enter key or autocomplete input change.\nPayload: string - the search term entered by the user\nTriggered on Enter key press in text input mode or autocomplete input change.\n",
                    "description": "<p>Emitted when a search is performed via Enter key or autocomplete input change.\nPayload: string - the search term entered by the user\nTriggered on Enter key press in text input mode or autocomplete input change.</p>\n",
                    "line": 183,
                    "type": "EventEmitter<string>"
                },
                {
                    "name": "searchClick",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the search button is clicked.\nPayload: string - the current search input value, or null if icon-only mode\nTriggered when user clicks the search button (when hasSearchButton is true).\n",
                    "description": "<p>Emitted when the search button is clicked.\nPayload: string - the current search input value, or null if icon-only mode\nTriggered when user clicks the search button (when hasSearchButton is true).</p>\n",
                    "line": 197,
                    "type": "EventEmitter<string>"
                },
                {
                    "name": "selectionChange",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when autocomplete selection changes.\nPayload: EuiAutoCompleteItem[] - array of selected autocomplete items\nTriggered when user selects or deselects items in autocomplete mode.\n",
                    "description": "<p>Emitted when autocomplete selection changes.\nPayload: EuiAutoCompleteItem[] - array of selected autocomplete items\nTriggered when user selects or deselects items in autocomplete mode.</p>\n",
                    "line": 190,
                    "type": "EventEmitter<EuiAutoCompleteItem[]>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 214,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "isInputFocus",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 122
                },
                {
                    "name": "resultItemTemplate",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "TemplateRef<literal type>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 126,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "searchInput",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 124
                },
                {
                    "name": "searchTerm",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 123
                },
                {
                    "name": "templates",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiTemplateDirective>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 213,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "EuiTemplateDirective"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 216,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 230,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onInputBlur",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 247,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onInputFocus",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 242,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onSearch",
                    "args": [
                        {
                            "name": "e",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 254,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "e",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onSearchClick",
                    "args": [
                        {
                            "name": "isIconOnly",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 266,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "isIconOnly",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onSearchInput",
                    "args": [
                        {
                            "name": "e",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 259,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "e",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onSelectionChange",
                    "args": [
                        {
                            "name": "items",
                            "type": "EuiAutoCompleteItem[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 238,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "items",
                            "type": "EuiAutoCompleteItem[]",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 112,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_ICON_BUTTON"
                },
                {
                    "name": "EUI_AUTOCOMPLETE"
                },
                {
                    "name": "EUI_ICON_INPUT"
                },
                {
                    "name": "EUI_INPUT_TEXT"
                },
                {
                    "name": "EuiTemplateDirective",
                    "type": "directive"
                },
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "FormsModule",
                    "type": "module"
                },
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                }
            ],
            "description": "<p>Toolbar search component providing an expandable search input with autocomplete or plain text input modes.\nOffers flexible search functionality with optional search button, expand animation, and custom result templates.\nSupports two modes: autocomplete with dropdown suggestions or simple text input with enter-to-search.\nIntegrates with EuiAppShellService for responsive behavior and theme coordination.\nEmits events for search actions, selection changes, and focus state for parent components to handle search logic.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Autocomplete mode --&gt;\n&lt;eui-app&gt;\n  &lt;eui-app-toolbar&gt;\n    &lt;eui-toolbar&gt;\n      &lt;eui-toolbar-search\n        [isAutocomplete]=&quot;true&quot;\n        [searchResults]=&quot;searchResults&quot;\n        placeholderLabel=&quot;Search...&quot;\n        (search)=&quot;onSearch($event)&quot;\n        (selectionChange)=&quot;onSelectionChange($event)&quot;&gt;\n      &lt;/eui-toolbar-search&gt;\n    &lt;/eui-toolbar&gt;\n  &lt;/eui-app-toolbar&gt;\n&lt;/eui-app&gt;\n\n&lt;!-- Text input mode --&gt;\n&lt;eui-toolbar-search\n  [isInputText]=&quot;true&quot;\n  [hasSearchButton]=&quot;true&quot;\n  (search)=&quot;onSearch($event)&quot;&gt;\n&lt;/eui-toolbar-search&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">searchResults: EuiAutoCompleteItem[] = [\n  { id: 1, label: &#39;Result 1&#39; },\n  { id: 2, label: &#39;Result 2&#39; }\n];</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Search input keyboard accessible</li>\n<li>Enter key triggers search</li>\n<li>Focus and blur events managed</li>\n<li>Placeholder provides context</li>\n<li>Autocomplete dropdown keyboard navigable</li>\n<li>Search button keyboard accessible</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-toolbar for proper layout</li>\n<li>Two modes: autocomplete (default) or text input</li>\n<li>isAutocomplete and isInputText are mutually exclusive</li>\n<li>Default mode is autocomplete if neither specified</li>\n<li>searchResults for autocomplete suggestions</li>\n<li>hasSearchButton adds explicit search button</li>\n<li>hasExpandAnimation controls focus expansion (default: true)</li>\n<li>panelWidth for autocomplete dropdown (default: &#39;25vw&#39;)</li>\n<li>search event on Enter key or autocomplete change</li>\n<li>selectionChange event for autocomplete selections</li>\n<li>searchClick event for button clicks</li>\n<li>inputFocus/inputBlur events for focus state</li>\n<li>Custom result templates via EuiTemplateDirective</li>\n<li>Focus state applies &#39;eui-toolbar-search--focus&#39; class</li>\n<li>Integrates with EuiAppShellService</li>\n</ul>\n",
            "rawdescription": "\n\nToolbar search component providing an expandable search input with autocomplete or plain text input modes.\nOffers flexible search functionality with optional search button, expand animation, and custom result templates.\nSupports two modes: autocomplete with dropdown suggestions or simple text input with enter-to-search.\nIntegrates with EuiAppShellService for responsive behavior and theme coordination.\nEmits events for search actions, selection changes, and focus state for parent components to handle search logic.\n\n```html\n<!-- Autocomplete mode -->\n<eui-app>\n  <eui-app-toolbar>\n    <eui-toolbar>\n      <eui-toolbar-search\n        [isAutocomplete]=\"true\"\n        [searchResults]=\"searchResults\"\n        placeholderLabel=\"Search...\"\n        (search)=\"onSearch($event)\"\n        (selectionChange)=\"onSelectionChange($event)\">\n      </eui-toolbar-search>\n    </eui-toolbar>\n  </eui-app-toolbar>\n</eui-app>\n\n<!-- Text input mode -->\n<eui-toolbar-search\n  [isInputText]=\"true\"\n  [hasSearchButton]=\"true\"\n  (search)=\"onSearch($event)\">\n</eui-toolbar-search>\n```\n```typescript\nsearchResults: EuiAutoCompleteItem[] = [\n  { id: 1, label: 'Result 1' },\n  { id: 2, label: 'Result 2' }\n];\n```\n\n### Accessibility\n- Search input keyboard accessible\n- Enter key triggers search\n- Focus and blur events managed\n- Placeholder provides context\n- Autocomplete dropdown keyboard navigable\n- Search button keyboard accessible\n\n### Notes\n- Must be used within eui-toolbar for proper layout\n- Two modes: autocomplete (default) or text input\n- isAutocomplete and isInputText are mutually exclusive\n- Default mode is autocomplete if neither specified\n- searchResults for autocomplete suggestions\n- hasSearchButton adds explicit search button\n- hasExpandAnimation controls focus expansion (default: true)\n- panelWidth for autocomplete dropdown (default: '25vw')\n- search event on Enter key or autocomplete change\n- selectionChange event for autocomplete selections\n- searchClick event for button clicks\n- inputFocus/inputBlur events for focus state\n- Custom result templates via EuiTemplateDirective\n- Focus state applies 'eui-toolbar-search--focus' class\n- Integrates with EuiAppShellService\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    ContentChildren,\n    ChangeDetectionStrategy,\n    HostBinding,\n    Input,\n    Output,\n    EventEmitter,\n    TemplateRef,\n    AfterViewInit,\n    QueryList,\n    booleanAttribute,\n    AfterContentInit,\n    inject,\n} from '@angular/core';\nimport { EUI_AUTOCOMPLETE, EuiAutoCompleteItem } from '@eui/components/eui-autocomplete';\n\nimport { EuiTemplateDirective } from '@eui/components/directives';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_ICON_INPUT } from '@eui/components/eui-icon-input';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\nimport { FormsModule } from '@angular/forms';\nimport { EuiAppShellService } from '@eui/core';\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\n\n/**\n * @description\n * Toolbar search component providing an expandable search input with autocomplete or plain text input modes.\n * Offers flexible search functionality with optional search button, expand animation, and custom result templates.\n * Supports two modes: autocomplete with dropdown suggestions or simple text input with enter-to-search.\n * Integrates with EuiAppShellService for responsive behavior and theme coordination.\n * Emits events for search actions, selection changes, and focus state for parent components to handle search logic.\n * \n * @usageNotes\n * ```html\n * <!-- Autocomplete mode -->\n * <eui-app>\n *   <eui-app-toolbar>\n *     <eui-toolbar>\n *       <eui-toolbar-search\n *         [isAutocomplete]=\"true\"\n *         [searchResults]=\"searchResults\"\n *         placeholderLabel=\"Search...\"\n *         (search)=\"onSearch($event)\"\n *         (selectionChange)=\"onSelectionChange($event)\">\n *       </eui-toolbar-search>\n *     </eui-toolbar>\n *   </eui-app-toolbar>\n * </eui-app>\n *\n * <!-- Text input mode -->\n * <eui-toolbar-search\n *   [isInputText]=\"true\"\n *   [hasSearchButton]=\"true\"\n *   (search)=\"onSearch($event)\">\n * </eui-toolbar-search>\n * ```\n * ```typescript\n * searchResults: EuiAutoCompleteItem[] = [\n *   { id: 1, label: 'Result 1' },\n *   { id: 2, label: 'Result 2' }\n * ];\n * ```\n *\n * ### Accessibility\n * - Search input keyboard accessible\n * - Enter key triggers search\n * - Focus and blur events managed\n * - Placeholder provides context\n * - Autocomplete dropdown keyboard navigable\n * - Search button keyboard accessible\n *\n * ### Notes\n * - Must be used within eui-toolbar for proper layout\n * - Two modes: autocomplete (default) or text input\n * - isAutocomplete and isInputText are mutually exclusive\n * - Default mode is autocomplete if neither specified\n * - searchResults for autocomplete suggestions\n * - hasSearchButton adds explicit search button\n * - hasExpandAnimation controls focus expansion (default: true)\n * - panelWidth for autocomplete dropdown (default: '25vw')\n * - search event on Enter key or autocomplete change\n * - selectionChange event for autocomplete selections\n * - searchClick event for button clicks\n * - inputFocus/inputBlur events for focus state\n * - Custom result templates via EuiTemplateDirective\n * - Focus state applies 'eui-toolbar-search--focus' class\n * - Integrates with EuiAppShellService\n */\n@Component({\n    selector: 'eui-toolbar-search',\n    templateUrl: './toolbar-search.component.html',\n    styleUrl: './toolbar-search.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        ...EUI_BUTTON,\n        ...EUI_ICON,\n        ...EUI_ICON_BUTTON,\n        ...EUI_AUTOCOMPLETE,\n        ...EUI_ICON_INPUT,\n        ...EUI_INPUT_TEXT,\n        EuiTemplateDirective,\n        NgTemplateOutlet,\n        FormsModule,\n        AsyncPipe,\n    ],\n})\nexport class EuiToolbarSearchComponent implements AfterViewInit, AfterContentInit {\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [\n            'eui-toolbar-search',\n            this.isInputFocus ? 'eui-toolbar-search--focus' : '',\n            !this.hasExpandAnimation ? 'eui-toolbar-search--no-animation': '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    isInputFocus = false;\n    searchTerm: string;\n    searchInput = '';\n\n    public resultItemTemplate: TemplateRef<{ $implicit: EuiAutoCompleteItem }>;\n\n    /**\n     * Placeholder text displayed in the search input when empty.\n     * Provides hint text to guide users on what they can search for.\n     * Optional.\n     */\n    @Input() placeholderLabel: string;\n\n    /**\n     * Width of the autocomplete dropdown panel.\n     * Accepts any valid CSS width value.\n     * @default '25vw'\n     */\n    @Input() panelWidth = '25vw';\n\n    /**\n     * Array of autocomplete suggestion items displayed in the dropdown.\n     * Only used when isAutocomplete is true. Each item should conform to EuiAutoCompleteItem interface.\n     * @default empty array\n     */\n    @Input() searchResults: EuiAutoCompleteItem[] = [];\n\n    /**\n     * Enables autocomplete mode with dropdown suggestions.\n     * When true, displays autocomplete dropdown. Automatically disables isInputText.\n     * @default false (automatically set to true if both isInputText and isAutocomplete are false)\n     */\n    @Input({ transform: booleanAttribute }) isAutocomplete = false;\n\n    /**\n     * Enables plain text input mode without autocomplete.\n     * When true, displays simple text input. Automatically disables isAutocomplete.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isInputText = false;\n\n    /**\n     * Shows a search button next to the input field.\n     * When true, displays a button to trigger search action explicitly.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasSearchButton = false;\n\n    /**\n     * Enables expand animation when search input gains focus.\n     * When true, animates the input field expansion. When false, input expands instantly.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) hasExpandAnimation = true;\n\n    /**\n     * Emitted when a search is performed via Enter key or autocomplete input change.\n     * Payload: string - the search term entered by the user\n     * Triggered on Enter key press in text input mode or autocomplete input change.\n     */\n    // eslint-disable-next-line @angular-eslint/no-output-native\n    @Output() search: EventEmitter<string> = new EventEmitter();\n\n    /**\n     * Emitted when autocomplete selection changes.\n     * Payload: EuiAutoCompleteItem[] - array of selected autocomplete items\n     * Triggered when user selects or deselects items in autocomplete mode.\n     */\n    @Output() selectionChange: EventEmitter<EuiAutoCompleteItem[]> = new EventEmitter();\n\n    /**\n     * Emitted when the search button is clicked.\n     * Payload: string - the current search input value, or null if icon-only mode\n     * Triggered when user clicks the search button (when hasSearchButton is true).\n     */\n    @Output() searchClick: EventEmitter<string> = new EventEmitter();\n\n    /**\n     * Emitted when the search input gains focus.\n     * Payload: Event - the focus event\n     * Triggered when user focuses on the search input field.\n     */\n    @Output() inputFocus: EventEmitter<Event> = new EventEmitter();\n\n    /**\n     * Emitted when the search input loses focus.\n     * Payload: Event - the blur event\n     * Triggered when user leaves the search input field, unless search button is present and input has value.\n     */\n    @Output() inputBlur: EventEmitter<Event> = new EventEmitter();\n\n    @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n    protected asService = inject(EuiAppShellService);\n\n    ngAfterContentInit(): void {\n        if (this.isAutocomplete) {\n            this.isInputText = false;\n        }\n\n        if (this.isInputText) {\n            this.isAutocomplete = false;\n        }\n\n        if (!this.isInputText && !this.isAutocomplete) {\n            this.isAutocomplete = true;\n        }\n    }\n\n    ngAfterViewInit(): void {\n        this.templates.forEach((item) => {\n            if (item.getType() === 'resultItemTemplate') {\n                this.resultItemTemplate = item.template;\n            }\n        });\n    }\n\n    onSelectionChange(items: EuiAutoCompleteItem[]): void {\n        this.selectionChange.emit(items);\n    }\n\n    onInputFocus(): void {\n        this.inputFocus.emit();\n        this.isInputFocus = true;\n    }\n\n    onInputBlur(): void {\n        if (!this.hasSearchButton || (this.hasSearchButton && this.searchInput === '')) {\n            this.inputBlur.emit();\n            this.isInputFocus = false;\n        }\n    }\n\n    onSearch(e: string): void {\n        this.searchTerm = e;\n        this.search.emit(e);\n    }\n\n    onSearchInput(e: KeyboardEvent): void {\n        if (e.code === 'Enter' || e.code === 'NumpadEnter') {\n            this.searchTerm = this.searchInput;\n            this.search.emit(this.searchInput);\n        }\n    }\n\n    onSearchClick(isIconOnly: boolean): void {\n        if (isIconOnly) {\n            this.searchClick.emit(null);\n        } else {\n            this.isInputFocus = false;\n            if (this.searchInput) {\n                this.searchClick.emit(this.searchInput);\n            }\n        }\n    }\n}\n",
            "styleUrl": "./toolbar-search.component.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterViewInit",
                "AfterContentInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 112
                    }
                }
            },
            "templateData": "@if ((asService.breakpoints$ | async).isLtLargeTablet) {\n    <eui-icon-button icon=\"eui-search\" (buttonClick)=\"onSearchClick(true)\"/>\n\n} @else {\n    <eui-icon-input euiIconPositionEnd>\n        @if (isAutocomplete) {\n            <eui-autocomplete [autocompleteData]=\"searchResults\"\n                placeholder=\"{{placeholderLabel}}\"\n                panelWidth=\"{{panelWidth}}\"\n                (inputBlur)=\"onInputBlur()\"\n                (inputFocus)=\"onInputFocus()\"\n                (selectionChange)=\"onSelectionChange($event)\"\n                (inputChange)=\"onSearch($event)\">\n                @if (templates.length !== 0) {\n                    <ng-template let-option euiTemplate=\"dropdownOption\">\n                        <ng-container\n                            [ngTemplateOutlet]=\"resultItemTemplate\"\n                            [ngTemplateOutletContext]=\"{ $implicit: option }\" />\n                    </ng-template>\n                }\n            </eui-autocomplete>\n        } @else {\n            @if (isInputText) {\n                <input euiInputText class=\"eui-toolbar-search-bar__input\" [(ngModel)]=\"searchInput\"\n                    placeholder=\"{{ placeholderLabel }}\"\n                    (focus)=\"onInputFocus()\" (blur)=\"onInputBlur()\" (keydown)=\"onSearchInput($event)\" />\n            }\n        }\n\n        @if (hasSearchButton) {\n            <button class=\"eui-toolbar-search__input-button\"\n                euiButton\n                euiIconButton\n                euiSizeS\n                [euiSecondary]=\"isInputFocus\"\n                [euiPrimary]=\"!isInputFocus\"\n                (click)=\"onSearchClick(false)\"\n                aria-label=\"search button\">\n                <eui-icon-svg icon=\"eui-search\" size=\"s\"></eui-icon-svg>\n            </button>\n        } @else {\n            <eui-icon-svg icon=\"eui-search\" size=\"s\" />\n        }\n    </eui-icon-input>\n\n}\n\n"
        },
        {
            "name": "EuiToolbarSelectorComponent",
            "id": "component-EuiToolbarSelectorComponent-8b0b06000a3269b95d4e80fff803e34d2cb87c4dcaf502e35e361d0ae7db4f82381b2311d15d9b09c6c134c756aee3c963d09e39bbb95ffb5bcbdb7490e75b40",
            "file": "packages/components/layout/eui-toolbar/toolbar-selector/toolbar-selector.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-toolbar-selector",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./toolbar-selector.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "euiDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3161,
                            "end": 3181,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3162,
                                "end": 3169,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nDisables the selector button preventing user interaction.\nWhen true, button is visually disabled and click events are not emitted.\n",
                    "description": "<p>Disables the selector button preventing user interaction.\nWhen true, button is visually disabled and click events are not emitted.</p>\n",
                    "line": 103,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "iconSvgName",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSVG icon name displayed on the selector button.\nFollows EUI icon naming convention (e.g., 'chevron-down:outline').\nOptional.\n",
                    "description": "<p>SVG icon name displayed on the selector button.\nFollows EUI icon naming convention (e.g., &#39;chevron-down:outline&#39;).\nOptional.</p>\n",
                    "line": 96,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nText label displayed on the selector button.\nProvides context for what the selector controls or represents.\nOptional.\n",
                    "description": "<p>Text label displayed on the selector button.\nProvides context for what the selector controls or represents.\nOptional.</p>\n",
                    "line": 89,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "selectorClick",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when the selector button is clicked.\nPayload: boolean - always emits true to indicate click occurred\nTriggered when user clicks the selector button and it is not disabled.\n",
                    "description": "<p>Emitted when the selector button is clicked.\nPayload: boolean - always emits true to indicate click occurred\nTriggered when user clicks the selector button and it is not disabled.</p>\n",
                    "line": 110,
                    "type": "EventEmitter<boolean>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "asService",
                    "defaultValue": "inject(EuiAppShellService)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 111,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "class",
                    "defaultValue": "'eui-toolbar-selector'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 82,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": ""
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 113,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-toolbar-selector'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 82,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "AsyncPipe",
                    "type": "pipe"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_ICON_BUTTON"
                }
            ],
            "description": "<p>Toolbar selector component providing a clickable button with icon and label for triggering selection actions.\nTypically used for context switching, workspace selection, or opening dropdown menus in the toolbar.\nIntegrates with EuiAppShellService for responsive behavior and theme coordination.\nSupports disabled state and emits click events for parent components to handle selection logic.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-app&gt;\n  &lt;eui-app-toolbar&gt;\n    &lt;eui-toolbar&gt;\n      &lt;eui-toolbar-selector\n        label=&quot;Select Workspace&quot;\n        iconSvgName=&quot;chevron-down:outline&quot;\n        [euiDisabled]=&quot;false&quot;\n        (selectorClick)=&quot;onSelectorClick()&quot;&gt;\n      &lt;/eui-toolbar-selector&gt;\n    &lt;/eui-toolbar&gt;\n  &lt;/eui-app-toolbar&gt;\n&lt;/eui-app&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">onSelectorClick(): void {\n  // Open dropdown or handle selection\n  console.log(&#39;Selector clicked&#39;);\n}</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Button keyboard accessible</li>\n<li>Disabled state prevents interaction</li>\n<li>Label provides context</li>\n<li>Icon enhances visual affordance</li>\n<li>Focus visible for keyboard navigation</li>\n<li>Click events properly handled</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-toolbar for proper layout</li>\n<li>Positioned in toolbar content area</li>\n<li>label for button text (optional)</li>\n<li>iconSvgName for button icon (optional)</li>\n<li>euiDisabled to disable button (default: false)</li>\n<li>selectorClick event emits true on click</li>\n<li>Common use: workspace/context switching</li>\n<li>Often paired with dropdown menus</li>\n<li>Integrates with EuiAppShellService</li>\n<li>Responsive behavior inherited from toolbar</li>\n<li>Button styling follows EUI button patterns</li>\n</ul>\n",
            "rawdescription": "\n\nToolbar selector component providing a clickable button with icon and label for triggering selection actions.\nTypically used for context switching, workspace selection, or opening dropdown menus in the toolbar.\nIntegrates with EuiAppShellService for responsive behavior and theme coordination.\nSupports disabled state and emits click events for parent components to handle selection logic.\n\n```html\n<eui-app>\n  <eui-app-toolbar>\n    <eui-toolbar>\n      <eui-toolbar-selector\n        label=\"Select Workspace\"\n        iconSvgName=\"chevron-down:outline\"\n        [euiDisabled]=\"false\"\n        (selectorClick)=\"onSelectorClick()\">\n      </eui-toolbar-selector>\n    </eui-toolbar>\n  </eui-app-toolbar>\n</eui-app>\n```\n```typescript\nonSelectorClick(): void {\n  // Open dropdown or handle selection\n  console.log('Selector clicked');\n}\n```\n\n### Accessibility\n- Button keyboard accessible\n- Disabled state prevents interaction\n- Label provides context\n- Icon enhances visual affordance\n- Focus visible for keyboard navigation\n- Click events properly handled\n\n### Notes\n- Must be used within eui-toolbar for proper layout\n- Positioned in toolbar content area\n- label for button text (optional)\n- iconSvgName for button icon (optional)\n- euiDisabled to disable button (default: false)\n- selectorClick event emits true on click\n- Common use: workspace/context switching\n- Often paired with dropdown menus\n- Integrates with EuiAppShellService\n- Responsive behavior inherited from toolbar\n- Button styling follows EUI button patterns\n",
            "type": "component",
            "sourceCode": "import { AsyncPipe } from '@angular/common';\nimport {\n    Component,\n    ChangeDetectionStrategy,\n    HostBinding,\n    ViewEncapsulation,\n    Input,\n    booleanAttribute,\n    Output,\n    EventEmitter,\n    inject,\n} from '@angular/core';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\nimport { EuiAppShellService } from '@eui/core';\n\n/**\n * @description\n * Toolbar selector component providing a clickable button with icon and label for triggering selection actions.\n * Typically used for context switching, workspace selection, or opening dropdown menus in the toolbar.\n * Integrates with EuiAppShellService for responsive behavior and theme coordination.\n * Supports disabled state and emits click events for parent components to handle selection logic.\n * \n * @usageNotes\n * ```html\n * <eui-app>\n *   <eui-app-toolbar>\n *     <eui-toolbar>\n *       <eui-toolbar-selector\n *         label=\"Select Workspace\"\n *         iconSvgName=\"chevron-down:outline\"\n *         [euiDisabled]=\"false\"\n *         (selectorClick)=\"onSelectorClick()\">\n *       </eui-toolbar-selector>\n *     </eui-toolbar>\n *   </eui-app-toolbar>\n * </eui-app>\n * ```\n * ```typescript\n * onSelectorClick(): void {\n *   // Open dropdown or handle selection\n *   console.log('Selector clicked');\n * }\n * ```\n *\n * ### Accessibility\n * - Button keyboard accessible\n * - Disabled state prevents interaction\n * - Label provides context\n * - Icon enhances visual affordance\n * - Focus visible for keyboard navigation\n * - Click events properly handled\n *\n * ### Notes\n * - Must be used within eui-toolbar for proper layout\n * - Positioned in toolbar content area\n * - label for button text (optional)\n * - iconSvgName for button icon (optional)\n * - euiDisabled to disable button (default: false)\n * - selectorClick event emits true on click\n * - Common use: workspace/context switching\n * - Often paired with dropdown menus\n * - Integrates with EuiAppShellService\n * - Responsive behavior inherited from toolbar\n * - Button styling follows EUI button patterns\n */\n@Component({\n    selector: 'eui-toolbar-selector',\n    templateUrl: './toolbar-selector.component.html',\n    styleUrl: './toolbar-selector.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        AsyncPipe,\n        ...EUI_BUTTON,\n        ...EUI_ICON,\n        ...EUI_ICON_BUTTON,\n    ],\n})\nexport class EuiToolbarSelectorComponent {\n    @HostBinding() class = 'eui-toolbar-selector';\n\n    /**\n     * Text label displayed on the selector button.\n     * Provides context for what the selector controls or represents.\n     * Optional.\n     */\n    @Input() label: string;\n\n    /**\n     * SVG icon name displayed on the selector button.\n     * Follows EUI icon naming convention (e.g., 'chevron-down:outline').\n     * Optional.\n     */\n    @Input() iconSvgName: string;\n\n    /**\n     * Disables the selector button preventing user interaction.\n     * When true, button is visually disabled and click events are not emitted.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) euiDisabled = false;\n\n    /**\n     * Emitted when the selector button is clicked.\n     * Payload: boolean - always emits true to indicate click occurred\n     * Triggered when user clicks the selector button and it is not disabled.\n     */\n    @Output() selectorClick: EventEmitter<boolean> = new EventEmitter();\n    protected asService = inject(EuiAppShellService);\n\n    onClick(): void {\n        this.selectorClick.emit(true);\n    }\n}\n",
            "styleUrl": "./toolbar-selector.component.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "templateData": "@if ((asService.breakpoints$ | async).isLtLargeTablet) {\n    <eui-icon-button [icon]=\"iconSvgName\" (buttonClick)=\"onClick()\"/>\n} @else {\n    <button euiButton euiButtonOutline [euiDisabled]=\"euiDisabled\" (click)=\"onClick()\" class=\"eui-toolbar-selector__button\">\n        {{ label }}\n        <eui-icon-svg [icon]=\"iconSvgName\" size=\"s\" class=\"eui-u-ml-m\"></eui-icon-svg>\n    </button>\n}\n"
        },
        {
            "name": "EuiTooltipContainerComponent",
            "id": "component-EuiTooltipContainerComponent-e04f49776385b16f2c046bed07edc226969786eaf76d08df0a086cbc6e6bd6766c4b49e3433f420e660fbd13e7a54e53a186f6c279ece2dc88f37b1f4d3c8f7d",
            "file": "packages/components/directives/eui-tooltip/container/eui-tooltip-container.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-tooltip-container.component",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "eui-tooltip-container.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "config",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 650,
                            "end": 771,
                            "kind": 345,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 651,
                                "end": 655,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "type"
                            },
                            "comment": "<p>A config object containing e2eAttr, tooltipContent, position, contentAlign, colorClass.</p>\n",
                            "typeExpression": {
                                "pos": 656,
                                "end": 677,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 657,
                                    "end": 676,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 657,
                                        "end": 676,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "EuiTooltipInterface"
                                    }
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nConfiguration provided by euiTooltip directive at instantiation.\n\n",
                    "description": "<p>Configuration provided by euiTooltip directive at instantiation.</p>\n",
                    "line": 19,
                    "type": "EuiTooltipInterface",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "e2e",
                    "defaultValue": "'eui-tooltip'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Sets the <code>data-e2e</code> attribute for the host element.</p>\n",
                    "line": 25,
                    "rawdescription": "\n\nSets the `data-e2e` attribute for the host element.\n\n",
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.data-e2e'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "pos": 897,
                            "end": 925,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 898,
                                "end": 905,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-tooltip&#39;</p>\n"
                        }
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "@showHide",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 38,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "attr.data-e2e",
                    "defaultValue": "'eui-tooltip'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 897,
                            "end": 925,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 898,
                                "end": 905,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-tooltip&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the `data-e2e` attribute for the host element.\n\n",
                    "description": "<p>Sets the <code>data-e2e</code> attribute for the host element.</p>\n",
                    "line": 25,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 998,
                            "end": 1115,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 999,
                                "end": 1010,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "description"
                            },
                            "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                        },
                        {
                            "pos": 1115,
                            "end": 1180,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 1116,
                                "end": 1123,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>Space-separated string of CSS class names</p>\n",
                            "typeExpression": {
                                "pos": 1124,
                                "end": 1132,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 1125,
                                    "end": 1131,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                    "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                    "line": 33,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\nimport { showHide } from '../animations/show-hide';\nimport { EuiTooltipInterface } from '../models/eui-tooltip.config';\n\n@Component({\n    selector: 'eui-tooltip-container.component',\n    templateUrl: 'eui-tooltip-container.component.html',\n    // Styles are in globals: \\packages\\styles\\src\\styles\\07-elements\\directives\\_eui-tooltip.scss\n    animations: [showHide],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiTooltipContainerComponent {\n    /**\n     * Configuration provided by euiTooltip directive at instantiation.\n     *\n     * @type {EuiTooltipInterface} A config object containing e2eAttr, tooltipContent, position, contentAlign, colorClass.\n     */\n    @Input() config: EuiTooltipInterface;\n    /**\n     * Sets the `data-e2e` attribute for the host element.\n     *\n     * @default 'eui-tooltip'\n     */\n    @HostBinding('attr.data-e2e') e2e = 'eui-tooltip';\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 ['eui-tooltip', 'eui-tooltip--content-' + this.config.contentAlign, 'eui-tooltip--' + this.config.colorClass]\n            .join(' ')\n            .trim();\n    }\n    @HostBinding('@showHide') get showHide(): string {\n        return 'visible';\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 33,
                        "rawdescription": "\n\nComputes and returns the CSS classes for the component based on its current state.\n\n",
                        "description": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 998,
                                "end": 1115,
                                "kind": 328,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 999,
                                    "end": 1010,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "description"
                                },
                                "comment": "<p>Computes and returns the CSS classes for the component based on its current state.</p>\n"
                            },
                            {
                                "pos": 1115,
                                "end": 1180,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 1116,
                                    "end": 1123,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "<p>Space-separated string of CSS class names</p>\n",
                                "typeExpression": {
                                    "pos": 1124,
                                    "end": 1132,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 1125,
                                        "end": 1131,
                                        "kind": 154,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                },
                "showHide": {
                    "name": "showHide",
                    "getSignature": {
                        "name": "showHide",
                        "type": "string",
                        "returnType": "string",
                        "line": 38
                    }
                }
            },
            "templateData": "<div [innerHTML]=\"config.tooltipContent\"></div>\n"
        },
        {
            "name": "EuiTreeComponent",
            "id": "component-EuiTreeComponent-97b0abaa5647a3a8e288d8553f8ac3eb338b8c37e7593bcae605babf22f10b5fb85f0bfaa1cbeedb5697171cc8b1cb27ce190f6e288b09d86741c2628fbeca39",
            "file": "packages/components/eui-tree/eui-tree.component.ts",
            "changeDetection": "ChangeDetectionStrategy.OnPush",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-tree",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-tree.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "required": false,
                    "name": "autoTranslate",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7240,
                            "end": 7259,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7241,
                                "end": 7248,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether i18n key can be passed to be translated with `TranslateService`.\n\n",
                    "description": "<p>Whether i18n key can be passed to be translated with <code>TranslateService</code>.</p>\n",
                    "line": 211,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "collapsedSvgIconClass",
                    "defaultValue": "'eui-chevron-down'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5469,
                            "end": 5502,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5470,
                                "end": 5477,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-chevron-down&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIcon to display when a node is opened\n\n",
                    "description": "<p>Icon to display when a node is opened</p>\n",
                    "line": 159,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "customNodeSelectFn",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 147,
                    "type": "CustomNodeSelectFn",
                    "decorators": []
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-tree'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 130,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "expandedSvgIconClass",
                    "defaultValue": "'eui-chevron-right'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5308,
                            "end": 5342,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5309,
                                "end": 5316,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-chevron-right&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIcon to display when a node is closed\n\n",
                    "description": "<p>Icon to display when a node is closed</p>\n",
                    "line": 153,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "highlightPath",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7420,
                            "end": 7440,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7421,
                                "end": 7428,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether all parents till the selected are highlighted in bold.\n\n",
                    "description": "<p>Whether all parents till the selected are highlighted in bold.</p>\n",
                    "line": 217,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isClickTogglingNode",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5852,
                            "end": 5872,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5853,
                                "end": 5860,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the full node display can be clicked to toggle the node.\n\n",
                    "description": "<p>Whether the full node display can be clicked to toggle the node.</p>\n",
                    "line": 169,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isMultiselect",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6017,
                            "end": 6037,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6018,
                                "end": 6025,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether multiple nodes can be selected.\n\n",
                    "description": "<p>Whether multiple nodes can be selected.</p>\n",
                    "line": 175,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isRecursiveParentSelection",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6691,
                            "end": 6710,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6692,
                                "end": 6699,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIn combination with `isMultiselect`. Whether the selection of all children will automatically select the parent.\n\n",
                    "description": "<p>In combination with <code>isMultiselect</code>. Whether the selection of all children will automatically select the parent.</p>\n",
                    "line": 193,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isRecursiveSelection",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6452,
                            "end": 6472,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6453,
                                "end": 6460,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nIn combination with `isMultiselect`. Whether the selection of a node will automatically select its children.\n\n",
                    "description": "<p>In combination with <code>isMultiselect</code>. Whether the selection of a node will automatically select its children.</p>\n",
                    "line": 187,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isSingleSelect",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6223,
                            "end": 6243,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6224,
                                "end": 6231,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether only one node can be selected. Select one will unselect the previous selected.\n\n",
                    "description": "<p>Whether only one node can be selected. Select one will unselect the previous selected.</p>\n",
                    "line": 181,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "nodeContentMetadataTemplateRef",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 143,
                    "type": "TemplateRef<any>",
                    "decorators": []
                },
                {
                    "name": "nodes",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nHierarchy of data to display in the tree\n",
                    "description": "<p>Hierarchy of data to display in the tree</p>\n",
                    "line": 134,
                    "type": "TreeDataModel",
                    "decorators": []
                },
                {
                    "name": "nodeTemplateRef",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nReference to the `ng-template` used to render node item\n",
                    "description": "<p>Reference to the <code>ng-template</code> used to render node item</p>\n",
                    "line": 140,
                    "type": "TemplateRef<any>",
                    "decorators": []
                },
                {
                    "name": "rightContextMenuTemplateRef",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 146,
                    "type": "TemplateRef<any>",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "showLines",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7054,
                            "end": 7073,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7055,
                                "end": 7062,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the lines are displayed on the left of nodes.\n\n",
                    "description": "<p>Whether the lines are displayed on the left of nodes.</p>\n",
                    "line": 205,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "showUnderlinedLinks",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 6876,
                            "end": 6895,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 6877,
                                "end": 6884,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nWhether the links are underlined on hiver in the tree.\n\n",
                    "description": "<p>Whether the links are underlined on hiver in the tree.</p>\n",
                    "line": 199,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "virtualScrollPageSize",
                    "defaultValue": "400",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7743,
                            "end": 7761,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7744,
                                "end": 7751,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>400</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSize of the virtaul scroll pages\n\n",
                    "description": "<p>Size of the virtaul scroll pages</p>\n",
                    "line": 229,
                    "type": "number",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "virtualScrollThreshold",
                    "defaultValue": "800",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 7587,
                            "end": 7605,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 7588,
                                "end": 7595,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>800</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nTreshold for the virtual scroll to be activated\n\n",
                    "description": "<p>Treshold for the virtual scroll to be activated</p>\n",
                    "line": 223,
                    "type": "number",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "nodeClick",
                    "defaultValue": "new EventEmitter<TreeItemModel>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 232,
                    "type": "EventEmitter"
                },
                {
                    "name": "nodeToggle",
                    "defaultValue": "new EventEmitter<TreeItemModel>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 233,
                    "type": "EventEmitter"
                },
                {
                    "name": "selectionChange",
                    "defaultValue": "new EventEmitter<EuiTreeSelectionChanges>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 231,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "_isMultiLevel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 238,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "cdkArrayDataSource",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ArrayDataSource<TreeItemRunTimeModel>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 234
                },
                {
                    "name": "cdkScrollableRef",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "CdkScrollable",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 161,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'cdkScrollableRef', {read: CdkScrollable}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "cdkTreeControl",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "NestedTreeControl<TreeItemRunTimeModel>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 235
                },
                {
                    "name": "hasChild",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 567
                },
                {
                    "name": "renderTree",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 236
                },
                {
                    "name": "treeComponentInstance",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "CdkTree<TreeItemRunTimeModel>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 162,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'treeComponentInstance'"
                        }
                    ],
                    "modifierKind": [
                        171,
                        125
                    ]
                },
                {
                    "name": "uid",
                    "defaultValue": "Math.floor(Math.random() * 1000000000).toString()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 237,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "collapseAll",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 328,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "collapseAt",
                    "args": [
                        {
                            "name": "path",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "detectChanges",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "true"
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 333,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "path",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "detectChanges",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "true",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "expandAll",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 312,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "expandAt",
                    "args": [
                        {
                            "name": "path",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "detectChanges",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "true"
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 317,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "path",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "detectChanges",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "true",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "filterTerm",
                    "args": [
                        {
                            "name": "filterInput",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "filterKey",
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "showChildrenOfMatchedItems",
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 341,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "filterInput",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "filterKey",
                            "type": "string",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "showChildrenOfMatchedItems",
                            "type": "boolean",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getProcessedNodes",
                    "args": [],
                    "optional": false,
                    "returnType": "TreeDataModel",
                    "typeParameters": [],
                    "line": 280,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "getRunTimeSelectionRecursiveState",
                    "args": [
                        {
                            "name": "path",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "TreeItemSelectionRecursiveModel",
                    "typeParameters": [],
                    "line": 585,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "path",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "getSelection",
                    "args": [],
                    "optional": false,
                    "returnType": "TreeDataModel",
                    "typeParameters": [],
                    "line": 276,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "getTreeItem",
                    "args": [
                        {
                            "name": "path",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "TreeItemModel",
                    "typeParameters": [],
                    "line": 296,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "path",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 256,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 267,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 252,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "nodeSelected",
                    "args": [
                        {
                            "name": "evt",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "path",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 454,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "evt",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "path",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onNodeClick",
                    "args": [
                        {
                            "name": "treeRunTimeItem",
                            "type": "TreeItemRunTimeModel",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "e",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 430,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "treeRunTimeItem",
                            "type": "TreeItemRunTimeModel",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "e",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onNodeToggle",
                    "args": [
                        {
                            "name": "treeRunTimeItem",
                            "type": "TreeItemRunTimeModel",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 441,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "treeRunTimeItem",
                            "type": "TreeItemRunTimeModel",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onSelectFn",
                    "args": [
                        {
                            "name": "path",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 571,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "path",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onToggleButtonClick",
                    "args": [
                        {
                            "name": "treeRunTimeItem",
                            "type": "TreeItemRunTimeModel",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 446,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "treeRunTimeItem",
                            "type": "TreeItemRunTimeModel",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "setAllSelection",
                    "args": [
                        {
                            "name": "isChecked",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 375,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "isChecked",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "trackBy",
                    "args": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "item",
                            "type": "TreeItemRunTimeModel",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "any",
                    "typeParameters": [],
                    "line": 286,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "item",
                            "type": "TreeItemRunTimeModel",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "trackByControl",
                    "args": [
                        {
                            "name": "item",
                            "type": "TreeItemRunTimeModel",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "any",
                    "typeParameters": [],
                    "line": 292,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "item",
                            "type": "TreeItemRunTimeModel",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "updateTreeItem",
                    "args": [
                        {
                            "name": "givenTreeItem",
                            "type": "TreeItemModel",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "path",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 390,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "givenTreeItem",
                            "type": "TreeItemModel",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "path",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 127,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "FormsModule",
                    "type": "module"
                },
                {
                    "name": "TranslateModule",
                    "type": "module"
                },
                {
                    "name": "ScrollingModule",
                    "type": "module"
                },
                {
                    "name": "CdkTreeModule",
                    "type": "module"
                },
                {
                    "name": "RouterModule",
                    "type": "module"
                },
                {
                    "name": "EUI_INPUT_CHECKBOX"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_LABEL"
                },
                {
                    "name": "EUI_BADGE"
                },
                {
                    "name": "EUI_CHIP"
                },
                {
                    "name": "EUI_DROPDOWN"
                }
            ],
            "description": "<p>The eui-tree can be used to display hierarchy data with optional added behavior inside node templates and interactions that could affect the rendered data such as expand, collapse, direct actions, extra menu actions, etc.\nHierarchical tree component for displaying and interacting with nested data structures.\nSupports single and multi-select modes, recursive selection, virtual scrolling for large datasets, and custom node templates.\nProvides expand/collapse functionality, path highlighting, and customizable node rendering.\nIntegrates with Angular CDK Tree for efficient rendering and state management.\nCommonly used for file explorers, organizational charts, category navigation, and any hierarchical data visualization.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tree\n  [nodes]=&quot;treeData&quot;\n  [isSelectable]=&quot;true&quot;\n  (selectionChange)=&quot;onSelectionChange($event)&quot;&gt;\n&lt;/eui-tree&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">treeData: TreeDataModel = [\n  {\n    id: &#39;1&#39;,\n    label: &#39;Root&#39;,\n    children: [\n      { id: &#39;1.1&#39;, label: &#39;Child 1&#39; },\n      { id: &#39;1.2&#39;, label: &#39;Child 2&#39; }\n    ]\n  }\n];</code></pre></div><h3>With Custom Template</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tree [nodes]=&quot;data&quot; [nodeTemplateRef]=&quot;customNode&quot;&gt;\n&lt;/eui-tree&gt;\n\n&lt;ng-template #customNode let-node&gt;\n  &lt;eui-icon [svgName]=&quot;node.icon&quot; /&gt;\n  &lt;span&gt;{{ node.label }}&lt;/span&gt;\n&lt;/ng-template&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use role=&quot;tree&quot; on container (automatically applied)</li>\n<li>Each node has role=&quot;treeitem&quot;</li>\n<li>Keyboard navigation: Arrow keys to navigate, Enter to select, Space to expand/collapse</li>\n<li>Provide aria-label describing the tree purpose</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Virtual scrolling improves performance for large trees (1000+ nodes)</li>\n<li>Recursive selection propagates selection to all children</li>\n<li>Custom templates allow full control over node rendering</li>\n<li>Supports lazy loading of child nodes</li>\n</ul>\n",
            "rawdescription": "\n\nThe eui-tree can be used to display hierarchy data with optional added behavior inside node templates and interactions that could affect the rendered data such as expand, collapse, direct actions, extra menu actions, etc.\nHierarchical tree component for displaying and interacting with nested data structures.\nSupports single and multi-select modes, recursive selection, virtual scrolling for large datasets, and custom node templates.\nProvides expand/collapse functionality, path highlighting, and customizable node rendering.\nIntegrates with Angular CDK Tree for efficient rendering and state management.\nCommonly used for file explorers, organizational charts, category navigation, and any hierarchical data visualization.\n\n### Basic Usage\n```html\n<eui-tree\n  [nodes]=\"treeData\"\n  [isSelectable]=\"true\"\n  (selectionChange)=\"onSelectionChange($event)\">\n</eui-tree>\n```\n\n```typescript\ntreeData: TreeDataModel = [\n  {\n    id: '1',\n    label: 'Root',\n    children: [\n      { id: '1.1', label: 'Child 1' },\n      { id: '1.2', label: 'Child 2' }\n    ]\n  }\n];\n```\n\n### With Custom Template\n```html\n<eui-tree [nodes]=\"data\" [nodeTemplateRef]=\"customNode\">\n</eui-tree>\n\n<ng-template #customNode let-node>\n  <eui-icon [svgName]=\"node.icon\" />\n  <span>{{ node.label }}</span>\n</ng-template>\n```\n\n### Accessibility\n- Use role=\"tree\" on container (automatically applied)\n- Each node has role=\"treeitem\"\n- Keyboard navigation: Arrow keys to navigate, Enter to select, Space to expand/collapse\n- Provide aria-label describing the tree purpose\n\n### Notes\n- Virtual scrolling improves performance for large trees (1000+ nodes)\n- Recursive selection propagates selection to all children\n- Custom templates allow full control over node rendering\n- Supports lazy loading of child nodes\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    Input,\n    ChangeDetectionStrategy,\n    EventEmitter,\n    Output,\n    ViewEncapsulation,\n    TemplateRef,\n    ChangeDetectorRef,\n    SimpleChanges,\n    OnInit,\n    OnChanges,\n    HostBinding,\n    OnDestroy,\n    booleanAttribute,\n    ViewChild,\n    inject,\n    numberAttribute,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport {\n    SelectionRecursiveState,\n    TreeDataModel,\n    TreeItemModel,\n    TreeDataRunTimeModel,\n    TreeItemRunTimeModel,\n    TreeItemSelectionRecursiveModel,\n    EuiTreeSelectionChanges,\n    EuiTreePagination,\n    CustomNodeSelectFn,\n    CustomNodeSelectFnHelper,\n} from './eui-tree.model';\nimport { FormsModule } from '@angular/forms';\nimport { EUI_INPUT_CHECKBOX } from '@eui/components/eui-input-checkbox';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_BADGE } from '@eui/components/eui-badge';\nimport { EUI_CHIP } from '@eui/components/eui-chip';\nimport { EUI_DROPDOWN } from '@eui/components/eui-dropdown';\nimport { NestedTreeControl, CdkTreeModule, CdkTree } from '@angular/cdk/tree';\nimport { ArrayDataSource, SelectionModel } from '@angular/cdk/collections';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ScrollingModule, ScrollDispatcher, CdkScrollable } from '@angular/cdk/scrolling';\nimport { debounceTime, Subscription } from 'rxjs';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * @description\n * The eui-tree can be used to display hierarchy data with optional added behavior inside node templates and interactions that could affect the rendered data such as expand, collapse, direct actions, extra menu actions, etc.\n * Hierarchical tree component for displaying and interacting with nested data structures.\n * Supports single and multi-select modes, recursive selection, virtual scrolling for large datasets, and custom node templates.\n * Provides expand/collapse functionality, path highlighting, and customizable node rendering.\n * Integrates with Angular CDK Tree for efficient rendering and state management.\n * Commonly used for file explorers, organizational charts, category navigation, and any hierarchical data visualization.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-tree\n *   [nodes]=\"treeData\"\n *   [isSelectable]=\"true\"\n *   (selectionChange)=\"onSelectionChange($event)\">\n * </eui-tree>\n * ```\n *\n * ```typescript\n * treeData: TreeDataModel = [\n *   {\n *     id: '1',\n *     label: 'Root',\n *     children: [\n *       { id: '1.1', label: 'Child 1' },\n *       { id: '1.2', label: 'Child 2' }\n *     ]\n *   }\n * ];\n * ```\n *\n * ### With Custom Template\n * ```html\n * <eui-tree [nodes]=\"data\" [nodeTemplateRef]=\"customNode\">\n * </eui-tree>\n *\n * <ng-template #customNode let-node>\n *   <eui-icon [svgName]=\"node.icon\" />\n *   <span>{{ node.label }}</span>\n * </ng-template>\n * ```\n *\n * ### Accessibility\n * - Use role=\"tree\" on container (automatically applied)\n * - Each node has role=\"treeitem\"\n * - Keyboard navigation: Arrow keys to navigate, Enter to select, Space to expand/collapse\n * - Provide aria-label describing the tree purpose\n *\n * ### Notes\n * - Virtual scrolling improves performance for large trees (1000+ nodes)\n * - Recursive selection propagates selection to all children\n * - Custom templates allow full control over node rendering\n * - Supports lazy loading of child nodes\n */\n@Component({\n    selector: 'eui-tree',\n    templateUrl: './eui-tree.component.html',\n    styleUrl: './eui-tree.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        NgTemplateOutlet,\n        FormsModule,\n        TranslateModule,\n        ScrollingModule,\n        CdkTreeModule,\n        RouterModule,\n        ...EUI_INPUT_CHECKBOX,\n        ...EUI_BUTTON,\n        ...EUI_ICON,\n        ...EUI_LABEL,\n        ...EUI_BADGE,\n        ...EUI_CHIP,\n        ...EUI_DROPDOWN,\n    ],\n})\nexport class EuiTreeComponent implements OnInit, OnChanges, OnDestroy {\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return this.getCssClasses();\n    }\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-tree';\n    /**\n     * Hierarchy of data to display in the tree\n     */\n    @Input() nodes: TreeDataModel;\n    /**\n     * Reference to the `ng-template` used to render node item\n     */\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    @Input() nodeTemplateRef: TemplateRef<any>;\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    @Input() nodeContentMetadataTemplateRef: TemplateRef<any>;\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    @Input() rightContextMenuTemplateRef: TemplateRef<any>;\n    @Input() customNodeSelectFn: CustomNodeSelectFn;\n    /**\n     * Icon to display when a node is closed\n     *\n     * @default 'eui-chevron-right'\n     */\n    @Input() expandedSvgIconClass = 'eui-chevron-right';\n    /**\n     * Icon to display when a node is opened\n     *\n     * @default 'eui-chevron-down'\n     */\n    @Input() collapsedSvgIconClass = 'eui-chevron-down';\n\n    @ViewChild('cdkScrollableRef', { read: CdkScrollable }) cdkScrollableRef: CdkScrollable;\n    @ViewChild('treeComponentInstance') public treeComponentInstance: CdkTree<TreeItemRunTimeModel>;\n\n    /**\n     * Whether the full node display can be clicked to toggle the node.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isClickTogglingNode = false;\n    /**\n     * Whether multiple nodes can be selected.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isMultiselect = false;\n    /**\n     * Whether only one node can be selected. Select one will unselect the previous selected.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isSingleSelect = false;\n    /**\n     * In combination with `isMultiselect`. Whether the selection of a node will automatically select its children.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isRecursiveSelection = false;\n    /**\n     * In combination with `isMultiselect`. Whether the selection of all children will automatically select the parent.\n     *\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isRecursiveParentSelection = true;\n    /**\n     * Whether the links are underlined on hiver in the tree.\n     *\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) showUnderlinedLinks = false;\n    /**\n     * Whether the lines are displayed on the left of nodes.\n     *\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) showLines = true;\n    /**\n     * Whether i18n key can be passed to be translated with `TranslateService`.\n     *\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) autoTranslate = true;\n    /**\n     * Whether all parents till the selected are highlighted in bold.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) highlightPath = false;\n    /**\n     * Treshold for the virtual scroll to be activated\n     *\n     * @default 800\n     */\n    @Input({ transform: numberAttribute }) virtualScrollThreshold = 800;\n    /**\n     * Size of the virtaul scroll pages\n     *\n     * @default 400\n     */\n    @Input({ transform: numberAttribute }) virtualScrollPageSize = 400;\n\n    @Output() selectionChange = new EventEmitter<EuiTreeSelectionChanges>();\n    @Output() nodeClick = new EventEmitter<TreeItemModel>();\n    @Output() nodeToggle = new EventEmitter<TreeItemModel>();\n    cdkArrayDataSource: ArrayDataSource<TreeItemRunTimeModel>;\n    cdkTreeControl: NestedTreeControl<TreeItemRunTimeModel>;\n    renderTree: boolean;\n    public uid: string = Math.floor(Math.random() * 1000000000).toString();\n    protected _isMultiLevel: boolean;\n    private processedNodes: TreeDataModel;\n    private treeDataRunTime: TreeDataRunTimeModel;\n    private treeDataRunTimeBackup: TreeDataRunTimeModel;\n    private runTimeSelectionRecursiveState: Array<TreeItemSelectionRecursiveModel>;\n    private selectionModel: SelectionModel<TreeItemRunTimeModel>;\n    private tempSelectionModel: SelectionModel<TreeItemRunTimeModel>;\n    private selectionModelSubs: Subscription;\n    private scrollDispatcherSubs: Subscription;\n    private _selection: TreeDataModel;\n    private treePagination: EuiTreePagination<TreeItemRunTimeModel>;\n    private changeDetectorRef = inject(ChangeDetectorRef);\n    private scrollDispatcher = inject(ScrollDispatcher);\n\n    ngOnInit(): void {\n        this.initTree();\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes['nodes']?.currentValue !== changes['nodes']?.previousValue) {\n            this.renderTree = false;\n            this.initTree();\n            if(this.treeComponentInstance) {\n                this.treeComponentInstance?.renderNodeChanges([]);\n                this.treeComponentInstance?.renderNodeChanges(this.treeDataRunTime);\n            }\n        }\n    }\n\n    ngOnDestroy(): void {\n        if (this.selectionModelSubs) {\n            this.selectionModelSubs.unsubscribe();\n        }\n        if (this.scrollDispatcherSubs) {\n            this.scrollDispatcherSubs.unsubscribe();\n        }\n    }\n\n    getSelection(): TreeDataModel {\n        return this._selection;\n    }\n\n    getProcessedNodes(): TreeDataModel {\n        return this.processedNodes;\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    trackBy(index: number, item: TreeItemRunTimeModel): any {\n        return item.path;\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    trackByControl(item: TreeItemRunTimeModel): any {\n        return item;\n    }\n\n    getTreeItem(path: string): TreeItemModel {\n        const indexArr: Array<number> = this.resolvePath(path);\n        let nodeArr = this.processedNodes;\n        let node;\n        if (nodeArr && Array.isArray(nodeArr)) {\n            indexArr?.forEach((pathIndex: number, index) => {\n                if (index < indexArr.length - 1) {\n                    nodeArr = nodeArr && nodeArr[pathIndex]?.children;\n                } else {\n                    node = nodeArr[pathIndex];\n                }\n            });\n        }\n        return node;\n    }\n\n    expandAll(): void {\n        this.cdkTreeControl.expandAll();\n        this.changeDetectorRef.markForCheck();\n    }\n\n    expandAt(path: string, detectChanges = true): void {\n        this.getParentPaths(path).reverse().forEach((parentPath)=>{\n            this.cdkTreeControl.expand(this.getRunTimeTreeItem(parentPath));\n        });\n        this.cdkTreeControl.expand(this.getRunTimeTreeItem(path));\n\n        if (detectChanges) {\n            this.changeDetectorRef.detectChanges();\n        }\n    }\n\n    collapseAll(): void {\n        this.cdkTreeControl.collapseAll();\n        this.changeDetectorRef.markForCheck();\n    }\n\n    collapseAt(path: string, detectChanges = true): void {\n        this.cdkTreeControl.collapse(this.getRunTimeTreeItem(path));\n\n        if (detectChanges) {\n            this.changeDetectorRef.detectChanges();\n        }\n    }\n\n    filterTerm(filterInput: string, filterKey?: string, showChildrenOfMatchedItems?: boolean): void {\n        if (filterInput !== '' && filterInput !== null && typeof filterInput !== 'undefined') {\n            this.treeDataRunTime = this.filterTreeData(structuredClone(this.treeDataRunTimeBackup), filterKey || 'label', filterInput, showChildrenOfMatchedItems);\n            this.treeDataRunTime = this.applyRunTimeLastItems(this.treeDataRunTime);\n\n            this.treePagination = new EuiTreePagination<TreeItemRunTimeModel>(this.treeDataRunTime, 1, 2, this.virtualScrollPageSize);\n            const paginatedData = this.treePagination.getViewData().data;\n\n            this.cdkArrayDataSource = new ArrayDataSource(paginatedData);\n            this.cdkTreeControl = new NestedTreeControl<TreeItemRunTimeModel>((node) => node?.children, { trackBy: this.trackByControl });\n\n            this.cdkTreeControl.dataNodes = paginatedData;\n            this.renderTree = false;\n            this.changeDetectorRef.detectChanges();\n            this.renderTree = true;\n            this.changeDetectorRef.detectChanges();\n            this.expandAll();\n        } else {\n            this.treeDataRunTime = structuredClone(this.treeDataRunTimeBackup);\n\n            this.treePagination = new EuiTreePagination<TreeItemRunTimeModel>(this.treeDataRunTime, 1, 2, this.virtualScrollPageSize);\n            const paginatedData = this.treePagination.getViewData().data;\n\n            this.cdkArrayDataSource = new ArrayDataSource(paginatedData);\n            this.cdkTreeControl = new NestedTreeControl<TreeItemRunTimeModel>((node) => node?.children, { trackBy: this.trackByControl });\n            this.cdkTreeControl.dataNodes = paginatedData;\n            this.renderTree = false;\n            this.changeDetectorRef.detectChanges();\n            this.renderTree = true;\n            this.changeDetectorRef.detectChanges();\n            this.expandAll();\n        }\n    }\n\n    setAllSelection(isChecked: boolean): void {\n        if (!this.selectionModel) {\n            return;\n        }\n        this.tempSelectionModel = new SelectionModel<TreeItemRunTimeModel>(\n            true,\n            this.selectionModel.selected,\n            true,\n            (a, b) => a?.path === b?.path,\n        );\n        this.setIsCheckedForAll(this.treeDataRunTime, isChecked);\n        this.selectionModel.setSelection(...this.tempSelectionModel.selected);\n        this.changeDetectorRef.markForCheck();\n    }\n\n    updateTreeItem(givenTreeItem: TreeItemModel, path: string): void {\n        const treeItem = structuredClone(givenTreeItem);\n        if (treeItem && path) {\n        this.tempSelectionModel = new SelectionModel<TreeItemRunTimeModel>(\n            true,\n            this.selectionModel.selected,\n            true,\n            (a, b) => a?.path === b?.path,\n        );\n        this.setTreeData(path, this.processInputs([treeItem])[0]);\n        const pathArr = path.split('.');\n        const index = parseInt(pathArr.pop(), 10);\n        const treeItemRuntime = this.calculateRunTimeState(treeItem, index, pathArr.join('.'));\n        if (treeItemRuntime?.children?.length > 0) {\n            treeItemRuntime.children = this.applyRunTimeLastItems(treeItemRuntime.children);\n        }\n        this.setTreeDataRunTimeBackup(path, treeItemRuntime);\n        this.setTreeDataRunTime(path, treeItemRuntime);\n        // itemRecursiveSelectionState\n        const itemRecursiveSelectionState = this.calculateItemSelectionRecursiveState(treeItem);\n        this.setRunTimeSelectionRecursiveStateTree(path, itemRecursiveSelectionState);\n        this.syncStateChangesAtPath(path);\n        if (this.cdkTreeControl.isExpanded(treeItemRuntime) && !treeItem.node.isExpanded) {\n            this.cdkTreeControl.toggle(treeItemRuntime);\n        } else if (!this.cdkTreeControl.isExpanded(treeItemRuntime) && treeItem.node.isExpanded) {\n            this.cdkTreeControl.expand(treeItemRuntime);\n        }\n        this.renderInitialExpand(this.getRunTimeTreeItem(path)?.children);\n        this.getInitialSelection(this.getRunTimeTreeItem(path)?.children)?.forEach((runTimeItem) => {\n            this.selectTreeItem(this.getRunTimeBackupTreeItem(runTimeItem.path));\n        });\n        this.selectionModel.setSelection(...this.tempSelectionModel.selected);\n        // Rendering\n        this.changeDetectorRef.detectChanges();\n        this.treeComponentInstance.renderNodeChanges([]);\n        this.treeComponentInstance.renderNodeChanges(this.treeDataRunTime);\n        }\n    }\n\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    onNodeClick(treeRunTimeItem: TreeItemRunTimeModel, e: any): void {\n        if (!this.isMultiselect || e.pointerId !== -1) {\n            this.nodeClick.emit(this.getTreeItem(treeRunTimeItem?.path));\n        }\n\n        if (this.isClickTogglingNode) {\n            this.cdkTreeControl.toggle(treeRunTimeItem);\n            this.onNodeToggle(treeRunTimeItem);\n        }\n    }\n\n    onNodeToggle(treeRunTimeItem: TreeItemRunTimeModel): void {\n        this.getTreeItem(treeRunTimeItem?.path).node.isExpanded = this.cdkTreeControl.isExpanded(treeRunTimeItem);\n        this.nodeToggle.emit(this.getTreeItem(treeRunTimeItem?.path));\n    }\n\n    onToggleButtonClick(treeRunTimeItem: TreeItemRunTimeModel, event: Event): void {\n        event.stopPropagation();\n        this.cdkTreeControl.toggle(treeRunTimeItem);\n        this.onNodeToggle(treeRunTimeItem);\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    nodeSelected(evt: any, path: string): void {\n        const item = this.getTreeItem(path);\n        const runTimeBackupTreeItem = this.getRunTimeBackupTreeItem(path);\n        const renderedRunTimeTreeItem = this.getRunTimeTreeItem(path);\n        const node = item?.node;\n        this.tempSelectionModel = new SelectionModel<TreeItemRunTimeModel>(\n            true,\n            this.selectionModel.selected,\n            true,\n            (a, b) => a?.path === b?.path,\n        );\n        // console.log(path,item,runTimeTreeItem, renderedRunTimeTreeItem);\n        if(this.customNodeSelectFn){\n            this.customNodeSelectFn(path, evt.target.checked, item, new CustomNodeSelectFnHelper(this));\n            this.selectionModel.setSelection(...this.tempSelectionModel.selected);\n        }  else if (!node?.selectConfig?.singleSelect) {\n            node.isSelected = evt.target.checked;\n            node.isIndeterminate = false;\n            // If the node is recursive it sets every children with the change.\n            if (renderedRunTimeTreeItem?.children && renderedRunTimeTreeItem?.children?.length > 0) {\n                if (node?.selectConfig?.recursive) {\n                    // console.log(renderedRunTimeTreeItem);\n                    this.setIsCheckedForAll(renderedRunTimeTreeItem?.children, evt.target.checked);\n                }\n            }\n\n            this.setRunTimeSelectionRecursiveStateTree(\n                path,\n                this.calculateItemSelectionRecursiveState(structuredClone(this.getTreeItem(path))),\n            );\n            if (renderedRunTimeTreeItem?.children && renderedRunTimeTreeItem?.children?.length >= 0) {\n                if (node?.selectConfig?.recursive) {\n                    // this.setIsCheckedForAll(renderedRunTimeTreeItem?.children, evt.target.checked);\n                    this.runStateChangesForAll(renderedRunTimeTreeItem?.children);\n                }\n                const activeElement = evt.target as HTMLElement;\n                const expandedNodes = this.cdkTreeControl.expansionModel.selected;\n                // TODO v23: optimize using signals without destroying/recreating the entire dom subtree that causes focus loss, lines 489-496 could be then removed\n                this.treeComponentInstance?.renderNodeChanges([]);\n                this.treeComponentInstance?.renderNodeChanges(this.treeDataRunTime);\n                expandedNodes.forEach((expandedNode) => {\n                    const runtimeNode = this.getRunTimeTreeItem(expandedNode.path);\n                    if (runtimeNode) {\n                        this.cdkTreeControl.expand(runtimeNode);\n                    }\n                });\n                setTimeout(() => {\n                    const newEl = document.getElementById(activeElement.id) as HTMLElement;\n                    newEl?.focus();\n                });\n            }\n            this.syncStateChangesAtPath(path);\n            if (this.getTreeItem(path).node.isSelected) {\n                this.selectTreeItem(runTimeBackupTreeItem);\n            } else {\n                this.deselectTreeItem(runTimeBackupTreeItem);\n            }\n            const nodePathsSeq = this.getParentPaths(path);\n            if (nodePathsSeq.length > 0) {\n                nodePathsSeq.forEach((nodePath: string) => {\n                    const treeItem = this.getTreeItem(nodePath);\n                    const childStates = this.getRunTimeSelectionRecursiveState(nodePath).children.map((_) => _.selectionRecursiveState);\n                    this.updateRunTimeSelectionRecursiveState(\n                        nodePath,\n                        this.decideSelectionRecursiveState(\n                            childStates,\n                            treeItem.node?.isSelected,\n                            treeItem.node?.selectConfig?.recursive,\n                            treeItem.node?.selectConfig?.noAutoSelectParent,\n                        ),\n                    );\n                    this.syncStateChangesAtPath(nodePath);\n                });\n                this.changeDetectorRef.detectChanges();\n            } else {\n                this.changeDetectorRef.detectChanges();\n            }\n            this.selectionModel.setSelection(...this.tempSelectionModel.selected);\n        } else {\n            const prevItem = this.selectionModel.selected[0];\n            if (evt.target.checked) {\n                if (prevItem) {\n                    this.getTreeItem(prevItem.path).node.isSelected = false;\n                    this.selectionModel.deselect(prevItem);\n                }\n                item.node.isSelected = true;\n                this.selectionModel.select(runTimeBackupTreeItem);\n            } else {\n                item.node.isSelected = false;\n                this.selectionModel.deselect(runTimeBackupTreeItem);\n            }\n            if (this.highlightPath) {\n                if (evt.target.checked && prevItem) {\n                    const prevItemNodePathsSeq = this.getParentPaths(prevItem.path);\n                    if (prevItemNodePathsSeq.length > 0) {\n                        prevItemNodePathsSeq.forEach((nodePath: string) => {\n                            this.updateRunTimeSelectionRecursiveState(nodePath, 'allNotSelected');\n                            this.syncStateChangesAtPath(nodePath);\n                        });\n                    }\n                }\n                const nodePathsSeq = this.getParentPaths(path);\n                if (nodePathsSeq?.length > 0) {\n                    nodePathsSeq.forEach((nodePath: string) => {\n                        this.updateRunTimeSelectionRecursiveState(nodePath, evt.target.checked ? 'indeterminate' : 'allNotSelected');\n                        this.syncStateChangesAtPath(nodePath);\n                    });\n                    this.changeDetectorRef.detectChanges();\n                }\n            }\n        }\n    }\n\n    hasChild = (_: number, item: TreeItemRunTimeModel): boolean => !!item?.children && item?.children?.length >= 0;\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    onSelectFn(path: string): (evt: any) => void {\n        if (this.getTreeItem(path)?.node?.selectable) {\n            const nodeSelected = this.nodeSelected.bind(this);\n            // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n            // eslint-disable-next-line @typescript-eslint/no-explicit-any\n            return (evt: any) => nodeSelected(evt, path);\n        }\n        // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        return (evt: any) => {\n            console.warn('treeItemModel.node.selectable is false, you can not implement onSelect');\n        };\n    }\n\n    getRunTimeSelectionRecursiveState(path: string): TreeItemSelectionRecursiveModel {\n        const indexArr: Array<number> = this.resolvePath(path);\n        let nodeArr = this.runTimeSelectionRecursiveState;\n        let node;\n        indexArr?.forEach((pathIndex: number, index) => {\n            if (index < indexArr.length - 1) {\n                nodeArr = nodeArr[pathIndex]?.children;\n            } else {\n                node = nodeArr[pathIndex];\n            }\n        });\n        return node;\n    }\n\n    private initTree(): void {\n        if (this.nodes) {\n            this._isMultiLevel = this.checkIfMultiLevel(this.nodes);\n            this.processedNodes = this.processInputs(structuredClone(this.nodes));\n            this.treeDataRunTime = this.createTreeDataRuntime(this.processedNodes);\n            this.treeDataRunTime = this.applyRunTimeLastItems(this.treeDataRunTime);\n            this.runTimeSelectionRecursiveState = this.createRunTimeSelectionRecursiveState(this.processedNodes);\n            this.treeDataRunTimeBackup = structuredClone(this.treeDataRunTime);\n\n            if (this.treeDataRunTimeBackup.length > this.virtualScrollThreshold) {\n                this.treePagination = new EuiTreePagination<TreeItemRunTimeModel>(this.treeDataRunTimeBackup, 1, 2, this.virtualScrollPageSize);\n                const paginatedData = this.treePagination.getViewData().data;\n                this.cdkArrayDataSource = new ArrayDataSource<TreeItemRunTimeModel>(paginatedData);\n                this.cdkTreeControl = new NestedTreeControl<TreeItemRunTimeModel>((node) => node?.children, {\n                    trackBy: this.trackByControl,\n                });\n                this.cdkTreeControl.dataNodes = paginatedData;\n                this.runScrollListener();\n            } else {\n                this.cdkArrayDataSource = new ArrayDataSource<TreeItemRunTimeModel>(this.treeDataRunTime);\n                this.cdkTreeControl = new NestedTreeControl<TreeItemRunTimeModel>((node) => node?.children, {\n                    trackBy: this.trackByControl,\n                });\n                this.cdkTreeControl.dataNodes = this.treeDataRunTime;\n            }\n            this.renderInitialExpand(this.treeDataRunTime);\n            this.selectionModel = new SelectionModel<TreeItemRunTimeModel>(\n                true,\n                this.getInitialSelection(this.treeDataRunTime),\n                true,\n                (a, b) => a?.path === b?.path,\n            );\n            this._selection = [...this.selectionModel.selected]?.map((item) => this.getTreeItem(item?.path));\n            this.renderTree = true;\n            if (this.selectionModelSubs) {\n                this.selectionModelSubs.unsubscribe();\n            }\n            this.selectionModelSubs = this.selectionModel.changed.pipe(debounceTime(1)).subscribe((sc) => {\n                const selectionChange = {\n                    added: sc.added.map((_) => this.getTreeItem(_.path)),\n                    removed: sc.removed.map((_) => this.getTreeItem(_.path)),\n                    selection: [...this.selectionModel.selected].map((item) => this.getTreeItem(item.path)),\n                };\n                this._selection = selectionChange.selection;\n                this.selectionChange.emit(selectionChange);\n            });\n            this.changeDetectorRef.markForCheck();\n        }\n    }\n\n    private processInputs(treeData: TreeDataModel): TreeDataModel {\n        if (this.isMultiselect) {\n            treeData = this.overrideTreeDataModelForSelection(treeData, this.isRecursiveSelection, !this.isRecursiveParentSelection);\n        }\n        if (this.isSingleSelect) {\n            treeData = this.overrideTreeDataModelForSelection(treeData, false, false, true);\n        }\n        return treeData;\n    }\n\n    private overrideTreeDataModelForSelection(\n        nodeArr: TreeDataModel,\n        isRecursive: boolean,\n        noAutoSelectParent: boolean,\n        singleSelect?: boolean,\n    ): TreeDataModel {\n        return nodeArr?.map((item: TreeItemModel, index: number) => {\n            if (item?.children && item.children.length > 0) {\n                return {\n                    ...item,\n                    node: {\n                        ...item.node,\n                        selectable: typeof item?.node?.selectable === 'undefined' ? true : item?.node?.selectable,\n                        // isSelected: false,\n                        // isIndeterminate: false,\n                        selectConfig: {\n                            ...item.node.selectConfig,\n                            recursive:\n                                typeof item?.node?.selectConfig?.recursive === 'undefined'\n                                    ? !!isRecursive\n                                    : item?.node?.selectConfig?.recursive,\n                            noAutoSelectParent:\n                                typeof item?.node?.selectConfig?.noAutoSelectParent === 'undefined'\n                                    ? noAutoSelectParent\n                                    : item?.node?.selectConfig?.noAutoSelectParent,\n                            singleSelect:\n                                typeof item?.node?.selectConfig?.singleSelect === 'undefined'\n                                    ? singleSelect\n                                    : item?.node?.selectConfig?.singleSelect,\n                        },\n                    },\n                    children: this.overrideTreeDataModelForSelection(item.children, isRecursive, noAutoSelectParent, singleSelect),\n                };\n            } else {\n                return {\n                    ...item,\n                    node: {\n                        ...item.node,\n                        selectable: typeof item?.node?.selectable === 'undefined' ? true : item?.node?.selectable,\n                        selectConfig: {\n                            ...item.node?.selectConfig,\n                            singleSelect:\n                                typeof item?.node?.selectConfig?.singleSelect === 'undefined'\n                                    ? singleSelect\n                                    : item?.node?.selectConfig?.singleSelect,\n                        },\n                    },\n                };\n            }\n        });\n    }\n\n    private runScrollListener(): void {\n        /* if (this.scrollDispatcherSubs) { todo\n            this.scrollDispatcherSubs.unsubscribe();\n        }*/\n        this.scrollDispatcherSubs = this.scrollDispatcher.scrolled().subscribe((scrollable: CdkScrollable) => {\n            if (scrollable && this.checkIfCurrentScrollable(scrollable)) {\n                const isAtBottom =\n                    scrollable?.getElementRef().nativeElement.scrollTop + scrollable?.getElementRef().nativeElement.clientHeight >=\n                    scrollable?.getElementRef().nativeElement.scrollHeight;\n                const isAtTop = scrollable?.getElementRef().nativeElement.scrollTop === 0;\n                // console.log('Element:', this.cdkScrollableRef.getElementRef());\n                if (isAtBottom && !this.treePagination.isAtMax()) {\n                    if (this.nodes.length > 0) {\n                        this.treeDataRunTime = this.treePagination.paginateNext().data;\n                        this.treeDataRunTime = this.applyRunTimeLastItems(this.treeDataRunTime);\n                        this.cdkArrayDataSource = new ArrayDataSource(this.treeDataRunTime);\n                        this.cdkTreeControl = new NestedTreeControl<TreeItemRunTimeModel>((node) => node?.children, {\n                            trackBy: this.trackByControl,\n                        });\n                        this.cdkTreeControl.dataNodes = this.treeDataRunTime;\n                        this.renderTree = false;\n                        this.changeDetectorRef.detectChanges();\n                        this.renderTree = true;\n                        this.changeDetectorRef.detectChanges();\n                        this.expandAll();\n                        const totalHeight = scrollable.measureScrollOffset('bottom') + scrollable.measureScrollOffset('top');\n                        const viewportHeight = scrollable.getElementRef().nativeElement.clientHeight;\n                        const positionToScroll = totalHeight - viewportHeight;\n                        scrollable.scrollTo({ top: positionToScroll / 2 });\n                    }\n                } else if (isAtTop && this.treePagination.getCurrentStartPage() > 1) {\n                    if (this.nodes.length > 0) {\n                        this.treeDataRunTime = this.treePagination.paginatePrev().data;\n                        this.treeDataRunTime = this.applyRunTimeLastItems(this.treeDataRunTime);\n                        this.cdkArrayDataSource = new ArrayDataSource(this.treeDataRunTime);\n                        this.cdkTreeControl = new NestedTreeControl<TreeItemRunTimeModel>((node) => node?.children, {\n                            trackBy: this.trackByControl,\n                        });\n                        this.cdkTreeControl.dataNodes = this.treeDataRunTime;\n                        this.renderTree = false;\n                        this.changeDetectorRef.detectChanges();\n                        this.renderTree = true;\n                        this.changeDetectorRef.detectChanges();\n                        this.expandAll();\n                        const totalHeight = scrollable.measureScrollOffset('bottom') + scrollable.measureScrollOffset('top');\n                        const viewportHeight = scrollable.getElementRef().nativeElement.clientHeight;\n                        const positionToScroll = totalHeight - viewportHeight;\n                        scrollable.scrollTo({ top: positionToScroll / 2 + viewportHeight });\n                    }\n                }\n            }\n        });\n    }\n\n    private getSelectionIndexOfItem(runTimeTreeItem: TreeItemRunTimeModel): number {\n        return this.selectionModel.selected.findIndex((i) => i?.path === runTimeTreeItem?.path);\n    }\n    // todo re-think about the access from custom on node select helper\n    private silentSelect(path:string, isChecked: boolean): void{\n        const runtimeBackupTreeItem = this.getRunTimeBackupTreeItem(path);\n        const treeItem = this.getTreeItem(path);\n        const node = treeItem.node;\n        if (node?.selectable) {\n            node.isSelected = isChecked;\n            node.isIndeterminate = false;\n            if (isChecked) {\n                this.tempSelectionModel.select(runtimeBackupTreeItem);\n            } else {\n                this.tempSelectionModel.deselect(runtimeBackupTreeItem);\n            }\n        }\n    }\n\n    private selectTreeItem(runTimeBackupTreeItem: TreeItemRunTimeModel): void {\n        this.tempSelectionModel.select(runTimeBackupTreeItem);\n    }\n\n    private deselectTreeItem(runTimeTreeItem: TreeItemRunTimeModel): void {\n        this.tempSelectionModel.deselect(runTimeTreeItem);\n    }\n\n    private createTreeDataRuntime(nodes: TreeDataModel): TreeDataRunTimeModel {\n        return structuredClone(nodes)?.map((item, index) => {\n            return this.calculateRunTimeState(item, index);\n        });\n    }\n\n    private applyRunTimeLastItems(items: TreeDataRunTimeModel): TreeDataRunTimeModel {\n        return items?.map((item, index) => {\n            if (item?.children) {\n                return {\n                    ...item,\n                    last: items.length === index + 1 ? true : undefined,\n                    children: item.children?.length > 0 ? this.applyRunTimeLastItems(item.children) : item?.children,\n                };\n            } else {\n                return {\n                    ...item,\n                    last: items.length === index + 1 ? true : undefined,\n                };\n            }\n        });\n    }\n\n    private createRunTimeSelectionRecursiveState(nodes: TreeDataModel): Array<TreeItemSelectionRecursiveModel> {\n        return structuredClone(nodes)?.map((item) => this.calculateItemSelectionRecursiveState({ ...item }));\n    }\n\n    // Creating run time state which includes children selection state for selection tree.\n    private calculateItemSelectionRecursiveState(treeItem: TreeItemModel): TreeItemSelectionRecursiveModel {\n        const childrenSelectionRecursive: Array<TreeItemSelectionRecursiveModel> = [];\n        if (treeItem.children && treeItem.children.length > 0) {\n            treeItem.children.forEach((child, index) => {\n                childrenSelectionRecursive[index] = this.calculateItemSelectionRecursiveState(child);\n            });\n        }\n        const childStates = childrenSelectionRecursive.map((_) => _.selectionRecursiveState);\n        const itemState: SelectionRecursiveState =  treeItem.node.selectable ? this.decideSelectionRecursiveState(\n            childStates,\n            treeItem.node.isSelected,\n            treeItem.node?.selectConfig?.recursive,\n            treeItem.node?.selectConfig?.noAutoSelectParent,\n        ) : undefined;\n        return {\n            selectionRecursiveState: itemState,\n            children: childrenSelectionRecursive,\n        };\n    }\n\n    private decideSelectionRecursiveState(\n        childStates: Array<SelectionRecursiveState> = [],\n        isSelected: boolean,\n        recursive: boolean,\n        noAutoSelectParent: boolean,\n    ): SelectionRecursiveState {\n        let itemState: SelectionRecursiveState = 'indeterminate';\n        if (isSelected && childStates.filter((childStates)=>childStates).every((state) => state === 'allSelected')) {\n            itemState = 'allSelected';\n        } else if (!isSelected && childStates.filter((childStates)=>childStates).every((state) => state === 'allNotSelected')) {\n            itemState = 'allNotSelected';\n        } else if (recursive && childStates.filter((childStates)=>childStates).every((state) => state === 'allSelected') && !isSelected && !noAutoSelectParent) {\n            itemState = 'allSelected';\n        } else if (recursive && childStates.filter((childStates)=>childStates).every((state) => state === 'allNotSelected') && isSelected) {\n            itemState = 'allNotSelected';\n        }\n        return itemState;\n    }\n\n    private syncStateChangesAtPath(nodePath): void {\n        const treeItem = this.getTreeItem(nodePath);\n        const runTimeBackupTreeItem = this.getRunTimeBackupTreeItem(nodePath);\n        const runTimeSelectionRecursiveItem = this.getRunTimeSelectionRecursiveState(nodePath);\n        if (treeItem?.node?.selectable && treeItem.node?.selectConfig?.recursive) {\n            if (!treeItem.node?.selectConfig?.noAutoSelectParent) {\n                treeItem.node = {\n                    ...treeItem.node,\n                    isSelected: runTimeSelectionRecursiveItem.selectionRecursiveState === 'allSelected',\n                    isIndeterminate: runTimeSelectionRecursiveItem.selectionRecursiveState === 'indeterminate',\n                };\n            } else {\n                treeItem.node = {\n                    ...treeItem.node,\n                    isSelected: treeItem.node.isSelected && runTimeSelectionRecursiveItem.selectionRecursiveState === 'allSelected',\n                    isIndeterminate:\n                        runTimeSelectionRecursiveItem.selectionRecursiveState === 'indeterminate' ||\n                        (!treeItem.node.isSelected && runTimeSelectionRecursiveItem.selectionRecursiveState === 'allSelected'),\n                };\n            }\n            // console.log(treeItem, treeItem.node.treeContentBlock.label, 'isSelected:' + treeItem.node.isSelected, 'isIndeterminate:' + treeItem.node.isIndeterminate);\n            if (treeItem.node.isSelected === true && !this.selectionModel.isSelected(runTimeBackupTreeItem)) {\n                this.selectTreeItem(runTimeBackupTreeItem);\n            } else if (treeItem.node.isSelected === false && this.selectionModel.isSelected(runTimeBackupTreeItem)) {\n                this.deselectTreeItem(runTimeBackupTreeItem);\n            }\n        }\n    }\n\n    private setTreeData(path: string, item: TreeItemModel): void {\n        const indexArr: Array<number> = this.resolvePath(path);\n        let itemArr = this.processedNodes;\n        indexArr?.forEach((pathIndex: number, index) => {\n            if (index < indexArr.length - 1) {\n                itemArr = itemArr[pathIndex]?.children;\n            } else {\n                itemArr[pathIndex] = item;\n            }\n        });\n    }\n\n    private setTreeDataRunTimeBackup(path: string, item: TreeItemRunTimeModel): void {\n        const indexArr: Array<number> = this.resolvePath(path);\n        let itemArr = this.treeDataRunTimeBackup;\n        indexArr.forEach((pathIndex: number, index) => {\n            if (index < indexArr.length - 1) {\n                itemArr = itemArr[pathIndex]?.children;\n            } else {\n                itemArr[pathIndex] = item;\n            }\n        });\n    }\n\n    private setTreeDataRunTime(path: string, item: TreeItemRunTimeModel): void {\n        const oldItem = this.getRunTimeTreeItem(path);\n        if(oldItem){\n            Object.keys(item)?.forEach(key => {\n                oldItem[key] = item[key];\n            });\n        }\n    }\n\n    private setRunTimeSelectionRecursiveStateTree(path: string, item: TreeItemSelectionRecursiveModel): void {\n        const indexArr: Array<number> = this.resolvePath(path);\n        let itemArr = this.runTimeSelectionRecursiveState;\n        indexArr.forEach((pathIndex: number, index) => {\n            if (index < indexArr.length - 1) {\n                itemArr = itemArr[pathIndex]?.children;\n            } else {\n                itemArr[pathIndex] = item;\n            }\n        });\n    }\n\n    private updateRunTimeSelectionRecursiveState(path: string, selectionRecursiveState: SelectionRecursiveState): void {\n        const indexArr: Array<number> = this.resolvePath(path);\n        let itemArr = this.runTimeSelectionRecursiveState;\n        indexArr.forEach((pathIndex: number, index) => {\n            if (index < indexArr.length - 1) {\n                itemArr = itemArr[pathIndex]?.children;\n            } else {\n                itemArr[pathIndex] = {\n                    ...itemArr[pathIndex],\n                    selectionRecursiveState,\n                };\n            }\n        });\n    }\n\n    private setIsCheckedForAll(nodeArr: Array<TreeItemRunTimeModel>, isChecked: boolean): void {\n        nodeArr.forEach((runTimeItem: TreeItemRunTimeModel, index: number) => {\n            const runtimeBackupTreeItem = this.getRunTimeBackupTreeItem(runTimeItem.path);\n            const treeItem = this.getTreeItem(runTimeItem.path);\n            const node = treeItem.node;\n            if (node?.selectable) {\n                node.isSelected = isChecked;\n                node.isIndeterminate = false;\n                if (isChecked) {\n                    this.selectTreeItem(runtimeBackupTreeItem);\n                } else {\n                    this.deselectTreeItem(runtimeBackupTreeItem);\n                }\n            }\n            if (runTimeItem?.children?.length > 0) {\n                this.setIsCheckedForAll(nodeArr[index].children, isChecked);\n            }\n        });\n    }\n\n    private runStateChangesForAll(nodeArr: Array<TreeItemRunTimeModel>): void {\n        nodeArr?.forEach((runTimeItem: TreeItemRunTimeModel, index: number) => {\n            if (runTimeItem?.children?.length >= 0) {\n                this.runStateChangesForAll(nodeArr[index].children);\n                this.syncSelectionAtPath(runTimeItem);\n            }\n        });\n    }\n\n    private syncSelectionAtPath(runTimeTreeItem: TreeItemRunTimeModel): void {\n        // It is here for the filter edge case.\n        this.syncStateChangesAtPath(runTimeTreeItem.path);\n        // Sets isSelected change on the control.\n        if (this.getTreeItem(runTimeTreeItem.path).node.isSelected) {\n            this.selectTreeItem(this.getRunTimeBackupTreeItem(runTimeTreeItem.path));\n        } else {\n            this.deselectTreeItem(this.getRunTimeBackupTreeItem(runTimeTreeItem.path));\n        }\n    }\n\n    private resolvePath(path: string): Array<number> {\n        return path?.split('.').map((index: string) => parseInt(index, 10));\n    }\n\n    private getParentPaths(path: string): Array<string> {\n        const pathArr = path.split('.');\n        const hasParent = pathArr.length > 1;\n        // Sets the hasParent If there is a parent, and removes the last element form pathArr.\n        if (hasParent) {\n            pathArr.pop();\n            // Calculates parent path\n            const parentPath = pathArr.join('.');\n            // Creating node index sequence f.e If path is '1.2' it will be [1,2]\n            const nodeIndexSeq = parentPath.split('.').map((indexStr) => parseInt(indexStr, 10));\n            // Calculating the node paths array to be re-calculated from bottom to top\n            const nodePathsSeq = [];\n            nodeIndexSeq.forEach((nodeIndex, index) => {\n                nodePathsSeq[index] = nodeIndexSeq.slice(0, index + 1).join('.');\n            });\n            return nodePathsSeq.reverse();\n        } else {\n            return [];\n        }\n    }\n\n    private calculateRunTimeState(treeItem: TreeItemModel, index: number, parentPath?: string): TreeItemRunTimeModel {\n        const runTimeTreeItem: TreeItemRunTimeModel = {\n            path: parentPath ? parentPath + '.' + index : index.toString(),\n            index,\n        };\n        if (treeItem.children && treeItem.children.length >= 0) {\n            runTimeTreeItem.children = [];\n            treeItem.children.forEach((child, treeItemIndex) => {\n                runTimeTreeItem.children[treeItemIndex] = this.calculateRunTimeState(child, treeItemIndex, runTimeTreeItem.path);\n            });\n        }\n        return runTimeTreeItem;\n    }\n\n    private filterTreeData(runTimeTreeData: TreeDataRunTimeModel, key = 'label', filterStr: string, showChildren: boolean, show?:boolean): TreeDataRunTimeModel {\n        return runTimeTreeData.filter((runTimeItem) => {\n            const targetData = this.getTreeItem(runTimeItem.path).node.treeContentBlock[key];\n            if (\n                targetData && this.normalizedStr(targetData)?.includes(this.normalizedStr(filterStr))\n            ) {\n                if(runTimeItem?.children?.length > 0){\n                    runTimeItem.children = this.filterTreeData(runTimeItem.children, key, filterStr, showChildren, showChildren);\n                }\n                Object.assign(runTimeItem,{ matched: true })\n                // runTimeItem.matched = true;\n                return true;\n            } else if (runTimeItem?.children?.length > 0) {\n                runTimeItem.children = this.filterTreeData(runTimeItem.children, key, filterStr, showChildren, show);\n                runTimeItem.children = runTimeItem.children.length > 0 ? runTimeItem.children : undefined;\n                return runTimeItem?.children?.length > 0 || show;\n            } else {\n                return show;\n            }\n        });\n    }\n\n    private normalizedStr(str: string): string {\n        return str\n            .toLowerCase()\n            .normalize('NFD')\n            .replace(/[\\u0300-\\u036f]/g, '');\n    }\n\n    private getInitialSelection(nodes: TreeDataRunTimeModel): Array<TreeItemRunTimeModel> {\n        const selection: Array<TreeItemRunTimeModel> = [];\n        this.scanSelection(nodes, selection);\n        return selection;\n    }\n\n    private scanSelection(nodes: TreeDataRunTimeModel, selection: Array<TreeItemRunTimeModel>): void {\n        nodes?.forEach((item: TreeItemRunTimeModel) => {\n            if (this.getTreeItem(item.path).node?.selectable && this.getTreeItem(item.path).node.isSelected) {\n                selection.push(item);\n            }\n            if (item?.children?.length > 0) {\n                this.scanSelection(item.children, selection);\n            }\n        });\n    }\n\n    private renderInitialExpand(nodes: TreeDataRunTimeModel): void {\n        const expandRecursive = (items: TreeDataRunTimeModel): void => {\n            items?.forEach((item: TreeItemRunTimeModel) => {\n                if (item?.children?.length > 0) {\n                    expandRecursive(item.children);\n                }\n\n                const treeItemNode = this.getTreeItem(item.path).node;\n                if (typeof treeItemNode.isExpanded !== 'undefined') {\n                    if (treeItemNode.isExpanded && !this.cdkTreeControl.isExpanded(item)) {\n                        this.expandAt(item.path, false);\n                    } else if (!treeItemNode.isExpanded && this.cdkTreeControl.isExpanded(item)) {\n                        this.cdkTreeControl.collapse(item);\n                    }\n                }\n            });\n        };\n\n        expandRecursive(nodes);\n        this.changeDetectorRef.detectChanges();\n    }\n\n    private expandMatched(nodes: TreeDataRunTimeModel): void {\n        nodes.forEach((item: TreeItemRunTimeModel) => {\n            if (item.matched) {\n                const parentPath = this.getParentPaths(item.path)[0];\n                if (parentPath) {\n                    let parentTreeItem = this.getTreeItem(parentPath);\n                    parentTreeItem = {\n                        ...parentTreeItem,\n                        node: {\n                            ...parentTreeItem.node,\n                            isExpanded: true,\n                        },\n                    };\n                    //  node.isExpanded = true;\n                    // console.log(\"here\", parentTreeItem.node.treeContentBlock.label, parentPath, item);\n                    this.expandAt(parentPath);\n                }\n            }\n            if (item?.children?.length > 0) {\n                this.expandMatched(item.children);\n            }\n        });\n    }\n\n    private getRunTimeTreeItem(path: string): TreeItemRunTimeModel {\n        return this.findRunTimeTreeItem(this.treeDataRunTime, path);\n    }\n\n    private findRunTimeTreeItem(treeDataRunTime: TreeDataRunTimeModel, path): TreeItemRunTimeModel {\n        for (const runTimeItem of treeDataRunTime) {\n            if (runTimeItem.path === path) {\n                return runTimeItem;\n            } else if (runTimeItem?.children?.length > 0) {\n                const found = this.findRunTimeTreeItem(runTimeItem.children, path);\n                if (found) {\n                    return found;\n                }\n            }\n        }\n        return null;\n    }\n\n    private getRunTimeBackupTreeItem(path: string): TreeItemRunTimeModel {\n        const indexArr: Array<number> = this.resolvePath(path);\n        let nodeArr = this.treeDataRunTimeBackup;\n        let node;\n        if (nodeArr && Array.isArray(nodeArr)) {\n            indexArr?.forEach((pathIndex: number, index) => {\n                if (index < indexArr.length - 1) {\n                    nodeArr = nodeArr && nodeArr[pathIndex]?.children;\n                } else {\n                    node = nodeArr[pathIndex];\n                }\n            });\n        }\n        return node;\n    }\n\n    private getCssClasses(): string {\n        return [\n            'eui-tree',\n            this.isMultiselect ? 'eui-tree--multiselect' : '',\n            this._isMultiLevel ? 'eui-tree--with-children' : '',\n            this.showLines ? 'eui-tree--show-lines' : '',\n        ]\n        .join(' ')\n        .trim();\n    }\n\n    private checkIfMultiLevel(tree: TreeDataModel): boolean {\n        let isMultiLevel = false;\n        tree.forEach((item: TreeItemModel) => {\n            if (item?.children?.length >= 0) {\n                isMultiLevel = true;\n            }\n        });\n        return isMultiLevel;\n    }\n\n    private checkIfCurrentScrollable(scrolled: CdkScrollable): boolean {\n        return scrolled.getElementRef().nativeElement === this.cdkScrollableRef.getElementRef().nativeElement;\n    }\n}\n",
            "styleUrl": "./eui-tree.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnChanges",
                "OnDestroy"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 127
                    }
                }
            },
            "templateData": "<div class=\"eui-ul-rep eui-tree__wrapper\" cdkScrollable #cdkScrollableRef>\n    @if (renderTree) {\n    <cdk-tree\n        #treeComponentInstance\n        [dataSource]=\"cdkArrayDataSource\"\n        [treeControl]=\"cdkTreeControl\"\n        [trackBy]=\"trackBy\"\n        class=\"eui-cdk-tree\">\n        <!-- There are two states of generic cdk-nested-tree-node declarations.\n        First one is without child. No sub rendering.\n        -->\n        <cdk-nested-tree-node *cdkTreeNodeDef=\"let treeRunTimeItemModel\" class=\"eui-cdk-nested-tree-node\">\n            @if (treeRunTimeItemModel) {\n            <div\n                class=\"eui-li-rep eui-tree-node\"\n                [class.eui-tree-node--first]=\"treeRunTimeItemModel?.path === '0'\"\n                [class.eui-tree-node--last]=\"treeRunTimeItemModel.last\"\n                title=\"{{\n                autoTranslate\n                    ? ((getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel\n                        || getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label) | translate)\n                    : (getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel\n                        || getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label)\n                }}\">\n                <div class=\"eui-tree-node-wrapper\"\n                     (click)=\"onNodeClick(treeRunTimeItemModel, $event)\">\n                    <div class=\"eui-tree-node-wrapper__container\">\n                        <!--\n                        Renders node in default or provided template's context.\n                        Generates onSelect with onSelectFn for developers to send the events from their custom check events.\n                        Provides id to be used on generic template\n                        -->\n                        <ng-container\n                            [ngTemplateOutlet]=\"nodeTemplateRef || nodeTemplateDefault\"\n                            [ngTemplateOutletContext]=\"{\n                                $implicit: getTreeItem(treeRunTimeItemModel?.path)?.node,\n                                onSelect: onSelectFn(treeRunTimeItemModel.path),\n                                id: uid + treeRunTimeItemModel.path,\n                                path: treeRunTimeItemModel.path\n                            }\">\n                        </ng-container>\n                    </div>\n                </div>\n            </div>\n            }\n        </cdk-nested-tree-node>\n        <!-- This is the tree node template for expandable nodes -->\n        <cdk-nested-tree-node\n            *cdkTreeNodeDef=\"let treeRunTimeItemModel; when: hasChild\"\n            class=\"eui-cdk-nested-tree-node eui-cdk-nested-tree-node--with-child\">\n            @if (treeRunTimeItemModel) {\n            <div\n                class=\"eui-li-rep eui-tree-node eui-tree-node--with-child\"\n                [class.eui-tree-node--first]=\"treeRunTimeItemModel?.path === '0'\"\n                [class.eui-tree-node--last]=\"treeRunTimeItemModel.last\"\n                title=\"{{\n                autoTranslate\n                    ? ((getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel\n                        || getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label) | translate)\n                    : (getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel\n                        || getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label)\n                }}\">\n                <div\n                    class=\"eui-tree-node-wrapper\">\n                    <!--Here wraps the node, and listen for node clicks.-->\n                    <div (click)=\"onNodeClick(treeRunTimeItemModel, $event)\" class=\"eui-tree-node-wrapper__container\">\n                        <!-- Expand/collapse action button -->\n                        <button\n                            euiButton\n                            euiIconButton\n                            euiBasicButton\n                            euiRounded\n                            euiSizeS\n                            type=\"button\"\n                            [attr.aria-label]=\"'Toggle ' + getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\"\n                            (click)=\"onToggleButtonClick(treeRunTimeItemModel, $event)\"\n                            class=\"eui-tree-node__button\">\n                            @if (!cdkTreeControl.isExpanded(treeRunTimeItemModel)) {\n                            <eui-icon-svg\n                                [icon]=\"expandedSvgIconClass\"></eui-icon-svg>\n                            }\n                            @if (cdkTreeControl.isExpanded(treeRunTimeItemModel)) {\n                            <eui-icon-svg\n                                [icon]=\"collapsedSvgIconClass\"></eui-icon-svg>\n                            }\n                        </button>\n                        <!--\n                        Renders node in default or provided template's context.\n                        Generates onSelect with onSelectFn for developers to send the events from their custom check events.\n                        Provides id to be used on generic template\n                        -->\n                        <ng-container\n                            [ngTemplateOutlet]=\"nodeTemplateRef || nodeTemplateDefault\"\n                            [ngTemplateOutletContext]=\"{\n                                $implicit: getTreeItem(treeRunTimeItemModel.path)?.node,\n                                onSelect: onSelectFn(treeRunTimeItemModel.path),\n                                id: uid + treeRunTimeItemModel.path,\n                                path: treeRunTimeItemModel.path,\n                                children: getTreeItem(treeRunTimeItemModel?.path)?.children\n                            }\">\n                        </ng-container>\n                    </div>\n                </div>\n                <!--uses cdkTreeNodeOutlet to render children nodes, CdkTreeControl is used to control isExpanded state.-->\n                @if (cdkTreeControl.isExpanded(treeRunTimeItemModel)) {\n                <div class=\"eui-ul-rep eui-tree-node\" role=\"group\">\n                    <ng-container cdkTreeNodeOutlet></ng-container>\n                </div>\n                }\n            </div>\n            }\n        </cdk-nested-tree-node>\n    </cdk-tree>\n    }\n</div>\n\n<ng-template #nodeTemplateDefault let-node let-onSelect=\"onSelect\" let-id=\"id\" let-path=\"path\">\n    @if (node) {\n        <div class=\"eui-tree-node-wrapper__container-left\" [class.eui-tree-node-wrapper__container-left--selected]=\"node?.isSelected\">\n            <!--input checkbox area-->\n            @if (node && node.selectable) {\n            <input\n                euiInputCheckBox\n                type=\"checkbox\"\n                id=\"{{ id }}\"\n                [checked]=\"!!node?.isSelected\"\n                [indeterminate]=\"!!node?.isIndeterminate\"\n                (change)=\"onSelect($event)\" />\n            }\n\n            <!--icon area-->\n            @if (node?.treeContentBlock?.iconSvgName) {\n                <eui-icon-svg\n                    icon=\"{{ node?.treeContentBlock?.iconSvgName }}\"\n                    fillColor=\"{{ node?.treeContentBlock?.iconTypeClass || 'neutral' }}\"\n                    size=\"s\"\n                    class=\"eui-u-mr-xs\">\n                </eui-icon-svg>\n            }\n\n            <!--chips area-->\n            @if (node?.treeContentBlock?.chips) {\n                @for (chip of node.treeContentBlock.chips; track chip) {\n                <eui-chip\n                    euiSizeS\n                    [euiVariant]=\"chip.typeClass || 'secondary'\"\n                    [euiOutline]=\"chip.isOutline\"\n                    class=\"eui-chip--rounded eui-u-mr-xs\">\n                    <span euiLabel>{{ chip.label }}</span>\n                </eui-chip>\n                }\n            }\n\n            <!--badge (typeLabel & typeClass) area-->\n            @if (node?.treeContentBlock?.typeLabel) {\n                <eui-badge euiSizeM [euiVariant]=\"node?.treeContentBlock?.typeClass || 'primary'\" class=\"eui-u-flex-no-shrink eui-u-mr-xs\">\n                    {{ node?.treeContentBlock?.typeLabel }}\n                </eui-badge>\n            }\n        </div>\n\n        <!--label area-->\n        <div class=\"eui-tree-node-wrapper__container-middle\">\n            @if (!node?.treeContentBlock?.url && !node?.treeContentBlock?.urlExternal) {\n            <label\n                euiLabel\n                for=\"{{ id }}\"\n                class=\"eui-u-text-truncate eui-u-p-2xs\"\n                [class.eui-label--selected]=\"\n                    highlightPath\n                        ? getRunTimeSelectionRecursiveState(path)?.selectionRecursiveState === 'indeterminate' || node?.isSelected\n                        : node?.isSelected\n                \"\n                [class.eui-u-cursor-pointer]=\"node?.selectable\">\n                {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n            </label>\n            }\n            @if (node?.treeContentBlock?.url) {\n            <label euiLabel for=\"{{ id }}\" class=\"eui-u-text-truncate eui-u-p-2xs\">\n                <a\n                    class=\"eui-u-text-link\"\n                    [class.eui-u-text-link-standalone]=\"!showUnderlinedLinks\"\n                    [routerLink]=\"node?.treeContentBlock?.url\">\n                    {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n                </a>\n            </label>\n            }\n            @if (node?.treeContentBlock?.urlExternal) {\n            <label euiLabel for=\"{{ id }}\" class=\"eui-u-text-truncate eui-u-p-2xs\">\n                <a\n                    class=\"eui-u-text-link-external\"\n                    [class.eui-u-text-link-external-standalone]=\"!showUnderlinedLinks\"\n                    href=\"{{ node?.treeContentBlock?.urlExternal }}\"\n                    target=\"{{ node?.treeContentBlock?.urlExternalTarget || 'blank' }}\">\n                    {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n                </a>\n            </label>\n            }\n        </div>\n\n        @if (node?.treeContentBlock?.rightContent) {\n        <div class=\"eui-tree-node-wrapper__container-right\">\n            <!--badges area-->\n            @for (badge of node.treeContentBlock.rightContent?.badges; track badge) {\n                <eui-badge euiOutline [euiVariant]=\"badge.typeClass || 'secondary'\" class=\"eui-u-ml-xs\">\n                    {{ badge.label }}\n                </eui-badge>\n            }\n\n            <!--chips area-->\n            @for (chip of node.treeContentBlock.rightContent?.chips; track chip) {\n                <eui-chip\n                    euiSizeS\n                    [euiVariant]=\"chip.typeClass || 'secondary'\"\n                    [euiOutline]=\"chip.isOutline\"\n                    class=\"eui-chip--rounded eui-u-mb-none eui-u-ml-xs\">\n                    {{ chip.label }}\n                </eui-chip>\n            }\n\n            <!--Context menu-->\n            @if (node.treeContentBlock.rightContent?.contextMenuMetaData && rightContextMenuTemplateRef) {\n                <eui-dropdown class=\"eui-u-ml-xs\">\n                    <button euiButton euiSizeS euiRounded euiIconButton euiBasicButton euiSecondary [attr.aria-label]=\"'Options menu'\">\n                        <eui-icon-svg icon=\"eui-ellipsis-vertical\"></eui-icon-svg>\n                    </button>\n                    <eui-dropdown-content>\n                        <ng-template\n                            [ngTemplateOutlet]=\"rightContextMenuTemplateRef\"\n                            [ngTemplateOutletContext]=\"{\n                                $implicit: node?.treeContentBlock?.rightContent?.contextMenuMetaData,\n                                metadata: node?.treeContentBlock?.rightContent?.contextMenuMetaData\n                            }\">\n                        </ng-template>\n                    </eui-dropdown-content>\n                </eui-dropdown>\n            }\n        </div>\n        }\n\n        <!--metadata, uses the help of ng template to generate dynamic expand variable without handling state -->\n        @if (node.treeContentBlock?.metadata && nodeContentMetadataTemplateRef) {\n        <ng-container\n            [ngTemplateOutlet]=\"nodeContentMetadataContainer\"\n            [ngTemplateOutletContext]=\"{\n                $implicit: { expanded: false }\n            }\" />\n        }\n        <ng-template #nodeContentMetadataContainer let-metaDataContainer>\n            <button\n                euiButton\n                euiBasicButton\n                euiIconButton\n                euiRounded\n                euiSizeS\n                type=\"button\"\n                aria-label=\"expand collapse tree item\"\n                (click)=\"metaDataContainer.expanded = !metaDataContainer.expanded\">\n                <eui-icon-svg [icon]=\"metaDataContainer.expanded ? 'eui-chevron-down' : 'eui-chevron-right'\"></eui-icon-svg>\n            </button>\n            @if (metaDataContainer.expanded) {\n            <div class=\"eui-tree-node__metacontent\">\n                <!--passing metadata of the node content to provided template-ref:nodeContentMetadataTemplateRef-->\n                <ng-template\n                    [ngTemplateOutlet]=\"nodeContentMetadataTemplateRef\"\n                    [ngTemplateOutletContext]=\"{\n                        $implicit: node?.treeContentBlock?.metadata,\n                        metadata: node?.treeContentBlock?.metadata\n                    }\">\n                </ng-template>\n            </div>\n            }\n        </ng-template>\n        }\n</ng-template>\n"
        },
        {
            "name": "EuiTreeListComponent",
            "id": "component-EuiTreeListComponent-cf81edbc3be5e10fd893728ac03b604433820438d3b45750a54e3b805a4c5e96aca9e3702c5057e7a6e7d9abd0b78a46828df28fa7bf84cf274a02f5680c3902",
            "file": "packages/components/eui-tree-list/eui-tree-list.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-tree-list",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-tree-list.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "ariaLabel",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4070,
                            "end": 4087,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4071,
                                "end": 4078,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the aria-label attribute for the tree list\n",
                    "description": "<p>Sets the aria-label attribute for the tree list</p>\n",
                    "line": 134,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "collapseAllLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3812,
                            "end": 3832,
                            "kind": 345,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3813,
                                "end": 3817,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "type"
                            },
                            "comment": "",
                            "typeExpression": {
                                "pos": 3818,
                                "end": 3826,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 3819,
                                    "end": 3825,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nSets the label for the collapse-all button\n",
                    "description": "<p>Sets the label for the collapse-all button</p>\n",
                    "line": 124,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-tree-list'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4306,
                            "end": 4336,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4307,
                                "end": 4314,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-tree-list&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the end-to-end attribute for the tree list\n",
                    "description": "<p>Sets the end-to-end attribute for the tree list</p>\n",
                    "line": 144,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "expandAllLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3687,
                            "end": 3707,
                            "kind": 345,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3688,
                                "end": 3692,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "type"
                            },
                            "comment": "",
                            "typeExpression": {
                                "pos": 3693,
                                "end": 3701,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 3694,
                                    "end": 3700,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nSets the label for the expand-all button\n",
                    "description": "<p>Sets the label for the expand-all button</p>\n",
                    "line": 119,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "filterFunction",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3475,
                            "end": 3522,
                            "kind": 342,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3476,
                                "end": 3481,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "",
                            "typeExpression": {
                                "pos": 3482,
                                "end": 3507,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 3483,
                                    "end": 3506,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 3483,
                                        "end": 3506,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "EuiTreeListFilterParams"
                                    }
                                }
                            },
                            "name": {
                                "pos": 3508,
                                "end": 3514,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "params"
                            },
                            "isNameFirst": false,
                            "isBracketed": false
                        },
                        {
                            "pos": 3522,
                            "end": 3546,
                            "kind": 343,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3523,
                                "end": 3530,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "",
                            "typeExpression": {
                                "pos": 3531,
                                "end": 3540,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 3532,
                                    "end": 3539,
                                    "kind": 136,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nFunction to filter the tree list items based on the provided params\n",
                    "description": "<p>Function to filter the tree list items based on the provided params</p>\n",
                    "line": 114,
                    "type": "function",
                    "decorators": []
                },
                {
                    "name": "filterLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3328,
                            "end": 3348,
                            "kind": 345,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3329,
                                "end": 3333,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "type"
                            },
                            "comment": "",
                            "typeExpression": {
                                "pos": 3334,
                                "end": 3342,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 3335,
                                    "end": 3341,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nSets the label for the filter input\n",
                    "description": "<p>Sets the label for the filter input</p>\n",
                    "line": 108,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasItemsUrl",
                    "defaultValue": "false",
                    "deprecated": true,
                    "deprecationMessage": "This property is not used anymore and will be removed in the next major version.",
                    "jsdoctags": [
                        {
                            "pos": 3104,
                            "end": 3202,
                            "kind": 332,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3105,
                                "end": 3115,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "deprecated"
                            },
                            "comment": "<p>This property is not used anymore and will be removed in the next major version.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 103,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isExpanded",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSets the expanded state of the tree list\n",
                    "description": "<p>Sets the expanded state of the tree list</p>\n",
                    "line": 99,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowToolbar",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2683,
                            "end": 2703,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2684,
                                "end": 2691,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nOption to show the toolbar\n",
                    "description": "<p>Option to show the toolbar</p>\n",
                    "line": 91,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowToolbarToggle",
                    "defaultValue": "true",
                    "deprecated": true,
                    "deprecationMessage": "This property is not used anymore and will be removed in the next major version.",
                    "jsdoctags": [
                        {
                            "pos": 2788,
                            "end": 2886,
                            "kind": 332,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2789,
                                "end": 2799,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "deprecated"
                            },
                            "comment": "<p>This property is not used anymore and will be removed in the next major version.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 95,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "tabindex",
                    "defaultValue": "'0'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3950,
                            "end": 3968,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3951,
                                "end": 3958,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;0&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the tabindex attribute to handle the focus state\n",
                    "description": "<p>Sets the tabindex attribute to handle the focus state</p>\n",
                    "line": 129,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "toolbarFilterValue",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4178,
                            "end": 4195,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4179,
                                "end": 4186,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nSets the filter value of the toolbar\n",
                    "description": "<p>Sets the filter value of the toolbar</p>\n",
                    "line": 139,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "collapseAll",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted upon collapsing all items.\n",
                    "description": "<p>Event emitted upon collapsing all items.</p>\n",
                    "line": 160,
                    "type": "EventEmitter"
                },
                {
                    "name": "expandAll",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted upon expanding all items.\n",
                    "description": "<p>Event emitted upon expanding all items.</p>\n",
                    "line": 156,
                    "type": "EventEmitter"
                },
                {
                    "name": "filter",
                    "defaultValue": "new EventEmitter<string>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent that emits the filter value upon filtering.\n",
                    "description": "<p>Event that emits the filter value upon filtering.</p>\n",
                    "line": 152,
                    "type": "EventEmitter"
                },
                {
                    "name": "itemSelected",
                    "defaultValue": "new EventEmitter<string>()",
                    "deprecated": true,
                    "deprecationMessage": "This property is not used anymore and will be removed in the next major version.",
                    "rawdescription": "\n\n",
                    "description": "",
                    "jsdoctags": [
                        {
                            "pos": 4394,
                            "end": 4492,
                            "kind": 332,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4395,
                                "end": 4405,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "deprecated"
                            },
                            "comment": "<p>This property is not used anymore and will be removed in the next major version.</p>\n"
                        }
                    ],
                    "line": 148,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "ariaOwns",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 164,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "ariaRoleTree",
                    "defaultValue": "'tree'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 167,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "classes",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 166,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "items",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiTreeListItemComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 162,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "originalTabindex",
                    "defaultValue": "'0'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 165,
                    "modifierKind": [
                        125
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "disableFocus",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 301,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod that makes the tree list not focusable.\n",
                    "description": "<p>Method that makes the tree list not focusable.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "focus",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 292,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod that puts the focus on the first child tree item.\n",
                    "description": "<p>Method that puts the focus on the first child tree item.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "focusOnNextTreeItem",
                    "args": [
                        {
                            "name": "currentTreeListItem",
                            "type": "EuiTreeListItemComponent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 348,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod used to focus on the next tree item in the list.\n",
                    "description": "<p>Method used to focus on the next tree item in the list.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 12127,
                                "end": 12146,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "currentTreeListItem"
                            },
                            "type": "EuiTreeListItemComponent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 12094,
                                "end": 12099,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The current tree list item.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 12100,
                                "end": 12126,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 12101,
                                    "end": 12125,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 12101,
                                        "end": 12125,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "EuiTreeListItemComponent"
                                    }
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 12185,
                                "end": 12191,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "return"
                            },
                            "comment": "<ul>\n<li>Returns true if the focus was set on the next tree item, false otherwise.</li>\n</ul>\n",
                            "returnType": "boolean"
                        }
                    ]
                },
                {
                    "name": "focusOnPreviousTreeItem",
                    "args": [
                        {
                            "name": "currentTreeListItem",
                            "type": "EuiTreeListItemComponent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 309,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod used to focus on the previous tree item in the list.\n",
                    "description": "<p>Method used to focus on the previous tree item in the list.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 10449,
                                "end": 10468,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "currentTreeListItem"
                            },
                            "type": "EuiTreeListItemComponent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 10416,
                                "end": 10421,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The current tree list item.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 10422,
                                "end": 10448,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 10423,
                                    "end": 10447,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 10423,
                                        "end": 10447,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "EuiTreeListItemComponent"
                                    }
                                }
                            }
                        },
                        {
                            "tagName": {
                                "pos": 10507,
                                "end": 10513,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "return"
                            },
                            "comment": "<ul>\n<li>Returns true if the focus was set on the previous tree item, false otherwise.</li>\n</ul>\n",
                            "returnType": "boolean"
                        }
                    ]
                },
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 170,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 186,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onCollapseAll",
                    "args": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 215,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod that sets the collapsed state and emits the collapse-all event.\n",
                    "description": "<p>Method that sets the collapsed state and emits the collapse-all event.</p>\n",
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onExpandAll",
                    "args": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 208,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod that sets the expanded state and emits the expand-all event.\n",
                    "description": "<p>Method that sets the expanded state and emits the expand-all event.</p>\n",
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onFilter",
                    "args": [
                        {
                            "name": "filterValue",
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 223,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod that handles the visibility of the items based on the filter value and emits the filter event.\n",
                    "description": "<p>Method that handles the visibility of the items based on the filter value and emits the filter event.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 6868,
                                "end": 6879,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "filterValue"
                            },
                            "type": "string",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 6853,
                                "end": 6858,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The filter value to set.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 6859,
                                "end": 6867,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 6860,
                                    "end": 6866,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "onFocus",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 272,
                    "deprecated": true,
                    "deprecationMessage": "This method is not used anymore and will be removed in the next major version. You can use the `focus()` method instead.",
                    "rawdescription": "\n\n",
                    "description": "",
                    "jsdoctags": []
                },
                {
                    "name": "setExpandedState",
                    "args": [
                        {
                            "name": "state",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 286,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod that sets the expanded state of the tree list items.\n",
                    "description": "<p>Method that sets the expanded state of the tree list items.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 9784,
                                "end": 9789,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "state"
                            },
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 9768,
                                "end": 9773,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "",
                            "typeExpression": {
                                "pos": 9774,
                                "end": 9783,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 9775,
                                    "end": 9782,
                                    "kind": 136,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "setVisibleState",
                    "args": [
                        {
                            "name": "state",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 279,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod that sets the visibility state of the tree list items.\n",
                    "description": "<p>Method that sets the visibility state of the tree list items.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 9537,
                                "end": 9542,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "state"
                            },
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 9521,
                                "end": 9526,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "",
                            "typeExpression": {
                                "pos": 9527,
                                "end": 9536,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 9528,
                                    "end": 9535,
                                    "kind": 136,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EuiTreeListToolbarComponent",
                    "type": "component"
                },
                {
                    "name": "TranslateModule",
                    "type": "module"
                }
            ],
            "description": "<p>Hierarchical tree list component for displaying nested navigation or content structures.\nProvides expand/collapse functionality, filtering, and keyboard navigation support.\nSupports optional toolbar with expand-all, collapse-all, and filter controls.\nImplements ARIA tree role for accessibility compliance.\nCommonly used for navigation menus, file explorers, or any hierarchical list display.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tree-list [isShowToolbar]=&quot;true&quot;&gt;\n  &lt;eui-tree-list-item label=&quot;Documents&quot;&gt;\n    &lt;eui-tree-list-item label=&quot;Reports&quot; /&gt;\n    &lt;eui-tree-list-item label=&quot;Invoices&quot; /&gt;\n  &lt;/eui-tree-list-item&gt;\n  &lt;eui-tree-list-item label=&quot;Images&quot;&gt;\n    &lt;eui-tree-list-item label=&quot;Photos&quot; /&gt;\n  &lt;/eui-tree-list-item&gt;\n&lt;/eui-tree-list&gt;</code></pre></div><h3>With Custom Filter</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tree-list\n  [isShowToolbar]=&quot;true&quot;\n  [filterFunction]=&quot;customFilter&quot;&gt;\n  &lt;!-- tree items --&gt;\n&lt;/eui-tree-list&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">customFilter = (params: EuiTreeListFilterParams) =&gt; {\n  return params.item.label.toLowerCase().includes(params.keyword.toLowerCase());\n};</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use role=&quot;tree&quot; on container (automatically applied)</li>\n<li>Each item has role=&quot;treeitem&quot;</li>\n<li>Keyboard navigation: Arrow keys to navigate, Enter to activate</li>\n<li>Expandable items announce their state to screen readers</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Toolbar provides expand-all, collapse-all, and filter functionality</li>\n<li>Filter function receives level, item, and keyword for custom filtering</li>\n<li>Items can be nested to any depth</li>\n<li>Supports keyboard navigation for accessibility</li>\n</ul>\n",
            "rawdescription": "\n\nHierarchical tree list component for displaying nested navigation or content structures.\nProvides expand/collapse functionality, filtering, and keyboard navigation support.\nSupports optional toolbar with expand-all, collapse-all, and filter controls.\nImplements ARIA tree role for accessibility compliance.\nCommonly used for navigation menus, file explorers, or any hierarchical list display.\n\n### Basic Usage\n```html\n<eui-tree-list [isShowToolbar]=\"true\">\n  <eui-tree-list-item label=\"Documents\">\n    <eui-tree-list-item label=\"Reports\" />\n    <eui-tree-list-item label=\"Invoices\" />\n  </eui-tree-list-item>\n  <eui-tree-list-item label=\"Images\">\n    <eui-tree-list-item label=\"Photos\" />\n  </eui-tree-list-item>\n</eui-tree-list>\n```\n\n### With Custom Filter\n```html\n<eui-tree-list\n  [isShowToolbar]=\"true\"\n  [filterFunction]=\"customFilter\">\n  <!-- tree items -->\n</eui-tree-list>\n```\n\n```typescript\ncustomFilter = (params: EuiTreeListFilterParams) => {\n  return params.item.label.toLowerCase().includes(params.keyword.toLowerCase());\n};\n```\n\n### Accessibility\n- Use role=\"tree\" on container (automatically applied)\n- Each item has role=\"treeitem\"\n- Keyboard navigation: Arrow keys to navigate, Enter to activate\n- Expandable items announce their state to screen readers\n\n### Notes\n- Toolbar provides expand-all, collapse-all, and filter functionality\n- Filter function receives level, item, and keyword for custom filtering\n- Items can be nested to any depth\n- Supports keyboard navigation for accessibility\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    Input,\n    Output,\n    EventEmitter,\n    ContentChildren,\n    QueryList,\n    forwardRef,\n    AfterViewInit,\n    OnChanges,\n    SimpleChanges,\n    ElementRef,\n    ViewEncapsulation,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\nimport { EuiTreeListItemComponent } from './eui-tree-list-item.component';\nimport { EuiTreeListToolbarComponent } from './toolbar/toolbar.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\nexport interface EuiTreeListFilterParams {\n    readonly level: number;\n    readonly item: EuiTreeListItemComponent;\n    readonly keyword: string;\n}\n\n/**\n * @description\n * Hierarchical tree list component for displaying nested navigation or content structures.\n * Provides expand/collapse functionality, filtering, and keyboard navigation support.\n * Supports optional toolbar with expand-all, collapse-all, and filter controls.\n * Implements ARIA tree role for accessibility compliance.\n * Commonly used for navigation menus, file explorers, or any hierarchical list display.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-tree-list [isShowToolbar]=\"true\">\n *   <eui-tree-list-item label=\"Documents\">\n *     <eui-tree-list-item label=\"Reports\" />\n *     <eui-tree-list-item label=\"Invoices\" />\n *   </eui-tree-list-item>\n *   <eui-tree-list-item label=\"Images\">\n *     <eui-tree-list-item label=\"Photos\" />\n *   </eui-tree-list-item>\n * </eui-tree-list>\n * ```\n *\n * ### With Custom Filter\n * ```html\n * <eui-tree-list\n *   [isShowToolbar]=\"true\"\n *   [filterFunction]=\"customFilter\">\n *   <!-- tree items -->\n * </eui-tree-list>\n * ```\n *\n * ```typescript\n * customFilter = (params: EuiTreeListFilterParams) => {\n *   return params.item.label.toLowerCase().includes(params.keyword.toLowerCase());\n * };\n * ```\n *\n * ### Accessibility\n * - Use role=\"tree\" on container (automatically applied)\n * - Each item has role=\"treeitem\"\n * - Keyboard navigation: Arrow keys to navigate, Enter to activate\n * - Expandable items announce their state to screen readers\n *\n * ### Notes\n * - Toolbar provides expand-all, collapse-all, and filter functionality\n * - Filter function receives level, item, and keyword for custom filtering\n * - Items can be nested to any depth\n * - Supports keyboard navigation for accessibility\n */\n@Component({\n    selector: 'eui-tree-list',\n    templateUrl: './eui-tree-list.component.html',\n    styleUrl: './eui-tree-list.scss',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        EuiTreeListToolbarComponent,\n        TranslateModule,\n    ],\n})\nexport class EuiTreeListComponent implements AfterViewInit, OnChanges {\n    /**\n     * Option to show the toolbar\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isShowToolbar = false;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input({ transform: booleanAttribute }) isShowToolbarToggle = true;\n    /**\n     * Sets the expanded state of the tree list\n     */\n    @Input({ transform: booleanAttribute }) isExpanded = false;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input({ transform: booleanAttribute }) hasItemsUrl = false;\n    /**\n     * Sets the label for the filter input\n     * @type {string}\n     */\n    @Input() filterLabel: string;\n    /**\n     * Function to filter the tree list items based on the provided params\n     * @param {EuiTreeListFilterParams} params\n     * @returns {boolean}\n     */\n    @Input() filterFunction: (params: EuiTreeListFilterParams) => boolean;\n    /**\n     * Sets the label for the expand-all button\n     * @type {string}\n     */\n    @Input() expandAllLabel: string;\n    /**\n     * Sets the label for the collapse-all button\n     * @type {string}\n     */\n    @Input() collapseAllLabel: string;\n    /**\n     * Sets the tabindex attribute to handle the focus state\n     * @default '0'\n     */\n    @Input() tabindex = '0';\n    /**\n     * Sets the aria-label attribute for the tree list\n     * @default ''\n     */\n    @Input() ariaLabel = '';\n    /**\n     * Sets the filter value of the toolbar\n     * @default ''\n     */\n    @Input() toolbarFilterValue = '';\n    /**\n     * Sets the end-to-end attribute for the tree list\n     * @default 'eui-tree-list'\n     */\n    @Input() e2eAttr = 'eui-tree-list';\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Output() itemSelected = new EventEmitter<string>();\n    /**\n     * Event that emits the filter value upon filtering.\n     */\n    @Output() filter = new EventEmitter<string>();\n    /**\n     * Event emitted upon expanding all items.\n     */\n    @Output() expandAll = new EventEmitter();\n    /**\n     * Event emitted upon collapsing all items.\n     */\n    @Output() collapseAll = new EventEmitter();\n\n    @ContentChildren(forwardRef(() => EuiTreeListItemComponent)) items: QueryList<EuiTreeListItemComponent>;\n\n    public ariaOwns = '';\n    public originalTabindex = '0';\n    public classes = '';\n    public ariaRoleTree = 'tree';\n    private elementRef = inject(ElementRef);\n\n    ngAfterViewInit(): void {\n        const treeItemIds = [];\n        if (this.items) {\n            this.items.forEach((treeItem: EuiTreeListItemComponent) => {\n                treeItemIds.push(treeItem.id);\n            });\n        }\n        setTimeout(() => {\n            this.ariaOwns = treeItemIds.join(' ');\n            this.originalTabindex = this.tabindex;\n            if (this.isExpanded) {\n                this.setExpandedState(true);\n            }\n        }, 0);\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes && changes['tabindex']) {\n            this.originalTabindex = this.tabindex;\n        }\n    }\n    /**\n     * Getter function that returns true if the expandAllLabel exists.\n     * @returns {boolean}\n     */\n    get hasExpandAllLabel(): boolean {\n        return this.expandAllLabel !== undefined && this.expandAllLabel !== null;\n    }\n    /**\n     * Getter function that returns true if the collapseAllLabel exists.\n     * @returns {boolean}\n     */\n    get hasCollapseAllLabel(): boolean {\n        return this.collapseAllLabel !== undefined && this.collapseAllLabel !== null;\n    }\n    /**\n     * Method that sets the expanded state and emits the expand-all event.\n     */\n    onExpandAll(event: Event): void {\n        this.setExpandedState(true);\n        this.expandAll.next(void 0);\n    }\n    /**\n     * Method that sets the collapsed state and emits the collapse-all event.\n     */\n    onCollapseAll(event: Event): void {\n        this.setExpandedState(false);\n        this.collapseAll.next(void 0);\n    }\n    /**\n     * Method that handles the visibility of the items based on the filter value and emits the filter event.\n     * @param {string} filterValue - The filter value to set.\n     */\n    onFilter(filterValue: string): void {\n        // TODO find a recursive way of doing the filtering throughout the tree structure\n        if (filterValue && filterValue !== '') {\n            this.setVisibleState(false);\n            this.items.toArray().forEach((item1) => {\n                item1.isVisible = this.filterMatched(0, item1, filterValue);\n                if (item1.subTreeList.length !== 0) {\n                    item1.subTreeList.toArray().forEach((item1SubTreeList) => {\n                        item1SubTreeList.items.toArray().forEach((item2) => {\n                            if (this.filterMatched(1, item2, filterValue)) {\n                                item2.isVisible = true;\n                                item1.isVisible = true;\n                                item1.isExpanded = true;\n\n                                if (item2.subTreeList.length !== 0) {\n                                    item2.subTreeList.toArray().forEach((item2SubTreeList) => {\n                                        item2SubTreeList.items.toArray().forEach((item3) => {\n                                            item3.isVisible = true;\n                                        });\n                                    });\n                                }\n                            }\n\n                            if (item2.subTreeList.length !== 0) {\n                                item2.subTreeList.toArray().forEach((item2SubTreeList) => {\n                                    item2SubTreeList.items.toArray().forEach((item4) => {\n                                        if (this.filterMatched(2, item4, filterValue)) {\n                                            item4.isVisible = true;\n                                            item2.isVisible = true;\n                                            item2.isExpanded = true;\n                                            item1.isVisible = true;\n                                            item1.isExpanded = true;\n                                        }\n                                    });\n                                });\n                            }\n                        });\n                    });\n                }\n            });\n        } else {\n            this.setVisibleState(true);\n        }\n\n        this.filter.next(filterValue);\n    }\n    /**\n     * @deprecated This method is not used anymore and will be removed in the next major version. You can use the `focus()` method instead.\n     */\n    onFocus(): void {\n        this.focus();\n    }\n    /**\n     * Method that sets the visibility state of the tree list items.\n     * @param {boolean} state\n     */\n    public setVisibleState(state: boolean): void {\n        this.items.toArray().forEach((item) => item.setVisibleState(state));\n    }\n    /**\n     * Method that sets the expanded state of the tree list items.\n     * @param {boolean} state\n     */\n    public setExpandedState(state: boolean): void {\n        this.items.toArray().forEach((item) => item.setExpandedState(state));\n    }\n    /**\n     * Method that puts the focus on the first child tree item.\n     */\n    public focus(): void {\n        // Focus on the first child tree item:\n        if (this.items && this.items.length > 0) {\n            this.items.first.focus();\n        }\n    }\n    /**\n     * Method that makes the tree list not focusable.\n     */\n    public disableFocus(): void {\n        this.tabindex = '-1';\n    }\n    /**\n     * Method used to focus on the previous tree item in the list.\n     * @param {EuiTreeListItemComponent} currentTreeListItem - The current tree list item.\n     * @return {boolean} - Returns true if the focus was set on the previous tree item, false otherwise.\n     */\n    public focusOnPreviousTreeItem(currentTreeListItem: EuiTreeListItemComponent): boolean {\n        if (this.items && this.items.length > 0) {\n            let previousTreeListItem: EuiTreeListItemComponent = null;\n            for (const treeListItem of this.items.toArray()) {\n                if (treeListItem !== currentTreeListItem) {\n                    previousTreeListItem = treeListItem;\n                } else if (previousTreeListItem) {\n                    previousTreeListItem.focusOnLastExpandedTreeItem();\n                    return true;\n                }\n            }\n\n            // Focus on the last item of the previous parent:\n            // First find the parent list item:\n            if (this.elementRef) {\n                let parent = this.elementRef.nativeElement.parentElement;\n                while (parent && !parent.classList.contains('eui-tree-list-item')) {\n                    parent = parent.parentElement;\n                }\n\n                if (parent) {\n                    // parent tree-item is found\n                    const content = parent.querySelector('.eui-tree-list-item-header__content');\n                    if (content) {\n                        content.setAttribute('tabindex', '0');\n                        content.focus();\n                        return true;\n                    }\n                }\n            }\n        }\n\n        return false;\n    }\n    /**\n     * Method used to focus on the next tree item in the list.\n     * @param {EuiTreeListItemComponent} currentTreeListItem - The current tree list item.\n     * @return {boolean} - Returns true if the focus was set on the next tree item, false otherwise.\n     */\n    public focusOnNextTreeItem(currentTreeListItem: EuiTreeListItemComponent): boolean {\n        if (this.items && this.items.length > 0) {\n            if (currentTreeListItem !== this.items.last) {\n                let previousTreeListItem: EuiTreeListItemComponent = null;\n                for (const treeListItem of this.items.toArray()) {\n                    if (previousTreeListItem !== currentTreeListItem) {\n                        previousTreeListItem = treeListItem;\n                    } else {\n                        treeListItem.focus();\n                        return true;\n                    }\n                }\n            } else {\n                // The current focused tree item is the last one; find the first next tree item:\n                if (this.elementRef) {\n                    // First find the parent tree list item:\n                    let parent = this.elementRef.nativeElement.parentElement;\n                    // Find the parent that is not a last child itself:\n                    while (parent && (parent.tagName.toLowerCase() !== 'eui-tree-list-item' || parent.nextElementSibling === null)) {\n                        parent = parent.parentElement;\n                    }\n\n                    if (parent) {\n                        // parent tree list item is found; focus on the first child of the next list item\n                        const nextTreeListItem = parent.nextElementSibling;\n                        if (nextTreeListItem) {\n                            const next = nextTreeListItem.querySelector('.eui-tree-list-item-header__content');\n                            next.setAttribute('tabindex', '0');\n                            next.focus();\n                            return true;\n                        }\n                    }\n                }\n            }\n        }\n\n        return false;\n    }\n    /**\n     * Method that sets the default filter function to filter the tree list items.\n     * @param {EuiTreeListFilterParams} params - The filter parameters.\n     * @returns {boolean} - Returns true if the item matches the filter, false otherwise.\n     * @private\n     */\n    private defaultFilterFunction(params: EuiTreeListFilterParams): boolean {\n        if (!params.item.label) {\n            return false;\n        } else if (params.item.label.toUpperCase().indexOf(params.keyword.toUpperCase()) !== -1) {\n            return true;\n        } else {\n            return false;\n        }\n    }\n    /**\n     * Method that filters the tree list items based on the provided params.\n     * @param {number} level - The level of the item in the tree list.\n     * @param {EuiTreeListItemComponent} item - The tree list item to filter.\n     * @param {string} keyword - The keyword to filter by.\n     * @returns {boolean} - Returns true if the item matches the filter, false otherwise.\n     * @private\n     */\n    private filterMatched(level: number, item: EuiTreeListItemComponent, keyword: string): boolean {\n        if (this.filterFunction) {\n            return this.filterFunction({ level, item, keyword });\n        } else {\n            return this.defaultFilterFunction({ level, item, keyword });\n        }\n    }\n}\n",
            "styleUrl": "./eui-tree-list.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterViewInit",
                "OnChanges"
            ],
            "accessors": {
                "hasExpandAllLabel": {
                    "name": "hasExpandAllLabel",
                    "getSignature": {
                        "name": "hasExpandAllLabel",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 195,
                        "rawdescription": "\n\nGetter function that returns true if the expandAllLabel exists.\n",
                        "description": "<p>Getter function that returns true if the expandAllLabel exists.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 5900,
                                "end": 5924,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 5901,
                                    "end": 5908,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "",
                                "typeExpression": {
                                    "pos": 5909,
                                    "end": 5918,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 5910,
                                        "end": 5917,
                                        "kind": 136,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                },
                "hasCollapseAllLabel": {
                    "name": "hasCollapseAllLabel",
                    "getSignature": {
                        "name": "hasCollapseAllLabel",
                        "type": "boolean",
                        "returnType": "boolean",
                        "line": 202,
                        "rawdescription": "\n\nGetter function that returns true if the collapseAllLabel exists.\n",
                        "description": "<p>Getter function that returns true if the collapseAllLabel exists.</p>\n",
                        "jsdoctags": [
                            {
                                "pos": 6142,
                                "end": 6166,
                                "kind": 343,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "tagName": {
                                    "pos": 6143,
                                    "end": 6150,
                                    "kind": 80,
                                    "id": 0,
                                    "flags": 16842752,
                                    "transformFlags": 0,
                                    "escapedText": "returns"
                                },
                                "comment": "",
                                "typeExpression": {
                                    "pos": 6151,
                                    "end": 6160,
                                    "kind": 310,
                                    "id": 0,
                                    "flags": 16842752,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 0,
                                    "type": {
                                        "pos": 6152,
                                        "end": 6159,
                                        "kind": 136,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 1
                                    }
                                }
                            }
                        ]
                    }
                }
            },
            "templateData": "@if (isShowToolbar) {\n    <eui-tree-list-toolbar\n        [isVisible]=\"isShowToolbar\"\n        [isToggleVisible]=\"isShowToolbarToggle\"\n        (filter)=\"onFilter($event)\"\n        [filterValue]=\"toolbarFilterValue\"\n        (expandAll)=\"onExpandAll($event)\"\n        (collapseAll)=\"onCollapseAll($event)\"\n        [filterLabel]=\"filterLabel ? filterLabel : 'eui.FILTER' | translate\"\n        [expandAllLabel]=\"hasExpandAllLabel ? expandAllLabel : 'eui.EXPANDALL' | translate\"\n        [collapseAllLabel]=\"hasCollapseAllLabel ? collapseAllLabel : 'eui.COLLAPSEALL' | translate\"\n        [isToggleExpanded]=\"isExpanded\"\n        attr.data-e2e=\"{{ e2eAttr }}-a-toolbar-filter\" />\n}\n\n<div\n    class=\"eui-tree-list\"\n    [attr.role]=\"ariaRoleTree\"\n    [attr.data-tabindex]=\"originalTabindex\"\n    [attr.aria-label]=\"ariaLabel\"\n    [attr.aria-owns]=\"ariaOwns\"\n    attr.data-e2e=\"{{ e2eAttr }}\">\n    <ng-content></ng-content>\n</div>\n"
        },
        {
            "name": "EuiTreeListItemComponent",
            "id": "component-EuiTreeListItemComponent-5b91e2cb0b31fe3cd9c4dda8ac04fc0fe9899bb054f63e232d750b7d032823253b1a7033693f258c5e1ccf5114132a7fb7880693a1a3b325ff1820597ac81221",
            "file": "packages/components/eui-tree-list/eui-tree-list-item.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-tree-list-item",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-tree-list-item.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiPrimary",
                        "euiSecondary",
                        "euiInfo",
                        "euiSuccess",
                        "euiWarning",
                        "euiDanger",
                        "euiVariant"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "ariaLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 121,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-tree-list-item'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 122,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 120,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isActive",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4993,
                            "end": 5013,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4994,
                                "end": 5001,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nOption that enables a corresponding class if it is set to true.\n",
                    "description": "<p>Option that enables a corresponding class if it is set to true.</p>\n",
                    "line": 149,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isAlwaysExpanded",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5338,
                            "end": 5358,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5339,
                                "end": 5346,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nOption to set the expanded state of the list item when it is always expanded.\n",
                    "description": "<p>Option to set the expanded state of the list item when it is always expanded.</p>\n",
                    "line": 159,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isDisplaySubLinksOnHover",
                    "defaultValue": "false",
                    "deprecated": true,
                    "deprecationMessage": "This property is not used anymore and will be removed in the next major version.",
                    "jsdoctags": [
                        {
                            "pos": 5665,
                            "end": 5763,
                            "kind": 332,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5666,
                                "end": 5676,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "deprecated"
                            },
                            "comment": "<p>This property is not used anymore and will be removed in the next major version.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 168,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isExpanded",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5151,
                            "end": 5171,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5152,
                                "end": 5159,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nOption to set the expanded state of the list item.\n",
                    "description": "<p>Option to set the expanded state of the list item.</p>\n",
                    "line": 154,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isNavigateOnlyOnLabelClick",
                    "defaultValue": "false",
                    "deprecated": true,
                    "deprecationMessage": "This property is not used anymore and will be removed in the next major version.",
                    "jsdoctags": [
                        {
                            "pos": 5859,
                            "end": 5957,
                            "kind": 332,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5860,
                                "end": 5870,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "deprecated"
                            },
                            "comment": "<p>This property is not used anymore and will be removed in the next major version.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 172,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isVisible",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 5566,
                            "end": 5585,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 5567,
                                "end": 5574,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nOption to set the visible state of the list item and apply the corresponding hidden class if it is set to false.\n",
                    "description": "<p>Option to set the visible state of the list item and apply the corresponding hidden class if it is set to false.</p>\n",
                    "line": 164,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4269,
                            "end": 4289,
                            "kind": 345,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4270,
                                "end": 4274,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "type"
                            },
                            "comment": "",
                            "typeExpression": {
                                "pos": 4275,
                                "end": 4283,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 4276,
                                    "end": 4282,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nThe label of the tree list item if there is no customLabel.\n",
                    "description": "<p>The label of the tree list item if there is no customLabel.</p>\n",
                    "line": 127,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "linkUrl",
                    "deprecated": true,
                    "deprecationMessage": "This property is not used anymore and will be removed in the next major version.",
                    "jsdoctags": [
                        {
                            "pos": 4335,
                            "end": 4433,
                            "kind": 332,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4336,
                                "end": 4346,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "deprecated"
                            },
                            "comment": "<p>This property is not used anymore and will be removed in the next major version.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 131,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "subLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4551,
                            "end": 4571,
                            "kind": 345,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4552,
                                "end": 4556,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "type"
                            },
                            "comment": "",
                            "typeExpression": {
                                "pos": 4557,
                                "end": 4565,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 4558,
                                    "end": 4564,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nThe sublabel of the tree list item if there is no customLabel.\n",
                    "description": "<p>The sublabel of the tree list item if there is no customLabel.</p>\n",
                    "line": 136,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "subLinks",
                    "defaultValue": "[]",
                    "deprecated": true,
                    "deprecationMessage": "This property is not used anymore and will be removed in the next major version.",
                    "jsdoctags": [
                        {
                            "pos": 4762,
                            "end": 4860,
                            "kind": 332,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4763,
                                "end": 4773,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "deprecated"
                            },
                            "comment": "<p>This property is not used anymore and will be removed in the next major version.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 144,
                    "type": "UxLinkLegacy[]",
                    "decorators": []
                },
                {
                    "name": "url",
                    "deprecated": true,
                    "deprecationMessage": "This property is not used anymore and will be removed in the next major version.",
                    "jsdoctags": [
                        {
                            "pos": 4620,
                            "end": 4718,
                            "kind": 332,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4621,
                                "end": 4631,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "deprecated"
                            },
                            "comment": "<p>This property is not used anymore and will be removed in the next major version.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 140,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "toggled",
                    "defaultValue": "new EventEmitter<EuiTreeListItemComponent>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted upon toggling the expanded state.\n",
                    "description": "<p>Event emitted upon toggling the expanded state.</p>\n",
                    "line": 176,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "ariaRole",
                    "defaultValue": "'treeitem'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 118,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171,
                        124
                    ]
                },
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 204
                },
                {
                    "name": "customContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiTreeListItemContentComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 202,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "undefined, {descendants: false}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "customDetailContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiTreeListItemDetailsContentTagDirective>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 193,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "customLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiTreeListItemLabelTagDirective>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 190,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "customSubContainerContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiTreeListItemSubContainerContentTagDirective>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 196,
                    "decorators": [
                        {
                            "name": "ContentChild",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "elementRef",
                    "defaultValue": "inject(ElementRef)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 203,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "focusable",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef<HTMLDivElement>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 187,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'focusable'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "hasCustomContent",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 185
                },
                {
                    "name": "hasSub",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 182
                },
                {
                    "name": "isHovered",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 178
                },
                {
                    "name": "subTreeList",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiTreeListComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 199,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "undefined, {descendants: true}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "tabIndex",
                    "defaultValue": "'0'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 117,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.tabindex'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "treeListComponent",
                    "defaultValue": "inject(EuiTreeListComponent, { host: true, optional: true })!",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiTreeListComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 179
                }
            ],
            "methodsClass": [
                {
                    "name": "disableFocus",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 351,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod used to disable the focus state.\n",
                    "description": "<p>Method used to disable the focus state.</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": []
                },
                {
                    "name": "enableFocus",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 360,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod used to enable the focus state.\n",
                    "description": "<p>Method used to enable the focus state.</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": []
                },
                {
                    "name": "focus",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 310,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod used to enable/disable the focus state.\n",
                    "description": "<p>Method used to enable/disable the focus state.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "focusOnLastExpandedTreeItem",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 322,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod used to focus on the last expanded tree item.\n",
                    "description": "<p>Method used to focus on the last expanded tree item.</p>\n",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "focusOnNextTreeItem",
                    "args": [],
                    "optional": false,
                    "returnType": "boolean",
                    "typeParameters": [],
                    "line": 337,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod used to focus on the next tree item.\n",
                    "description": "<p>Method used to focus on the next tree item.</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "tagName": {
                                "pos": 11389,
                                "end": 11396,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<ul>\n<li>Returns true if the focus was set, false otherwise.</li>\n</ul>\n",
                            "returnType": "boolean"
                        }
                    ]
                },
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 206,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onKeyDown",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 248,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod fired when a key is pressed down.\n",
                    "description": "<p>Method fired when a key is pressed down.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 8638,
                                "end": 8643,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 8616,
                                "end": 8621,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The keyboard event.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 8622,
                                "end": 8637,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 8623,
                                    "end": 8636,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 8623,
                                        "end": 8636,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "KeyboardEvent"
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "setExpandedState",
                    "args": [
                        {
                            "name": "state",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 298,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod that sets the expanded state.\n",
                    "description": "<p>Method that sets the expanded state.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 10192,
                                "end": 10197,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "state"
                            },
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 10176,
                                "end": 10181,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The expanded state.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 10182,
                                "end": 10191,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 10183,
                                    "end": 10190,
                                    "kind": 136,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "setVisibleState",
                    "args": [
                        {
                            "name": "state",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 285,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod that sets the visible state.\n",
                    "description": "<p>Method that sets the visible state.</p>\n",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 9796,
                                "end": 9801,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "state"
                            },
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 9780,
                                "end": 9785,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The visible state.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 9786,
                                "end": 9795,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 9787,
                                    "end": 9794,
                                    "kind": 136,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "toggle",
                    "args": [
                        {
                            "name": "event",
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 238,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nMethod fired when the expander button is clicked.\n",
                    "description": "<p>Method fired when the expander button is clicked.</p>\n",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 8338,
                                "end": 8343,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "type": "Event",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 8324,
                                "end": 8329,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<ul>\n<li>The click event.</li>\n</ul>\n",
                            "typeExpression": {
                                "pos": 8330,
                                "end": 8337,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 8331,
                                    "end": 8336,
                                    "kind": 184,
                                    "id": 0,
                                    "flags": 16777216,
                                    "modifierFlagsCache": 0,
                                    "transformFlags": 1,
                                    "typeName": {
                                        "pos": 8331,
                                        "end": 8336,
                                        "kind": 80,
                                        "id": 0,
                                        "flags": 16777216,
                                        "transformFlags": 0,
                                        "escapedText": "Event"
                                    }
                                }
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'treeitem'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 118,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "attr.tabindex",
                    "defaultValue": "'0'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 117,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 114,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "TranslateModule",
                    "type": "module"
                },
                {
                    "name": "FormsModule",
                    "type": "module"
                },
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "EUI_LABEL"
                },
                {
                    "name": "EUI_ICON_INPUT"
                },
                {
                    "name": "EUI_ICON_BUTTON_EXPANDER"
                }
            ],
            "description": "<p>Individual item component within eui-tree-list representing a single node in the hierarchical structure.\nSupports nested sub-items, expand/collapse functionality, and custom content projection.\nImplements keyboard navigation and ARIA treeitem role for accessibility.\nIntegrates with BaseStatesDirective for theming variants (primary, secondary, success, warning, danger).\nMust be used as a direct child of eui-tree-list or nested within other tree list items.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Simple tree item --&gt;\n&lt;eui-tree-list-item label=&quot;Documents&quot; /&gt;\n\n&lt;!-- Tree item with nested items --&gt;\n&lt;eui-tree-list-item label=&quot;Projects&quot; [isExpanded]=&quot;true&quot;&gt;\n  &lt;eui-tree-list&gt;\n    &lt;eui-tree-list-item label=&quot;Project A&quot; /&gt;\n    &lt;eui-tree-list-item label=&quot;Project B&quot; /&gt;\n  &lt;/eui-tree-list&gt;\n&lt;/eui-tree-list-item&gt;\n\n&lt;!-- With sublabel and active state --&gt;\n&lt;eui-tree-list-item\n  label=&quot;Current File&quot;\n  subLabel=&quot;Modified today&quot;\n  [isActive]=&quot;true&quot;\n  euiPrimary /&gt;</code></pre></div><h3>Custom Content</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tree-list-item&gt;\n  &lt;eui-tree-list-item-content&gt;\n    &lt;eui-icon-svg icon=&quot;eui-folder&quot; /&gt;\n    &lt;span&gt;Custom Content&lt;/span&gt;\n  &lt;/eui-tree-list-item-content&gt;\n&lt;/eui-tree-list-item&gt;\n\n&lt;!-- Custom label --&gt;\n&lt;eui-tree-list-item&gt;\n  &lt;eui-tree-list-item-label&gt;\n    &lt;strong&gt;Bold Label&lt;/strong&gt;\n  &lt;/eui-tree-list-item-label&gt;\n&lt;/eui-tree-list-item&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Implements ARIA treeitem role automatically</li>\n<li>Keyboard navigation: Arrow keys (up/down/left/right), Enter/Space to toggle</li>\n<li>Expanded state announced to screen readers</li>\n<li>Focus management with proper tabindex handling</li>\n<li>Aria-label generated from label or custom content</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Nested items must be wrapped in eui-tree-list component</li>\n<li>Supports color variants via BaseStatesDirective (euiPrimary, euiSuccess, etc.)</li>\n<li>isActive highlights the current/selected item</li>\n<li>isAlwaysExpanded keeps item permanently expanded without toggle button</li>\n<li>Custom content projections: eui-tree-list-item-label, eui-tree-list-item-details, eui-tree-list-item-sub-container</li>\n</ul>\n",
            "rawdescription": "\n\nIndividual item component within eui-tree-list representing a single node in the hierarchical structure.\nSupports nested sub-items, expand/collapse functionality, and custom content projection.\nImplements keyboard navigation and ARIA treeitem role for accessibility.\nIntegrates with BaseStatesDirective for theming variants (primary, secondary, success, warning, danger).\nMust be used as a direct child of eui-tree-list or nested within other tree list items.\n\n### Basic Usage\n```html\n<!-- Simple tree item -->\n<eui-tree-list-item label=\"Documents\" />\n\n<!-- Tree item with nested items -->\n<eui-tree-list-item label=\"Projects\" [isExpanded]=\"true\">\n  <eui-tree-list>\n    <eui-tree-list-item label=\"Project A\" />\n    <eui-tree-list-item label=\"Project B\" />\n  </eui-tree-list>\n</eui-tree-list-item>\n\n<!-- With sublabel and active state -->\n<eui-tree-list-item\n  label=\"Current File\"\n  subLabel=\"Modified today\"\n  [isActive]=\"true\"\n  euiPrimary />\n```\n\n### Custom Content\n```html\n<eui-tree-list-item>\n  <eui-tree-list-item-content>\n    <eui-icon-svg icon=\"eui-folder\" />\n    <span>Custom Content</span>\n  </eui-tree-list-item-content>\n</eui-tree-list-item>\n\n<!-- Custom label -->\n<eui-tree-list-item>\n  <eui-tree-list-item-label>\n    <strong>Bold Label</strong>\n  </eui-tree-list-item-label>\n</eui-tree-list-item>\n```\n\n### Accessibility\n- Implements ARIA treeitem role automatically\n- Keyboard navigation: Arrow keys (up/down/left/right), Enter/Space to toggle\n- Expanded state announced to screen readers\n- Focus management with proper tabindex handling\n- Aria-label generated from label or custom content\n\n### Notes\n- Nested items must be wrapped in eui-tree-list component\n- Supports color variants via BaseStatesDirective (euiPrimary, euiSuccess, etc.)\n- isActive highlights the current/selected item\n- isAlwaysExpanded keeps item permanently expanded without toggle button\n- Custom content projections: eui-tree-list-item-label, eui-tree-list-item-details, eui-tree-list-item-sub-container\n",
            "type": "component",
            "sourceCode": "import {\n    AfterContentInit,\n    booleanAttribute,\n    Component,\n    ContentChild,\n    ContentChildren,\n    Directive,\n    ElementRef,\n    EventEmitter,\n    forwardRef,\n    HostBinding,\n    Input,\n    Output,\n    QueryList,\n    ViewChild,\n    ViewEncapsulation,\n    inject,\n} from '@angular/core';\nimport { UxLinkLegacy } from '@eui/core';\n\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport { consumeEvent, uniqueId } from '@eui/core';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule } from '@angular/forms';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_ICON_BUTTON_EXPANDER } from '@eui/components/eui-icon-button-expander';\nimport { EUI_ICON_INPUT } from '@eui/components/eui-icon-input';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * @description\n * Individual item component within eui-tree-list representing a single node in the hierarchical structure.\n * Supports nested sub-items, expand/collapse functionality, and custom content projection.\n * Implements keyboard navigation and ARIA treeitem role for accessibility.\n * Integrates with BaseStatesDirective for theming variants (primary, secondary, success, warning, danger).\n * Must be used as a direct child of eui-tree-list or nested within other tree list items.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <!-- Simple tree item -->\n * <eui-tree-list-item label=\"Documents\" />\n *\n * <!-- Tree item with nested items -->\n * <eui-tree-list-item label=\"Projects\" [isExpanded]=\"true\">\n *   <eui-tree-list>\n *     <eui-tree-list-item label=\"Project A\" />\n *     <eui-tree-list-item label=\"Project B\" />\n *   </eui-tree-list>\n * </eui-tree-list-item>\n *\n * <!-- With sublabel and active state -->\n * <eui-tree-list-item\n *   label=\"Current File\"\n *   subLabel=\"Modified today\"\n *   [isActive]=\"true\"\n *   euiPrimary />\n * ```\n *\n * ### Custom Content\n * ```html\n * <eui-tree-list-item>\n *   <eui-tree-list-item-content>\n *     <eui-icon-svg icon=\"eui-folder\" />\n *     <span>Custom Content</span>\n *   </eui-tree-list-item-content>\n * </eui-tree-list-item>\n *\n * <!-- Custom label -->\n * <eui-tree-list-item>\n *   <eui-tree-list-item-label>\n *     <strong>Bold Label</strong>\n *   </eui-tree-list-item-label>\n * </eui-tree-list-item>\n * ```\n *\n * ### Accessibility\n * - Implements ARIA treeitem role automatically\n * - Keyboard navigation: Arrow keys (up/down/left/right), Enter/Space to toggle\n * - Expanded state announced to screen readers\n * - Focus management with proper tabindex handling\n * - Aria-label generated from label or custom content\n *\n * ### Notes\n * - Nested items must be wrapped in eui-tree-list component\n * - Supports color variants via BaseStatesDirective (euiPrimary, euiSuccess, etc.)\n * - isActive highlights the current/selected item\n * - isAlwaysExpanded keeps item permanently expanded without toggle button\n * - Custom content projections: eui-tree-list-item-label, eui-tree-list-item-details, eui-tree-list-item-sub-container\n */\n@Component({\n    selector: 'eui-tree-list-item',\n    templateUrl: './eui-tree-list-item.component.html',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        TranslateModule,\n        FormsModule,\n        NgTemplateOutlet,\n        ...EUI_LABEL,\n        ...EUI_ICON_INPUT,\n        ...EUI_ICON_BUTTON_EXPANDER,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: ['euiPrimary', 'euiSecondary', 'euiInfo', 'euiSuccess', 'euiWarning', 'euiDanger', 'euiVariant'],\n        },\n    ],\n})\nexport class EuiTreeListItemComponent implements AfterContentInit {\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return this.getCssClasses();\n    }\n    @HostBinding('attr.tabindex') tabIndex = '0';\n    @HostBinding('attr.role') protected ariaRole = 'treeitem';\n\n    @HostBinding('attr.id') @Input() id: string;\n    @HostBinding('attr.aria-label') @Input() ariaLabel: string;\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-tree-list-item';\n    /**\n     * The label of the tree list item if there is no customLabel.\n     * @type {string}\n     */\n    @Input() label: string;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input() linkUrl: string;\n    /**\n     * The sublabel of the tree list item if there is no customLabel.\n     * @type {string}\n     */\n    @Input() subLabel: string;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input() url: string;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input() subLinks: UxLinkLegacy[] = [];\n    /**\n     * Option that enables a corresponding class if it is set to true.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isActive = false;\n    /**\n     * Option to set the expanded state of the list item.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isExpanded = false;\n    /**\n     * Option to set the expanded state of the list item when it is always expanded.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isAlwaysExpanded = false;\n    /**\n     * Option to set the visible state of the list item and apply the corresponding hidden class if it is set to false.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isVisible = true;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input({ transform: booleanAttribute }) isDisplaySubLinksOnHover = false;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input({ transform: booleanAttribute }) isNavigateOnlyOnLabelClick = false;\n    /**\n     * Event emitted upon toggling the expanded state.\n     */\n    @Output() toggled = new EventEmitter<EuiTreeListItemComponent>();\n\n    isHovered = false;\n    treeListComponent: EuiTreeListComponent = inject(EuiTreeListComponent, { host: true, optional: true })!\n\n    // tree states\n    hasSub = false;\n\n    // custom content\n    hasCustomContent = false;\n\n    @ViewChild('focusable') focusable: ElementRef<HTMLDivElement>;\n\n    @ContentChild(forwardRef(() => EuiTreeListItemLabelTagDirective))\n    customLabel: QueryList<EuiTreeListItemLabelTagDirective>;\n\n    @ContentChild(forwardRef(() => EuiTreeListItemDetailsContentTagDirective))\n    customDetailContent: QueryList<EuiTreeListItemDetailsContentTagDirective>;\n\n    @ContentChild(forwardRef(() => EuiTreeListItemSubContainerContentTagDirective))\n    customSubContainerContent: QueryList<EuiTreeListItemSubContainerContentTagDirective>;\n\n    @ContentChildren(forwardRef(() => EuiTreeListComponent), { descendants: true })\n    subTreeList: QueryList<EuiTreeListComponent>;\n\n    @ContentChildren(forwardRef(() => EuiTreeListItemContentComponent), { descendants: false })\n    customContent: QueryList<EuiTreeListItemContentComponent>;\n    protected elementRef = inject(ElementRef);\n    baseStatesDirective = inject(BaseStatesDirective);\n\n    ngAfterContentInit(): void {\n        if (!this.ariaLabel) {\n            this.ariaLabel = this.label ? this.label : 'Custom content';\n        }\n\n        // make sure that the tree item can be aria-owned by a parent tree for WAI-ARIA attributes:\n        if (!this.id) {\n            this.id = uniqueId();\n        }\n\n        // setting tree states\n        if (this.subTreeList.length !== 0) {\n            this.hasSub = true;\n        }\n\n        // checking if customContent set\n        if (this.customContent.length !== 0) {\n            this.hasCustomContent = true;\n        }\n\n        // make sure that any child tree-list is non-focusable and that it has the role of a WAI-ARIA group:\n        if (this.subTreeList) {\n            this.subTreeList.forEach((subtree: EuiTreeListComponent) => {\n                subtree.disableFocus();\n                subtree.ariaRoleTree = 'group';\n            });\n        }\n    }\n    /**\n     * Method fired when the expander button is clicked.\n     * @param {Event} event - The click event.\n     */\n    toggle(event: Event): void {\n        event.preventDefault();\n        event.stopPropagation();\n        this.isExpanded = !this.isExpanded;\n        this.toggled.next(this);\n    }\n    /**\n     * Method fired when a key is pressed down.\n     * @param {KeyboardEvent} event - The keyboard event.\n     */\n    onKeyDown(event: KeyboardEvent): void {\n        switch (event.keyCode) {\n            case 13: // ENTER\n            case 32: // SPACE\n                this.isExpanded = !this.isExpanded;\n                consumeEvent(event);\n                break;\n            case 37: // ARROW LEFT\n                this.isExpanded = false;\n                consumeEvent(event);\n                break;\n            case 38: // ARROW UP\n                if (this.treeListComponent) {\n                    if (this.treeListComponent.focusOnPreviousTreeItem(this)) {\n                        this.disableFocus();\n                    }\n                }\n\n                consumeEvent(event);\n                break;\n            case 39: // ARROW RIGHT\n                this.isExpanded = true;\n                consumeEvent(event);\n                break;\n            case 40: // ARROW DOWN\n                if (this.focusOnNextTreeItem()) {\n                    this.disableFocus();\n                }\n\n                consumeEvent(event);\n                break;\n        }\n    }\n    /**\n     * Method that sets the visible state.\n     * @param {boolean} state - The visible state.\n     */\n    public setVisibleState(state: boolean): void {\n        this.isVisible = state;\n\n        if (this.subTreeList && this.subTreeList.length !== 0) {\n            this.subTreeList.toArray().forEach((item) => {\n                item.setVisibleState(state);\n            });\n        }\n    }\n    /**\n     * Method that sets the expanded state.\n     * @param {boolean} state - The expanded state.\n     */\n    public setExpandedState(state: boolean): void {\n        this.isExpanded = state;\n\n        if (this.subTreeList.length !== 0) {\n            this.subTreeList.toArray().forEach((item) => {\n                item.setExpandedState(state);\n            });\n        }\n    }\n    /**\n     * Method used to enable/disable the focus state.\n     */\n    public focus(): void {\n        if (this.focusable) {\n            this.enableFocus();\n            this.focusable.nativeElement.focus();\n        }\n        if (this.treeListComponent) {\n            this.treeListComponent.disableFocus();\n        }\n    }\n    /**\n     * Method used to focus on the last expanded tree item.\n     */\n    public focusOnLastExpandedTreeItem(): void {\n        const lastExpanded = this.elementRef.nativeElement.querySelectorAll('.eui-tree-list-item-header__content');\n        if (lastExpanded && lastExpanded.length > 0) {\n            const element = lastExpanded[lastExpanded.length - 1];\n            element.setAttribute('tabindex', '0');\n            element.focus();\n        } else {\n            this.focus();\n        }\n    }\n    /**\n     * Method used to focus on the next tree item.\n     * @returns {boolean} - Returns true if the focus was set, false otherwise.\n     * @protected\n     */\n    protected focusOnNextTreeItem(): boolean {\n        if (this.isExpanded && this.subTreeList && this.subTreeList.length > 0) {\n            this.subTreeList.first.focus();\n            return true;\n        } else if (this.treeListComponent) {\n            return this.treeListComponent.focusOnNextTreeItem(this);\n        }\n\n        return false;\n    }\n    /**\n     * Method used to disable the focus state.\n     * @protected\n     */\n    protected disableFocus(): void {\n        if (this.focusable) {\n            this.focusable.nativeElement.setAttribute('tabindex', '-1');\n        }\n    }\n    /**\n     * Method used to enable the focus state.\n     * @protected\n     */\n    protected enableFocus(): void {\n        if (this.focusable) {\n            this.focusable.nativeElement.setAttribute('tabindex', '0');\n        }\n    }\n    /**\n     * Method used to get the CSS classes for the tree list item.\n     * @returns {string} - The CSS classes.\n     * @private\n     */\n    private getCssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-tree-list-item'),\n            this.isActive ? 'eui-tree-list-item--active' : '',\n            !this.isVisible ? 'eui-tree-list-item--hidden' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n}\n\n/* eslint-disable */\n/**\n * @description\n * Directive for projecting custom label content into eui-tree-list-item.\n * Replaces the default label rendering with custom HTML or components.\n *\n * @usageNotes\n * ```html\n * <eui-tree-list-item>\n *   <eui-tree-list-item-label>\n *     <eui-icon-svg icon=\"eui-star\" />\n *     <strong>Custom Label</strong>\n *   </eui-tree-list-item-label>\n * </eui-tree-list-item>\n * ```\n *\n * ### Accessibility\n * - Ensure custom content is semantically meaningful\n * - Include text alternatives for icons\n *\n * ### Notes\n * - Overrides label and subLabel inputs when used\n * - Supports any HTML content\n */\n@Directive({ selector: 'eui-tree-list-item-label', })\nexport class EuiTreeListItemLabelTagDirective {}\n\n/**\n * @description\n * Directive for projecting additional details content below the main label in eui-tree-list-item.\n * Provides a secondary content area for metadata or additional information.\n *\n * @usageNotes\n * ```html\n * <eui-tree-list-item label=\"Document\">\n *   <eui-tree-list-item-details>\n *     <small>Last modified: 2 hours ago</small>\n *     <eui-badge euiInfo>Draft</eui-badge>\n *   </eui-tree-list-item-details>\n * </eui-tree-list-item>\n * ```\n *\n * ### Accessibility\n * - Details content should be supplementary, not critical\n * - Use appropriate semantic elements\n *\n * ### Notes\n * - Renders below the main label area\n * - Useful for metadata, timestamps, or status indicators\n */\n@Directive({ selector: 'eui-tree-list-item-details', })\nexport class EuiTreeListItemDetailsContentTagDirective {}\n\n/**\n * @description\n * Directive for projecting custom container content within eui-tree-list-item.\n * Provides a flexible content area for complex layouts or additional UI elements.\n *\n * @usageNotes\n * ```html\n * <eui-tree-list-item label=\"Folder\">\n *   <eui-tree-list-item-sub-container>\n *     <div class=\"custom-actions\">\n *       <button euiButton euiSecondary>Action</button>\n *     </div>\n *   </eui-tree-list-item-sub-container>\n * </eui-tree-list-item>\n * ```\n *\n * ### Accessibility\n * - Interactive elements should be keyboard accessible\n * - Maintain logical tab order\n *\n * ### Notes\n * - Renders in a dedicated container area\n * - Useful for action buttons or complex UI\n */\n@Directive({ selector: 'eui-tree-list-item-sub-container', })\nexport class EuiTreeListItemSubContainerContentTagDirective {}\n/* eslint-enable */\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterContentInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 114
                    }
                }
            },
            "templateData": "<div class=\"eui-tree-list-item-header\">\n    <div\n        #focusable\n        class=\"eui-tree-list-item-header__content\"\n        (keydown)=\"onKeyDown($event)\"\n        attr.aria-label=\"{{ label }} {{ subLabel }}\">\n\n        @if (hasCustomContent) {\n            <ng-content select=\"eui-tree-list-item-content\"></ng-content>\n            <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n        } @else {\n            <div class=\"eui-u-flex\">\n                <eui-label>\n                    @if (!customLabel) {\n                        {{label}}\n                        @if (subLabel) {\n                        <eui-label euiSublabel>{{subLabel}}</eui-label>\n                        }\n                    } @else {\n                        <div class=\"eui-u-flex\">\n                            <ng-content select=\"eui-tree-list-item-label\"></ng-content>\n                        </div>\n                    }\n                </eui-label>\n            </div>\n            <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n        }\n    </div>\n\n    @if (customDetailContent) {\n        <div class=\"eui-tree-list-item-header__details-content\">\n            <ng-content select=\"eui-tree-list-item-details\"></ng-content>\n        </div>\n    }\n\n    @if (customSubContainerContent) {\n        <ng-content select=\"eui-tree-list-item-sub-container\"></ng-content>\n    }\n</div>\n\n@if (isExpanded || isAlwaysExpanded) {\n    <ng-content />\n}\n\n<ng-template #rightContent>\n    <div class=\"eui-tree-list-item-header__content-right-content\">\n        <div class=\"eui-tree-list-item-header__content-expand-toggle-wrapper\">\n            @if (hasSub && !isAlwaysExpanded) {\n                <eui-icon-button-expander\n                    (buttonClick)=\"toggle($event)\"\n                    [isExpanded]=\"isExpanded\"\n                    isDirectionForward>\n                </eui-icon-button-expander>\n            }\n        </div>\n    </div>\n</ng-template>\n"
        },
        {
            "name": "EuiTreeListItemContentComponent",
            "id": "component-EuiTreeListItemContentComponent-70abd5e4b2ad11c31d8745aeb15215d65183ee5ff9f0348499a4c5c7f35ca8f290afe54b919c36265320273b6b2f624f0e1b3721415b519ee98fe41688b9d4b3",
            "file": "packages/components/eui-tree-list/item-content/item-content.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-tree-list-item-content",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "string",
                    "defaultValue": "'eui-tree-list-item-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 51,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-tree-list-item-content'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 51,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Content projection component for custom content within eui-tree-list-item.\nProvides a structured container for rich content beyond simple labels.\nApplies consistent styling for custom item content.\nMust be used within eui-tree-list-item to define custom content areas.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-tree-list-item&gt;\n  &lt;eui-tree-list-item-content&gt;\n    &lt;eui-icon-svg icon=&quot;eui-file&quot; size=&quot;s&quot; /&gt;\n    &lt;span&gt;Document.pdf&lt;/span&gt;\n    &lt;eui-badge euiInfo&gt;New&lt;/eui-badge&gt;\n  &lt;/eui-tree-list-item-content&gt;\n&lt;/eui-tree-list-item&gt;\n\n&lt;!-- Complex content --&gt;\n&lt;eui-tree-list-item&gt;\n  &lt;eui-tree-list-item-content&gt;\n    &lt;div class=&quot;custom-layout&quot;&gt;\n      &lt;img src=&quot;icon.png&quot; alt=&quot;File icon&quot; /&gt;\n      &lt;div&gt;\n        &lt;strong&gt;File Name&lt;/strong&gt;\n        &lt;small&gt;Last modified: 2 hours ago&lt;/small&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/eui-tree-list-item-content&gt;\n&lt;/eui-tree-list-item&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Content should include appropriate semantic HTML</li>\n<li>Images should have alt text</li>\n<li>Interactive elements should be keyboard accessible</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Replaces default label rendering when used</li>\n<li>Supports any HTML content or Angular components</li>\n<li>Maintains consistent spacing and alignment</li>\n<li>Works with expand/collapse functionality</li>\n</ul>\n",
            "rawdescription": "\n\nContent projection component for custom content within eui-tree-list-item.\nProvides a structured container for rich content beyond simple labels.\nApplies consistent styling for custom item content.\nMust be used within eui-tree-list-item to define custom content areas.\n\n### Basic Usage\n```html\n<eui-tree-list-item>\n  <eui-tree-list-item-content>\n    <eui-icon-svg icon=\"eui-file\" size=\"s\" />\n    <span>Document.pdf</span>\n    <eui-badge euiInfo>New</eui-badge>\n  </eui-tree-list-item-content>\n</eui-tree-list-item>\n\n<!-- Complex content -->\n<eui-tree-list-item>\n  <eui-tree-list-item-content>\n    <div class=\"custom-layout\">\n      <img src=\"icon.png\" alt=\"File icon\" />\n      <div>\n        <strong>File Name</strong>\n        <small>Last modified: 2 hours ago</small>\n      </div>\n    </div>\n  </eui-tree-list-item-content>\n</eui-tree-list-item>\n```\n\n### Accessibility\n- Content should include appropriate semantic HTML\n- Images should have alt text\n- Interactive elements should be keyboard accessible\n\n### Notes\n- Replaces default label rendering when used\n- Supports any HTML content or Angular components\n- Maintains consistent spacing and alignment\n- Works with expand/collapse functionality\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding } from '@angular/core';\n\n/**\n * @description\n * Content projection component for custom content within eui-tree-list-item.\n * Provides a structured container for rich content beyond simple labels.\n * Applies consistent styling for custom item content.\n * Must be used within eui-tree-list-item to define custom content areas.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-tree-list-item>\n *   <eui-tree-list-item-content>\n *     <eui-icon-svg icon=\"eui-file\" size=\"s\" />\n *     <span>Document.pdf</span>\n *     <eui-badge euiInfo>New</eui-badge>\n *   </eui-tree-list-item-content>\n * </eui-tree-list-item>\n *\n * <!-- Complex content -->\n * <eui-tree-list-item>\n *   <eui-tree-list-item-content>\n *     <div class=\"custom-layout\">\n *       <img src=\"icon.png\" alt=\"File icon\" />\n *       <div>\n *         <strong>File Name</strong>\n *         <small>Last modified: 2 hours ago</small>\n *       </div>\n *     </div>\n *   </eui-tree-list-item-content>\n * </eui-tree-list-item>\n * ```\n *\n * ### Accessibility\n * - Content should include appropriate semantic HTML\n * - Images should have alt text\n * - Interactive elements should be keyboard accessible\n *\n * ### Notes\n * - Replaces default label rendering when used\n * - Supports any HTML content or Angular components\n * - Maintains consistent spacing and alignment\n * - Works with expand/collapse functionality\n */\n@Component({\n    selector: 'eui-tree-list-item-content',\n    template: '<ng-content />',\n})\nexport class EuiTreeListItemContentComponent {\n    @HostBinding('class') string = 'eui-tree-list-item-content';\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "EuiTreeListToolbarComponent",
            "id": "component-EuiTreeListToolbarComponent-c49111fb10fe3cf05a8a9ad2c8cecd1619aaedd4bf0b5d3ff873fdac46890458f3b121a2833d8b41ca17a25c5f066beb0cfd40dbd8f94a27f956d98f3c1b88b1",
            "file": "packages/components/eui-tree-list/toolbar/toolbar.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-tree-list-toolbar",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./toolbar.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "collapseAllLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3015,
                            "end": 3035,
                            "kind": 345,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3016,
                                "end": 3020,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "type"
                            },
                            "comment": "",
                            "typeExpression": {
                                "pos": 3021,
                                "end": 3029,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 3022,
                                    "end": 3028,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nThe label for the collapse all button\n",
                    "description": "<p>The label for the collapse all button</p>\n",
                    "line": 105,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-tree-list-toolbar'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 85,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "expandAllLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2895,
                            "end": 2915,
                            "kind": 345,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2896,
                                "end": 2900,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "type"
                            },
                            "comment": "",
                            "typeExpression": {
                                "pos": 2901,
                                "end": 2909,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 2902,
                                    "end": 2908,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nThe label for the expand all button\n",
                    "description": "<p>The label for the expand all button</p>\n",
                    "line": 100,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "filterLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2780,
                            "end": 2800,
                            "kind": 345,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2781,
                                "end": 2785,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "type"
                            },
                            "comment": "",
                            "typeExpression": {
                                "pos": 2786,
                                "end": 2794,
                                "kind": 310,
                                "id": 0,
                                "flags": 16842752,
                                "modifierFlagsCache": 0,
                                "transformFlags": 0,
                                "type": {
                                    "pos": 2787,
                                    "end": 2793,
                                    "kind": 154,
                                    "id": 0,
                                    "flags": 16777216,
                                    "transformFlags": 1
                                }
                            }
                        }
                    ],
                    "rawdescription": "\n\nThe value of the filter placeholder\n",
                    "description": "<p>The value of the filter placeholder</p>\n",
                    "line": 95,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "filterValue",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3689,
                            "end": 3706,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3690,
                                "end": 3697,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nThe value of the filter input\n",
                    "description": "<p>The value of the filter input</p>\n",
                    "line": 123,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasLabels",
                    "defaultValue": "true",
                    "deprecated": true,
                    "deprecationMessage": "This property is not used anymore and will be removed in the next major version.",
                    "jsdoctags": [
                        {
                            "pos": 3755,
                            "end": 3853,
                            "kind": 332,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3756,
                                "end": 3766,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "deprecated"
                            },
                            "comment": "<p>This property is not used anymore and will be removed in the next major version.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 127,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isFilterVisible",
                    "defaultValue": "true",
                    "deprecated": true,
                    "deprecationMessage": "This property is not used anymore and will be removed in the next major version.",
                    "jsdoctags": [
                        {
                            "pos": 3092,
                            "end": 3190,
                            "kind": 332,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3093,
                                "end": 3103,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "deprecated"
                            },
                            "comment": "<p>This property is not used anymore and will be removed in the next major version.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 109,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isToggleExpanded",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3544,
                            "end": 3564,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3545,
                                "end": 3552,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nOption that toggles the expanded/collapsed state of the corresponding button\n",
                    "description": "<p>Option that toggles the expanded/collapsed state of the corresponding button</p>\n",
                    "line": 118,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isToggleVisible",
                    "defaultValue": "true",
                    "deprecated": true,
                    "deprecationMessage": "This property is not used anymore and will be removed in the next major version.",
                    "jsdoctags": [
                        {
                            "pos": 3276,
                            "end": 3374,
                            "kind": 332,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3277,
                                "end": 3287,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "deprecated"
                            },
                            "comment": "<p>This property is not used anymore and will be removed in the next major version.</p>\n"
                        }
                    ],
                    "rawdescription": "\n\n",
                    "description": "",
                    "line": 113,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isVisible",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2636,
                            "end": 2656,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2637,
                                "end": 2644,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nShows or hides the toolbar\n",
                    "description": "<p>Shows or hides the toolbar</p>\n",
                    "line": 90,
                    "type": "boolean",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "collapseAll",
                    "defaultValue": "new EventEmitter<MouseEvent>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when the collapse all button is clicked.\n",
                    "description": "<p>Event emitted when the collapse all button is clicked.</p>\n",
                    "line": 139,
                    "type": "EventEmitter"
                },
                {
                    "name": "expandAll",
                    "defaultValue": "new EventEmitter<MouseEvent>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted when the expand all button is clicked.\n",
                    "description": "<p>Event emitted when the expand all button is clicked.</p>\n",
                    "line": 135,
                    "type": "EventEmitter"
                },
                {
                    "name": "filter",
                    "defaultValue": "new EventEmitter<string>()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEvent emitted if there is or if a filter value changes.\n",
                    "description": "<p>Event emitted if there is or if a filter value changes.</p>\n",
                    "line": 131,
                    "type": "EventEmitter"
                }
            ],
            "propertiesClass": [
                {
                    "name": "classes",
                    "defaultValue": "'eui-tree-list-toolbar'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 83,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "c",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 147,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "c",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 141,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onCollapseAll",
                    "args": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 181,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThis method is called when the collapse all button is clicked.\nIt emits the collapse all event to the parent component.\n",
                    "description": "<p>This method is called when the collapse all button is clicked.\nIt emits the collapse all event to the parent component.</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 5554,
                                "end": 5559,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 5548,
                                "end": 5553,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The mouse event</p>\n"
                        }
                    ]
                },
                {
                    "name": "onExpandAll",
                    "args": [
                        {
                            "name": "event",
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 171,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThis method is called when the expand all button is clicked.\nIt emits the expand all event to the parent component.\n",
                    "description": "<p>This method is called when the expand all button is clicked.\nIt emits the expand all event to the parent component.</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 5199,
                                "end": 5204,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "event"
                            },
                            "type": "MouseEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 5193,
                                "end": 5198,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>The mouse event</p>\n"
                        }
                    ]
                },
                {
                    "name": "onFilter",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 157,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nThis method is called when the filter input value changes.\nIt emits the filter value to the parent component.\n",
                    "description": "<p>This method is called when the filter input value changes.\nIt emits the filter value to the parent component.</p>\n",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": []
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "defaultValue": "'eui-tree-list-toolbar'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 83,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "FormsModule",
                    "type": "module"
                },
                {
                    "name": "EUI_INPUT_TEXT"
                },
                {
                    "name": "EUI_BUTTON"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_ICON_INPUT"
                }
            ],
            "description": "<p>Toolbar component for eui-tree-list providing filter and expand/collapse controls.\nDisplays search input for filtering tree items and buttons for expanding or collapsing all items.\nAutomatically emits filter events on initialization if filter value is provided.\nManages toggle state for expand/collapse button display.\nMust be used within eui-tree-list component to control tree list behavior.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Toolbar is typically used internally by eui-tree-list --&gt;\n&lt;eui-tree-list [isShowToolbar]=&quot;true&quot;&gt;\n  &lt;eui-tree-list-item label=&quot;Item 1&quot; /&gt;\n  &lt;eui-tree-list-item label=&quot;Item 2&quot; /&gt;\n&lt;/eui-tree-list&gt;\n\n&lt;!-- Custom labels --&gt;\n&lt;eui-tree-list\n  [isShowToolbar]=&quot;true&quot;\n  filterLabel=&quot;Search items...&quot;\n  expandAllLabel=&quot;Expand&quot;\n  collapseAllLabel=&quot;Collapse&quot;&gt;\n  &lt;!-- items --&gt;\n&lt;/eui-tree-list&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">// Listen to toolbar events\nonFilter(keyword: string): void {\n  console.log(&#39;Filtering by:&#39;, keyword);\n}\n\nonExpandAll(): void {\n  console.log(&#39;All items expanded&#39;);\n}</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Search input has proper placeholder and label</li>\n<li>Expand/collapse buttons have aria-labels</li>\n<li>Icons have descriptive aria-labels</li>\n<li>Keyboard accessible controls</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Automatically managed by parent eui-tree-list component</li>\n<li>Filter emits on initialization if filterValue is set</li>\n<li>Toggle button switches between expand and collapse states</li>\n<li>Supports icon-only buttons when labels are empty strings</li>\n<li>Clearable search input for easy filter reset</li>\n</ul>\n",
            "rawdescription": "\n\nToolbar component for eui-tree-list providing filter and expand/collapse controls.\nDisplays search input for filtering tree items and buttons for expanding or collapsing all items.\nAutomatically emits filter events on initialization if filter value is provided.\nManages toggle state for expand/collapse button display.\nMust be used within eui-tree-list component to control tree list behavior.\n\n### Basic Usage\n```html\n<!-- Toolbar is typically used internally by eui-tree-list -->\n<eui-tree-list [isShowToolbar]=\"true\">\n  <eui-tree-list-item label=\"Item 1\" />\n  <eui-tree-list-item label=\"Item 2\" />\n</eui-tree-list>\n\n<!-- Custom labels -->\n<eui-tree-list\n  [isShowToolbar]=\"true\"\n  filterLabel=\"Search items...\"\n  expandAllLabel=\"Expand\"\n  collapseAllLabel=\"Collapse\">\n  <!-- items -->\n</eui-tree-list>\n```\n\n```typescript\n// Listen to toolbar events\nonFilter(keyword: string): void {\n  console.log('Filtering by:', keyword);\n}\n\nonExpandAll(): void {\n  console.log('All items expanded');\n}\n```\n\n### Accessibility\n- Search input has proper placeholder and label\n- Expand/collapse buttons have aria-labels\n- Icons have descriptive aria-labels\n- Keyboard accessible controls\n\n### Notes\n- Automatically managed by parent eui-tree-list component\n- Filter emits on initialization if filterValue is set\n- Toggle button switches between expand and collapse states\n- Supports icon-only buttons when labels are empty strings\n- Clearable search input for easy filter reset\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    Input,\n    Output,\n    EventEmitter,\n    OnInit,\n    OnChanges,\n    SimpleChanges,\n    ViewEncapsulation,\n    booleanAttribute,\n    HostBinding,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_ICON_INPUT } from '@eui/components/eui-icon-input';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\n\n/**\n * @description\n * Toolbar component for eui-tree-list providing filter and expand/collapse controls.\n * Displays search input for filtering tree items and buttons for expanding or collapsing all items.\n * Automatically emits filter events on initialization if filter value is provided.\n * Manages toggle state for expand/collapse button display.\n * Must be used within eui-tree-list component to control tree list behavior.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <!-- Toolbar is typically used internally by eui-tree-list -->\n * <eui-tree-list [isShowToolbar]=\"true\">\n *   <eui-tree-list-item label=\"Item 1\" />\n *   <eui-tree-list-item label=\"Item 2\" />\n * </eui-tree-list>\n *\n * <!-- Custom labels -->\n * <eui-tree-list\n *   [isShowToolbar]=\"true\"\n *   filterLabel=\"Search items...\"\n *   expandAllLabel=\"Expand\"\n *   collapseAllLabel=\"Collapse\">\n *   <!-- items -->\n * </eui-tree-list>\n * ```\n *\n * ```typescript\n * // Listen to toolbar events\n * onFilter(keyword: string): void {\n *   console.log('Filtering by:', keyword);\n * }\n *\n * onExpandAll(): void {\n *   console.log('All items expanded');\n * }\n * ```\n *\n * ### Accessibility\n * - Search input has proper placeholder and label\n * - Expand/collapse buttons have aria-labels\n * - Icons have descriptive aria-labels\n * - Keyboard accessible controls\n *\n * ### Notes\n * - Automatically managed by parent eui-tree-list component\n * - Filter emits on initialization if filterValue is set\n * - Toggle button switches between expand and collapse states\n * - Supports icon-only buttons when labels are empty strings\n * - Clearable search input for easy filter reset\n */\n@Component({\n    selector: 'eui-tree-list-toolbar',\n    templateUrl: './toolbar.component.html',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        FormsModule,\n        ...EUI_INPUT_TEXT,\n        ...EUI_BUTTON,\n        ...EUI_ICON,\n        ...EUI_ICON_INPUT,\n    ],\n})\nexport class EuiTreeListToolbarComponent implements OnInit, OnChanges {\n    @HostBinding('class') classes = 'eui-tree-list-toolbar';\n\n    @Input() e2eAttr = 'eui-tree-list-toolbar';\n    /**\n     * Shows or hides the toolbar\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isVisible = false;\n    /**\n     * The value of the filter placeholder\n     * @type {string}\n     */\n    @Input() filterLabel: string;\n    /**\n     * The label for the expand all button\n     * @type {string}\n     */\n    @Input() expandAllLabel: string;\n    /**\n     * The label for the collapse all button\n     * @type {string}\n     */\n    @Input() collapseAllLabel: string;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input({ transform: booleanAttribute }) isFilterVisible = true;\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input({ transform: booleanAttribute }) isToggleVisible = true;\n    /**\n     * Option that toggles the expanded/collapsed state of the corresponding button\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isToggleExpanded = false;\n    /**\n     * The value of the filter input\n     * @default ''\n     */\n    @Input() filterValue = '';\n    /**\n     * @deprecated This property is not used anymore and will be removed in the next major version.\n     */\n    @Input({ transform: booleanAttribute }) hasLabels = true;\n    /**\n     * Event emitted if there is or if a filter value changes.\n     */\n    @Output() filter = new EventEmitter<string>();\n    /**\n     * Event emitted when the expand all button is clicked.\n     */\n    @Output() expandAll = new EventEmitter<MouseEvent>();\n    /**\n     * Event emitted when the collapse all button is clicked.\n     */\n    @Output() collapseAll = new EventEmitter<MouseEvent>();\n\n    ngOnInit(): void {\n        if (this.filterValue !== '' && this.filterValue !== undefined) {\n            this.filter.emit(this.filterValue);\n        }\n    }\n\n    ngOnChanges(c: SimpleChanges): void {\n        if (c && c.filterValue && this.filterValue !== undefined) {\n            this.filter.emit(this.filterValue);\n        }\n    }\n    /**\n     * This method is called when the filter input value changes.\n     * It emits the filter value to the parent component.\n     * @protected\n     */\n    protected onFilter(): void {\n        if (this.filterValue === '') {\n            if (!this.isToggleExpanded) {\n                this.collapseAll.emit(null);\n            }\n        }\n        this.filter.emit(this.filterValue);\n    }\n    /**\n     * This method is called when the expand all button is clicked.\n     * It emits the expand all event to the parent component.\n     * @param event The mouse event\n     * @protected\n     */\n    protected onExpandAll(event: MouseEvent): void {\n        this.isToggleExpanded = !this.isToggleExpanded;\n        this.expandAll.emit(event);\n    }\n    /**\n     * This method is called when the collapse all button is clicked.\n     * It emits the collapse all event to the parent component.\n     * @param event The mouse event\n     * @protected\n     */\n    protected onCollapseAll(event: MouseEvent): void {\n        this.isToggleExpanded = !this.isToggleExpanded;\n        this.collapseAll.emit(event);\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnChanges"
            ],
            "templateData": "@if (isVisible) {\n    <eui-icon-input>\n        <eui-icon-svg icon=\"eui-search\" fillColor=\"secondary\" aria-label=\"Search Icon\" />\n        <input\n            euiInputText\n            euiClearable\n            [(ngModel)]=\"filterValue\"\n            [placeholder]=\"filterLabel\"\n            (ngModelChange)=\"onFilter()\" />\n    </eui-icon-input>\n\n    @if (!isToggleExpanded) {\n        <button euiButton euiSecondary euiOutline (click)=\"onExpandAll($event)\" [euiIconButton]=\"expandAllLabel === ''\" aria-label=\"Expand all\">\n            @if (expandAllLabel !== '') {\n                {{ expandAllLabel }}\n            }\n            <eui-icon-svg icon=\"eui-level-down\" aria-label=\"Expand all tree items icon\" />\n        </button>\n    } @else {\n        <button euiButton euiSecondary euiOutline (click)=\"onCollapseAll($event)\" [euiIconButton]=\"collapseAllLabel === ''\" aria-label=\"Collapse all\">\n            @if (collapseAllLabel !== '') {\n                {{ collapseAllLabel }}\n            }\n            <eui-icon-svg icon=\"eui-level-up\" aria-label=\"Collapse all tree items icon\" />\n        </button>\n    }\n}\n"
        },
        {
            "name": "EuiUserProfileCardComponent",
            "id": "component-EuiUserProfileCardComponent-1c297b2b634a6fd8fb356d11067059ca4a0ea6cef2454a310b0b960948ec2479484286581c99dbc845dd2f37046a5e10ecf5d27b85beeb9b209a6702a2b429bd",
            "file": "packages/components/eui-user-profile/user-profile-card/user-profile-card.component.ts",
            "changeDetection": "ChangeDetectionStrategy.Default",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-user-profile-card",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./user-profile-card.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "avatarUrl",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 88,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "impersonateLabel",
                    "defaultValue": "'acting as'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 86,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowAvatarInitials",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 89,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "reverseNameOrder",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nIf true, the name will be displayed in reverse order (first name, first)\n",
                    "description": "<p>If true, the name will be displayed in reverse order (first name, first)</p>\n",
                    "line": 93,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "showDetailsLabel",
                    "defaultValue": "'Show profile details'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 87,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "closeProfileMenu",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 96,
                    "type": "EventEmitter<void>"
                },
                {
                    "name": "showProfileInfo",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 95,
                    "type": "EventEmitter<void>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "avatarInitials",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Signal<string>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 74
                },
                {
                    "name": "fullName",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Signal<literal type>",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>Holds the full name of the user and the impersonated user</p>\n",
                    "line": 78,
                    "rawdescription": "\n\nHolds the full name of the user and the impersonated user\n"
                },
                {
                    "name": "isOnline",
                    "defaultValue": "true",
                    "deprecated": true,
                    "deprecationMessage": "This property is not used anymore",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "<p>If true, the user is online</p>\n",
                    "line": 84,
                    "rawdescription": "\n\nIf true, the user is online\n",
                    "jsdoctags": [
                        {
                            "pos": 2461,
                            "end": 2512,
                            "kind": 332,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2462,
                                "end": 2472,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "deprecated"
                            },
                            "comment": "<p>This property is not used anymore</p>\n"
                        }
                    ]
                },
                {
                    "name": "userState",
                    "defaultValue": "inject(UserService).getSignal()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Signal<UserProfile>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 79
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 98,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onClose",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 126,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onShowInfoClick",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 122,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 70,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_AVATAR"
                }
            ],
            "description": "<p>User profile card component that displays detailed user information including avatar, name,\nfunction, and organization. Designed for use within dropdown menus or profile panels.\nAutomatically fetches user data from UserService and supports impersonation display.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Simple profile card --&gt;\n&lt;eui-user-profile-card\n  [isShowAvatarInitials]=&quot;true&quot;\n  (showProfileInfo)=&quot;onShowProfile()&quot;\n  (closeProfileMenu)=&quot;onClose()&quot; /&gt;\n\n&lt;!-- With custom avatar --&gt;\n&lt;eui-user-profile-card\n  [avatarUrl]=&quot;user.avatarUrl&quot;\n  [reverseNameOrder]=&quot;true&quot;\n  showDetailsLabel=&quot;View Details&quot; /&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">onShowProfile(): void {\n  this.router.navigate([&#39;/profile&#39;]);\n}</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Avatar has semantic meaning with user initials or image</li>\n<li>Profile details link is keyboard accessible with tabindex</li>\n<li>User information structured with proper heading hierarchy</li>\n<li>Impersonation status clearly indicated for screen readers</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Automatically displays user function and organization if available</li>\n<li>Impersonation mode shows both impersonated and actual user</li>\n<li>Avatar initials computed from user name (configurable order)</li>\n<li>Integrates seamlessly with eui-user-profile dropdown</li>\n</ul>\n",
            "rawdescription": "\n\nUser profile card component that displays detailed user information including avatar, name,\nfunction, and organization. Designed for use within dropdown menus or profile panels.\nAutomatically fetches user data from UserService and supports impersonation display.\n\n### Basic Usage\n```html\n<!-- Simple profile card -->\n<eui-user-profile-card\n  [isShowAvatarInitials]=\"true\"\n  (showProfileInfo)=\"onShowProfile()\"\n  (closeProfileMenu)=\"onClose()\" />\n\n<!-- With custom avatar -->\n<eui-user-profile-card\n  [avatarUrl]=\"user.avatarUrl\"\n  [reverseNameOrder]=\"true\"\n  showDetailsLabel=\"View Details\" />\n```\n\n```typescript\nonShowProfile(): void {\n  this.router.navigate(['/profile']);\n}\n```\n\n### Accessibility\n- Avatar has semantic meaning with user initials or image\n- Profile details link is keyboard accessible with tabindex\n- User information structured with proper heading hierarchy\n- Impersonation status clearly indicated for screen readers\n\n### Notes\n- Automatically displays user function and organization if available\n- Impersonation mode shows both impersonated and actual user\n- Avatar initials computed from user name (configurable order)\n- Integrates seamlessly with eui-user-profile dropdown\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ChangeDetectionStrategy,\n    ViewEncapsulation,\n    Input,\n    OnInit,\n    EventEmitter,\n    Output,\n    booleanAttribute,\n    computed,\n    Signal,\n    inject,\n} from '@angular/core';\nimport { UserProfile } from '../user-profile.component';\nimport { UserService, UserDetails } from '@eui/core';\nimport { EUI_AVATAR } from '@eui/components/eui-avatar';\n\n/**\n * @description\n * User profile card component that displays detailed user information including avatar, name,\n * function, and organization. Designed for use within dropdown menus or profile panels.\n * Automatically fetches user data from UserService and supports impersonation display.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <!-- Simple profile card -->\n * <eui-user-profile-card\n *   [isShowAvatarInitials]=\"true\"\n *   (showProfileInfo)=\"onShowProfile()\"\n *   (closeProfileMenu)=\"onClose()\" />\n *\n * <!-- With custom avatar -->\n * <eui-user-profile-card\n *   [avatarUrl]=\"user.avatarUrl\"\n *   [reverseNameOrder]=\"true\"\n *   showDetailsLabel=\"View Details\" />\n * ```\n *\n * ```typescript\n * onShowProfile(): void {\n *   this.router.navigate(['/profile']);\n * }\n * ```\n *\n * ### Accessibility\n * - Avatar has semantic meaning with user initials or image\n * - Profile details link is keyboard accessible with tabindex\n * - User information structured with proper heading hierarchy\n * - Impersonation status clearly indicated for screen readers\n *\n * ### Notes\n * - Automatically displays user function and organization if available\n * - Impersonation mode shows both impersonated and actual user\n * - Avatar initials computed from user name (configurable order)\n * - Integrates seamlessly with eui-user-profile dropdown\n */\n@Component({\n    selector: 'eui-user-profile-card',\n    templateUrl: './user-profile-card.component.html',\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        ...EUI_AVATAR,\n    ],\n})\nexport class EuiUserProfileCardComponent implements OnInit {\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return 'eui-user-profile-card';\n    }\n\n    avatarInitials: Signal<string>;\n    /**\n     * Holds the full name of the user and the impersonated user\n     */\n    fullName: Signal<{ user: string, impersonated: string }>;\n    userState: Signal<UserProfile> = inject(UserService).getSignal();\n    /**\n     * If true, the user is online\n     * @deprecated This property is not used anymore\n     */\n    isOnline = true;\n\n    @Input() impersonateLabel = 'acting as';\n    @Input() showDetailsLabel = 'Show profile details';\n    @Input() avatarUrl: string;\n    @Input({ transform: booleanAttribute }) isShowAvatarInitials = true;\n    /**\n     * If true, the name will be displayed in reverse order (first name, first)\n     */\n    @Input() reverseNameOrder = false;\n\n    @Output() showProfileInfo: EventEmitter<void> = new EventEmitter();\n    @Output() closeProfileMenu: EventEmitter<void> = new EventEmitter();\n\n    ngOnInit(): void {\n        this.avatarInitials = computed(() => {\n            const firstNameInitial = this.userState().firstName?.substring(0, 1).toUpperCase();\n            const lastNameInitial = this.userState().lastName?.substring(0, 1).toUpperCase();\n            return this.reverseNameOrder ?\n                `${firstNameInitial}${lastNameInitial}`\n                : `${lastNameInitial}${firstNameInitial}`;\n        });\n        this.fullName = computed(() => {\n            const user = this.userState();\n            const impersonated = this.userState().impersonatingUser;\n\n            const fullName = (user: UserDetails): string=> {\n                return this.reverseNameOrder\n                    ? `${user.firstName} ${user.lastName}`\n                    : `${user.lastName} ${user.firstName}`;\n            };\n            return {\n                user: fullName(user),\n                impersonated: impersonated ? fullName(impersonated) : undefined,\n            };\n        });\n    }\n\n    onShowInfoClick(): void {\n        this.showProfileInfo.emit();\n    }\n\n    onClose(): void {\n        this.closeProfileMenu.emit();\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 70
                    }
                }
            },
            "templateData": "<div class=\"eui-user-profile-card__main-wrapper\">\n    <div class=\"eui-user-profile-card__avatar-wrapper\">\n        <eui-avatar euiSizeL>\n            @if (isShowAvatarInitials) {\n                <eui-avatar-text>\n                    {{ avatarInitials() }}\n                </eui-avatar-text>\n            } @else {\n                @if (!avatarUrl) {\n                    <eui-avatar-image></eui-avatar-image>\n                }\n                @if (avatarUrl) {\n                    <eui-avatar-image [imageUrl]=\"avatarUrl\"></eui-avatar-image>\n                }\n            }\n        </eui-avatar>\n    </div>\n    <div class=\"eui-user-profile-card__userInfos\">\n        <div class=\"eui-u-f-m-semi-bold\">{{ fullName().user }}</div>\n        @if (userState().function) {\n            <div class=\"eui-user-profile-card__userInfos-item eui-u-f-s\">\n                {{ userState().function }}\n            </div>\n        }\n        @if (userState().organisation && userState().organisation.code) {\n            <div class=\"eui-user-profile-card__userInfos-item eui-u-f-s\">\n                {{ userState().organisation.code }}\n            </div>\n        }\n        <a class=\"eui-u-text-link eui-u-f-s eui-u-mt-s\" tabindex=\"0\" (click)=\"onShowInfoClick()\">{{showDetailsLabel}}</a>\n    </div>\n</div>\n\n@if (userState()?.impersonatingUser) {\n    <div class=\"eui-user-profile-card__impersonateInfos\">\n        <div>{{ fullName()?.impersonated }}</div>\n        <div class=\"eui-u-mt-2xs\">{{ impersonateLabel }}</div>\n        <div class=\"eui-u-mt-2xs\">\n            <strong>{{ fullName().user }}</strong>\n        </div>\n    </div>\n}\n"
        },
        {
            "name": "EuiUserProfileComponent",
            "id": "component-EuiUserProfileComponent-859b6e31d7085fe14d2324a692073a1cdeafda2b5318709c72b2c274d20264cabaf451e9b19c3c4890e560ce6ad5b20b371ffd7c23f883ee75dbe45347e985c1",
            "file": "packages/components/eui-user-profile/user-profile.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [
                {
                    "name": "EuiDropdownService",
                    "type": "injectable"
                }
            ],
            "selector": "eui-user-profile",
            "styleUrls": [
                "./_styles/_index.scss"
            ],
            "styles": [],
            "templateUrl": [
                "./user-profile.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [
                {
                    "name": "BaseStatesDirective",
                    "inputs": [
                        "euiSizeS",
                        "euiSecondary",
                        "euiPrimary"
                    ],
                    "outputs": []
                }
            ],
            "inputsClass": [
                {
                    "name": "avatarUrl",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 134,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "dropContentWidth",
                    "defaultValue": "'300px'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 152,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiStatusDanger",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 151,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiStatusSecondary",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 149,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "euiStatusSuccess",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 150,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasMenu",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 138,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasTabNavigation",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 141,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasToggle",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 143,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "hasWelcomeLabel",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 139,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "impersonateLabel",
                    "defaultValue": "'acting as'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 133,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isHeaderUserProfile",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 144,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isMobileOnly",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 147,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isReverse",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 142,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowAvatarInitials",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 140,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowUserInfos",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 146,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isToolbarUserProfile",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 145,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "reverseNameOrder",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nIf true, the name will be displayed in reverse order (first name, first)\n",
                    "description": "<p>If true, the name will be displayed in reverse order (first name, first)</p>\n",
                    "line": 157,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "statusVariant",
                    "defaultValue": "'success'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 136,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "subInfos",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 135,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "welcomeLabel",
                    "defaultValue": "'Welcome'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 132,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "$isDropdownOpen",
                    "defaultValue": "new BehaviorSubject<boolean>(false)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 165
                },
                {
                    "name": "avatarInitials",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Signal<string>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 130
                },
                {
                    "name": "baseStatesDirective",
                    "defaultValue": "inject(BaseStatesDirective)",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 164
                },
                {
                    "name": "dropdown",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiDropdownComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 159,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'dropdown'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "hasMenuContent",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiUserProfileMenuComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 161,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "undefined, {descendants: true}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "isDropdownOpen",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 163
                },
                {
                    "name": "userState",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Signal<UserProfile>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 129
                }
            ],
            "methodsClass": [
                {
                    "name": "closeDropdown",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 224,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 182,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 219,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 171,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onDropdownExpand",
                    "args": [
                        {
                            "name": "isOpen",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 229,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "isOpen",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onOpenChange",
                    "args": [
                        {
                            "name": "open",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 233,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "open",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "class",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 120,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "NgTemplateOutlet"
                },
                {
                    "name": "EUI_DROPDOWN"
                },
                {
                    "name": "EUI_ICON"
                },
                {
                    "name": "EUI_AVATAR"
                },
                {
                    "name": "EUI_BADGE"
                }
            ],
            "description": "<p>User profile component that displays user information with avatar, name, and optional dropdown menu.\nIntegrates with UserService to display current user state and supports impersonation indicators.\nProvides customizable layouts for header, toolbar, or standalone usage.\nSupports avatar display with initials, status indicators, and optional menu with navigation items.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Simple user profile --&gt;\n&lt;eui-user-profile\n  [hasMenu]=&quot;true&quot;\n  [isShowAvatarInitials]=&quot;true&quot;&gt;\n  &lt;eui-user-profile-menu&gt;\n    &lt;eui-user-profile-menu-item (click)=&quot;viewProfile()&quot;&gt;\n      Profile\n    &lt;/eui-user-profile-menu-item&gt;\n    &lt;eui-user-profile-menu-item (click)=&quot;logout()&quot;&gt;\n      Logout\n    &lt;/eui-user-profile-menu-item&gt;\n  &lt;/eui-user-profile-menu&gt;\n&lt;/eui-user-profile&gt;\n\n&lt;!-- Header user profile --&gt;\n&lt;eui-user-profile\n  [isHeaderUserProfile]=&quot;true&quot;\n  [avatarUrl]=&quot;user.avatarUrl&quot;\n  [subInfos]=&quot;user.email&quot; /&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Avatar has appropriate alt text with user name</li>\n<li>Dropdown menu is keyboard accessible</li>\n<li>Status indicators have aria-label describing state</li>\n<li>Focus management for menu navigation</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Automatically fetches user data from UserService</li>\n<li>Supports impersonation mode with visual indicator</li>\n<li>Avatar initials generated from user name when no image provided</li>\n<li>Status variants: success, secondary, danger</li>\n<li>Reverse layout option for right-to-left designs</li>\n</ul>\n",
            "rawdescription": "\n\nUser profile component that displays user information with avatar, name, and optional dropdown menu.\nIntegrates with UserService to display current user state and supports impersonation indicators.\nProvides customizable layouts for header, toolbar, or standalone usage.\nSupports avatar display with initials, status indicators, and optional menu with navigation items.\n\n### Basic Usage\n```html\n<!-- Simple user profile -->\n<eui-user-profile\n  [hasMenu]=\"true\"\n  [isShowAvatarInitials]=\"true\">\n  <eui-user-profile-menu>\n    <eui-user-profile-menu-item (click)=\"viewProfile()\">\n      Profile\n    </eui-user-profile-menu-item>\n    <eui-user-profile-menu-item (click)=\"logout()\">\n      Logout\n    </eui-user-profile-menu-item>\n  </eui-user-profile-menu>\n</eui-user-profile>\n\n<!-- Header user profile -->\n<eui-user-profile\n  [isHeaderUserProfile]=\"true\"\n  [avatarUrl]=\"user.avatarUrl\"\n  [subInfos]=\"user.email\" />\n```\n\n### Accessibility\n- Avatar has appropriate alt text with user name\n- Dropdown menu is keyboard accessible\n- Status indicators have aria-label describing state\n- Focus management for menu navigation\n\n### Notes\n- Automatically fetches user data from UserService\n- Supports impersonation mode with visual indicator\n- Avatar initials generated from user name when no image provided\n- Status variants: success, secondary, danger\n- Reverse layout option for right-to-left designs\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ViewEncapsulation,\n    Input,\n    OnInit,\n    ViewChild,\n    OnDestroy,\n    forwardRef,\n    QueryList,\n    AfterViewInit,\n    ContentChildren,\n    ElementRef,\n    booleanAttribute,\n    Signal,\n    computed,\n    ChangeDetectorRef,\n    inject,\n} from '@angular/core';\nimport { UserState } from '@eui/core';\nimport { UserService } from '@eui/core';\nimport { EUI_DROPDOWN, EuiDropdownComponent, EuiDropdownService } from '@eui/components/eui-dropdown';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiUserProfileMenuComponent } from './user-profile-menu/user-profile-menu.component';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_AVATAR } from '@eui/components/eui-avatar';\nimport { EUI_BADGE } from '@eui/components/eui-badge';\n\n/**\n * Represents an extended user profile that includes impersonation capabilities\n * and organizational information.\n * @extends {UserState}\n *\n * When using this interface with UserService, specify it as the generic type parameter:\n * Example: private userService: UserService<UserProfile>\n */\nexport interface UserProfile extends UserState {\n    /** The profile of another user being impersonated, if applicable */\n    impersonatingUser?: UserProfile;\n    /** The user's function or role within the system */\n    function?: string;\n    /** The organization details associated with the user */\n    organisation?: {\n        /** The unique code identifying the organization */\n        code: string\n    }\n}\n\n/**\n * @description\n * User profile component that displays user information with avatar, name, and optional dropdown menu.\n * Integrates with UserService to display current user state and supports impersonation indicators.\n * Provides customizable layouts for header, toolbar, or standalone usage.\n * Supports avatar display with initials, status indicators, and optional menu with navigation items.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <!-- Simple user profile -->\n * <eui-user-profile\n *   [hasMenu]=\"true\"\n *   [isShowAvatarInitials]=\"true\">\n *   <eui-user-profile-menu>\n *     <eui-user-profile-menu-item (click)=\"viewProfile()\">\n *       Profile\n *     </eui-user-profile-menu-item>\n *     <eui-user-profile-menu-item (click)=\"logout()\">\n *       Logout\n *     </eui-user-profile-menu-item>\n *   </eui-user-profile-menu>\n * </eui-user-profile>\n *\n * <!-- Header user profile -->\n * <eui-user-profile\n *   [isHeaderUserProfile]=\"true\"\n *   [avatarUrl]=\"user.avatarUrl\"\n *   [subInfos]=\"user.email\" />\n * ```\n *\n * ### Accessibility\n * - Avatar has appropriate alt text with user name\n * - Dropdown menu is keyboard accessible\n * - Status indicators have aria-label describing state\n * - Focus management for menu navigation\n *\n * ### Notes\n * - Automatically fetches user data from UserService\n * - Supports impersonation mode with visual indicator\n * - Avatar initials generated from user name when no image provided\n * - Status variants: success, secondary, danger\n * - Reverse layout option for right-to-left designs\n */@Component({\n    selector: 'eui-user-profile',\n    templateUrl: './user-profile.component.html',\n    styleUrls: ['./_styles/_index.scss'],\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        NgTemplateOutlet,\n        ...EUI_DROPDOWN,\n        ...EUI_ICON,\n        ...EUI_AVATAR,\n        ...EUI_BADGE,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSizeS',\n                'euiSecondary',\n                'euiPrimary',\n            ],\n        },\n    ],\n    providers: [EuiDropdownService],\n})\nexport class EuiUserProfileComponent implements OnInit, OnDestroy, AfterViewInit {\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-user-profile'),\n            this.isReverse ? 'eui-user-profile--reverse': '',\n            this.isShowAvatarInitials ? 'eui-user-profile--initials': '',\n            this.subInfos ? 'eui-user-profile--has-subinfos': '',\n        ].join(' ').trim();\n    }\n\n    userState: Signal<UserProfile>;\n    avatarInitials: Signal<string>;\n\n    @Input() welcomeLabel = 'Welcome';\n    @Input() impersonateLabel = 'acting as';\n    @Input() avatarUrl: string;\n    @Input() subInfos: string;\n    @Input() statusVariant = 'success';\n\n    @Input({ transform: booleanAttribute }) hasMenu = false;\n    @Input({ transform: booleanAttribute }) hasWelcomeLabel = true;\n    @Input({ transform: booleanAttribute }) isShowAvatarInitials = false;\n    @Input({ transform: booleanAttribute }) hasTabNavigation = false;\n    @Input({ transform: booleanAttribute }) isReverse = false;\n    @Input({ transform: booleanAttribute }) hasToggle = false;\n    @Input({ transform: booleanAttribute }) isHeaderUserProfile = false;\n    @Input({ transform: booleanAttribute }) isToolbarUserProfile = false;\n    @Input({ transform: booleanAttribute }) isShowUserInfos = true;\n    @Input({ transform: booleanAttribute }) isMobileOnly = true;\n\n    @Input({ transform: booleanAttribute }) euiStatusSecondary = false;\n    @Input({ transform: booleanAttribute }) euiStatusSuccess = false;\n    @Input({ transform: booleanAttribute }) euiStatusDanger = false;\n    @Input() dropContentWidth = '300px';\n\n    /**\n     * If true, the name will be displayed in reverse order (first name, first)\n     */\n    @Input() reverseNameOrder = false;\n\n    @ViewChild('dropdown') dropdown: EuiDropdownComponent;\n    @ContentChildren(forwardRef(() => EuiUserProfileMenuComponent), { descendants: true })\n    hasMenuContent: QueryList<EuiUserProfileMenuComponent>;\n\n    isDropdownOpen = false;\n    baseStatesDirective = inject(BaseStatesDirective);\n    $isDropdownOpen = new BehaviorSubject<boolean>(false);\n    private unsubscribeSubject$: Subject<void> = new Subject();\n    private elRef = inject(ElementRef);\n    private cd = inject(ChangeDetectorRef);\n    private userService = inject<UserService<UserProfile>>(UserService);\n\n    ngOnInit(): void {\n        this.userState = this.userService.getSignal();\n        this.avatarInitials = computed(() => {\n            const firstNameInitial = this.userState().firstName?.substring(0, 1).toUpperCase();\n            const lastNameInitial = this.userState().lastName?.substring(0, 1).toUpperCase();\n            return this.reverseNameOrder ?\n                `${firstNameInitial}${lastNameInitial}`\n                : `${lastNameInitial}${firstNameInitial}`;\n        });\n    }\n\n    ngAfterViewInit(): void {\n        this.cd.markForCheck();\n\n        let hasToolbarItemParent = false, toolbar;\n\n        if (this.isToolbarUserProfile) {\n            this.baseStatesDirective.euiSizeS = true;\n            this.hasMenu = this.hasMenuContent.length !== 0;\n\n        } else {\n            try {\n                hasToolbarItemParent = this.elRef.nativeElement.closest('eui-toolbar-item');\n                toolbar = this.elRef.nativeElement.closest('eui-toolbar');\n            } catch(e) {\n               // do nothing\n            }\n\n            setTimeout(() => {\n                if (hasToolbarItemParent) {\n                    this.baseStatesDirective.euiSizeS = true;\n                    if (toolbar && toolbar.classList.contains('eui--secondary') || this.baseStatesDirective.euiSecondary) {\n                        this.baseStatesDirective.euiSecondary = true;\n                    } else {\n                        this.baseStatesDirective.euiPrimary = true;\n                    }\n                }\n                if (hasToolbarItemParent || !this.isHeaderUserProfile) {\n                    this.hasMenu = this.hasMenuContent.length !== 0;\n                }\n                if (this.isMobileOnly) {\n                    this.baseStatesDirective.euiSizeS = true;\n                }\n                this.cd.markForCheck();\n            });\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.unsubscribeSubject$.next();\n        this.unsubscribeSubject$.complete();\n    }\n\n    closeDropdown(): void {\n        this.dropdown.closeDropdown();\n        this.isDropdownOpen = false;\n    }\n\n    onDropdownExpand(isOpen: boolean): void {\n        this.isDropdownOpen = isOpen;\n    }\n\n    onOpenChange(open: boolean): void {\n        this.isDropdownOpen = open;\n        this.$isDropdownOpen.next(open);\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": [
                {
                    "data": "@forward 'user-profile';\n@forward 'user-profile.mq';\n@forward 'user-profile.states';\n@forward 'user-profile-menu';\n@forward 'user-profile-menu-item';\n@forward 'user-profile-card';\n@forward 'user-profile.theme.dark';",
                    "styleUrl": "./_styles/_index.scss"
                }
            ],
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy",
                "AfterViewInit"
            ],
            "accessors": {
                "cssClasses": {
                    "name": "cssClasses",
                    "getSignature": {
                        "name": "cssClasses",
                        "type": "string",
                        "returnType": "string",
                        "line": 120
                    }
                }
            },
            "templateData": "@if (hasMenu) {\n    <eui-dropdown [hasTabNavigation]=\"hasTabNavigation\"\n                  width=\"{{dropContentWidth}}\"\n                  #dropdown\n                  (isDropdownOpen)=\"onOpenChange($event)\"\n                  (expand)=\"onDropdownExpand($event)\">\n        <ng-container *ngTemplateOutlet=\"userProfileContent\"/>\n        <eui-dropdown-content>\n            <ng-content/>\n        </eui-dropdown-content>\n    </eui-dropdown>\n} @else {\n    <ng-container *ngTemplateOutlet=\"userProfileContent\"/>\n}\n\n<ng-template #userProfileContent>\n    <button class=\"eui-user-profile-content\" [tabindex]=\"hasMenu ? '0' : '-1'\" [class.eui-user-profile-content--no-menu]=\"!hasMenu\">\n\n        @if (isShowUserInfos) {\n            <div class=\"eui-user-profile__infos\">\n                @if (userState()?.impersonatingUser) {\n                    <div class=\"eui-user-profile__infos-welcome\">\n                        @if (hasWelcomeLabel) {\n                            <span>{{ welcomeLabel }}&nbsp;</span>\n                        }\n                        @if(reverseNameOrder) {\n                            {{ userState()?.impersonatingUser?.firstName }} <strong>{{ userState()?.impersonatingUser?.lastName}}</strong>\n                        } @else {\n                            <strong>{{ userState()?.impersonatingUser?.lastName }}</strong> {{ userState()?.impersonatingUser?.firstName }}\n                        }\n                        <span>,&nbsp;{{ impersonateLabel }}</span>\n                    </div>\n                    <div class=\"eui-user-profile__infos-name\">\n                        @if(reverseNameOrder) {\n                            {{ userState()?.firstName }} <strong>{{ userState()?.lastName }}</strong>\n                        } @else {\n                            <strong>{{ userState()?.lastName }}</strong> {{ userState()?.firstName }}\n                        }\n                    </div>\n                    @if (subInfos) {\n                        <div class=\"eui-user-profile__infos-subinfos\">{{ subInfos }}</div>\n                    }\n                } @else {\n                    @if (hasWelcomeLabel) {\n                        <div class=\"eui-user-profile__infos-welcome\">{{ welcomeLabel }}</div>\n                    }\n                    <div class=\"eui-user-profile__infos-name\">\n                        @if(reverseNameOrder) {\n                            {{ userState()?.firstName }} <strong>{{ userState()?.lastName }}</strong>\n                        } @else {\n                            <strong>{{ userState()?.lastName }}</strong> {{ userState()?.firstName }}\n                        }\n                    </div>\n                    @if (subInfos) {\n                        <div class=\"eui-user-profile__infos-subinfos\">{{ subInfos }}</div>\n                    }\n                }\n            </div>\n        }\n\n        <eui-avatar isFlat [euiSizeS]=\"baseStatesDirective.euiSizeS\" [hasShadow]=\"!!userState()?.impersonatingUser\">\n\n            @if (isShowAvatarInitials) {\n                <eui-avatar-text>{{ avatarInitials() }}</eui-avatar-text>\n            } @else {\n                <eui-avatar-image [imageUrl]=\"avatarUrl\"/>\n            }\n\n            @if (euiStatusSecondary || euiStatusSuccess || euiStatusDanger) {\n                <eui-avatar-badge position=\"bottom\">\n                    @if (euiStatusSuccess) {\n                        <eui-badge euiSuccess euiSizeS euiIconBadge>\n                            <eui-icon-svg icon=\"eui-checkmark\" size=\"xs\"/>\n                        </eui-badge>\n                    } @else if (euiStatusDanger) {\n                        <eui-badge euiDanger euiSizeS euiIconBadge>\n                            <eui-icon-svg icon=\"eui-remove\" size=\"xs\"/>\n                        </eui-badge>\n                    } @else if (euiStatusSecondary) {\n                        <eui-badge euiSecondary euiSizeS euiIconBadge>\n                            <eui-icon-svg icon=\"eui-close\" size=\"xs\"/>\n                        </eui-badge>\n                    }\n                </eui-avatar-badge>\n            }\n        </eui-avatar>\n\n        @if (hasMenu || hasToggle) {\n            @if (isDropdownOpen) {\n                <eui-icon-svg icon=\"eui-chevron-up\" size=\"xs\" class=\"eui-user-profile__drop-indicator\"/>\n            } @else {\n                <eui-icon-svg icon=\"eui-chevron-down\" size=\"xs\" class=\"eui-user-profile__drop-indicator\"/>\n            }\n        }\n    </button>\n</ng-template>\n"
        },
        {
            "name": "EuiUserProfileMenuComponent",
            "id": "component-EuiUserProfileMenuComponent-45ff1ecdd69d9efe698b3e5d259e3e1f27dca7a672fb7a7de9f3e76ca93eafc345894a0a0a14dfd203e8005ca0c2ad53c6bb6302fce9f5d129674630bf4c3b5c",
            "file": "packages/components/eui-user-profile/user-profile-menu/user-profile-menu.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-user-profile-menu",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "class",
                    "defaultValue": "'eui-user-profile-menu'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 63,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": ""
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "items",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiUserProfileMenuItemComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 66,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "undefined"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "parent",
                    "defaultValue": "inject(forwardRef(() => EuiUserProfileComponent), { optional: true })",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiUserProfileComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 68,
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "role",
                    "defaultValue": "'menu'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 64,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 79,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 83,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onKeydown",
                    "args": [
                        {
                            "name": "event",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 73,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "decorators": [
                        {
                            "name": "HostListener",
                            "stringifiedArguments": "'keydown', ['$event']"
                        }
                    ],
                    "modifierKind": [
                        171
                    ],
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "subscribeToParent",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 88,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'menu'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 64,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "defaultValue": "'eui-user-profile-menu'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 63,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [
                {
                    "name": "keydown",
                    "args": [
                        {
                            "name": "event",
                            "type": "unknown",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "argsDecorator": [
                        "$event"
                    ],
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 73
                }
            ],
            "standalone": false,
            "imports": [],
            "description": "<p>Container component for user profile menu items. Provides keyboard navigation\nand focus management for menu items within a user profile dropdown.\nUses CDK FocusKeyManager for accessible keyboard interaction.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-user-profile [hasMenu]=&quot;true&quot;&gt;\n  &lt;eui-user-profile-menu&gt;\n    &lt;eui-user-profile-menu-item (click)=&quot;viewProfile()&quot;&gt;\n      My Profile\n    &lt;/eui-user-profile-menu-item&gt;\n    &lt;eui-user-profile-menu-item (click)=&quot;settings()&quot;&gt;\n      Settings\n    &lt;/eui-user-profile-menu-item&gt;\n    &lt;eui-user-profile-menu-item (click)=&quot;logout()&quot;&gt;\n      Logout\n    &lt;/eui-user-profile-menu-item&gt;\n  &lt;/eui-user-profile-menu&gt;\n&lt;/eui-user-profile&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Implements ARIA menu role for proper semantics</li>\n<li>Keyboard navigation with arrow keys (up/down)</li>\n<li>Focus wraps from last to first item</li>\n<li>Automatically focuses first item when menu opens</li>\n<li>Integrates with CDK FocusKeyManager for standard behavior</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-user-profile component</li>\n<li>Automatically manages focus state of child menu items</li>\n<li>Keyboard navigation activates on dropdown open</li>\n<li>Use eui-user-profile-menu-item for menu entries</li>\n</ul>\n",
            "rawdescription": "\n\nContainer component for user profile menu items. Provides keyboard navigation\nand focus management for menu items within a user profile dropdown.\nUses CDK FocusKeyManager for accessible keyboard interaction.\n\n### Basic Usage\n```html\n<eui-user-profile [hasMenu]=\"true\">\n  <eui-user-profile-menu>\n    <eui-user-profile-menu-item (click)=\"viewProfile()\">\n      My Profile\n    </eui-user-profile-menu-item>\n    <eui-user-profile-menu-item (click)=\"settings()\">\n      Settings\n    </eui-user-profile-menu-item>\n    <eui-user-profile-menu-item (click)=\"logout()\">\n      Logout\n    </eui-user-profile-menu-item>\n  </eui-user-profile-menu>\n</eui-user-profile>\n```\n\n### Accessibility\n- Implements ARIA menu role for proper semantics\n- Keyboard navigation with arrow keys (up/down)\n- Focus wraps from last to first item\n- Automatically focuses first item when menu opens\n- Integrates with CDK FocusKeyManager for standard behavior\n\n### Notes\n- Must be used within eui-user-profile component\n- Automatically manages focus state of child menu items\n- Keyboard navigation activates on dropdown open\n- Use eui-user-profile-menu-item for menu entries\n",
            "type": "component",
            "sourceCode": "import {\n    Component,\n    HostBinding,\n    ViewEncapsulation,\n    AfterViewInit,\n    QueryList,\n    ContentChildren,\n    OnDestroy,\n    HostListener,\n    forwardRef,\n    inject,\n} from '@angular/core';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { EuiUserProfileMenuItemComponent } from '../user-profile-menu-item/user-profile-menu-item.component';\nimport { EuiUserProfileComponent } from '../user-profile.component';\n\n/**\n * @description\n * Container component for user profile menu items. Provides keyboard navigation\n * and focus management for menu items within a user profile dropdown.\n * Uses CDK FocusKeyManager for accessible keyboard interaction.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-user-profile [hasMenu]=\"true\">\n *   <eui-user-profile-menu>\n *     <eui-user-profile-menu-item (click)=\"viewProfile()\">\n *       My Profile\n *     </eui-user-profile-menu-item>\n *     <eui-user-profile-menu-item (click)=\"settings()\">\n *       Settings\n *     </eui-user-profile-menu-item>\n *     <eui-user-profile-menu-item (click)=\"logout()\">\n *       Logout\n *     </eui-user-profile-menu-item>\n *   </eui-user-profile-menu>\n * </eui-user-profile>\n * ```\n *\n * ### Accessibility\n * - Implements ARIA menu role for proper semantics\n * - Keyboard navigation with arrow keys (up/down)\n * - Focus wraps from last to first item\n * - Automatically focuses first item when menu opens\n * - Integrates with CDK FocusKeyManager for standard behavior\n *\n * ### Notes\n * - Must be used within eui-user-profile component\n * - Automatically manages focus state of child menu items\n * - Keyboard navigation activates on dropdown open\n * - Use eui-user-profile-menu-item for menu entries\n */\n@Component({\n    selector: 'eui-user-profile-menu',\n    template: '<ng-content/>',\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiUserProfileMenuComponent implements OnDestroy, AfterViewInit {\n    @HostBinding() class = 'eui-user-profile-menu';\n    @HostBinding('attr.role') role = 'menu';\n\n    @ContentChildren(forwardRef(() => EuiUserProfileMenuItemComponent)) items: QueryList<EuiUserProfileMenuItemComponent>;\n\n    public parent: EuiUserProfileComponent = inject(forwardRef(() => EuiUserProfileComponent), { optional: true });\n    private focusKeyManager: FocusKeyManager<EuiUserProfileMenuItemComponent>;\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n\n    @HostListener('keydown', ['$event'])\n    onKeydown(event): void {\n        if (this.focusKeyManager) {\n            this.focusKeyManager.onKeydown(event);\n        }\n    }\n\n    ngAfterViewInit(): void {\n        this.subscribeToParent();\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    subscribeToParent(): void {\n        this.parent?.$isDropdownOpen.pipe(takeUntil(this.destroy$)).subscribe((isOpen: boolean) => {\n            if (isOpen) {\n                this.focusKeyManager = new FocusKeyManager(this.items).withWrap();\n                this.focusKeyManager.setFirstItemActive();\n            }\n        });\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnDestroy",
                "AfterViewInit"
            ]
        },
        {
            "name": "EuiUserProfileMenuItemComponent",
            "id": "component-EuiUserProfileMenuItemComponent-9a6ac68a014043834f7062d49345afb97f6ab9452d2198de50bd226bf70bb1b93f9e024b1283468684173363640a8eb85902a7c113b5aca1e985651df1d3da24",
            "file": "packages/components/eui-user-profile/user-profile-menu-item/user-profile-menu-item.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-user-profile-menu-item",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content/>",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "class",
                    "defaultValue": "'eui-user-profile-menu-item'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 49,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'class'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "role",
                    "defaultValue": "'menuitem'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 51,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.role'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "tabindex",
                    "defaultValue": "'-1'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 50,
                    "decorators": [
                        {
                            "name": "HostBinding",
                            "stringifiedArguments": "'attr.tabindex'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "focus",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 54,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [
                {
                    "name": "attr.role",
                    "defaultValue": "'menuitem'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 51,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "attr.tabindex",
                    "defaultValue": "'-1'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 50,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "class",
                    "defaultValue": "'eui-user-profile-menu-item'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 49,
                    "type": "string",
                    "decorators": []
                }
            ],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Individual menu item component for user profile menus. Implements FocusableOption\nfor keyboard navigation support. Used within eui-user-profile-menu to create\nactionable menu entries.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-user-profile-menu&gt;\n  &lt;eui-user-profile-menu-item (click)=&quot;viewProfile()&quot;&gt;\n    &lt;eui-icon-svg icon=&quot;eui-user&quot; size=&quot;s&quot; /&gt;\n    My Profile\n  &lt;/eui-user-profile-menu-item&gt;\n\n  &lt;eui-user-profile-menu-item (click)=&quot;changePassword()&quot;&gt;\n    &lt;eui-icon-svg icon=&quot;eui-lock&quot; size=&quot;s&quot; /&gt;\n    Change Password\n  &lt;/eui-user-profile-menu-item&gt;\n\n  &lt;eui-user-profile-menu-item (click)=&quot;logout()&quot;&gt;\n    &lt;eui-icon-svg icon=&quot;eui-logout&quot; size=&quot;s&quot; /&gt;\n    Logout\n  &lt;/eui-user-profile-menu-item&gt;\n&lt;/eui-user-profile-menu&gt;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Implements ARIA menuitem role</li>\n<li>Keyboard focusable with proper tabindex management</li>\n<li>Supports focus() method for programmatic focus</li>\n<li>Works with parent menu&#39;s keyboard navigation</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>Must be used within eui-user-profile-menu</li>\n<li>Supports any content (text, icons, badges)</li>\n<li>Click events handled through standard Angular event binding</li>\n<li>Focus managed by parent menu&#39;s FocusKeyManager</li>\n</ul>\n",
            "rawdescription": "\n\nIndividual menu item component for user profile menus. Implements FocusableOption\nfor keyboard navigation support. Used within eui-user-profile-menu to create\nactionable menu entries.\n\n### Basic Usage\n```html\n<eui-user-profile-menu>\n  <eui-user-profile-menu-item (click)=\"viewProfile()\">\n    <eui-icon-svg icon=\"eui-user\" size=\"s\" />\n    My Profile\n  </eui-user-profile-menu-item>\n\n  <eui-user-profile-menu-item (click)=\"changePassword()\">\n    <eui-icon-svg icon=\"eui-lock\" size=\"s\" />\n    Change Password\n  </eui-user-profile-menu-item>\n\n  <eui-user-profile-menu-item (click)=\"logout()\">\n    <eui-icon-svg icon=\"eui-logout\" size=\"s\" />\n    Logout\n  </eui-user-profile-menu-item>\n</eui-user-profile-menu>\n```\n\n### Accessibility\n- Implements ARIA menuitem role\n- Keyboard focusable with proper tabindex management\n- Supports focus() method for programmatic focus\n- Works with parent menu's keyboard navigation\n\n### Notes\n- Must be used within eui-user-profile-menu\n- Supports any content (text, icons, badges)\n- Click events handled through standard Angular event binding\n- Focus managed by parent menu's FocusKeyManager\n",
            "type": "component",
            "sourceCode": "import { Component, HostBinding, ViewEncapsulation, ElementRef, inject } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\n/**\n * @description\n * Individual menu item component for user profile menus. Implements FocusableOption\n * for keyboard navigation support. Used within eui-user-profile-menu to create\n * actionable menu entries.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-user-profile-menu>\n *   <eui-user-profile-menu-item (click)=\"viewProfile()\">\n *     <eui-icon-svg icon=\"eui-user\" size=\"s\" />\n *     My Profile\n *   </eui-user-profile-menu-item>\n *   \n *   <eui-user-profile-menu-item (click)=\"changePassword()\">\n *     <eui-icon-svg icon=\"eui-lock\" size=\"s\" />\n *     Change Password\n *   </eui-user-profile-menu-item>\n *   \n *   <eui-user-profile-menu-item (click)=\"logout()\">\n *     <eui-icon-svg icon=\"eui-logout\" size=\"s\" />\n *     Logout\n *   </eui-user-profile-menu-item>\n * </eui-user-profile-menu>\n * ```\n *\n * ### Accessibility\n * - Implements ARIA menuitem role\n * - Keyboard focusable with proper tabindex management\n * - Supports focus() method for programmatic focus\n * - Works with parent menu's keyboard navigation\n *\n * ### Notes\n * - Must be used within eui-user-profile-menu\n * - Supports any content (text, icons, badges)\n * - Click events handled through standard Angular event binding\n * - Focus managed by parent menu's FocusKeyManager\n */\n@Component({\n    selector: 'eui-user-profile-menu-item',\n    template: '<ng-content/>',\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiUserProfileMenuItemComponent implements FocusableOption {\n    @HostBinding('class') class = 'eui-user-profile-menu-item';\n    @HostBinding('attr.tabindex') tabindex = '-1';\n    @HostBinding('attr.role') role = 'menuitem';\n    private element = inject(ElementRef);\n\n    focus(): void {\n        this.element.nativeElement.focus();\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "FocusableOption"
            ]
        },
        {
            "name": "EuiWizardComponent",
            "id": "component-EuiWizardComponent-08ebec21b2897e5c7d17836df2ee765e1e81aa620487543226949b01f8ad1f7ac58851d27c81baec609ed922991137a8649fe70cec5ef0cfd596fe9ed58f9a41",
            "file": "packages/components/eui-wizard/eui-wizard.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [
                {
                    "name": "EuiWizardService",
                    "type": "injectable"
                }
            ],
            "selector": "eui-wizard",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-wizard.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "activeStepIndex",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nIndex of the currently active step (1-based).\nWhen set, activates the corresponding step in the wizard.\nUsed for programmatic step control.\n",
                    "description": "<p>Index of the currently active step (1-based).\nWhen set, activates the corresponding step in the wizard.\nUsed for programmatic step control.</p>\n",
                    "line": 89,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "e2eAttr",
                    "defaultValue": "'eui-wizard'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3412,
                            "end": 3439,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3413,
                                "end": 3420,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>&#39;eui-wizard&#39;</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nData attribute used for end-to-end testing identification.\n",
                    "description": "<p>Data attribute used for end-to-end testing identification.</p>\n",
                    "line": 107,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCustomContent",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4216,
                            "end": 4236,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4217,
                                "end": 4224,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables custom content mode where step content is managed externally.\nWhen true, wizard only displays step indicators without content areas.\n",
                    "description": "<p>Enables custom content mode where step content is managed externally.\nWhen true, wizard only displays step indicators without content areas.</p>\n",
                    "line": 126,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isNavigationAllowed",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4724,
                            "end": 4743,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4725,
                                "end": 4732,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>true</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nEnables or disables step navigation.\nWhen false, prevents users from clicking steps or using keyboard navigation.\nUseful for enforcing sequential completion.\n",
                    "description": "<p>Enables or disables step navigation.\nWhen false, prevents users from clicking steps or using keyboard navigation.\nUseful for enforcing sequential completion.</p>\n",
                    "line": 139,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowStepTitle",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 4438,
                            "end": 4458,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 4439,
                                "end": 4446,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nDisplays step titles below step indicators.\nProvides additional context for each step in the wizard.\n",
                    "description": "<p>Displays step titles below step indicators.\nProvides additional context for each step in the wizard.</p>\n",
                    "line": 132,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "steps",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3081,
                            "end": 3098,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3082,
                                "end": 3089,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>[]</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nArray of wizard step configurations.\nCan be used instead of or in addition to content children steps.\nEach step should conform to EuiWizardStep interface.\n",
                    "description": "<p>Array of wizard step configurations.\nCan be used instead of or in addition to content children steps.\nEach step should conform to EuiWizardStep interface.</p>\n",
                    "line": 96,
                    "type": "Array<EuiWizardStep>",
                    "decorators": []
                },
                {
                    "name": "tabindex",
                    "defaultValue": "0",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3285,
                            "end": 3301,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3286,
                                "end": 3293,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>0</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nTab index value for keyboard navigation focus management.\nControls whether wizard is included in tab order.\n",
                    "description": "<p>Tab index value for keyboard navigation focus management.\nControls whether wizard is included in tab order.</p>\n",
                    "line": 102,
                    "type": "number",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "selectStep",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nEmitted when a step is selected or activated.\nPayload: EuiWizardStep object representing the newly active step.\nTriggers on user click, keyboard navigation, or programmatic selection.\n",
                    "description": "<p>Emitted when a step is selected or activated.\nPayload: EuiWizardStep object representing the newly active step.\nTriggers on user click, keyboard navigation, or programmatic selection.</p>\n",
                    "line": 113,
                    "type": "EventEmitter<EuiWizardStep>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "canBeFocused",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<ElementRef>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 116,
                    "decorators": [
                        {
                            "name": "ViewChildren",
                            "stringifiedArguments": "'canBeFocused'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "childrenSteps",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QueryList<EuiWizardStepComponent>",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 115,
                    "decorators": [
                        {
                            "name": "ContentChildren",
                            "stringifiedArguments": "EuiWizardStepComponent"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "stepContentId",
                    "defaultValue": "uniqueId()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 118
                },
                {
                    "name": "stepIds",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 119
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterContentInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 141,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 163,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onKeyDown",
                    "args": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 186,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "event",
                            "type": "KeyboardEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onSelectStep",
                    "args": [
                        {
                            "name": "step",
                            "type": "EuiWizardStep",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 180,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "step",
                            "type": "EuiWizardStep",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "selectNextStep",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 224,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "selectPreviousStep",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 206,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "trackByFn",
                    "args": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "item",
                            "type": "EuiWizardStep",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 202,
                    "deprecated": true,
                    "deprecationMessage": "This will be removed in next version of eUI",
                    "rawdescription": "",
                    "description": "",
                    "modifierKind": [
                        124
                    ],
                    "jsdoctags": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "item",
                            "type": "EuiWizardStep",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EUI_ICON"
                }
            ],
            "description": "<p>Multi-step wizard component for guiding users through sequential processes or forms.\nDisplays step indicators with navigation controls and manages step activation state.\nSupports keyboard navigation with arrow keys and programmatic step selection.\nProvides both declarative (content children) and programmatic (steps array) configuration.\nCommonly used for onboarding flows, multi-page forms, checkout processes, and guided workflows.</p>\n<h3>Basic Usage</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-wizard [activeStepIndex]=&quot;1&quot; (selectStep)=&quot;onStepChange($event)&quot;&gt;\n  &lt;eui-wizard-step label=&quot;Personal Info&quot;&gt;\n    &lt;form&gt;&lt;!-- step 1 content --&gt;&lt;/form&gt;\n  &lt;/eui-wizard-step&gt;\n  &lt;eui-wizard-step label=&quot;Address&quot;&gt;\n    &lt;form&gt;&lt;!-- step 2 content --&gt;&lt;/form&gt;\n  &lt;/eui-wizard-step&gt;\n  &lt;eui-wizard-step label=&quot;Review&quot;&gt;\n    &lt;div&gt;&lt;!-- step 3 content --&gt;&lt;/div&gt;\n  &lt;/eui-wizard-step&gt;\n&lt;/eui-wizard&gt;</code></pre></div><h3>Programmatic Steps</h3>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;eui-wizard [steps]=&quot;wizardSteps&quot; [activeStepIndex]=&quot;currentStep&quot;&gt;\n&lt;/eui-wizard&gt;</code></pre></div><b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-typescript\">wizardSteps: EuiWizardStep[] = [\n  { label: &#39;Step 1&#39;, id: &#39;step1&#39; },\n  { label: &#39;Step 2&#39;, id: &#39;step2&#39; },\n  { label: &#39;Step 3&#39;, id: &#39;step3&#39; }\n];\ncurrentStep = 1;</code></pre></div><h3>Accessibility</h3>\n<ul>\n<li>Use role=&quot;navigation&quot; with aria-label describing the wizard</li>\n<li>Each step has clear labels and state indicators</li>\n<li>Keyboard navigation: Arrow keys to move between steps</li>\n<li>Current step is announced to screen readers</li>\n</ul>\n<h3>Notes</h3>\n<ul>\n<li>activeStepIndex is 1-based (first step is 1, not 0)</li>\n<li>Steps can be defined declaratively or programmatically</li>\n<li>Visual indicators show completed, current, and upcoming steps</li>\n<li>Supports both linear and non-linear navigation patterns</li>\n</ul>\n",
            "rawdescription": "\n\nMulti-step wizard component for guiding users through sequential processes or forms.\nDisplays step indicators with navigation controls and manages step activation state.\nSupports keyboard navigation with arrow keys and programmatic step selection.\nProvides both declarative (content children) and programmatic (steps array) configuration.\nCommonly used for onboarding flows, multi-page forms, checkout processes, and guided workflows.\n\n### Basic Usage\n```html\n<eui-wizard [activeStepIndex]=\"1\" (selectStep)=\"onStepChange($event)\">\n  <eui-wizard-step label=\"Personal Info\">\n    <form><!-- step 1 content --></form>\n  </eui-wizard-step>\n  <eui-wizard-step label=\"Address\">\n    <form><!-- step 2 content --></form>\n  </eui-wizard-step>\n  <eui-wizard-step label=\"Review\">\n    <div><!-- step 3 content --></div>\n  </eui-wizard-step>\n</eui-wizard>\n```\n\n### Programmatic Steps\n```html\n<eui-wizard [steps]=\"wizardSteps\" [activeStepIndex]=\"currentStep\">\n</eui-wizard>\n```\n\n```typescript\nwizardSteps: EuiWizardStep[] = [\n  { label: 'Step 1', id: 'step1' },\n  { label: 'Step 2', id: 'step2' },\n  { label: 'Step 3', id: 'step3' }\n];\ncurrentStep = 1;\n```\n\n### Accessibility\n- Use role=\"navigation\" with aria-label describing the wizard\n- Each step has clear labels and state indicators\n- Keyboard navigation: Arrow keys to move between steps\n- Current step is announced to screen readers\n\n### Notes\n- activeStepIndex is 1-based (first step is 1, not 0)\n- Steps can be defined declaratively or programmatically\n- Visual indicators show completed, current, and upcoming steps\n- Supports both linear and non-linear navigation patterns\n",
            "type": "component",
            "sourceCode": "import {\n    AfterContentInit,\n    booleanAttribute,\n    Component,\n    ContentChildren,\n    ElementRef,\n    EventEmitter,\n    Input,\n    OnChanges,\n    Output,\n    QueryList,\n    SimpleChanges,\n    ViewChildren,\n    ViewEncapsulation,\n} from '@angular/core';\nimport { uniqueId, consumeEvent } from '@eui/core';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EuiWizardStepComponent } from './eui-wizard-step.component';\nimport { EuiWizardStep } from './models/eui-wizard-step';\nimport { EuiWizardService } from './services/eui-wizard.service';\n\n/**\n * @description\n * Multi-step wizard component for guiding users through sequential processes or forms.\n * Displays step indicators with navigation controls and manages step activation state.\n * Supports keyboard navigation with arrow keys and programmatic step selection.\n * Provides both declarative (content children) and programmatic (steps array) configuration.\n * Commonly used for onboarding flows, multi-page forms, checkout processes, and guided workflows.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-wizard [activeStepIndex]=\"1\" (selectStep)=\"onStepChange($event)\">\n *   <eui-wizard-step label=\"Personal Info\">\n *     <form><!-- step 1 content --></form>\n *   </eui-wizard-step>\n *   <eui-wizard-step label=\"Address\">\n *     <form><!-- step 2 content --></form>\n *   </eui-wizard-step>\n *   <eui-wizard-step label=\"Review\">\n *     <div><!-- step 3 content --></div>\n *   </eui-wizard-step>\n * </eui-wizard>\n * ```\n *\n * ### Programmatic Steps\n * ```html\n * <eui-wizard [steps]=\"wizardSteps\" [activeStepIndex]=\"currentStep\">\n * </eui-wizard>\n * ```\n *\n * ```typescript\n * wizardSteps: EuiWizardStep[] = [\n *   { label: 'Step 1', id: 'step1' },\n *   { label: 'Step 2', id: 'step2' },\n *   { label: 'Step 3', id: 'step3' }\n * ];\n * currentStep = 1;\n * ```\n *\n * ### Accessibility\n * - Use role=\"navigation\" with aria-label describing the wizard\n * - Each step has clear labels and state indicators\n * - Keyboard navigation: Arrow keys to move between steps\n * - Current step is announced to screen readers\n *\n * ### Notes\n * - activeStepIndex is 1-based (first step is 1, not 0)\n * - Steps can be defined declaratively or programmatically\n * - Visual indicators show completed, current, and upcoming steps\n * - Supports both linear and non-linear navigation patterns\n */\n@Component({\n    selector: 'eui-wizard',\n    templateUrl: './eui-wizard.component.html',\n    styleUrl: './eui-wizard.scss',\n    encapsulation: ViewEncapsulation.None,\n    providers: [EuiWizardService],\n    imports: [\n        ...EUI_ICON,\n    ],\n})\nexport class EuiWizardComponent implements AfterContentInit, OnChanges {\n    /**\n     * Index of the currently active step (1-based).\n     * When set, activates the corresponding step in the wizard.\n     * Used for programmatic step control.\n     */\n    @Input() activeStepIndex: number;\n    /**\n     * Array of wizard step configurations.\n     * Can be used instead of or in addition to content children steps.\n     * Each step should conform to EuiWizardStep interface.\n     * @default []\n     */\n    @Input() steps: Array<EuiWizardStep> = [];\n    /**\n     * Tab index value for keyboard navigation focus management.\n     * Controls whether wizard is included in tab order.\n     * @default 0\n     */\n    @Input() tabindex = 0;\n    /**\n     * Data attribute used for end-to-end testing identification.\n     * @default 'eui-wizard'\n     */\n    @Input() e2eAttr = 'eui-wizard';\n    /**\n     * Emitted when a step is selected or activated.\n     * Payload: EuiWizardStep object representing the newly active step.\n     * Triggers on user click, keyboard navigation, or programmatic selection.\n     */\n    @Output() selectStep: EventEmitter<EuiWizardStep> = new EventEmitter();\n\n    @ContentChildren(EuiWizardStepComponent) childrenSteps: QueryList<EuiWizardStepComponent>;\n    @ViewChildren('canBeFocused') canBeFocused: QueryList<ElementRef>;\n\n    stepContentId: string = uniqueId();\n    stepIds: string; // space-separated list of all step IDs\n\n    /**\n     * Enables custom content mode where step content is managed externally.\n     * When true, wizard only displays step indicators without content areas.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCustomContent = false;\n    /**\n     * Displays step titles below step indicators.\n     * Provides additional context for each step in the wizard.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isShowStepTitle = false;\n    /**\n     * Enables or disables step navigation.\n     * When false, prevents users from clicking steps or using keyboard navigation.\n     * Useful for enforcing sequential completion.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isNavigationAllowed = true;\n\n    ngAfterContentInit(): void {\n        const stepIdsBuffer: string[] = [];\n        this.childrenSteps.forEach((step) => {\n            this.steps.push(step);\n            if (!step.id) {\n                step.id = uniqueId();\n            }\n            stepIdsBuffer.push(step.id);\n        });\n        this.stepIds = stepIdsBuffer.join(' ');\n\n        const activeSteps = this.steps.filter((step) => step.isActive);\n\n        if (activeSteps.length === 0 && !this.activeStepIndex) {\n            this._selectStep(this.steps[0], 1);\n        } else if (this.activeStepIndex) {\n            this._selectStep(this._getStep(this.activeStepIndex - 1), this.activeStepIndex);\n        }\n\n        this.steps.forEach((step) => (step.isShowStepTitle = this.isShowStepTitle));\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes['steps'] || changes['activeStepIndex']) {\n            if (this.activeStepIndex && this.steps) {\n                this._selectStep(this._getStep(this.activeStepIndex - 1), this.activeStepIndex);\n\n                const stepIdsBuffer = [];\n                this.steps.forEach((step) => {\n                    if (!step.id) {\n                        step.id = uniqueId();\n                    }\n                    stepIdsBuffer.push(step.id);\n                });\n                this.stepIds = stepIdsBuffer.join(' ');\n            }\n        }\n    }\n\n    onSelectStep(step: EuiWizardStep, index: number): void {\n        if (!step.isDisabled && this.isNavigationAllowed) {\n            this._selectStep(step, index);\n        }\n    }\n\n    onKeyDown(event: KeyboardEvent): void {\n        if (this.isNavigationAllowed) {\n            switch (event.key) {\n                case 'ArrowLeft':\n                    consumeEvent(event);\n                    this.selectPreviousStep();\n                    break;\n                case 'ArrowRight':\n                    consumeEvent(event);\n                    this.selectNextStep();\n                    break;\n            }\n        }\n    }\n\n    /** @deprecated This will be removed in next version of eUI */\n    protected trackByFn(index: number, item: EuiWizardStep): string {\n        return item.id;\n    }\n\n    protected selectPreviousStep(): void {\n        if (this.isNavigationAllowed && this.steps) {\n            // get the index of active step\n            const activeStepIndex = this.steps.findIndex((step) => step.isActive);\n\n            let previousIndex = activeStepIndex < 0 ? 0 : activeStepIndex;\n            do {\n                previousIndex--;\n                if (previousIndex < 0) {\n                    previousIndex = this.steps.length - 1;\n                }\n            } while (this.steps[previousIndex].isDisabled);\n\n            this._selectStep(this.steps[previousIndex], previousIndex + 1);\n            this.canBeFocused.toArray()[previousIndex].nativeElement.focus();\n        }\n    }\n\n    protected selectNextStep(): void {\n        if (this.isNavigationAllowed && this.steps) {\n            // get the index of active step\n            let activeStepIndex = this.steps.findIndex((step) => step.isActive);\n            // in case no step is active point to the first step\n            activeStepIndex = activeStepIndex < 0 ? 0 : activeStepIndex;\n\n            do {\n                if (++activeStepIndex >= this.steps.length) {\n                    activeStepIndex = 0;\n                }\n            } while (this.steps[activeStepIndex].isDisabled);\n\n            this._selectStep(this.steps[activeStepIndex], activeStepIndex + 1);\n            this.canBeFocused.toArray()[activeStepIndex].nativeElement.focus();\n        }\n    }\n\n    private _selectStep(step: EuiWizardStep, index: number): void {\n        if (step) {\n            this.steps.forEach((currentStep) => (currentStep.isActive = false));\n            step.isActive = true;\n            step.index = index;\n            this.selectStep.emit(step);\n        }\n    }\n\n    private _getStep(index: number): EuiWizardStep {\n        if (index >= 0 && index <= this.steps.length) {\n            return this.steps[index];\n        }\n        return null;\n    }\n}\n",
            "styleUrl": "./eui-wizard.scss",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterContentInit",
                "OnChanges"
            ],
            "templateData": "<div class=\"eui-wizard\" role=\"tablist\" aria-orientation=\"horizontal\" attr.data-e2e=\"{{ e2eAttr }}\">\n    @for (step of steps; track step.id; let idx = $index) {\n        <div\n            #canBeFocused\n            class=\"eui-wizard-step\"\n            role=\"tab\"\n            [id]=\"step.id\"\n            attr.aria-label=\"{{ step?.label }} {{ step?.subLabel }}\"\n            [attr.aria-disabled]=\"step?.isDisabled\"\n            [attr.aria-controls]=\"stepContentId\"\n            [attr.aria-describedby]=\"step?.isActive? stepContentId: null\"\n            [attr.aria-selected]=\"step?.isActive\"\n            [tabindex]=\"!isNavigationAllowed ? -1 : tabindex\"\n            [class.eui-wizard-step--completed]=\"step?.isCompleted\"\n            [class.eui-wizard-step--notallowed]=\"!isNavigationAllowed\"\n            [class.eui-wizard-step--active]=\"step?.isActive\"\n            [class.eui-wizard-step--disabled]=\"step?.isDisabled\"\n            [class.eui-wizard-step--error]=\"step?.isInvalid\"\n            [class.eui--danger]=\"step?.isInvalid\"\n            [class.eui-wizard-step--warning]=\"step?.isWarning\"\n            [class.eui--warning]=\"step?.isWarning\"\n            (click)=\"onSelectStep(step, idx + 1)\"\n            (keydown)=\"onKeyDown($event)\">\n            <div class=\"eui-wizard-step__indicator-wrapper\" role=\"presentation\"></div>\n\n            <div class=\"eui-wizard-step__bullet-item\">\n                <span class=\"eui-wizard-step__bullet-item-icon\">\n                    @if(!step?.indexIconSvgName) {\n                        @if (step?.isCompleted) {\n                            <eui-icon-svg icon=\"eui-checkmark\" />\n                        }\n                        @if (step?.isInvalid) {\n                            <eui-icon-svg icon=\"eui-alert\" />\n                        }\n                    } @else {\n                        @if(step?.indexIconSvgName && step?.indexIconSvgName !== undefined) {\n                            <span role=\"presentation\">\n                                <eui-icon-svg icon=\"{{ step?.indexIconSvgName }}\" class=\"eui-wizard-step__icon\" />\n                            </span>\n                        }\n                    }\n                </span>\n                @if(!step?.indexIconSvgName && !step?.isCompleted && !step?.isInvalid) {\n                    <span class=\"eui-wizard-step__bullet-item-text\"\n                          role=\"presentation\">\n                    {{ step?.indexLabel !== undefined ? step?.indexLabel : idx + 1 }}\n                </span>\n                }\n            </div>\n            <div class=\"eui-wizard-step__label-wrapper\" role=\"presentation\">\n                <div class=\"eui-wizard-step__label-wrapper-label\" role=\"presentation\">\n                    {{ step?.label }}\n                </div>\n                <div class=\"eui-wizard-step__label-wrapper-sub-label\" role=\"presentation\">\n                    {{ step?.subLabel }}\n                </div>\n            </div>\n        </div>\n    }\n</div>\n<div [id]=\"stepContentId\" class=\"step-content\" role=\"tabpanel\">\n    <ng-content></ng-content>\n</div>\n"
        },
        {
            "name": "EuiWizardStepComponent",
            "id": "component-EuiWizardStepComponent-7db33ae277221552c67a5e2727bab8adb5255085ae081ed4f36da36181e09a12cdc1b1062750aff408915b78b68cd4b7e0a846591a0798489ad20280deda5a82",
            "file": "packages/components/eui-wizard/eui-wizard-step.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "eui-wizard-step",
            "styleUrls": [],
            "styles": [],
            "templateUrl": [
                "./eui-wizard-step.component.html"
            ],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nUnique identifier for the step.\nUsed for programmatic step selection and tracking.\n",
                    "description": "<p>Unique identifier for the step.\nUsed for programmatic step selection and tracking.</p>\n",
                    "line": 22,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "index",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nNumeric position of the step in the wizard sequence.\nUsed for ordering and navigation logic.\n",
                    "description": "<p>Numeric position of the step in the wizard sequence.\nUsed for ordering and navigation logic.</p>\n",
                    "line": 48,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "indexIconSvgName",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSVG icon name displayed inside the step indicator circle.\nAlternative to indexLabel for visual step representation.\nFollows eui-icon-svg naming convention.\n",
                    "description": "<p>SVG icon name displayed inside the step indicator circle.\nAlternative to indexLabel for visual step representation.\nFollows eui-icon-svg naming convention.</p>\n",
                    "line": 33,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "indexLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nText label displayed inside the step indicator circle.\nTypically a number or short text representing step order.\n",
                    "description": "<p>Text label displayed inside the step indicator circle.\nTypically a number or short text representing step order.</p>\n",
                    "line": 27,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isActive",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2225,
                            "end": 2245,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2226,
                                "end": 2233,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nMarks the step as currently active.\nApplies active styling and indicates current wizard position.\n",
                    "description": "<p>Marks the step as currently active.\nApplies active styling and indicates current wizard position.</p>\n",
                    "line": 66,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isCompleted",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2010,
                            "end": 2030,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2011,
                                "end": 2018,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nMarks the step as completed.\nDisplays completion indicator (typically a checkmark) in the step circle.\n",
                    "description": "<p>Marks the step as completed.\nDisplays completion indicator (typically a checkmark) in the step circle.</p>\n",
                    "line": 60,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isDisabled",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 3099,
                            "end": 3119,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 3100,
                                "end": 3107,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nDisables the step from being selected or navigated to.\nPrevents user interaction with the step indicator.\n",
                    "description": "<p>Disables the step from being selected or navigated to.\nPrevents user interaction with the step indicator.</p>\n",
                    "line": 90,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isInvalid",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2671,
                            "end": 2691,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2672,
                                "end": 2679,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nMarks the step as invalid or containing errors.\nDisplays error styling to indicate validation failure.\n",
                    "description": "<p>Marks the step as invalid or containing errors.\nDisplays error styling to indicate validation failure.</p>\n",
                    "line": 78,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isShowStepTitle",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2447,
                            "end": 2467,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2448,
                                "end": 2455,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nShows the step title below the step indicator.\nInherited from parent wizard but can be overridden per step.\n",
                    "description": "<p>Shows the step title below the step indicator.\nInherited from parent wizard but can be overridden per step.</p>\n",
                    "line": 72,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "isWarning",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "pos": 2878,
                            "end": 2898,
                            "kind": 328,
                            "id": 0,
                            "flags": 16842752,
                            "modifierFlagsCache": 0,
                            "transformFlags": 0,
                            "tagName": {
                                "pos": 2879,
                                "end": 2886,
                                "kind": 80,
                                "id": 0,
                                "flags": 16842752,
                                "transformFlags": 0,
                                "escapedText": "default"
                            },
                            "comment": "<p>false</p>\n"
                        }
                    ],
                    "rawdescription": "\n\nMarks the step with a warning state.\nDisplays warning styling to indicate attention needed.\n",
                    "description": "<p>Marks the step with a warning state.\nDisplays warning styling to indicate attention needed.</p>\n",
                    "line": 84,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "label",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nPrimary label text for the step.\nDisplayed as the main step title.\n",
                    "description": "<p>Primary label text for the step.\nDisplayed as the main step title.</p>\n",
                    "line": 38,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "subLabel",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nSecondary descriptive text for the step.\nProvides additional context below the main label.\n",
                    "description": "<p>Secondary descriptive text for the step.\nProvides additional context below the main label.</p>\n",
                    "line": 43,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "url",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nOptional URL associated with the step.\nCan be used for routing or deep linking to specific wizard steps.\n",
                    "description": "<p>Optional URL associated with the step.\nCan be used for routing or deep linking to specific wizard steps.</p>\n",
                    "line": 53,
                    "type": "string",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [],
            "methodsClass": [
                {
                    "name": "toJSON",
                    "args": [],
                    "optional": false,
                    "returnType": "object",
                    "typeParameters": [],
                    "line": 95,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "rawdescription": "\n\nTODO: from which one is this method being used from?\n",
                    "description": "<p>TODO: from which one is this method being used from?</p>\n"
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "<p>Individual step component within an eui-wizard.\nRepresents a single stage in a multi-step process with configurable state indicators.\nSupports completion, validation, and warning states with custom labels and icons.\nMust be used as a child of eui-wizard component.\nAutomatically manages visual state based on wizard navigation and step progression.</p>\n",
            "rawdescription": "\n\nIndividual step component within an eui-wizard.\nRepresents a single stage in a multi-step process with configurable state indicators.\nSupports completion, validation, and warning states with custom labels and icons.\nMust be used as a child of eui-wizard component.\nAutomatically manages visual state based on wizard navigation and step progression.\n",
            "type": "component",
            "sourceCode": "import { booleanAttribute, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { EuiWizardStep } from './models/eui-wizard-step';\n\n/**\n * @description\n * Individual step component within an eui-wizard.\n * Represents a single stage in a multi-step process with configurable state indicators.\n * Supports completion, validation, and warning states with custom labels and icons.\n * Must be used as a child of eui-wizard component.\n * Automatically manages visual state based on wizard navigation and step progression.\n */\n@Component({\n    selector: 'eui-wizard-step',\n    templateUrl: './eui-wizard-step.component.html',\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiWizardStepComponent implements EuiWizardStep {\n    /**\n     * Unique identifier for the step.\n     * Used for programmatic step selection and tracking.\n     */\n    @Input() id: string;\n    /**\n     * Text label displayed inside the step indicator circle.\n     * Typically a number or short text representing step order.\n     */\n    @Input() indexLabel: string;\n    /**\n     * SVG icon name displayed inside the step indicator circle.\n     * Alternative to indexLabel for visual step representation.\n     * Follows eui-icon-svg naming convention.\n     */\n    @Input() indexIconSvgName: string;\n    /**\n     * Primary label text for the step.\n     * Displayed as the main step title.\n     */\n    @Input() label: string;\n    /**\n     * Secondary descriptive text for the step.\n     * Provides additional context below the main label.\n     */\n    @Input() subLabel: string;\n    /**\n     * Numeric position of the step in the wizard sequence.\n     * Used for ordering and navigation logic.\n     */\n    @Input() index: number;\n    /**\n     * Optional URL associated with the step.\n     * Can be used for routing or deep linking to specific wizard steps.\n     */\n    @Input() url: string;\n\n    /**\n     * Marks the step as completed.\n     * Displays completion indicator (typically a checkmark) in the step circle.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCompleted = false;\n    /**\n     * Marks the step as currently active.\n     * Applies active styling and indicates current wizard position.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isActive = false;\n    /**\n     * Shows the step title below the step indicator.\n     * Inherited from parent wizard but can be overridden per step.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isShowStepTitle = false;\n    /**\n     * Marks the step as invalid or containing errors.\n     * Displays error styling to indicate validation failure.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isInvalid = false;\n    /**\n     * Marks the step with a warning state.\n     * Displays warning styling to indicate attention needed.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isWarning = false;\n    /**\n     * Disables the step from being selected or navigated to.\n     * Prevents user interaction with the step indicator.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isDisabled = false;\n\n    /**\n     * TODO: from which one is this method being used from?\n     */\n    toJSON(): object {\n        return {\n            id: this.id,\n            indexLabel: this.indexLabel,\n            indexIconSvgName: this.indexIconSvgName,\n            label: this.label,\n            subLabel: this.subLabel,\n            isCompleted: this.isCompleted,\n            isActive: this.isActive,\n            isShowStepTitle: this.isShowStepTitle,\n            isInvalid: this.isInvalid,\n            isWarning: this.isWarning,\n            isDisabled: this.isDisabled,\n            index: this.index,\n            url: this.url,\n        };\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "EuiWizardStep"
            ],
            "templateData": "@if(isActive) {\n    <ng-content />\n}\n"
        },
        {
            "name": "PaginationComponent",
            "id": "component-PaginationComponent-8f5f40594968fb8057f487e4a11923d68d1dd4277a3c11605123553be5e6025b8c61f6d21c593f64fad47123d5a085bb9676a744fe890450edb20cf0ff0b7a02",
            "file": "packages/components/eui-table/testing/pagination.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "styleUrls": [],
            "styles": [],
            "template": "<table #euiDataTable euiTable [hasStickyCols]=\"hasStickyCols\" [data]=\"data\" [paginator]=\"hasPagination ? paginator : null\">\n    <ng-template euiTemplate=\"header\">\n        <tr>\n            <th isStickyCol width=\"100\">Id</th>\n            <th width=\"300\">Country</th>\n            <th>Year</th>\n            <th width=\"100\">ISO</th>\n            <th width=\"200\">Population</th>\n            <th width=\"200\">Capital</th>\n        </tr>\n    </ng-template>\n    <ng-template let-row euiTemplate=\"body\">\n        <tr>\n            <td isStickyCol>{{ row.id }}</td>\n            <td nowrap><span class=\"eui-flag-icon eui-flag-icon-{{ row.iso.toLowerCase() }} eui-u-mr-s\"></span>{{ row.country }}</td>\n            <td>{{ row.year }}</td>\n            <td>{{ row.iso }}</td>\n            <td>{{ row.population | number }}</td>\n            <td>{{ row.capital }}</td>\n        </tr>\n    </ng-template>\n</table>\n\n<eui-paginator #paginator [pageSizeOptions]=\"[5, 10, 25, 50]\" [pageSize]=\"pageSize\" (pageChange)=\"onPageChange($event)\" />\n",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "hasPagination",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 49,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "hasStickyCols",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 48,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "pageSize",
                    "defaultValue": "10",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 47,
                    "type": "number",
                    "decorators": []
                }
            ],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "data",
                    "defaultValue": "[\n        { id: 1, country: 'Austria', year: 1995, iso: 'AT', population: 8504850, capital: 'Vienna' },\n        { id: 2, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n        { id: 3, country: 'Bulgaria', year: 2007, iso: 'BG', population: 7364570, capital: 'Sofia' },\n        { id: 4, country: 'Croatia', year: 2013, iso: 'HR', population: 4284889, capital: 'Zagreb' },\n        { id: 5, country: 'Cyprus', year: 2004, iso: 'CY', population: 1117000, capital: 'Nicosia' },\n        { id: 6, country: 'Czechia', year: 2004, iso: 'CZ', population: 10513209, capital: 'Prague' },\n        { id: 7, country: 'Denmark', year: 1973, iso: 'DK', population: 5655750, capital: 'Copenhagen' },\n        { id: 8, country: 'Estonia', year: 2004, iso: 'EE', population: 1315819, capital: 'Tallinn' },\n        { id: 9, country: 'Finland', year: 1995, iso: 'FI', population: 5470820, capital: 'Helsinki' },\n        { id: 10, country: 'France', year: 1958, iso: 'FR', population: 67210000, capital: 'Paris' },\n        { id: 11, country: 'Germany', year: 1958, iso: 'DE', population: 80716000, capital: 'Berlin' },\n        { id: 12, country: 'Greece', year: 1981, iso: 'GR', population: 10816286, capital: 'Athens' },\n        { id: 13, country: 'Hungary', year: 2004, iso: 'HU', population: 9877365, capital: 'Budapest' },\n        { id: 14, country: 'Ireland', year: 1973, iso: 'IE', population: 4609600, capital: 'Dublin' },\n        { id: 15, country: 'Italy', year: 1958, iso: 'IT', population: 60782668, capital: 'Rome' },\n        { id: 16, country: 'Latvia', year: 2004, iso: 'LV', population: 1990300, capital: 'Riga' },\n        { id: 17, country: 'Lithuania', year: 2004, iso: 'LT', population: 2944459, capital: 'Vilnius' },\n        { id: 18, country: 'Luxembourg', year: 1958, iso: 'LU', population: 549680, capital: 'Luxembourg' },\n        { id: 19, country: 'Malta', year: 2004, iso: 'MT', population: 446547, capital: 'Valletta' },\n        { id: 20, country: 'Netherlands', year: 1958, iso: 'NL', population: 16856620, capital: 'Amsterdam' },\n        { id: 21, country: 'Poland', year: 2004, iso: 'PL', population: 38483957, capital: 'Warsaw' },\n        { id: 22, country: 'Portugal', year: 1986, iso: 'PT', population: 10427301, capital: 'Lisbon' },\n        { id: 23, country: 'Romania', year: 2007, iso: 'RO', population: 19942642, capital: 'Bucharest' },\n        { id: 24, country: 'Slovakia', year: 2004, iso: 'SK', population: 5415949, capital: 'Bratislava' },\n        { id: 25, country: 'Slovenia', year: 2004, iso: 'SI', population: 2061085, capital: 'Ljubljana' },\n        { id: 26, country: 'Spain', year: 1986, iso: 'ES', population: 46704314, capital: 'Madrid' },\n        { id: 27, country: 'Sweden', year: 1995, iso: 'SE', population: 10004962, capital: 'Stockholm' },\n        { id: 28, country: 'United Kingdom', year: 1973, iso: 'GB', population: 64100000, capital: 'London' },\n    ]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 51
                },
                {
                    "name": "euiDataTable",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiTableComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 82,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'euiDataTable'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "paginator",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiPaginatorComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 83,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'paginator'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "disablePagination",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 89,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "enablePagination",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 93,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ]
                },
                {
                    "name": "onPageChange",
                    "args": [
                        {
                            "name": "e",
                            "type": "EuiPaginationEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 85,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "e",
                            "type": "EuiPaginationEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EuiTableComponent",
                    "type": "component"
                },
                {
                    "name": "EuiTemplateDirective",
                    "type": "directive"
                },
                {
                    "name": "DecimalPipe",
                    "type": "pipe"
                },
                {
                    "name": "EuiPaginatorComponent",
                    "type": "component"
                },
                {
                    "name": "EuiTableStickyColDirective",
                    "type": "directive"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { Component, ViewChild, Input } from '@angular/core';\nimport { DecimalPipe } from '@angular/common';\n\nimport { EuiPaginationEvent, EuiPaginatorComponent } from '@eui/components/eui-paginator';\nimport { EuiTemplateDirective } from '@eui/components/directives';\n\nimport { EuiTableComponent } from '../eui-table.component';\nimport { EuiTableStickyColDirective } from '../directives/eui-table-sticky-col.directive';\n\n@Component({\n    template: `\n    <table #euiDataTable euiTable [hasStickyCols]=\"hasStickyCols\" [data]=\"data\" [paginator]=\"hasPagination ? paginator : null\">\n        <ng-template euiTemplate=\"header\">\n            <tr>\n                <th isStickyCol width=\"100\">Id</th>\n                <th width=\"300\">Country</th>\n                <th>Year</th>\n                <th width=\"100\">ISO</th>\n                <th width=\"200\">Population</th>\n                <th width=\"200\">Capital</th>\n            </tr>\n        </ng-template>\n        <ng-template let-row euiTemplate=\"body\">\n            <tr>\n                <td isStickyCol>{{ row.id }}</td>\n                <td nowrap><span class=\"eui-flag-icon eui-flag-icon-{{ row.iso.toLowerCase() }} eui-u-mr-s\"></span>{{ row.country }}</td>\n                <td>{{ row.year }}</td>\n                <td>{{ row.iso }}</td>\n                <td>{{ row.population | number }}</td>\n                <td>{{ row.capital }}</td>\n            </tr>\n        </ng-template>\n    </table>\n\n    <eui-paginator #paginator [pageSizeOptions]=\"[5, 10, 25, 50]\" [pageSize]=\"pageSize\" (pageChange)=\"onPageChange($event)\" />\n    `,\n    imports: [\n        EuiTableComponent,\n        EuiTemplateDirective,\n        DecimalPipe,\n        EuiPaginatorComponent,\n        EuiTableStickyColDirective,\n    ],\n})\nexport class PaginationComponent {\n    @Input() pageSize = 10;\n    @Input() hasStickyCols = false;\n    @Input() hasPagination = true;\n\n    data = [\n        { id: 1, country: 'Austria', year: 1995, iso: 'AT', population: 8504850, capital: 'Vienna' },\n        { id: 2, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n        { id: 3, country: 'Bulgaria', year: 2007, iso: 'BG', population: 7364570, capital: 'Sofia' },\n        { id: 4, country: 'Croatia', year: 2013, iso: 'HR', population: 4284889, capital: 'Zagreb' },\n        { id: 5, country: 'Cyprus', year: 2004, iso: 'CY', population: 1117000, capital: 'Nicosia' },\n        { id: 6, country: 'Czechia', year: 2004, iso: 'CZ', population: 10513209, capital: 'Prague' },\n        { id: 7, country: 'Denmark', year: 1973, iso: 'DK', population: 5655750, capital: 'Copenhagen' },\n        { id: 8, country: 'Estonia', year: 2004, iso: 'EE', population: 1315819, capital: 'Tallinn' },\n        { id: 9, country: 'Finland', year: 1995, iso: 'FI', population: 5470820, capital: 'Helsinki' },\n        { id: 10, country: 'France', year: 1958, iso: 'FR', population: 67210000, capital: 'Paris' },\n        { id: 11, country: 'Germany', year: 1958, iso: 'DE', population: 80716000, capital: 'Berlin' },\n        { id: 12, country: 'Greece', year: 1981, iso: 'GR', population: 10816286, capital: 'Athens' },\n        { id: 13, country: 'Hungary', year: 2004, iso: 'HU', population: 9877365, capital: 'Budapest' },\n        { id: 14, country: 'Ireland', year: 1973, iso: 'IE', population: 4609600, capital: 'Dublin' },\n        { id: 15, country: 'Italy', year: 1958, iso: 'IT', population: 60782668, capital: 'Rome' },\n        { id: 16, country: 'Latvia', year: 2004, iso: 'LV', population: 1990300, capital: 'Riga' },\n        { id: 17, country: 'Lithuania', year: 2004, iso: 'LT', population: 2944459, capital: 'Vilnius' },\n        { id: 18, country: 'Luxembourg', year: 1958, iso: 'LU', population: 549680, capital: 'Luxembourg' },\n        { id: 19, country: 'Malta', year: 2004, iso: 'MT', population: 446547, capital: 'Valletta' },\n        { id: 20, country: 'Netherlands', year: 1958, iso: 'NL', population: 16856620, capital: 'Amsterdam' },\n        { id: 21, country: 'Poland', year: 2004, iso: 'PL', population: 38483957, capital: 'Warsaw' },\n        { id: 22, country: 'Portugal', year: 1986, iso: 'PT', population: 10427301, capital: 'Lisbon' },\n        { id: 23, country: 'Romania', year: 2007, iso: 'RO', population: 19942642, capital: 'Bucharest' },\n        { id: 24, country: 'Slovakia', year: 2004, iso: 'SK', population: 5415949, capital: 'Bratislava' },\n        { id: 25, country: 'Slovenia', year: 2004, iso: 'SI', population: 2061085, capital: 'Ljubljana' },\n        { id: 26, country: 'Spain', year: 1986, iso: 'ES', population: 46704314, capital: 'Madrid' },\n        { id: 27, country: 'Sweden', year: 1995, iso: 'SE', population: 10004962, capital: 'Stockholm' },\n        { id: 28, country: 'United Kingdom', year: 1973, iso: 'GB', population: 64100000, capital: 'London' },\n    ];\n\n    @ViewChild('euiDataTable') euiDataTable: EuiTableComponent;\n    @ViewChild('paginator') paginator: EuiPaginatorComponent;\n\n    public onPageChange(e: EuiPaginationEvent): void {\n        console.log(e);\n    }\n\n    public disablePagination(): void {\n        this.hasPagination = false;\n    }\n\n    public enablePagination(): void {\n        this.hasPagination = true;\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "PlaygroundComponent",
            "id": "component-PlaygroundComponent-d0b8766a5213cd7fdb6bc5c0393846dd2a125b0d9e23b68ddd85ac430495888b797319aec749182b25cae7a2c76a30d5c179ee9aee39f119b352a64d60a83791",
            "file": "packages/components/eui-table/testing/playground.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "styleUrls": [],
            "styles": [],
            "template": "<div class=\"eui-table__sticky-container\" style=\"width: 100%; height: 600px\">\n    <table #euiDataTable euiTable isVirtualScroll hasStickyHeader hasStickyFooter hasStickyCols [data]=\"data\" [paginator]=\"paginator\">\n        <ng-template euiTemplate=\"header\">\n            <tr>\n                <th isStickyCol width=\"100\">Id</th>\n                <th isStickyCol width=\"300\">Country</th>\n                <th>Year</th>\n                <th width=\"100\">ISO</th>\n                <th width=\"200\">Population</th>\n                <th width=\"200\">Capital</th>\n            </tr>\n        </ng-template>\n        <ng-template let-row euiTemplate=\"body\">\n            <tr>\n                <td isStickyCol>{{ row.id }}</td>\n                <td isStickyCol nowrap><span class=\"eui-flag-icon eui-flag-icon-{{ row.iso.toLowerCase() }} eui-u-mr-s\"></span>{{ row.country }}</td>\n                <td>{{ row.year }}</td>\n                <td>{{ row.iso }}</td>\n                <td>{{ row.population | number }}</td>\n                <td>{{ row.capital }}</td>\n            </tr>\n        </ng-template>\n        <ng-template let-row euiTemplate=\"footer\">\n            <tr>\n                <td isStickyCol></td>\n                <td isStickyCol></td>\n                <td colspan=\"6\">Footer</td>\n            </tr>\n        </ng-template>\n    </table>\n</div>\n\n<eui-paginator #paginator [pageSizeOptions]=\"[5, 10, 25, 50]\" [pageSize]=\"10\" (pageChange)=\"onPageChange($event)\" />\n",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "data",
                    "defaultValue": "[\n        { id: 1, country: 'Austria', year: 1995, iso: 'AT', population: 8504850, capital: 'Vienna' },\n        { id: 2, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n        { id: 3, country: 'Bulgaria', year: 2007, iso: 'BG', population: 7364570, capital: 'Sofia' },\n        { id: 4, country: 'Croatia', year: 2013, iso: 'HR', population: 4284889, capital: 'Zagreb' },\n        { id: 5, country: 'Cyprus', year: 2004, iso: 'CY', population: 1117000, capital: 'Nicosia' },\n        { id: 6, country: 'Czechia', year: 2004, iso: 'CZ', population: 10513209, capital: 'Prague' },\n        { id: 7, country: 'Denmark', year: 1973, iso: 'DK', population: 5655750, capital: 'Copenhagen' },\n        { id: 8, country: 'Estonia', year: 2004, iso: 'EE', population: 1315819, capital: 'Tallinn' },\n        { id: 9, country: 'Finland', year: 1995, iso: 'FI', population: 5470820, capital: 'Helsinki' },\n        { id: 10, country: 'France', year: 1958, iso: 'FR', population: 67210000, capital: 'Paris' },\n        { id: 11, country: 'Germany', year: 1958, iso: 'DE', population: 80716000, capital: 'Berlin' },\n        { id: 12, country: 'Greece', year: 1981, iso: 'GR', population: 10816286, capital: 'Athens' },\n        { id: 13, country: 'Hungary', year: 2004, iso: 'HU', population: 9877365, capital: 'Budapest' },\n        { id: 14, country: 'Ireland', year: 1973, iso: 'IE', population: 4609600, capital: 'Dublin' },\n        { id: 15, country: 'Italy', year: 1958, iso: 'IT', population: 60782668, capital: 'Rome' },\n        { id: 16, country: 'Latvia', year: 2004, iso: 'LV', population: 1990300, capital: 'Riga' },\n        { id: 17, country: 'Lithuania', year: 2004, iso: 'LT', population: 2944459, capital: 'Vilnius' },\n        { id: 18, country: 'Luxembourg', year: 1958, iso: 'LU', population: 549680, capital: 'Luxembourg' },\n        { id: 19, country: 'Malta', year: 2004, iso: 'MT', population: 446547, capital: 'Valletta' },\n        { id: 20, country: 'Netherlands', year: 1958, iso: 'NL', population: 16856620, capital: 'Amsterdam' },\n        { id: 21, country: 'Poland', year: 2004, iso: 'PL', population: 38483957, capital: 'Warsaw' },\n        { id: 22, country: 'Portugal', year: 1986, iso: 'PT', population: 10427301, capital: 'Lisbon' },\n        { id: 23, country: 'Romania', year: 2007, iso: 'RO', population: 19942642, capital: 'Bucharest' },\n        { id: 24, country: 'Slovakia', year: 2004, iso: 'SK', population: 5415949, capital: 'Bratislava' },\n        { id: 25, country: 'Slovenia', year: 2004, iso: 'SI', population: 2061085, capital: 'Ljubljana' },\n        { id: 26, country: 'Spain', year: 1986, iso: 'ES', population: 46704314, capital: 'Madrid' },\n        { id: 27, country: 'Sweden', year: 1995, iso: 'SE', population: 10004962, capital: 'Stockholm' },\n        { id: 28, country: 'United Kingdom', year: 1973, iso: 'GB', population: 64100000, capital: 'London' },\n    ]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 57
                },
                {
                    "name": "euiDataTable",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiTableComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 88,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'euiDataTable'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "onPageChange",
                    "args": [
                        {
                            "name": "e",
                            "type": "EuiPaginationEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 90,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        125
                    ],
                    "jsdoctags": [
                        {
                            "name": "e",
                            "type": "EuiPaginationEvent",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EuiTableComponent",
                    "type": "component"
                },
                {
                    "name": "EuiTemplateDirective",
                    "type": "directive"
                },
                {
                    "name": "DecimalPipe",
                    "type": "pipe"
                },
                {
                    "name": "EuiPaginatorComponent",
                    "type": "component"
                },
                {
                    "name": "EuiTableStickyColDirective",
                    "type": "directive"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { Component, ViewChild } from '@angular/core';\nimport { DecimalPipe } from '@angular/common';\n\nimport { EuiPaginationEvent } from '@eui/components/eui-paginator';\nimport { EuiPaginatorComponent } from '@eui/components/eui-paginator';\nimport { EuiTemplateDirective } from '@eui/components/directives';\n\nimport { EuiTableComponent } from '../eui-table.component';\nimport { EuiTableStickyColDirective } from '../directives/eui-table-sticky-col.directive';\n\n@Component({\n    template: `\n    <div class=\"eui-table__sticky-container\" style=\"width: 100%; height: 600px\">\n        <table #euiDataTable euiTable isVirtualScroll hasStickyHeader hasStickyFooter hasStickyCols [data]=\"data\" [paginator]=\"paginator\">\n            <ng-template euiTemplate=\"header\">\n                <tr>\n                    <th isStickyCol width=\"100\">Id</th>\n                    <th isStickyCol width=\"300\">Country</th>\n                    <th>Year</th>\n                    <th width=\"100\">ISO</th>\n                    <th width=\"200\">Population</th>\n                    <th width=\"200\">Capital</th>\n                </tr>\n            </ng-template>\n            <ng-template let-row euiTemplate=\"body\">\n                <tr>\n                    <td isStickyCol>{{ row.id }}</td>\n                    <td isStickyCol nowrap><span class=\"eui-flag-icon eui-flag-icon-{{ row.iso.toLowerCase() }} eui-u-mr-s\"></span>{{ row.country }}</td>\n                    <td>{{ row.year }}</td>\n                    <td>{{ row.iso }}</td>\n                    <td>{{ row.population | number }}</td>\n                    <td>{{ row.capital }}</td>\n                </tr>\n            </ng-template>\n            <ng-template let-row euiTemplate=\"footer\">\n                <tr>\n                    <td isStickyCol></td>\n                    <td isStickyCol></td>\n                    <td colspan=\"6\">Footer</td>\n                </tr>\n            </ng-template>\n        </table>\n    </div>\n\n    <eui-paginator #paginator [pageSizeOptions]=\"[5, 10, 25, 50]\" [pageSize]=\"10\" (pageChange)=\"onPageChange($event)\" />\n    `,\n    imports: [\n        EuiTableComponent,\n        EuiTemplateDirective,\n        DecimalPipe,\n        EuiPaginatorComponent,\n        EuiTableStickyColDirective,\n    ],\n})\nexport class PlaygroundComponent {\n    data = [\n        { id: 1, country: 'Austria', year: 1995, iso: 'AT', population: 8504850, capital: 'Vienna' },\n        { id: 2, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n        { id: 3, country: 'Bulgaria', year: 2007, iso: 'BG', population: 7364570, capital: 'Sofia' },\n        { id: 4, country: 'Croatia', year: 2013, iso: 'HR', population: 4284889, capital: 'Zagreb' },\n        { id: 5, country: 'Cyprus', year: 2004, iso: 'CY', population: 1117000, capital: 'Nicosia' },\n        { id: 6, country: 'Czechia', year: 2004, iso: 'CZ', population: 10513209, capital: 'Prague' },\n        { id: 7, country: 'Denmark', year: 1973, iso: 'DK', population: 5655750, capital: 'Copenhagen' },\n        { id: 8, country: 'Estonia', year: 2004, iso: 'EE', population: 1315819, capital: 'Tallinn' },\n        { id: 9, country: 'Finland', year: 1995, iso: 'FI', population: 5470820, capital: 'Helsinki' },\n        { id: 10, country: 'France', year: 1958, iso: 'FR', population: 67210000, capital: 'Paris' },\n        { id: 11, country: 'Germany', year: 1958, iso: 'DE', population: 80716000, capital: 'Berlin' },\n        { id: 12, country: 'Greece', year: 1981, iso: 'GR', population: 10816286, capital: 'Athens' },\n        { id: 13, country: 'Hungary', year: 2004, iso: 'HU', population: 9877365, capital: 'Budapest' },\n        { id: 14, country: 'Ireland', year: 1973, iso: 'IE', population: 4609600, capital: 'Dublin' },\n        { id: 15, country: 'Italy', year: 1958, iso: 'IT', population: 60782668, capital: 'Rome' },\n        { id: 16, country: 'Latvia', year: 2004, iso: 'LV', population: 1990300, capital: 'Riga' },\n        { id: 17, country: 'Lithuania', year: 2004, iso: 'LT', population: 2944459, capital: 'Vilnius' },\n        { id: 18, country: 'Luxembourg', year: 1958, iso: 'LU', population: 549680, capital: 'Luxembourg' },\n        { id: 19, country: 'Malta', year: 2004, iso: 'MT', population: 446547, capital: 'Valletta' },\n        { id: 20, country: 'Netherlands', year: 1958, iso: 'NL', population: 16856620, capital: 'Amsterdam' },\n        { id: 21, country: 'Poland', year: 2004, iso: 'PL', population: 38483957, capital: 'Warsaw' },\n        { id: 22, country: 'Portugal', year: 1986, iso: 'PT', population: 10427301, capital: 'Lisbon' },\n        { id: 23, country: 'Romania', year: 2007, iso: 'RO', population: 19942642, capital: 'Bucharest' },\n        { id: 24, country: 'Slovakia', year: 2004, iso: 'SK', population: 5415949, capital: 'Bratislava' },\n        { id: 25, country: 'Slovenia', year: 2004, iso: 'SI', population: 2061085, capital: 'Ljubljana' },\n        { id: 26, country: 'Spain', year: 1986, iso: 'ES', population: 46704314, capital: 'Madrid' },\n        { id: 27, country: 'Sweden', year: 1995, iso: 'SE', population: 10004962, capital: 'Stockholm' },\n        { id: 28, country: 'United Kingdom', year: 1973, iso: 'GB', population: 64100000, capital: 'London' },\n    ];\n\n    @ViewChild('euiDataTable') euiDataTable: EuiTableComponent;\n\n    public onPageChange(e: EuiPaginationEvent): void {\n        console.log(e);\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": []
        },
        {
            "name": "QuillEditorComponent",
            "id": "component-QuillEditorComponent-7b90ce49ab23b45741b18fd255660a40d9769c37f4e2f385674174aedf08351c185304ddb3e58aaadd5643af789aecf98a989921452c89152b024d29df613198",
            "file": "packages/components/externals/quill/quill-editor.component.ts",
            "encapsulation": [
                "ViewEncapsulation.None"
            ],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [
                {
                    "name": ")"
                },
                {
                    "name": ")"
                }
            ],
            "selector": "quill-editor",
            "styleUrls": [],
            "styles": [],
            "template": "<ng-content select=\"[quill-editor-toolbar]\" />",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [
                {
                    "name": "bounds",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 92,
                    "type": "HTMLElement | string",
                    "decorators": []
                },
                {
                    "name": "customOptions",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 93,
                    "type": "CustomOption[]",
                    "decorators": []
                },
                {
                    "name": "customToolbarPosition",
                    "defaultValue": "'top'",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 89,
                    "type": "\"top\" | \"bottom\"",
                    "decorators": []
                },
                {
                    "name": "debug",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 84,
                    "type": "\"warn\" | \"log\" | \"error\" | unknown",
                    "decorators": []
                },
                {
                    "name": "format",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 81,
                    "type": "\"object\" | \"html\" | \"text\" | \"json\"",
                    "decorators": []
                },
                {
                    "name": "formats",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 88,
                    "type": "string[] | null",
                    "decorators": []
                },
                {
                    "name": "hasImageFeature",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 95,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "id",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 80,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "maxLength",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 86,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "minLength",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 87,
                    "type": "number",
                    "decorators": []
                },
                {
                    "name": "modules",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 83,
                    "type": "QuillModules",
                    "decorators": []
                },
                {
                    "name": "placeholder",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 85,
                    "type": "string",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "preserveWhitespace",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 118,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "readOnly",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 114,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "required",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 115,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "sanitize",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 116,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "scrollingContainer",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 91,
                    "type": "HTMLElement | string | null",
                    "decorators": []
                },
                {
                    "required": false,
                    "name": "strict",
                    "defaultValue": "true",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 117,
                    "type": "boolean",
                    "decorators": []
                },
                {
                    "name": "styles",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 90,
                    "type": "any",
                    "decorators": []
                },
                {
                    "name": "theme",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 82,
                    "type": "string",
                    "decorators": []
                },
                {
                    "name": "trackChanges",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 94,
                    "type": "\"user\" | \"all\"",
                    "decorators": []
                },
                {
                    "name": "valueGetter",
                    "defaultValue": "(quillEditor: any, editorElement: HTMLElement): string | any => {\n        let html: string | null = editorElement.querySelector('.ql-editor')?.innerHTML;\n        if (html === '<p><br></p>' || html === '<div><br><div>') {\n            html = null;\n        }\n        let modelValue = html;\n        const format = getFormat(this.format, this.config.format);\n\n        if (format === 'text') {\n            modelValue = quillEditor.getText();\n        } else if (format === 'object') {\n            modelValue = quillEditor.getContents();\n        } else if (format === 'json') {\n            try {\n                modelValue = JSON.stringify(quillEditor.getContents());\n            } catch (e) {\n                modelValue = quillEditor.getText();\n            }\n        }\n\n        return modelValue;\n    }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 136,
                    "type": "(quillEditor: any, editorElement: HTMLElement) => any",
                    "decorators": []
                },
                {
                    "name": "valueSetter",
                    "defaultValue": "(quillEditor: any, value: any): any => {\n        const format = getFormat(this.format, this.config.format);\n        if (format === 'html') {\n            if (this.sanitize) {\n                value = this.domSanitizer.sanitize(SecurityContext.HTML, value);\n            }\n            return quillEditor.clipboard.convert({ html: value });\n        } else if (format === 'json') {\n            try {\n                return JSON.parse(value);\n            } catch (e) {\n                return [{ insert: value }];\n            }\n        }\n\n        return value;\n    }",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 160,
                    "type": "(quillEditor: any, value: any) => any",
                    "decorators": []
                }
            ],
            "outputsClass": [
                {
                    "name": "onBlur",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 109,
                    "type": "EventEmitter<literal type>"
                },
                {
                    "name": "onContentChanged",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 100,
                    "type": "EventEmitter<ContentChange>"
                },
                {
                    "name": "onEditorCreated",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 98,
                    "type": "EventEmitter<any>"
                },
                {
                    "name": "onFocus",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 104,
                    "type": "EventEmitter<literal type>"
                },
                {
                    "name": "onSelectionChanged",
                    "defaultValue": "new EventEmitter()",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "line": 102,
                    "type": "EventEmitter<SelectionChange>"
                }
            ],
            "propertiesClass": [
                {
                    "name": "content",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 77
                },
                {
                    "name": "editorElem",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "HTMLElement | undefined",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 76
                },
                {
                    "name": "loaded",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 78,
                    "modifierKind": [
                        124
                    ]
                },
                {
                    "name": "quillEditor",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 75
                },
                {
                    "name": "selectionChangeHandler",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 335
                },
                {
                    "name": "textChangeHandler",
                    "defaultValue": "() => {...}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 362
                }
            ],
            "methodsClass": [
                {
                    "name": "ngAfterViewInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 178,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnChanges",
                    "args": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 402,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "changes",
                            "type": "SimpleChanges",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 395,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onModelChange",
                    "args": [
                        {
                            "name": "_modelValue",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 131,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "_modelValue",
                            "type": "any",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "onModelTouched",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 133,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "registerOnChange",
                    "args": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "modelValue",
                                    "type": "any",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ]
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 470,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [
                                {
                                    "name": "modelValue",
                                    "type": "any",
                                    "optional": false,
                                    "dotDotDotToken": false,
                                    "deprecated": false,
                                    "deprecationMessage": ""
                                }
                            ],
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "registerOnTouched",
                    "args": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": []
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 474,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "fn",
                            "type": "function",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "function": [],
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "setDisabledState",
                    "args": [
                        {
                            "name": "isDisabled",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "this.disabled"
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 454,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "isDisabled",
                            "type": "boolean",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "defaultValue": "this.disabled",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "validate",
                    "args": [],
                    "optional": false,
                    "returnType": "any",
                    "typeParameters": [],
                    "line": 478,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "writeValue",
                    "args": [
                        {
                            "name": "currentValue",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 437,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "currentValue",
                            "type": "any",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { isPlatformServer } from '@angular/common';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport {\n    QUILL_CONFIG_TOKEN,\n    QuillConfig,\n    QuillFormat,\n    QuillModules,\n} from './quill-editor.interfaces';\n\nimport {\n    AfterViewInit,\n    booleanAttribute,\n    Component,\n    ElementRef,\n    EventEmitter,\n    forwardRef,\n    Input,\n    NgZone,\n    OnChanges,\n    OnDestroy,\n    Output,\n    PLATFORM_ID,\n    Renderer2,\n    SecurityContext,\n    SimpleChanges,\n    ViewEncapsulation,\n    inject,\n} from '@angular/core';\n\nimport { ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\n\nimport { DOCUMENT } from '@angular/common';\nimport { defaultModules } from './quill-defaults';\nimport { ContentChange, SelectionChange, Range } from './models/editor.model';\nimport { LoaderService } from './loader.service';\n\n// Because quill uses `document` directly, we cannot `import` during SSR\n// instead, we load dynamically via `require('quill')` in `ngAfterViewInit()`\n// eslint-disable-next-line no-var\ndeclare var require: any;\n// eslint-disable-next-line no-var\ndeclare var Quill: any;\n// let Quill: any = window['Quill'];\n\nexport interface CustomOption {\n    import: string;\n    whitelist: any[];\n}\n\nconst getFormat = (format?: QuillFormat, configFormat?: QuillFormat): QuillFormat => {\n    const passedFormat = format || configFormat;\n    return passedFormat || 'html';\n};\n\n@Component({\n    encapsulation: ViewEncapsulation.None,\n    providers: [\n        {\n            multi: true,\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => QuillEditorComponent),\n        },\n        {\n            multi: true,\n            provide: NG_VALIDATORS,\n            useExisting: forwardRef(() => QuillEditorComponent),\n        },\n    ],\n    // eslint-disable-next-line @angular-eslint/component-selector\n    selector: 'quill-editor',\n    template: `<ng-content select=\"[quill-editor-toolbar]\" />`,\n})\nexport class QuillEditorComponent implements AfterViewInit, ControlValueAccessor, OnChanges, OnDestroy, Validator {\n    quillEditor: any;\n    editorElem: HTMLElement | undefined;\n    content: any;\n    protected loaded = false;\n\n    @Input() id: string;\n    @Input() format?: 'object' | 'html' | 'text' | 'json';\n    @Input() theme?: string;\n    @Input() modules?: QuillModules;\n    @Input() debug?: 'warn' | 'log' | 'error' | false;\n    @Input() placeholder?: string;\n    @Input() maxLength?: number;\n    @Input() minLength?: number;\n    @Input() formats?: string[] | null;\n    @Input() customToolbarPosition: 'top' | 'bottom' = 'top';\n    @Input() styles: any = null;\n    @Input() scrollingContainer?: HTMLElement | string | null;\n    @Input() bounds?: HTMLElement | string;\n    @Input() customOptions: CustomOption[] = [];\n    @Input() trackChanges?: 'user' | 'all';\n    @Input() hasImageFeature: boolean;\n\n    // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n    @Output() onEditorCreated: EventEmitter<any> = new EventEmitter();\n    // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n    @Output() onContentChanged: EventEmitter<ContentChange> = new EventEmitter();\n    // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n    @Output() onSelectionChanged: EventEmitter<SelectionChange> = new EventEmitter();\n    // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n    @Output() onFocus: EventEmitter<{\n        editor: any;\n        source: string;\n    }> = new EventEmitter();\n    // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n    @Output() onBlur: EventEmitter<{\n        editor: any;\n        source: string;\n    }> = new EventEmitter();\n\n    @Input({ transform: booleanAttribute }) readOnly?: boolean;\n    @Input({ transform: booleanAttribute }) required = false;\n    @Input({ transform: booleanAttribute }) sanitize = false;\n    @Input({ transform: booleanAttribute }) strict = true;\n    @Input({ transform: booleanAttribute }) preserveWhitespace = false;\n\n    private disabled = false;\n    private elementRef = inject(ElementRef);\n    private domSanitizer = inject(DomSanitizer);\n    private doc = inject(DOCUMENT);\n    private platformId = inject(PLATFORM_ID);\n    private renderer = inject(Renderer2);\n    private zone = inject(NgZone);\n    private config = inject<QuillConfig>(QUILL_CONFIG_TOKEN);\n    private loader = inject(LoaderService);\n\n    // eslint-disable-next-line no-empty,no-empty-function,@typescript-eslint/no-empty-function, @typescript-eslint/explicit-function-return-type\n    onModelChange(_modelValue?: any) {}\n    // eslint-disable-next-line no-empty, no-empty-function, @typescript-eslint/no-empty-function, @typescript-eslint/explicit-function-return-type\n    onModelTouched() {}\n\n    @Input()\n    valueGetter = (quillEditor: any, editorElement: HTMLElement): string | any => {\n        let html: string | null = editorElement.querySelector('.ql-editor')?.innerHTML;\n        if (html === '<p><br></p>' || html === '<div><br><div>') {\n            html = null;\n        }\n        let modelValue = html;\n        const format = getFormat(this.format, this.config.format);\n\n        if (format === 'text') {\n            modelValue = quillEditor.getText();\n        } else if (format === 'object') {\n            modelValue = quillEditor.getContents();\n        } else if (format === 'json') {\n            try {\n                modelValue = JSON.stringify(quillEditor.getContents());\n            } catch (e) {\n                modelValue = quillEditor.getText();\n            }\n        }\n\n        return modelValue;\n    };\n\n    @Input()\n    valueSetter = (quillEditor: any, value: any): any => {\n        const format = getFormat(this.format, this.config.format);\n        if (format === 'html') {\n            if (this.sanitize) {\n                value = this.domSanitizer.sanitize(SecurityContext.HTML, value);\n            }\n            return quillEditor.clipboard.convert({ html: value });\n        } else if (format === 'json') {\n            try {\n                return JSON.parse(value);\n            } catch (e) {\n                return [{ insert: value }];\n            }\n        }\n\n        return value;\n    };\n\n    ngAfterViewInit(): void {\n        // const loader = new LoaderService();\n        this.loader.load().subscribe({\n            complete: () => {\n                // setup keyboard bindings from BetterTable if present\n                const QuillBetterTable = window['quillBetterTable'];\n                if(QuillBetterTable) {\n                    // check if already registered\n                    if(!window['Quill'].imports.hasOwnProperty('modules/better-table')) {\n                        window['Quill'].register({ 'modules/better-table': QuillBetterTable });\n                    }\n                    if(!this.config.modules.keyboard) {\n                        this.config.modules.keyboard = {\n                            bindings: QuillBetterTable?.keyboardBindings,\n                        };\n                    }\n                }\n\n                if (isPlatformServer(this.platformId)) {\n                    return;\n                }\n                if (!Quill) {\n                    // Quill = require('quill')\n                    Quill = window['Quill'];\n                }\n\n                // The formats feature has changed since prod version 2.0.0.rc-3 and is now reflecting the allowed formats (white list)\n                // We no more need this function. See: https://github.com/slab/quill/releases/tag/v2.0.0-rc.3\n                // this.overrideScrollBehavior(Quill);\n\n                this.loaded = true;\n\n                this.elementRef.nativeElement.insertAdjacentHTML(\n                    this.customToolbarPosition === 'top' ? 'beforeend' : 'afterbegin',\n                    this.preserveWhitespace ? '<pre quill-editor-element></pre>' : '<div quill-editor-element></div>'\n                );\n\n                this.editorElem = this.elementRef.nativeElement.querySelector('[quill-editor-element]');\n\n                const toolbarElem = this.elementRef.nativeElement.querySelector('[quill-editor-toolbar]');\n                let modules = this.modules || this.config.modules || defaultModules;\n                if (modules.toolbar === undefined) {\n                    modules.toolbar = defaultModules.toolbar;\n                }\n\n                let placeholder = this.placeholder !== undefined ? this.placeholder : this.config.placeholder;\n                if (placeholder === undefined) {\n                    placeholder = 'Insert text here ...';\n                }\n\n                if (toolbarElem) {\n                    // eslint-disable-next-line dot-notation,@typescript-eslint/dot-notation\n                    modules['toolbar'] = toolbarElem;\n                }\n\n                if (!this.hasImageFeature) {\n                    modules['uploader'] = { handler: () => false };\n                } else {\n                    modules['uploader'] = { mimetypes: ['image/png', 'image/jpeg'] };\n                }\n\n                if (this.styles) {\n                    Object.keys(this.styles).forEach((key: string) => {\n                        this.renderer.setStyle(this.editorElem, key, this.styles[key]);\n                    });\n                }\n\n                this.customOptions.forEach((customOption) => {\n                    const newCustomOption = Quill.import(customOption.import);\n                    newCustomOption.whitelist = customOption.whitelist;\n                    Quill.register(newCustomOption, true);\n                });\n\n                let bounds = this.bounds && this.bounds === 'self' ? this.editorElem : this.bounds;\n                if (!bounds) {\n                    bounds = this.config.bounds ? this.config.bounds : this.doc.body;\n                }\n\n                let debug = this.debug;\n                if (!debug && debug !== false && this.config.debug) {\n                    debug = this.config.debug;\n                }\n\n                let readOnly = this.readOnly;\n                if (!readOnly && this.readOnly !== false) {\n                    readOnly = this.config.readOnly !== undefined ? this.config.readOnly : false;\n                }\n\n                let scrollingContainer = this.scrollingContainer;\n                if (!scrollingContainer && this.scrollingContainer !== null) {\n                    scrollingContainer =\n                        this.config.scrollingContainer === null || this.config.scrollingContainer ? this.config.scrollingContainer : null;\n                }\n\n                let formats = this.formats;\n                if (!formats && formats === undefined) {\n                    formats = this.config.formats || this.config.formats === null ? this.config.formats : undefined;\n                }\n                Quill.formats = { ...Quill.formats, [this.id]: formats };\n\n                if (formats && formats.indexOf('table') !== -1) {\n                    modules = {\n                        ...modules,\n                        'better-table': false,\n                    }\n                }\n\n                this.quillEditor = new Quill(this.editorElem, {\n                    bounds,\n                    debug,\n                    formats,\n                    modules,\n                    placeholder,\n                    readOnly,\n                    scrollingContainer,\n                    strict: this.strict,\n                    theme: this.theme || (this.config.theme ? this.config.theme : 'snow'),\n                });\n                this.quillEditor.container.firstChild.id = this.id;\n\n                if (this.content) {\n                    const format = getFormat(this.format, this.config.format);\n                    if (format === 'object') {\n                        this.quillEditor.setContents(this.content, 'silent');\n                    } else if (format === 'text') {\n                        this.quillEditor.setText(this.content, 'silent');\n                    } else if (format === 'json') {\n                        try {\n                            this.quillEditor.setContents(JSON.parse(this.content), 'silent');\n                        } catch (e) {\n                            this.quillEditor.setText(this.content, 'silent');\n                        }\n                    } else {\n                        if (this.sanitize) {\n                            this.content = this.domSanitizer.sanitize(SecurityContext.HTML, this.content);\n                        }\n                        const contents = this.quillEditor.clipboard.convert(this.content);\n                        this.quillEditor.setContents(contents, 'silent');\n                    }\n\n                    this.quillEditor.history.clear();\n                }\n\n                // initialize disabled status based on this.disabled as default value\n                this.setDisabledState();\n\n                this.onEditorCreated.emit(this.quillEditor);\n\n                // mark model as touched if editor lost focus\n                this.quillEditor.on('selection-change', this.selectionChangeHandler);\n\n                // update model if text changes\n                this.quillEditor.on('text-change', this.textChangeHandler);\n            }\n        });\n    }\n\n    selectionChangeHandler = (range: Range | null, oldRange: Range | null, source: string): void => {\n        this.zone.run(() => {\n            if (range === null) {\n                this.onBlur.emit({\n                    editor: this.quillEditor,\n                    source,\n                });\n            } else if (oldRange === null) {\n                this.onFocus.emit({\n                    editor: this.quillEditor,\n                    source,\n                });\n            }\n\n            this.onSelectionChanged.emit({\n                editor: this.quillEditor,\n                oldRange,\n                range,\n                source,\n            });\n\n            if (!range && this.onModelTouched) {\n                this.onModelTouched();\n            }\n        });\n    };\n\n    textChangeHandler = (delta: any, oldDelta: any, source: string): void => {\n        // only emit changes emitted by user interactions\n\n        const text = this.quillEditor.getText();\n        const content = this.quillEditor.getContents();\n\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n        let html: string | null = this.editorElem!.querySelector('.ql-editor')!.innerHTML;\n        if (html === '<p><br></p>' || html === '<div><br><div>') {\n            html = null;\n        }\n\n        this.zone.run(() => {\n            const trackChanges = this.trackChanges || this.config.trackChanges;\n            if ((source === Quill.sources.USER || (trackChanges && trackChanges === 'all')) && this.onModelChange) {\n                this.onModelChange(\n                    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n                    this.valueGetter(this.quillEditor, this.editorElem!)\n                );\n            }\n\n            this.onContentChanged.emit({\n                content,\n                delta,\n                editor: this.quillEditor,\n                html,\n                oldDelta,\n                source,\n                text,\n            });\n        });\n    };\n\n    ngOnDestroy(): void {\n        if (this.quillEditor) {\n            this.quillEditor.off('selection-change', this.selectionChangeHandler);\n            this.quillEditor.off('text-change', this.textChangeHandler);\n        }\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (!this.quillEditor) {\n            return;\n        }\n        if (changes.id) {\n            this.quillEditor.container.firstChild.id = changes.id.currentValue;\n            Quill.formats = { ...Quill.formats, [this.id]: this.formats };\n        }\n        if (changes['readOnly']) {\n            this.quillEditor.enable(!changes['readOnly'].currentValue);\n        }\n        if (changes['placeholder']) {\n            this.quillEditor.root.dataset.placeholder = changes['placeholder'].currentValue;\n        }\n        if (changes['styles']) {\n            const currentStyling = changes['styles'].currentValue;\n            const previousStyling = changes['styles'].previousValue;\n\n            if (previousStyling) {\n                Object.keys(previousStyling).forEach((key: string) => {\n                    this.renderer.removeStyle(this.editorElem, key);\n                });\n            }\n            if (currentStyling) {\n                Object.keys(currentStyling).forEach((key: string) => {\n                    this.renderer.setStyle(this.editorElem, key, this.styles[key]);\n                });\n            }\n        }\n        if (changes['formats']) {\n            const currentFormats = changes['formats'].currentValue;\n            Quill.formats = { ...Quill.formats, [this.id]: currentFormats };\n        }\n    }\n\n    writeValue(currentValue: any): void {\n        this.content = currentValue;\n        const format = getFormat(this.format, this.config.format);\n\n        if (this.quillEditor) {\n            if (currentValue) {\n                if (format === 'text') {\n                    this.quillEditor.setText(currentValue);\n                } else {\n                    this.quillEditor.setContents(this.valueSetter(this.quillEditor, this.content));\n                }\n                return;\n            }\n            this.quillEditor.setText('');\n        }\n    }\n\n    setDisabledState(isDisabled: boolean = this.disabled): void {\n        // store initial value to set appropriate disabled status after ViewInit\n        this.disabled = isDisabled;\n        if (this.quillEditor) {\n            if (isDisabled) {\n                this.quillEditor.disable();\n                this.renderer.setAttribute(this.elementRef.nativeElement, 'disabled', 'disabled');\n            } else {\n                if (!this.readOnly) {\n                    this.quillEditor.enable();\n                }\n                this.renderer.removeAttribute(this.elementRef.nativeElement, 'disabled');\n            }\n        }\n    }\n\n    registerOnChange(fn: (modelValue: any) => void): void {\n        this.onModelChange = fn;\n    }\n\n    registerOnTouched(fn: () => void): void {\n        this.onModelTouched = fn;\n    }\n\n    validate(): any {\n        if (!this.quillEditor) {\n            return null;\n        }\n\n        const err: {\n            minLengthError?: {\n                given: number;\n                minLength: number;\n            };\n            maxLengthError?: {\n                given: number;\n                maxLength: number;\n            };\n            requiredError?: { empty: boolean };\n        } = {};\n        let valid = true;\n\n        const textLength = this.quillEditor.getText().trim().length;\n\n        if (this.minLength && textLength && textLength < this.minLength) {\n            err.minLengthError = {\n                given: textLength,\n                minLength: this.minLength,\n            };\n\n            valid = false;\n        }\n\n        if (this.maxLength && textLength > this.maxLength) {\n            err.maxLengthError = {\n                given: textLength,\n                maxLength: this.maxLength,\n            };\n\n            valid = false;\n        }\n\n        if (this.required && !textLength) {\n            err.requiredError = {\n                empty: true,\n            };\n\n            valid = false;\n        }\n\n        return valid ? null : err;\n    }\n\n    /**\n     * Override the default Quill scroll behavior to take into account the formats array and skip non-found ones. Then\n     * registers the plugin to the Quill editor.\n     *\n     * @param QuillInstance The Quill class (not the instance)\n     * @private\n     */\n    private overrideScrollBehavior(QuillInstance: any): void {\n        // the Built-in Scroll Class is not exported, so we need to import it\n        const BuiltinScroll = QuillInstance.import('blots/scroll');\n        /**\n         * Override the default Quill scroll behavior to take into account the formats array and skip non-found ones.\n         */\n        class Scroll extends BuiltinScroll {\n            formatAt(index: number, length: number, format: string, value: any): void {\n                const elementId = this.domNode.id;\n                const instanceFormats = QuillInstance.formats[elementId];\n                // checks the formats array to see if the format is blacklisted\n                if (instanceFormats && instanceFormats.find((f) => f === format)) {\n                    return;\n                }\n                // continue with default behavior\n                super.formatAt(index, length, format, value);\n            }\n        }\n        /** register the Scroll override */\n        QuillInstance.register('blots/scroll', Scroll, true);\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "AfterViewInit",
                "ControlValueAccessor",
                "OnChanges",
                "OnDestroy",
                "Validator"
            ]
        },
        {
            "name": "TemplatePlaygroundComponent",
            "id": "component-TemplatePlaygroundComponent-adc0097964f185f2079637fe50fb71cc9bfa4e1abd1a0de21565f9554688ae342f997cbff2cc1ffb32d52a0d45c76482a9d8c59ad2d031250418b7e4304a527c",
            "file": "packages/components/dist/docs/template-playground/template-playground.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "selector": "template-playground-root",
            "styleUrls": [],
            "styles": [
                "\n    .template-playground {\n      display: flex;\n      flex-direction: column;\n      height: 100vh;\n      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n    }\n\n    .template-playground-header {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      padding: 1rem 2rem;\n      background: #f8f9fa;\n      border-bottom: 1px solid #dee2e6;\n    }\n\n    .template-playground-status {\n      display: flex;\n      align-items: center;\n      gap: 1rem;\n      font-size: 0.875rem;\n    }\n\n    .session-info {\n      color: #6c757d;\n      font-family: monospace;\n    }\n\n    .saving-indicator {\n      color: #ffc107;\n      font-weight: bold;\n    }\n\n    .last-saved {\n      color: #28a745;\n    }\n\n    .template-playground-actions {\n      display: flex;\n      gap: 0.5rem;\n    }\n\n    .config-panel {\n      background: #e9ecef;\n      padding: 1rem 2rem;\n      border-bottom: 1px solid #dee2e6;\n      transition: all 0.3s ease;\n      max-height: 200px;\n      overflow: hidden;\n    }\n\n    .config-panel.collapsed {\n      max-height: 0;\n      padding: 0 2rem;\n    }\n\n    .config-options {\n      display: grid;\n      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n      gap: 0.5rem;\n      margin-top: 0.5rem;\n    }\n\n    .config-options label {\n      display: flex;\n      align-items: center;\n      gap: 0.5rem;\n      font-size: 0.875rem;\n    }\n\n    .template-playground-body {\n      display: flex;\n      flex: 1;\n      overflow: hidden;\n    }\n\n    .template-playground-sidebar {\n      width: 250px;\n      background: #f8f9fa;\n      border-right: 1px solid #dee2e6;\n      overflow-y: auto;\n    }\n\n    .template-file-list {\n      padding: 1rem;\n    }\n\n    .template-file-list h3 {\n      margin: 0 0 0.5rem 0;\n      font-size: 0.875rem;\n      font-weight: 600;\n      color: #495057;\n      text-transform: uppercase;\n      letter-spacing: 0.5px;\n    }\n\n    .file-list {\n      list-style: none;\n      padding: 0;\n      margin: 0 0 1.5rem 0;\n    }\n\n    .file-list li {\n      display: flex;\n      align-items: center;\n      padding: 0.5rem;\n      cursor: pointer;\n      border-radius: 4px;\n      font-size: 0.875rem;\n      transition: background-color 0.15s ease;\n    }\n\n    .file-list li:hover {\n      background: #e9ecef;\n    }\n\n    .file-list li.active {\n      background: #007bff;\n      color: white;\n    }\n\n    .file-icon {\n      margin-right: 0.5rem;\n      opacity: 0.7;\n    }\n\n    .file-type {\n      margin-left: auto;\n      font-size: 0.75rem;\n      opacity: 0.7;\n      text-transform: uppercase;\n    }\n\n    .loading-templates {\n      text-align: center;\n      color: #6c757d;\n      font-style: italic;\n      padding: 2rem;\n    }\n\n    .template-playground-main {\n      flex: 1;\n      display: flex;\n      overflow: hidden;\n    }\n\n    .template-playground-editor {\n      width: 50%;\n      display: flex;\n      flex-direction: column;\n      border-right: 1px solid #dee2e6;\n    }\n\n    .editor-header {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      padding: 0.75rem 1rem;\n      background: #f8f9fa;\n      border-bottom: 1px solid #dee2e6;\n    }\n\n    .editor-header h4 {\n      margin: 0;\n      font-size: 0.875rem;\n      font-weight: 600;\n    }\n\n    .file-type-badge {\n      background: #6c757d;\n      color: white;\n      padding: 0.125rem 0.5rem;\n      border-radius: 12px;\n      font-size: 0.75rem;\n      text-transform: uppercase;\n    }\n\n    .editor-container {\n      flex: 1;\n      position: relative;\n    }\n\n    .template-playground-preview {\n      width: 50%;\n      display: flex;\n      flex-direction: column;\n    }\n\n    .preview-header {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      padding: 0.75rem 1rem;\n      background: #f8f9fa;\n      border-bottom: 1px solid #dee2e6;\n    }\n\n    .preview-header h4 {\n      margin: 0;\n      font-size: 0.875rem;\n      font-weight: 600;\n    }\n\n    .preview-frame {\n      flex: 1;\n      border: none;\n      background: white;\n    }\n\n    .btn {\n      padding: 0.375rem 0.75rem;\n      border: 1px solid transparent;\n      border-radius: 0.25rem;\n      font-size: 0.875rem;\n      font-weight: 500;\n      text-decoration: none;\n      cursor: pointer;\n      transition: all 0.15s ease;\n    }\n\n    .btn-primary {\n      background: #007bff;\n      border-color: #007bff;\n      color: white;\n    }\n\n    .btn-primary:hover {\n      background: #0056b3;\n      border-color: #004085;\n    }\n\n    .btn-secondary {\n      background: #6c757d;\n      border-color: #6c757d;\n      color: white;\n    }\n\n    .btn-secondary:hover {\n      background: #545b62;\n      border-color: #4e555b;\n    }\n\n    .btn-success {\n      background: #28a745;\n      border-color: #28a745;\n      color: white;\n    }\n\n    .btn-success:hover {\n      background: #1e7e34;\n      border-color: #1c7430;\n    }\n\n    .btn-sm {\n      padding: 0.25rem 0.5rem;\n      font-size: 0.75rem;\n    }\n  "
            ],
            "template": "<div class=\"template-playground\">\n  <div class=\"template-playground-header\">\n    <h2>Template Playground</h2>\n    <div class=\"template-playground-status\">\n      <span *ngIf=\"sessionId\" class=\"session-info\">Session: {{sessionId.substring(0, 8)}}...</span>\n      <span *ngIf=\"saving\" class=\"saving-indicator\">Saving...</span>\n      <span *ngIf=\"lastSaved\" class=\"last-saved\">Last saved: {{lastSaved | date:'short'}}</span>\n    </div>\n    <div class=\"template-playground-actions\">\n      <button class=\"btn btn-secondary\" (click)=\"toggleConfigPanel()\">⚙️ Config</button>\n      <button class=\"btn btn-primary\" (click)=\"resetToDefault()\">Reset to Default</button>\n      <button class=\"btn btn-success\" (click)=\"exportZip()\">Download Templates</button>\n    </div>\n  </div>\n\n  <!-- Configuration Panel -->\n  <div class=\"config-panel\" [class.collapsed]=\"!showConfigPanel\">\n    <h3>CompoDoc Configuration</h3>\n    <div class=\"config-options\">\n      <label><input type=\"checkbox\" [(ngModel)]=\"config.hideGenerator\" (change)=\"updateConfig()\"> Hide Generator</label>\n      <label><input type=\"checkbox\" [(ngModel)]=\"config.hideDarkModeToggle\" (change)=\"updateConfig()\"> Hide Dark Mode Toggle</label>\n      <label><input type=\"checkbox\" [(ngModel)]=\"config.minimal\" (change)=\"updateConfig()\"> Minimal Mode</label>\n      <label><input type=\"checkbox\" [(ngModel)]=\"config.disableOverview\" (change)=\"updateConfig()\"> Disable Overview</label>\n      <label><input type=\"checkbox\" [(ngModel)]=\"config.disableFilePath\" (change)=\"updateConfig()\"> Disable File Path</label>\n      <label><input type=\"checkbox\" [(ngModel)]=\"config.disableSourceCode\" (change)=\"updateConfig()\"> Disable Source Code</label>\n      <label><input type=\"checkbox\" [(ngModel)]=\"config.disableGraph\" (change)=\"updateConfig()\"> Disable Graph</label>\n      <label><input type=\"checkbox\" [(ngModel)]=\"config.disableMainGraph\" (change)=\"updateConfig()\"> Disable Main Graph</label>\n      <label><input type=\"checkbox\" [(ngModel)]=\"config.disableRoutesGraph\" (change)=\"updateConfig()\"> Disable Routes Graph</label>\n      <label><input type=\"checkbox\" [(ngModel)]=\"config.disableCoverage\" (change)=\"updateConfig()\"> Disable Coverage</label>\n      <label><input type=\"checkbox\" [(ngModel)]=\"config.disableSearch\" (change)=\"updateConfig()\"> Disable Search</label>\n      <label><input type=\"checkbox\" [(ngModel)]=\"config.disableDependencies\" (change)=\"updateConfig()\"> Disable Dependencies</label>\n      <label><input type=\"checkbox\" [(ngModel)]=\"config.disablePrivate\" (change)=\"updateConfig()\"> Disable Private</label>\n      <label><input type=\"checkbox\" [(ngModel)]=\"config.disableProtected\" (change)=\"updateConfig()\"> Disable Protected</label>\n      <label><input type=\"checkbox\" [(ngModel)]=\"config.disableInternal\" (change)=\"updateConfig()\"> Disable Internal</label>\n      <label><input type=\"checkbox\" [(ngModel)]=\"config.disableLifeCycleHooks\" (change)=\"updateConfig()\"> Disable Lifecycle Hooks</label>\n      <label><input type=\"checkbox\" [(ngModel)]=\"config.disableConstructors\" (change)=\"updateConfig()\"> Disable Constructors</label>\n      <label><input type=\"checkbox\" [(ngModel)]=\"config.disableProperties\" (change)=\"updateConfig()\"> Disable Properties</label>\n      <label><input type=\"checkbox\" [(ngModel)]=\"config.disableDomTree\" (change)=\"updateConfig()\"> Disable DOM Tree</label>\n      <label><input type=\"checkbox\" [(ngModel)]=\"config.disableTemplateTab\" (change)=\"updateConfig()\"> Disable Template Tab</label>\n      <label><input type=\"checkbox\" [(ngModel)]=\"config.disableStyleTab\" (change)=\"updateConfig()\"> Disable Style Tab</label>\n    </div>\n  </div>\n\n  <div class=\"template-playground-body\">\n    <div class=\"template-playground-sidebar\">\n      <div class=\"template-file-list\">\n        <h3>Templates</h3>\n        <ul class=\"file-list\">\n          <li *ngFor=\"let template of templates; trackBy: trackByName\"\n              [class.active]=\"selectedFile === template\"\n              (click)=\"selectFile(template)\">\n            <i class=\"file-icon ion-document-text\"></i>\n            {{template.name}}\n            <span class=\"file-type\">{{template.type}}</span>\n          </li>\n        </ul>\n\n        <div *ngIf=\"templates.length === 0\" class=\"loading-templates\">\n          Loading templates...\n        </div>\n      </div>\n    </div>\n\n    <div class=\"template-playground-main\">\n      <div class=\"template-playground-editor\">\n        <div class=\"editor-header\" *ngIf=\"selectedFile\">\n          <h4>{{selectedFile.path}}</h4>\n          <span class=\"file-type-badge\">{{selectedFile.type}}</span>\n        </div>\n        <div #editorContainer class=\"editor-container\"></div>\n      </div>\n\n      <div class=\"template-playground-preview\">\n        <div class=\"preview-header\">\n          <h4>Live Preview</h4>\n          <button class=\"btn btn-sm btn-secondary\" (click)=\"refreshPreview()\">🔄 Refresh</button>\n        </div>\n        <iframe #previewFrame class=\"preview-frame\" [src]=\"previewUrl\"></iframe>\n      </div>\n    </div>\n  </div>\n</div>\n",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "config",
                    "defaultValue": "{}",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "CompoDocConfig",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 399
                },
                {
                    "name": "editorContainer",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 393,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'editorContainer', {static: true}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "lastSaved",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Date | null",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 402
                },
                {
                    "name": "previewFrame",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ElementRef",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 394,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'previewFrame', {static: true}"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                },
                {
                    "name": "saving",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 401
                },
                {
                    "name": "selectedFile",
                    "defaultValue": "null",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Template | null",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 398
                },
                {
                    "name": "sessionId",
                    "defaultValue": "''",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 396
                },
                {
                    "name": "showConfigPanel",
                    "defaultValue": "false",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "boolean",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 400
                },
                {
                    "name": "templates",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Template[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 397
                }
            ],
            "methodsClass": [
                {
                    "name": "exportZip",
                    "args": [],
                    "optional": false,
                    "returnType": "Promise<void>",
                    "typeParameters": [],
                    "line": 562,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        134
                    ]
                },
                {
                    "name": "initializeEditor",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 468,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnDestroy",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 429,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "any",
                    "typeParameters": [],
                    "line": 418,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        134
                    ]
                },
                {
                    "name": "refreshPreview",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 548,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "resetToDefault",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 554,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "selectFile",
                    "args": [
                        {
                            "name": "template",
                            "type": "Template",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "any",
                    "typeParameters": [],
                    "line": 477,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        134
                    ],
                    "jsdoctags": [
                        {
                            "name": "template",
                            "type": "Template",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "toggleConfigPanel",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 544,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "trackByName",
                    "args": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "item",
                            "type": "Template",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "string",
                    "typeParameters": [],
                    "line": 611,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "index",
                            "type": "number",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "item",
                            "type": "Template",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "updateConfig",
                    "args": [],
                    "optional": false,
                    "returnType": "Promise<void>",
                    "typeParameters": [],
                    "line": 528,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        134
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { Component, OnInit, ViewChild, ElementRef, OnDestroy } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { TemplateEditorService } from './template-editor.service';\nimport { ZipExportService } from './zip-export.service';\nimport { HbsRenderService } from './hbs-render.service';\n\ninterface Template {\n  name: string;\n  path: string;\n  type: 'template' | 'partial';\n}\n\ninterface Session {\n  sessionId: string;\n  success: boolean;\n  message: string;\n}\n\ninterface CompoDocConfig {\n  hideGenerator?: boolean;\n  disableSourceCode?: boolean;\n  disableGraph?: boolean;\n  disableCoverage?: boolean;\n  disablePrivate?: boolean;\n  disableProtected?: boolean;\n  disableInternal?: boolean;\n  disableLifeCycleHooks?: boolean;\n  disableConstructors?: boolean;\n  disableRoutesGraph?: boolean;\n  disableSearch?: boolean;\n  disableDependencies?: boolean;\n  disableProperties?: boolean;\n  disableDomTree?: boolean;\n  disableTemplateTab?: boolean;\n  disableStyleTab?: boolean;\n  disableMainGraph?: boolean;\n  disableFilePath?: boolean;\n  disableOverview?: boolean;\n  hideDarkModeToggle?: boolean;\n  minimal?: boolean;\n  customFavicon?: string;\n  includes?: string;\n  includesName?: string;\n}\n\n@Component({\n  selector: 'template-playground-root',\n  template: `\n    <div class=\"template-playground\">\n      <div class=\"template-playground-header\">\n        <h2>Template Playground</h2>\n        <div class=\"template-playground-status\">\n          <span *ngIf=\"sessionId\" class=\"session-info\">Session: {{sessionId.substring(0, 8)}}...</span>\n          <span *ngIf=\"saving\" class=\"saving-indicator\">Saving...</span>\n          <span *ngIf=\"lastSaved\" class=\"last-saved\">Last saved: {{lastSaved | date:'short'}}</span>\n        </div>\n        <div class=\"template-playground-actions\">\n          <button class=\"btn btn-secondary\" (click)=\"toggleConfigPanel()\">⚙️ Config</button>\n          <button class=\"btn btn-primary\" (click)=\"resetToDefault()\">Reset to Default</button>\n          <button class=\"btn btn-success\" (click)=\"exportZip()\">Download Templates</button>\n        </div>\n      </div>\n\n      <!-- Configuration Panel -->\n      <div class=\"config-panel\" [class.collapsed]=\"!showConfigPanel\">\n        <h3>CompoDoc Configuration</h3>\n        <div class=\"config-options\">\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.hideGenerator\" (change)=\"updateConfig()\"> Hide Generator</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.hideDarkModeToggle\" (change)=\"updateConfig()\"> Hide Dark Mode Toggle</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.minimal\" (change)=\"updateConfig()\"> Minimal Mode</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableOverview\" (change)=\"updateConfig()\"> Disable Overview</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableFilePath\" (change)=\"updateConfig()\"> Disable File Path</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableSourceCode\" (change)=\"updateConfig()\"> Disable Source Code</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableGraph\" (change)=\"updateConfig()\"> Disable Graph</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableMainGraph\" (change)=\"updateConfig()\"> Disable Main Graph</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableRoutesGraph\" (change)=\"updateConfig()\"> Disable Routes Graph</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableCoverage\" (change)=\"updateConfig()\"> Disable Coverage</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableSearch\" (change)=\"updateConfig()\"> Disable Search</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableDependencies\" (change)=\"updateConfig()\"> Disable Dependencies</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disablePrivate\" (change)=\"updateConfig()\"> Disable Private</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableProtected\" (change)=\"updateConfig()\"> Disable Protected</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableInternal\" (change)=\"updateConfig()\"> Disable Internal</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableLifeCycleHooks\" (change)=\"updateConfig()\"> Disable Lifecycle Hooks</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableConstructors\" (change)=\"updateConfig()\"> Disable Constructors</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableProperties\" (change)=\"updateConfig()\"> Disable Properties</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableDomTree\" (change)=\"updateConfig()\"> Disable DOM Tree</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableTemplateTab\" (change)=\"updateConfig()\"> Disable Template Tab</label>\n          <label><input type=\"checkbox\" [(ngModel)]=\"config.disableStyleTab\" (change)=\"updateConfig()\"> Disable Style Tab</label>\n        </div>\n      </div>\n\n      <div class=\"template-playground-body\">\n        <div class=\"template-playground-sidebar\">\n          <div class=\"template-file-list\">\n            <h3>Templates</h3>\n            <ul class=\"file-list\">\n              <li *ngFor=\"let template of templates; trackBy: trackByName\"\n                  [class.active]=\"selectedFile === template\"\n                  (click)=\"selectFile(template)\">\n                <i class=\"file-icon ion-document-text\"></i>\n                {{template.name}}\n                <span class=\"file-type\">{{template.type}}</span>\n              </li>\n            </ul>\n\n            <div *ngIf=\"templates.length === 0\" class=\"loading-templates\">\n              Loading templates...\n            </div>\n          </div>\n        </div>\n\n        <div class=\"template-playground-main\">\n          <div class=\"template-playground-editor\">\n            <div class=\"editor-header\" *ngIf=\"selectedFile\">\n              <h4>{{selectedFile.path}}</h4>\n              <span class=\"file-type-badge\">{{selectedFile.type}}</span>\n            </div>\n            <div #editorContainer class=\"editor-container\"></div>\n          </div>\n\n          <div class=\"template-playground-preview\">\n            <div class=\"preview-header\">\n              <h4>Live Preview</h4>\n              <button class=\"btn btn-sm btn-secondary\" (click)=\"refreshPreview()\">🔄 Refresh</button>\n            </div>\n            <iframe #previewFrame class=\"preview-frame\" [src]=\"previewUrl\"></iframe>\n          </div>\n        </div>\n      </div>\n    </div>\n  `,\n  styles: [`\n    .template-playground {\n      display: flex;\n      flex-direction: column;\n      height: 100vh;\n      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n    }\n\n    .template-playground-header {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      padding: 1rem 2rem;\n      background: #f8f9fa;\n      border-bottom: 1px solid #dee2e6;\n    }\n\n    .template-playground-status {\n      display: flex;\n      align-items: center;\n      gap: 1rem;\n      font-size: 0.875rem;\n    }\n\n    .session-info {\n      color: #6c757d;\n      font-family: monospace;\n    }\n\n    .saving-indicator {\n      color: #ffc107;\n      font-weight: bold;\n    }\n\n    .last-saved {\n      color: #28a745;\n    }\n\n    .template-playground-actions {\n      display: flex;\n      gap: 0.5rem;\n    }\n\n    .config-panel {\n      background: #e9ecef;\n      padding: 1rem 2rem;\n      border-bottom: 1px solid #dee2e6;\n      transition: all 0.3s ease;\n      max-height: 200px;\n      overflow: hidden;\n    }\n\n    .config-panel.collapsed {\n      max-height: 0;\n      padding: 0 2rem;\n    }\n\n    .config-options {\n      display: grid;\n      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n      gap: 0.5rem;\n      margin-top: 0.5rem;\n    }\n\n    .config-options label {\n      display: flex;\n      align-items: center;\n      gap: 0.5rem;\n      font-size: 0.875rem;\n    }\n\n    .template-playground-body {\n      display: flex;\n      flex: 1;\n      overflow: hidden;\n    }\n\n    .template-playground-sidebar {\n      width: 250px;\n      background: #f8f9fa;\n      border-right: 1px solid #dee2e6;\n      overflow-y: auto;\n    }\n\n    .template-file-list {\n      padding: 1rem;\n    }\n\n    .template-file-list h3 {\n      margin: 0 0 0.5rem 0;\n      font-size: 0.875rem;\n      font-weight: 600;\n      color: #495057;\n      text-transform: uppercase;\n      letter-spacing: 0.5px;\n    }\n\n    .file-list {\n      list-style: none;\n      padding: 0;\n      margin: 0 0 1.5rem 0;\n    }\n\n    .file-list li {\n      display: flex;\n      align-items: center;\n      padding: 0.5rem;\n      cursor: pointer;\n      border-radius: 4px;\n      font-size: 0.875rem;\n      transition: background-color 0.15s ease;\n    }\n\n    .file-list li:hover {\n      background: #e9ecef;\n    }\n\n    .file-list li.active {\n      background: #007bff;\n      color: white;\n    }\n\n    .file-icon {\n      margin-right: 0.5rem;\n      opacity: 0.7;\n    }\n\n    .file-type {\n      margin-left: auto;\n      font-size: 0.75rem;\n      opacity: 0.7;\n      text-transform: uppercase;\n    }\n\n    .loading-templates {\n      text-align: center;\n      color: #6c757d;\n      font-style: italic;\n      padding: 2rem;\n    }\n\n    .template-playground-main {\n      flex: 1;\n      display: flex;\n      overflow: hidden;\n    }\n\n    .template-playground-editor {\n      width: 50%;\n      display: flex;\n      flex-direction: column;\n      border-right: 1px solid #dee2e6;\n    }\n\n    .editor-header {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      padding: 0.75rem 1rem;\n      background: #f8f9fa;\n      border-bottom: 1px solid #dee2e6;\n    }\n\n    .editor-header h4 {\n      margin: 0;\n      font-size: 0.875rem;\n      font-weight: 600;\n    }\n\n    .file-type-badge {\n      background: #6c757d;\n      color: white;\n      padding: 0.125rem 0.5rem;\n      border-radius: 12px;\n      font-size: 0.75rem;\n      text-transform: uppercase;\n    }\n\n    .editor-container {\n      flex: 1;\n      position: relative;\n    }\n\n    .template-playground-preview {\n      width: 50%;\n      display: flex;\n      flex-direction: column;\n    }\n\n    .preview-header {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      padding: 0.75rem 1rem;\n      background: #f8f9fa;\n      border-bottom: 1px solid #dee2e6;\n    }\n\n    .preview-header h4 {\n      margin: 0;\n      font-size: 0.875rem;\n      font-weight: 600;\n    }\n\n    .preview-frame {\n      flex: 1;\n      border: none;\n      background: white;\n    }\n\n    .btn {\n      padding: 0.375rem 0.75rem;\n      border: 1px solid transparent;\n      border-radius: 0.25rem;\n      font-size: 0.875rem;\n      font-weight: 500;\n      text-decoration: none;\n      cursor: pointer;\n      transition: all 0.15s ease;\n    }\n\n    .btn-primary {\n      background: #007bff;\n      border-color: #007bff;\n      color: white;\n    }\n\n    .btn-primary:hover {\n      background: #0056b3;\n      border-color: #004085;\n    }\n\n    .btn-secondary {\n      background: #6c757d;\n      border-color: #6c757d;\n      color: white;\n    }\n\n    .btn-secondary:hover {\n      background: #545b62;\n      border-color: #4e555b;\n    }\n\n    .btn-success {\n      background: #28a745;\n      border-color: #28a745;\n      color: white;\n    }\n\n    .btn-success:hover {\n      background: #1e7e34;\n      border-color: #1c7430;\n    }\n\n    .btn-sm {\n      padding: 0.25rem 0.5rem;\n      font-size: 0.75rem;\n    }\n  `]\n})\nexport class TemplatePlaygroundComponent implements OnInit, OnDestroy {\n  @ViewChild('editorContainer', { static: true }) editorContainer!: ElementRef;\n  @ViewChild('previewFrame', { static: true }) previewFrame!: ElementRef;\n\n  sessionId: string = '';\n  templates: Template[] = [];\n  selectedFile: Template | null = null;\n  config: CompoDocConfig = {};\n  showConfigPanel: boolean = false;\n  saving: boolean = false;\n  lastSaved: Date | null = null;\n\n  private saveTimeout?: number;\n  private readonly SAVE_DELAY = 300; // 300ms debounce\n\n  get previewUrl(): string {\n    return this.sessionId ? `/api/session/${this.sessionId}/docs/` : '';\n  }\n\n  constructor(\n    private http: HttpClient,\n    private editorService: TemplateEditorService,\n    private zipService: ZipExportService,\n    private hbsService: HbsRenderService\n  ) {}\n\n  async ngOnInit() {\n    try {\n      await this.createSession();\n      await this.loadSessionTemplates();\n      await this.loadSessionConfig();\n      this.initializeEditor();\n    } catch (error) {\n      console.error('Error initializing template playground:', error);\n    }\n  }\n\n  ngOnDestroy() {\n    if (this.saveTimeout) {\n      clearTimeout(this.saveTimeout);\n    }\n  }\n\n  private async createSession(): Promise<void> {\n    const response = await this.http.post<Session>('/api/session/create', {}).toPromise();\n    if (response && response.success) {\n      this.sessionId = response.sessionId;\n      console.log('Session created:', this.sessionId);\n    } else {\n      throw new Error('Failed to create session');\n    }\n  }\n\n  private async loadSessionTemplates(): Promise<void> {\n    if (!this.sessionId) return;\n\n    const response = await this.http.get<{templates: Template[], success: boolean}>(`/api/session/${this.sessionId}/templates`).toPromise();\n    if (response && response.success) {\n      this.templates = response.templates;\n\n      // Auto-select the first template\n      if (this.templates.length > 0 && !this.selectedFile) {\n        this.selectFile(this.templates[0]);\n      }\n    }\n  }\n\n  private async loadSessionConfig(): Promise<void> {\n    if (!this.sessionId) return;\n\n    const response = await this.http.get<{config: CompoDocConfig, success: boolean}>(`/api/session/${this.sessionId}/config`).toPromise();\n    if (response && response.success) {\n      this.config = response.config;\n    }\n  }\n\n  initializeEditor() {\n    this.editorService.initializeEditor(this.editorContainer.nativeElement);\n\n    // Set up debounced save on content change\n    this.editorService.setOnChangeCallback((content: string) => {\n      this.scheduleAutoSave(content);\n    });\n  }\n\n  async selectFile(template: Template) {\n    this.selectedFile = template;\n\n    if (!this.sessionId) return;\n\n    try {\n      const response = await this.http.get<{content: string, success: boolean}>(`/api/session/${this.sessionId}/template/${template.path}`).toPromise();\n      if (response && response.success) {\n        this.editorService.setEditorContent(response.content, template.type === 'template' ? 'handlebars' : 'handlebars');\n      }\n    } catch (error) {\n      console.error('Error loading template:', error);\n    }\n  }\n\n  private scheduleAutoSave(content: string): void {\n    if (!this.selectedFile || !this.sessionId) return;\n\n    // Clear existing timeout\n    if (this.saveTimeout) {\n      clearTimeout(this.saveTimeout);\n    }\n\n    // Set saving indicator\n    this.saving = true;\n\n    // Schedule new save\n    this.saveTimeout = window.setTimeout(async () => {\n      try {\n        await this.saveTemplate(content);\n        this.saving = false;\n        this.lastSaved = new Date();\n      } catch (error) {\n        console.error('Error saving template:', error);\n        this.saving = false;\n      }\n    }, this.SAVE_DELAY);\n  }\n\n  private async saveTemplate(content: string): Promise<void> {\n    if (!this.selectedFile || !this.sessionId) return;\n\n    const response = await this.http.post<{success: boolean}>(`/api/session/${this.sessionId}/template/${this.selectedFile.path}`, {\n      content\n    }).toPromise();\n\n    if (!response || !response.success) {\n      throw new Error('Failed to save template');\n    }\n  }\n\n  async updateConfig(): Promise<void> {\n    if (!this.sessionId) return;\n\n    try {\n      const response = await this.http.post<{success: boolean}>(`/api/session/${this.sessionId}/config`, {\n        config: this.config\n      }).toPromise();\n\n      if (response && response.success) {\n        // Config updated, documentation will be regenerated automatically\n      }\n    } catch (error) {\n      console.error('Error updating config:', error);\n    }\n  }\n\n  toggleConfigPanel(): void {\n    this.showConfigPanel = !this.showConfigPanel;\n  }\n\n  refreshPreview(): void {\n    if (this.previewFrame?.nativeElement) {\n      this.previewFrame.nativeElement.src = this.previewFrame.nativeElement.src;\n    }\n  }\n\n  resetToDefault(): void {\n    // Implementation for resetting to default templates\n    if (confirm('Are you sure you want to reset all templates to their default values? This action cannot be undone.')) {\n      // TODO: Implement reset functionality\n      console.log('Reset to default templates');\n    }\n  }\n\n  async exportZip(): Promise<void> {\n    try {\n      if (!this.sessionId) {\n        console.error('No active session. Please refresh the page and try again.');\n        return;\n      }\n\n      console.log('Creating template package...');\n\n      // Call server-side ZIP creation endpoint for all templates\n      const response = await this.http.post(`/api/session/${this.sessionId}/download-all-templates`, {}, {\n        responseType: 'blob',\n        observe: 'response'\n      }).toPromise();\n\n      if (!response || !response.body) {\n        throw new Error('Failed to create template package');\n      }\n\n      // Get the ZIP file as a blob\n      const zipBlob = response.body;\n\n      // Get filename from response headers or construct it\n      const contentDisposition = response.headers.get('Content-Disposition');\n      let filename = `compodoc-templates-${this.sessionId}.zip`;\n\n      if (contentDisposition) {\n        const filenameMatch = contentDisposition.match(/filename=\"([^\"]+)\"/);\n        if (filenameMatch) {\n          filename = filenameMatch[1];\n        }\n      }\n\n      // Create download link and trigger download\n      const url = URL.createObjectURL(zipBlob);\n      const a = document.createElement('a');\n      a.href = url;\n      a.download = filename;\n      document.body.appendChild(a);\n      a.click();\n      document.body.removeChild(a);\n      URL.revokeObjectURL(url);\n\n      console.log('Template package downloaded successfully!');\n    } catch (error) {\n      console.error('Error downloading template package:', error);\n    }\n  }\n\n  trackByName(index: number, item: Template): string {\n    return item.name;\n  }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "\n    .template-playground {\n      display: flex;\n      flex-direction: column;\n      height: 100vh;\n      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n    }\n\n    .template-playground-header {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      padding: 1rem 2rem;\n      background: #f8f9fa;\n      border-bottom: 1px solid #dee2e6;\n    }\n\n    .template-playground-status {\n      display: flex;\n      align-items: center;\n      gap: 1rem;\n      font-size: 0.875rem;\n    }\n\n    .session-info {\n      color: #6c757d;\n      font-family: monospace;\n    }\n\n    .saving-indicator {\n      color: #ffc107;\n      font-weight: bold;\n    }\n\n    .last-saved {\n      color: #28a745;\n    }\n\n    .template-playground-actions {\n      display: flex;\n      gap: 0.5rem;\n    }\n\n    .config-panel {\n      background: #e9ecef;\n      padding: 1rem 2rem;\n      border-bottom: 1px solid #dee2e6;\n      transition: all 0.3s ease;\n      max-height: 200px;\n      overflow: hidden;\n    }\n\n    .config-panel.collapsed {\n      max-height: 0;\n      padding: 0 2rem;\n    }\n\n    .config-options {\n      display: grid;\n      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n      gap: 0.5rem;\n      margin-top: 0.5rem;\n    }\n\n    .config-options label {\n      display: flex;\n      align-items: center;\n      gap: 0.5rem;\n      font-size: 0.875rem;\n    }\n\n    .template-playground-body {\n      display: flex;\n      flex: 1;\n      overflow: hidden;\n    }\n\n    .template-playground-sidebar {\n      width: 250px;\n      background: #f8f9fa;\n      border-right: 1px solid #dee2e6;\n      overflow-y: auto;\n    }\n\n    .template-file-list {\n      padding: 1rem;\n    }\n\n    .template-file-list h3 {\n      margin: 0 0 0.5rem 0;\n      font-size: 0.875rem;\n      font-weight: 600;\n      color: #495057;\n      text-transform: uppercase;\n      letter-spacing: 0.5px;\n    }\n\n    .file-list {\n      list-style: none;\n      padding: 0;\n      margin: 0 0 1.5rem 0;\n    }\n\n    .file-list li {\n      display: flex;\n      align-items: center;\n      padding: 0.5rem;\n      cursor: pointer;\n      border-radius: 4px;\n      font-size: 0.875rem;\n      transition: background-color 0.15s ease;\n    }\n\n    .file-list li:hover {\n      background: #e9ecef;\n    }\n\n    .file-list li.active {\n      background: #007bff;\n      color: white;\n    }\n\n    .file-icon {\n      margin-right: 0.5rem;\n      opacity: 0.7;\n    }\n\n    .file-type {\n      margin-left: auto;\n      font-size: 0.75rem;\n      opacity: 0.7;\n      text-transform: uppercase;\n    }\n\n    .loading-templates {\n      text-align: center;\n      color: #6c757d;\n      font-style: italic;\n      padding: 2rem;\n    }\n\n    .template-playground-main {\n      flex: 1;\n      display: flex;\n      overflow: hidden;\n    }\n\n    .template-playground-editor {\n      width: 50%;\n      display: flex;\n      flex-direction: column;\n      border-right: 1px solid #dee2e6;\n    }\n\n    .editor-header {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      padding: 0.75rem 1rem;\n      background: #f8f9fa;\n      border-bottom: 1px solid #dee2e6;\n    }\n\n    .editor-header h4 {\n      margin: 0;\n      font-size: 0.875rem;\n      font-weight: 600;\n    }\n\n    .file-type-badge {\n      background: #6c757d;\n      color: white;\n      padding: 0.125rem 0.5rem;\n      border-radius: 12px;\n      font-size: 0.75rem;\n      text-transform: uppercase;\n    }\n\n    .editor-container {\n      flex: 1;\n      position: relative;\n    }\n\n    .template-playground-preview {\n      width: 50%;\n      display: flex;\n      flex-direction: column;\n    }\n\n    .preview-header {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      padding: 0.75rem 1rem;\n      background: #f8f9fa;\n      border-bottom: 1px solid #dee2e6;\n    }\n\n    .preview-header h4 {\n      margin: 0;\n      font-size: 0.875rem;\n      font-weight: 600;\n    }\n\n    .preview-frame {\n      flex: 1;\n      border: none;\n      background: white;\n    }\n\n    .btn {\n      padding: 0.375rem 0.75rem;\n      border: 1px solid transparent;\n      border-radius: 0.25rem;\n      font-size: 0.875rem;\n      font-weight: 500;\n      text-decoration: none;\n      cursor: pointer;\n      transition: all 0.15s ease;\n    }\n\n    .btn-primary {\n      background: #007bff;\n      border-color: #007bff;\n      color: white;\n    }\n\n    .btn-primary:hover {\n      background: #0056b3;\n      border-color: #004085;\n    }\n\n    .btn-secondary {\n      background: #6c757d;\n      border-color: #6c757d;\n      color: white;\n    }\n\n    .btn-secondary:hover {\n      background: #545b62;\n      border-color: #4e555b;\n    }\n\n    .btn-success {\n      background: #28a745;\n      border-color: #28a745;\n      color: white;\n    }\n\n    .btn-success:hover {\n      background: #1e7e34;\n      border-color: #1c7430;\n    }\n\n    .btn-sm {\n      padding: 0.25rem 0.5rem;\n      font-size: 0.75rem;\n    }\n  \n",
            "constructorObj": {
                "name": "constructor",
                "description": "",
                "deprecated": false,
                "deprecationMessage": "",
                "args": [
                    {
                        "name": "http",
                        "type": "HttpClient",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "editorService",
                        "type": "TemplateEditorService",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "zipService",
                        "type": "ZipExportService",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "hbsService",
                        "type": "HbsRenderService",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "line": 409,
                "jsdoctags": [
                    {
                        "name": "http",
                        "type": "HttpClient",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "editorService",
                        "type": "TemplateEditorService",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "zipService",
                        "type": "ZipExportService",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "hbsService",
                        "type": "HbsRenderService",
                        "optional": false,
                        "dotDotDotToken": false,
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            "extends": [],
            "implements": [
                "OnInit",
                "OnDestroy"
            ],
            "accessors": {
                "previewUrl": {
                    "name": "previewUrl",
                    "getSignature": {
                        "name": "previewUrl",
                        "type": "string",
                        "returnType": "string",
                        "line": 407
                    }
                }
            }
        },
        {
            "name": "VirtualScrollAsyncComponent",
            "id": "component-VirtualScrollAsyncComponent-49c247894afadfbed6ddde7edc58e6562438663039c3bc01d83b65d7fc228b25a9ed7d596554749e5c357fcf6c1ec8fd385a0a77ffd10e03cf07d27cababf4a5",
            "file": "packages/components/eui-table/testing/virtual-scroll-async.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "styleUrls": [],
            "styles": [],
            "template": "<div style=\"height: 600px\">\n    <eui-table #euiDataTable isVirtualScroll isAsync [virtualScrollAsyncItemsLength]=\"duplicatedData.length\" [data]=\"data\" (scrollChange)=\"onScrollChange($event)\">\n        <ng-template euiTemplate=\"header\">\n            <tr>\n                <th>Id</th>\n                <th>Country</th>\n                <th>Year</th>\n                <th>ISO</th>\n                <th>Population</th>\n                <th>Capital</th>\n            </tr>\n        </ng-template>\n        <ng-template let-row euiTemplate=\"body\">\n            <tr>\n                <td>{{ row.id }}</td>\n                <td nowrap><span class=\"eui-flag-icon eui-flag-icon-{{ row.iso.toLowerCase() }} eui-u-mr-s\"></span>{{ row.country }}</td>\n                <td>{{ row.year }}</td>\n                <td>{{ row.iso }}</td>\n                <td>{{ row.population | number }}</td>\n                <td>{{ row.capital }}</td>\n            </tr>\n        </ng-template>\n        <ng-template let-row euiTemplate=\"footer\">\n            <tr>\n                <td></td>\n                <td></td>\n                <td colspan=\"6\">Footer</td>\n            </tr>\n        </ng-template>\n    </eui-table>\n</div>\n",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "data",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 82
                },
                {
                    "name": "duplicatedData",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 81
                },
                {
                    "name": "euiDataTable",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiTableComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 84,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'euiDataTable'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 86,
                    "deprecated": false,
                    "deprecationMessage": ""
                },
                {
                    "name": "onScrollChange",
                    "args": [
                        {
                            "name": "e",
                            "type": "literal type",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 100,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "jsdoctags": [
                        {
                            "name": "e",
                            "type": "literal type",
                            "optional": false,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EuiTableComponent",
                    "type": "component"
                },
                {
                    "name": "EuiTemplateDirective",
                    "type": "directive"
                },
                {
                    "name": "DecimalPipe",
                    "type": "pipe"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { Component, ViewChild, OnInit } from '@angular/core';\nimport { DecimalPipe } from '@angular/common';\n\nimport { EuiTemplateDirective } from '@eui/components/directives';\n\nimport { EuiTableComponent } from '../eui-table.component';\n\nconst DATA = [\n    { id: 1, country: 'Austria', year: 1995, iso: 'AT', population: 8504850, capital: 'Vienna' },\n    { id: 2, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n    { id: 3, country: 'Bulgaria', year: 2007, iso: 'BG', population: 7364570, capital: 'Sofia' },\n    { id: 4, country: 'Croatia', year: 2013, iso: 'HR', population: 4284889, capital: 'Zagreb' },\n    { id: 5, country: 'Cyprus', year: 2004, iso: 'CY', population: 1117000, capital: 'Nicosia' },\n    { id: 6, country: 'Czechia', year: 2004, iso: 'CZ', population: 10513209, capital: 'Prague' },\n    { id: 7, country: 'Denmark', year: 1973, iso: 'DK', population: 5655750, capital: 'Copenhagen' },\n    { id: 8, country: 'Estonia', year: 2004, iso: 'EE', population: 1315819, capital: 'Tallinn' },\n    { id: 9, country: 'Finland', year: 1995, iso: 'FI', population: 5470820, capital: 'Helsinki' },\n    { id: 10, country: 'France', year: 1958, iso: 'FR', population: 67210000, capital: 'Paris' },\n    { id: 11, country: 'Germany', year: 1958, iso: 'DE', population: 80716000, capital: 'Berlin' },\n    { id: 12, country: 'Greece', year: 1981, iso: 'GR', population: 10816286, capital: 'Athens' },\n    { id: 13, country: 'Hungary', year: 2004, iso: 'HU', population: 9877365, capital: 'Budapest' },\n    { id: 14, country: 'Ireland', year: 1973, iso: 'IE', population: 4609600, capital: 'Dublin' },\n    { id: 15, country: 'Italy', year: 1958, iso: 'IT', population: 60782668, capital: 'Rome' },\n    { id: 16, country: 'Latvia', year: 2004, iso: 'LV', population: 1990300, capital: 'Riga' },\n    { id: 17, country: 'Lithuania', year: 2004, iso: 'LT', population: 2944459, capital: 'Vilnius' },\n    { id: 18, country: 'Luxembourg', year: 1958, iso: 'LU', population: 549680, capital: 'Luxembourg' },\n    { id: 19, country: 'Malta', year: 2004, iso: 'MT', population: 446547, capital: 'Valletta' },\n    { id: 20, country: 'Netherlands', year: 1958, iso: 'NL', population: 16856620, capital: 'Amsterdam' },\n    { id: 21, country: 'Poland', year: 2004, iso: 'PL', population: 38483957, capital: 'Warsaw' },\n    { id: 22, country: 'Portugal', year: 1986, iso: 'PT', population: 10427301, capital: 'Lisbon' },\n    { id: 23, country: 'Romania', year: 2007, iso: 'RO', population: 19942642, capital: 'Bucharest' },\n    { id: 24, country: 'Slovakia', year: 2004, iso: 'SK', population: 5415949, capital: 'Bratislava' },\n    { id: 25, country: 'Slovenia', year: 2004, iso: 'SI', population: 2061085, capital: 'Ljubljana' },\n    { id: 26, country: 'Spain', year: 1986, iso: 'ES', population: 46704314, capital: 'Madrid' },\n    { id: 27, country: 'Sweden', year: 1995, iso: 'SE', population: 10004962, capital: 'Stockholm' },\n    { id: 28, country: 'United Kingdom', year: 1973, iso: 'GB', population: 64100000, capital: 'London' },\n];\n\n@Component({\n    template: `\n    <div style=\"height: 600px\">\n        <eui-table #euiDataTable isVirtualScroll isAsync [virtualScrollAsyncItemsLength]=\"duplicatedData.length\" [data]=\"data\" (scrollChange)=\"onScrollChange($event)\">\n            <ng-template euiTemplate=\"header\">\n                <tr>\n                    <th>Id</th>\n                    <th>Country</th>\n                    <th>Year</th>\n                    <th>ISO</th>\n                    <th>Population</th>\n                    <th>Capital</th>\n                </tr>\n            </ng-template>\n            <ng-template let-row euiTemplate=\"body\">\n                <tr>\n                    <td>{{ row.id }}</td>\n                    <td nowrap><span class=\"eui-flag-icon eui-flag-icon-{{ row.iso.toLowerCase() }} eui-u-mr-s\"></span>{{ row.country }}</td>\n                    <td>{{ row.year }}</td>\n                    <td>{{ row.iso }}</td>\n                    <td>{{ row.population | number }}</td>\n                    <td>{{ row.capital }}</td>\n                </tr>\n            </ng-template>\n            <ng-template let-row euiTemplate=\"footer\">\n                <tr>\n                    <td></td>\n                    <td></td>\n                    <td colspan=\"6\">Footer</td>\n                </tr>\n            </ng-template>\n        </eui-table>\n    </div>\n    `,\n    imports: [\n        EuiTableComponent,\n        EuiTemplateDirective,\n        DecimalPipe,\n    ],\n})\nexport class VirtualScrollAsyncComponent implements OnInit {\n    duplicatedData: any[] = [];\n    data: any[] = [];\n\n    @ViewChild('euiDataTable') euiDataTable: EuiTableComponent;\n\n    ngOnInit(): void {\n        for (let i = 1; i <= 1000; i++) {\n            DATA.forEach((item, index) => {\n                const duplicatedItem = { ...item };\n                const id = (i - 1) * DATA.length + index + 1;\n                duplicatedItem.id = id;\n                duplicatedItem.country = item.country + ' ' + id;\n                this.duplicatedData.push(duplicatedItem);\n            });\n        }\n\n        this.data = this.duplicatedData.slice(0, 50);\n    }\n\n    onScrollChange(e: { start: number, end: number }): void {\n        this.data = [...this.duplicatedData.slice(e.start, e.end)];\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit"
            ]
        },
        {
            "name": "VirtualScrollComponent",
            "id": "component-VirtualScrollComponent-fb4ad1f8d7025b6fb02707f61106f9885fe3eef425ea169c4282825feed37238a22641cd9511f5c86ca1d4596d8159896df2c75278f10fa54ce69a99e1690360",
            "file": "packages/components/eui-table/testing/virtual-scroll.component.ts",
            "encapsulation": [],
            "entryComponents": [],
            "inputs": [],
            "outputs": [],
            "providers": [],
            "styleUrls": [],
            "styles": [],
            "template": "<div style=\"height: 600px\">\n    <eui-table #euiDataTable isVirtualScroll [data]=\"duplicatedData\">\n        <ng-template euiTemplate=\"header\">\n            <tr>\n                <th>Id</th>\n                <th>Country</th>\n                <th>Year</th>\n                <th>ISO</th>\n                <th>Population</th>\n                <th>Capital</th>\n            </tr>\n        </ng-template>\n        <ng-template let-row euiTemplate=\"body\">\n            <tr>\n                <td>{{ row.id }}</td>\n                <td nowrap><span class=\"eui-flag-icon eui-flag-icon-{{ row.iso.toLowerCase() }} eui-u-mr-s\"></span>{{ row.country }}</td>\n                <td>{{ row.year }}</td>\n                <td>{{ row.iso }}</td>\n                <td>{{ row.population | number }}</td>\n                <td>{{ row.capital }}</td>\n            </tr>\n        </ng-template>\n        <ng-template let-row euiTemplate=\"footer\">\n            <tr>\n                <td></td>\n                <td></td>\n                <td colspan=\"6\">Footer</td>\n            </tr>\n        </ng-template>\n    </eui-table>\n</div>\n",
            "templateUrl": [],
            "viewProviders": [],
            "hostDirectives": [],
            "inputsClass": [],
            "outputsClass": [],
            "propertiesClass": [
                {
                    "name": "data",
                    "defaultValue": "[\n        { id: 1, country: 'Austria', year: 1995, iso: 'AT', population: 8504850, capital: 'Vienna' },\n        { id: 2, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n        { id: 3, country: 'Bulgaria', year: 2007, iso: 'BG', population: 7364570, capital: 'Sofia' },\n        { id: 4, country: 'Croatia', year: 2013, iso: 'HR', population: 4284889, capital: 'Zagreb' },\n        { id: 5, country: 'Cyprus', year: 2004, iso: 'CY', population: 1117000, capital: 'Nicosia' },\n        { id: 6, country: 'Czechia', year: 2004, iso: 'CZ', population: 10513209, capital: 'Prague' },\n        { id: 7, country: 'Denmark', year: 1973, iso: 'DK', population: 5655750, capital: 'Copenhagen' },\n        { id: 8, country: 'Estonia', year: 2004, iso: 'EE', population: 1315819, capital: 'Tallinn' },\n        { id: 9, country: 'Finland', year: 1995, iso: 'FI', population: 5470820, capital: 'Helsinki' },\n        { id: 10, country: 'France', year: 1958, iso: 'FR', population: 67210000, capital: 'Paris' },\n        { id: 11, country: 'Germany', year: 1958, iso: 'DE', population: 80716000, capital: 'Berlin' },\n        { id: 12, country: 'Greece', year: 1981, iso: 'GR', population: 10816286, capital: 'Athens' },\n        { id: 13, country: 'Hungary', year: 2004, iso: 'HU', population: 9877365, capital: 'Budapest' },\n        { id: 14, country: 'Ireland', year: 1973, iso: 'IE', population: 4609600, capital: 'Dublin' },\n        { id: 15, country: 'Italy', year: 1958, iso: 'IT', population: 60782668, capital: 'Rome' },\n        { id: 16, country: 'Latvia', year: 2004, iso: 'LV', population: 1990300, capital: 'Riga' },\n        { id: 17, country: 'Lithuania', year: 2004, iso: 'LT', population: 2944459, capital: 'Vilnius' },\n        { id: 18, country: 'Luxembourg', year: 1958, iso: 'LU', population: 549680, capital: 'Luxembourg' },\n        { id: 19, country: 'Malta', year: 2004, iso: 'MT', population: 446547, capital: 'Valletta' },\n        { id: 20, country: 'Netherlands', year: 1958, iso: 'NL', population: 16856620, capital: 'Amsterdam' },\n        { id: 21, country: 'Poland', year: 2004, iso: 'PL', population: 38483957, capital: 'Warsaw' },\n        { id: 22, country: 'Portugal', year: 1986, iso: 'PT', population: 10427301, capital: 'Lisbon' },\n        { id: 23, country: 'Romania', year: 2007, iso: 'RO', population: 19942642, capital: 'Bucharest' },\n        { id: 24, country: 'Slovakia', year: 2004, iso: 'SK', population: 5415949, capital: 'Bratislava' },\n        { id: 25, country: 'Slovenia', year: 2004, iso: 'SI', population: 2061085, capital: 'Ljubljana' },\n        { id: 26, country: 'Spain', year: 1986, iso: 'ES', population: 46704314, capital: 'Madrid' },\n        { id: 27, country: 'Sweden', year: 1995, iso: 'SE', population: 10004962, capital: 'Stockholm' },\n        { id: 28, country: 'United Kingdom', year: 1973, iso: 'GB', population: 64100000, capital: 'London' },\n    ]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 50
                },
                {
                    "name": "duplicatedData",
                    "defaultValue": "[]",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any[]",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 80
                },
                {
                    "name": "euiDataTable",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "EuiTableComponent",
                    "indexKey": "",
                    "optional": false,
                    "description": "",
                    "line": 82,
                    "decorators": [
                        {
                            "name": "ViewChild",
                            "stringifiedArguments": "'euiDataTable'"
                        }
                    ],
                    "modifierKind": [
                        171
                    ]
                }
            ],
            "methodsClass": [
                {
                    "name": "ngOnInit",
                    "args": [],
                    "optional": false,
                    "returnType": "void",
                    "typeParameters": [],
                    "line": 84,
                    "deprecated": false,
                    "deprecationMessage": ""
                }
            ],
            "deprecated": false,
            "deprecationMessage": "",
            "hostBindings": [],
            "hostListeners": [],
            "standalone": false,
            "imports": [
                {
                    "name": "EuiTableComponent",
                    "type": "component"
                },
                {
                    "name": "EuiTemplateDirective",
                    "type": "directive"
                },
                {
                    "name": "DecimalPipe",
                    "type": "pipe"
                }
            ],
            "description": "",
            "rawdescription": "\n",
            "type": "component",
            "sourceCode": "import { Component, ViewChild, OnInit } from '@angular/core';\nimport { DecimalPipe } from '@angular/common';\n\nimport { EuiTemplateDirective } from '@eui/components/directives';\n\nimport { EuiTableComponent } from '../eui-table.component';\n\n@Component({\n    template: `\n    <div style=\"height: 600px\">\n        <eui-table #euiDataTable isVirtualScroll [data]=\"duplicatedData\">\n            <ng-template euiTemplate=\"header\">\n                <tr>\n                    <th>Id</th>\n                    <th>Country</th>\n                    <th>Year</th>\n                    <th>ISO</th>\n                    <th>Population</th>\n                    <th>Capital</th>\n                </tr>\n            </ng-template>\n            <ng-template let-row euiTemplate=\"body\">\n                <tr>\n                    <td>{{ row.id }}</td>\n                    <td nowrap><span class=\"eui-flag-icon eui-flag-icon-{{ row.iso.toLowerCase() }} eui-u-mr-s\"></span>{{ row.country }}</td>\n                    <td>{{ row.year }}</td>\n                    <td>{{ row.iso }}</td>\n                    <td>{{ row.population | number }}</td>\n                    <td>{{ row.capital }}</td>\n                </tr>\n            </ng-template>\n            <ng-template let-row euiTemplate=\"footer\">\n                <tr>\n                    <td></td>\n                    <td></td>\n                    <td colspan=\"6\">Footer</td>\n                </tr>\n            </ng-template>\n        </eui-table>\n    </div>\n    `,\n    imports: [\n        EuiTableComponent,\n        EuiTemplateDirective,\n        DecimalPipe,\n    ],\n})\nexport class VirtualScrollComponent implements OnInit {\n    data = [\n        { id: 1, country: 'Austria', year: 1995, iso: 'AT', population: 8504850, capital: 'Vienna' },\n        { id: 2, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n        { id: 3, country: 'Bulgaria', year: 2007, iso: 'BG', population: 7364570, capital: 'Sofia' },\n        { id: 4, country: 'Croatia', year: 2013, iso: 'HR', population: 4284889, capital: 'Zagreb' },\n        { id: 5, country: 'Cyprus', year: 2004, iso: 'CY', population: 1117000, capital: 'Nicosia' },\n        { id: 6, country: 'Czechia', year: 2004, iso: 'CZ', population: 10513209, capital: 'Prague' },\n        { id: 7, country: 'Denmark', year: 1973, iso: 'DK', population: 5655750, capital: 'Copenhagen' },\n        { id: 8, country: 'Estonia', year: 2004, iso: 'EE', population: 1315819, capital: 'Tallinn' },\n        { id: 9, country: 'Finland', year: 1995, iso: 'FI', population: 5470820, capital: 'Helsinki' },\n        { id: 10, country: 'France', year: 1958, iso: 'FR', population: 67210000, capital: 'Paris' },\n        { id: 11, country: 'Germany', year: 1958, iso: 'DE', population: 80716000, capital: 'Berlin' },\n        { id: 12, country: 'Greece', year: 1981, iso: 'GR', population: 10816286, capital: 'Athens' },\n        { id: 13, country: 'Hungary', year: 2004, iso: 'HU', population: 9877365, capital: 'Budapest' },\n        { id: 14, country: 'Ireland', year: 1973, iso: 'IE', population: 4609600, capital: 'Dublin' },\n        { id: 15, country: 'Italy', year: 1958, iso: 'IT', population: 60782668, capital: 'Rome' },\n        { id: 16, country: 'Latvia', year: 2004, iso: 'LV', population: 1990300, capital: 'Riga' },\n        { id: 17, country: 'Lithuania', year: 2004, iso: 'LT', population: 2944459, capital: 'Vilnius' },\n        { id: 18, country: 'Luxembourg', year: 1958, iso: 'LU', population: 549680, capital: 'Luxembourg' },\n        { id: 19, country: 'Malta', year: 2004, iso: 'MT', population: 446547, capital: 'Valletta' },\n        { id: 20, country: 'Netherlands', year: 1958, iso: 'NL', population: 16856620, capital: 'Amsterdam' },\n        { id: 21, country: 'Poland', year: 2004, iso: 'PL', population: 38483957, capital: 'Warsaw' },\n        { id: 22, country: 'Portugal', year: 1986, iso: 'PT', population: 10427301, capital: 'Lisbon' },\n        { id: 23, country: 'Romania', year: 2007, iso: 'RO', population: 19942642, capital: 'Bucharest' },\n        { id: 24, country: 'Slovakia', year: 2004, iso: 'SK', population: 5415949, capital: 'Bratislava' },\n        { id: 25, country: 'Slovenia', year: 2004, iso: 'SI', population: 2061085, capital: 'Ljubljana' },\n        { id: 26, country: 'Spain', year: 1986, iso: 'ES', population: 46704314, capital: 'Madrid' },\n        { id: 27, country: 'Sweden', year: 1995, iso: 'SE', population: 10004962, capital: 'Stockholm' },\n        { id: 28, country: 'United Kingdom', year: 1973, iso: 'GB', population: 64100000, capital: 'London' },\n    ];\n    duplicatedData: any[] = [];\n\n    @ViewChild('euiDataTable') euiDataTable: EuiTableComponent;\n\n    ngOnInit(): void {\n        for (let i = 1; i <= 100; i++) {\n            this.data.forEach((item, index) => {\n                const duplicatedItem = { ...item };\n                const id = (i - 1) * this.data.length + index + 1;\n                duplicatedItem.id = id;\n                duplicatedItem.country = item.country + ' ' + id;\n                this.duplicatedData.push(duplicatedItem);\n            });\n        }\n    }\n}\n",
            "assetsDirs": [],
            "styleUrlsData": "",
            "stylesData": "",
            "extends": [],
            "implements": [
                "OnInit"
            ]
        }
    ],
    "modules": [
        {
            "name": "EuiEditorModule",
            "id": "module-EuiEditorModule-a13e8d0ec2bd361ba6d8a72eaf5a602cfa7e9935a837f090a3652d7f48b213f82f4bccc2214c0f67b9c3d75dda1619862a1b5b39453d0cd001bd656534a95636",
            "description": "",
            "deprecationMessage": "",
            "deprecated": false,
            "file": "packages/components/externals/eui-editor/eui-editor.module.ts",
            "methods": [],
            "sourceCode": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { EUI_DIALOG } from '@eui/components/eui-dialog';\nimport { EuiTooltipDirective } from '@eui/components/directives';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { QuillConfig, QuillModule } from '@eui/components/externals/quill';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\n\nimport { EuiEditorCountersComponent } from './counters/eui-editor-counters.component';\nimport { EuiEditorJsonViewComponent } from './json-view/eui-editor-json-view.component';\nimport { ClassFilterPipe, EuiEditorComponent, EuiEditorCustomToolbarTagDirective } from \"./eui-editor.component\";\nimport { EuiEditorImageDialogComponent } from './image-url-dialog/image-url-dialog.component';\nimport { EuiEditorMaxlengthDirective } from './directives/eui-editor-maxlength.directive';\n\n// In case of dynamic loading this will not be available at this stage.\n// Thus the config for BetterTable keyboardBindings needs to be set at a later\n// stage. Same as the registration.\nconst QuillBetterTable = window['quillBetterTable'];\n\nconst quillConfig: QuillConfig = {\n    modules: {\n        table: false,\n        'better-table': {\n            operationMenu: {\n                items: {\n                    unmergeCells: {\n                        text: 'Another unmerge cells name',\n                    },\n                },\n                color: {\n                    colors: [\n                        '#000000',\n                        '#e60000',\n                        '#ff9900',\n                        '#ffff00',\n                        '#008a00',\n                        '#0066cc',\n                        '#9933ff',\n                        '#ffffff',\n                        '#facccc',\n                        '#ffebcc',\n                        '#ffffcc',\n                        '#cce8cc',\n                        '#cce0f5',\n                        '#ebd6ff',\n                        '#bbbbbb',\n                        '#f06666',\n                        '#ffc266',\n                        '#ffff66',\n                        '#66b966',\n                        '#66a3e0',\n                        '#c285ff',\n                        '#888888',\n                        '#a10000',\n                        '#b26b00',\n                        '#b2b200',\n                        '#006100',\n                        '#0047b2',\n                        '#6b24b2',\n                        '#444444',\n                        '#5c0000',\n                        '#663d00',\n                        '#666600',\n                        '#003700',\n                        '#002966',\n                        '#3d1466',\n                    ],\n                    text: 'Background Colors',\n                },\n            },\n        },\n    },\n};\n\nif(QuillBetterTable) {\n    quillConfig.modules.keyboard = {\n        bindings: QuillBetterTable?.keyboardBindings,\n    };\n}\n\n@NgModule({\n    imports: [\n        CommonModule,\n        FormsModule,\n        ReactiveFormsModule,\n        EuiTooltipDirective,\n        QuillModule.forRoot(quillConfig),\n        ...EUI_DIALOG,\n        ...EUI_ICON,\n        ...EUI_INPUT_TEXT,\n        EuiEditorComponent,\n        EuiEditorJsonViewComponent,\n        EuiEditorCountersComponent,\n        EuiEditorImageDialogComponent,\n        EuiEditorMaxlengthDirective,\n        EuiEditorCustomToolbarTagDirective,\n        ClassFilterPipe,\n    ],\n    exports: [EuiEditorComponent, EuiEditorMaxlengthDirective, EuiEditorCustomToolbarTagDirective, EuiEditorCountersComponent],\n})\nexport class EuiEditorModule {}\n",
            "children": [
                {
                    "type": "providers",
                    "elements": []
                },
                {
                    "type": "declarations",
                    "elements": []
                },
                {
                    "type": "imports",
                    "elements": [
                        {
                            "name": "ClassFilterPipe"
                        },
                        {
                            "name": "EuiEditorComponent"
                        },
                        {
                            "name": "EuiEditorCountersComponent"
                        },
                        {
                            "name": "EuiEditorCustomToolbarTagDirective"
                        },
                        {
                            "name": "EuiEditorImageDialogComponent"
                        },
                        {
                            "name": "EuiEditorJsonViewComponent"
                        },
                        {
                            "name": "EuiEditorMaxlengthDirective"
                        },
                        {
                            "name": "EuiTooltipDirective"
                        },
                        {
                            "name": "QuillModule"
                        }
                    ]
                },
                {
                    "type": "exports",
                    "elements": [
                        {
                            "name": "EuiEditorComponent"
                        },
                        {
                            "name": "EuiEditorCountersComponent"
                        },
                        {
                            "name": "EuiEditorCustomToolbarTagDirective"
                        },
                        {
                            "name": "EuiEditorMaxlengthDirective"
                        }
                    ]
                },
                {
                    "type": "bootstrap",
                    "elements": []
                },
                {
                    "type": "classes",
                    "elements": []
                }
            ]
        },
        {
            "name": "QuillModule",
            "id": "module-QuillModule-bc87b5923d59be5af62a2c8deb89fec87823861d9ae1aa16ed9351fa981ca1fcc1919f314be55485189f7b1664948eb0e408821a2fa383c7b84d91816846a1cd",
            "description": "",
            "deprecationMessage": "please don't use it. It will be removed",
            "deprecated": true,
            "file": "packages/components/externals/quill/quill.module.ts",
            "methods": [
                {
                    "name": "forRoot",
                    "args": [
                        {
                            "name": "config",
                            "type": "QuillConfig",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "optional": false,
                    "returnType": "ModuleWithProviders<QuillModule>",
                    "typeParameters": [],
                    "line": 25,
                    "deprecated": false,
                    "deprecationMessage": "",
                    "modifierKind": [
                        126
                    ],
                    "jsdoctags": [
                        {
                            "name": "config",
                            "type": "QuillConfig",
                            "optional": true,
                            "dotDotDotToken": false,
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "sourceCode": "import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { defaultModules } from './quill-defaults';\nimport { QuillEditorComponent } from './quill-editor.component';\nimport { QUILL_CONFIG_TOKEN, QuillConfig } from './quill-editor.interfaces';\nimport { CommonModule } from \"@angular/common\";\n\n// TODO: integrate that module and all related code with the eui-editor module.\n//     Remove this sub-entry and move all the code to the eui-editor.\n\n/**\n * @deprecated please don't use it. It will be removed\n */\n@NgModule({\n    exports: [QuillEditorComponent],\n    imports: [CommonModule, QuillEditorComponent],\n    providers: [\n        {\n            provide: QUILL_CONFIG_TOKEN,\n            useValue: { modules: defaultModules },\n        },\n    ],\n})\nexport class QuillModule {\n    static forRoot(config?: QuillConfig): ModuleWithProviders<QuillModule> {\n        return {\n            ngModule: QuillModule,\n            providers: [\n                {\n                    provide: QUILL_CONFIG_TOKEN,\n                    // eslint-disable-next-line prefer-arrow/prefer-arrow-functions\n                    useValue: config || { modules: defaultModules },\n                },\n            ],\n        };\n    }\n}\n",
            "children": [
                {
                    "type": "providers",
                    "elements": []
                },
                {
                    "type": "declarations",
                    "elements": []
                },
                {
                    "type": "imports",
                    "elements": [
                        {
                            "name": "QuillEditorComponent"
                        }
                    ]
                },
                {
                    "type": "exports",
                    "elements": [
                        {
                            "name": "QuillEditorComponent"
                        }
                    ]
                },
                {
                    "type": "bootstrap",
                    "elements": []
                },
                {
                    "type": "classes",
                    "elements": []
                }
            ]
        },
        {
            "name": "TemplatePlaygroundModule",
            "id": "module-TemplatePlaygroundModule-a48e698b66bad8be9ff3b78b5db8e15ee6bb54bd2575fdb1bb61a34e76437cc54b2e161854c3d6c97b4c751d05ff3a43b70b87ceffd46d3c5bf53f6f161e3044",
            "description": "",
            "deprecationMessage": "",
            "deprecated": false,
            "file": "packages/components/dist/docs/template-playground/template-playground.module.ts",
            "methods": [],
            "sourceCode": "import { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { HttpClientModule } from '@angular/common/http';\n\nimport { TemplatePlaygroundComponent } from './template-playground.component';\nimport { TemplateEditorService } from './template-editor.service';\nimport { ZipExportService } from './zip-export.service';\nimport { HbsRenderService } from './hbs-render.service';\n\n@NgModule({\n  declarations: [\n    TemplatePlaygroundComponent\n  ],\n  imports: [\n    BrowserModule,\n    CommonModule,\n    FormsModule,\n    HttpClientModule\n  ],\n  providers: [\n    TemplateEditorService,\n    ZipExportService,\n    HbsRenderService\n  ],\n  bootstrap: [TemplatePlaygroundComponent]\n})\nexport class TemplatePlaygroundModule { }\n",
            "children": [
                {
                    "type": "providers",
                    "elements": [
                        {
                            "name": "HbsRenderService"
                        },
                        {
                            "name": "TemplateEditorService"
                        },
                        {
                            "name": "ZipExportService"
                        }
                    ]
                },
                {
                    "type": "declarations",
                    "elements": [
                        {
                            "name": "TemplatePlaygroundComponent"
                        }
                    ]
                },
                {
                    "type": "imports",
                    "elements": []
                },
                {
                    "type": "exports",
                    "elements": []
                },
                {
                    "type": "bootstrap",
                    "elements": [
                        {
                            "name": "TemplatePlaygroundComponent"
                        }
                    ]
                },
                {
                    "type": "classes",
                    "elements": []
                }
            ]
        },
        {
            "name": "TranslateMockModule",
            "id": "module-TranslateMockModule-e3c844261cc3a1e10dba51814a8cf95ce5736d1d5116dc3caadbbf65259d92910963e3735a4fe0cc049f8361f818ef98c638c75bca1144acfcb3a5950d11b4f8",
            "description": "",
            "deprecationMessage": "",
            "deprecated": false,
            "file": "packages/components/testing/mocks/translate.module.mock.ts",
            "methods": [],
            "sourceCode": "import { AfterViewChecked, Directive, ElementRef, Input, NgModule, Pipe, PipeTransform, inject } from '@angular/core';\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject, Observable, of, Subject } from 'rxjs';\n\nexport const TRANSLATED_STRING = 'i18n';\n\nexport class TranslateServiceMock {\n    onLangChangeSubject: Subject<LangChangeEvent> = new Subject();\n    onFallbackLangChangeSubject: Subject<LangChangeEvent> = new Subject();\n    onTranslationChangeSubject: Subject<string> = new Subject();\n    onDefaultLangChangeSubject: Subject<string> = new Subject();\n    isLoadedSubject: BehaviorSubject<boolean> = new BehaviorSubject(true);\n\n    onLangChange: Observable<LangChangeEvent> = this.onLangChangeSubject.asObservable();\n    onFallbackLangChange: Observable<LangChangeEvent> = this.onFallbackLangChangeSubject.asObservable();\n    onTranslationChange: Observable<string> = this.onTranslationChangeSubject.asObservable();\n    onDefaultLangChange: Observable<string> = this.onDefaultLangChangeSubject.asObservable();\n    isLoaded: Observable<boolean> = this.isLoadedSubject.asObservable();\n\n    currentLang: string;\n\n    languages: string[] = ['de'];\n\n    get(content: string): Observable<string> {\n        return of(TRANSLATED_STRING + content);\n    }\n\n    use(lang: string): void {\n        this.currentLang = lang;\n        this.onLangChangeSubject.next({ lang } as LangChangeEvent);\n    }\n\n    // stream(key: string | string[], interpolateParams?: InterpolationParameters): Observable<Translation>;\n    stream(content: string): Observable<string> {\n        return of(TRANSLATED_STRING + content);\n    }\n\n    addLangs(langs: string[]): void {\n        this.languages = [...this.languages, ...langs];\n    }\n\n    getBrowserLang(): string {\n        return '';\n    }\n\n    getLangs(): string[] {\n        return this.languages;\n    }\n\n    // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    getTranslation(): Observable<any> {\n        return of({});\n    }\n\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    instant(key: string | string[], interpolateParams?: object): string {\n        return TRANSLATED_STRING + key.toString();\n    }\n\n    setDefaultLang(lang: string): void {\n        this.onDefaultLangChangeSubject.next(lang);\n    }\n}\n\n@Pipe({ name: 'translate' })\nexport class TranslateMockPipe implements PipeTransform {\n    transform(text: string): string {\n        return !text ? TRANSLATED_STRING : `${text}-${TRANSLATED_STRING}`;\n    }\n}\n\n@Directive({\n    // eslint-disable-next-line @angular-eslint/directive-selector\n    selector: '[translate]',\n})\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport class TranslateMockDirective implements AfterViewChecked {\n    @Input()\n    translateParams: any;\n    private readonly _element = inject(ElementRef);\n\n    ngAfterViewChecked(): void {\n        this._element.nativeElement.innerText += TRANSLATED_STRING;\n    }\n}\n\n@NgModule({\n    imports: [TranslateMockPipe, TranslateMockDirective],\n    exports: [TranslateMockPipe, TranslateMockDirective],\n    providers: [{ provide: TranslateService, useClass: TranslateServiceMock }],\n})\nexport class TranslateMockModule {}\n",
            "children": [
                {
                    "type": "providers",
                    "elements": []
                },
                {
                    "type": "declarations",
                    "elements": []
                },
                {
                    "type": "imports",
                    "elements": [
                        {
                            "name": "TranslateMockDirective"
                        },
                        {
                            "name": "TranslateMockPipe"
                        }
                    ]
                },
                {
                    "type": "exports",
                    "elements": [
                        {
                            "name": "TranslateMockDirective"
                        },
                        {
                            "name": "TranslateMockPipe"
                        }
                    ]
                },
                {
                    "type": "bootstrap",
                    "elements": []
                },
                {
                    "type": "classes",
                    "elements": []
                }
            ]
        }
    ],
    "miscellaneous": {
        "variables": [
            {
                "name": "asyncMimeTypeExtensionValidator",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-file-upload/utils/eui-file-upload.validators.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(mimeTypes: MimeType[]): AsyncValidatorFn =>\n    (control: AbstractControl): Promise<ValidationErrors | null> | Observable<ValidationErrors | null> => {\n        if (control.value) {\n            const fileErrorObservables: Observable<ValidationErrors | null>[] = [];\n            // iterate over files\n            control.value.forEach((file: File) => {\n                // push observable which will check the mime validation type\n                fileErrorObservables.push(validateFileMimeType(file, mimeTypes));\n            });\n            return zip(...fileErrorObservables).pipe(\n                map((fileErrors) => {\n                    const errors = fileErrors.filter((fileError) => fileError !== null);\n                    // Error should be { fileName: FileType }\n\n                    if (errors.length === 0) {\n                        return null;\n                    }\n\n                    return { invalidMimeFileType: errors };\n                }),\n            );\n        }\n        return of(null);\n    }"
            },
            {
                "name": "BOTTOM",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-popover/models/eui-popover-position.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new ConnectionPositionPair(\n    { originX: 'center', originY: 'bottom' },\n    { overlayX: 'center', overlayY: 'top' },\n    0, 0,\n    ['eui-popover-position', 'eui-popover-position--bottom'],\n)",
                "rawdescription": "Position configuration for a popover appearing below its origin element.\nCenters the popover horizontally relative to the origin.",
                "description": "<p>Position configuration for a popover appearing below its origin element.\nCenters the popover horizontally relative to the origin.</p>\n"
            },
            {
                "name": "byteLength",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/externals/eui-editor/validators/eui-editor.validators.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(value: string): number => {\n    // returns the byte length of an utf8 string\n    let s = value.length;\n    for (let i = value.length - 1; i >= 0; i--) {\n        const code = value.charCodeAt(i);\n        if (code > 0x7f && code <= 0x7ff) {\n            s++;\n        } else if (code > 0x7ff && code <= 0xffff) {\n            s += 2;\n        }\n        if (code >= 0xdc00 && code <= 0xdfff) {\n            i--;\n        }\n    }\n    return s;\n}"
            },
            {
                "name": "colorTypeTransform",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-progress-circle/eui-progress-circle.component.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(value: string | ColorType): ColorType => {\n    const types = ['info', 'success', 'warning', 'danger'];\n    return types.includes(value) ? value as ColorType : 'info';\n}"
            },
            {
                "name": "context",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/testing/test.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "require.context('../', true, /\\.spec\\.ts$/)"
            },
            {
                "name": "DATA",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-table/testing/virtual-scroll-async.component.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "[]",
                "defaultValue": "[\n    { id: 1, country: 'Austria', year: 1995, iso: 'AT', population: 8504850, capital: 'Vienna' },\n    { id: 2, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n    { id: 3, country: 'Bulgaria', year: 2007, iso: 'BG', population: 7364570, capital: 'Sofia' },\n    { id: 4, country: 'Croatia', year: 2013, iso: 'HR', population: 4284889, capital: 'Zagreb' },\n    { id: 5, country: 'Cyprus', year: 2004, iso: 'CY', population: 1117000, capital: 'Nicosia' },\n    { id: 6, country: 'Czechia', year: 2004, iso: 'CZ', population: 10513209, capital: 'Prague' },\n    { id: 7, country: 'Denmark', year: 1973, iso: 'DK', population: 5655750, capital: 'Copenhagen' },\n    { id: 8, country: 'Estonia', year: 2004, iso: 'EE', population: 1315819, capital: 'Tallinn' },\n    { id: 9, country: 'Finland', year: 1995, iso: 'FI', population: 5470820, capital: 'Helsinki' },\n    { id: 10, country: 'France', year: 1958, iso: 'FR', population: 67210000, capital: 'Paris' },\n    { id: 11, country: 'Germany', year: 1958, iso: 'DE', population: 80716000, capital: 'Berlin' },\n    { id: 12, country: 'Greece', year: 1981, iso: 'GR', population: 10816286, capital: 'Athens' },\n    { id: 13, country: 'Hungary', year: 2004, iso: 'HU', population: 9877365, capital: 'Budapest' },\n    { id: 14, country: 'Ireland', year: 1973, iso: 'IE', population: 4609600, capital: 'Dublin' },\n    { id: 15, country: 'Italy', year: 1958, iso: 'IT', population: 60782668, capital: 'Rome' },\n    { id: 16, country: 'Latvia', year: 2004, iso: 'LV', population: 1990300, capital: 'Riga' },\n    { id: 17, country: 'Lithuania', year: 2004, iso: 'LT', population: 2944459, capital: 'Vilnius' },\n    { id: 18, country: 'Luxembourg', year: 1958, iso: 'LU', population: 549680, capital: 'Luxembourg' },\n    { id: 19, country: 'Malta', year: 2004, iso: 'MT', population: 446547, capital: 'Valletta' },\n    { id: 20, country: 'Netherlands', year: 1958, iso: 'NL', population: 16856620, capital: 'Amsterdam' },\n    { id: 21, country: 'Poland', year: 2004, iso: 'PL', population: 38483957, capital: 'Warsaw' },\n    { id: 22, country: 'Portugal', year: 1986, iso: 'PT', population: 10427301, capital: 'Lisbon' },\n    { id: 23, country: 'Romania', year: 2007, iso: 'RO', population: 19942642, capital: 'Bucharest' },\n    { id: 24, country: 'Slovakia', year: 2004, iso: 'SK', population: 5415949, capital: 'Bratislava' },\n    { id: 25, country: 'Slovenia', year: 2004, iso: 'SI', population: 2061085, capital: 'Ljubljana' },\n    { id: 26, country: 'Spain', year: 1986, iso: 'ES', population: 46704314, capital: 'Madrid' },\n    { id: 27, country: 'Sweden', year: 1995, iso: 'SE', population: 10004962, capital: 'Stockholm' },\n    { id: 28, country: 'United Kingdom', year: 1973, iso: 'GB', population: 64100000, capital: 'London' },\n]"
            },
            {
                "name": "dateInputValidator",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-datepicker/eui-datepicker.validators.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "ValidatorFn",
                "defaultValue": "(control: AbstractControl): ValidationErrors | null => {\n    // Access the stored input reference from the control\n    // eslint-disable-next-line\n    const inputElement = (control as any)._inputRef?.nativeElement;\n    if (inputElement) {\n        const rawValue = inputElement.value || '';\n        // if the control value is null(malformed date) but the raw input value is not empty, return an error\n        return control.value === null && rawValue.trim() !== '' ? { invalidDate: true } : null;\n    }\n    // return null if no input reference is found\n    return null;\n}"
            },
            {
                "name": "DEFAULT_FORMATS",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-datepicker/eui-datepicker.component.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "object",
                "defaultValue": "{\n    parse: {\n        dateInput: 'L',\n    },\n    display: {\n        dateInput: 'L',\n        monthYearLabel: 'MM/YYYY',\n        dateA11yLabel: 'LL',\n        monthYearA11yLabel: 'LL',\n    },\n}"
            },
            {
                "name": "defaultModules",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/externals/quill/quill-defaults.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "object",
                "defaultValue": "{\n    toolbar: [\n        ['bold', 'italic', 'underline', 'strike'], // toggled buttons\n        ['blockquote', 'code-block'],\n\n        [{ header: 1 }, { header: 2 }], // custom button values\n        [{ list: 'ordered' }, { list: 'bullet' }],\n        [{ script: 'sub' }, { script: 'super' }], // superscript/subscript\n        [{ indent: '-1' }, { indent: '+1' }], // outdent/indent\n        [{ direction: 'rtl' }], // text direction\n\n        [{ size: ['small', false, 'large', 'huge'] }], // custom dropdown\n        [{ header: [1, 2, 3, 4, 5, 6, false] }],\n\n        [{ color: [] }, { background: [] }], // dropdown with defaults from theme\n        [{ font: [] }],\n        [{ align: [] }],\n\n        ['clean'], // remove formatting button\n        ['table'], // adds the insert table button\n        ['link', 'image', 'video'], // link and image, video\n    ],\n}"
            },
            {
                "name": "DIALOG_COMPONENT_CONFIG",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-dialog/services/eui-dialog.token.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new InjectionToken<any>('DIALOG_COMPONENT_CONFIG')"
            },
            {
                "name": "DIALOG_CONTAINER_CONFIG",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-dialog/services/eui-dialog.token.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new InjectionToken<any>('DIALOG_CONTAINER_CONFIG')"
            },
            {
                "name": "EUI_ACCORDION",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-accordion/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiAccordionComponent,\n    EuiAccordionItemComponent,\n    EuiAccordionItemHeaderDirective,\n] as const"
            },
            {
                "name": "EUI_ALERT",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-alert/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiAlertComponent,\n    EuiAlertTitleComponent,\n] as const"
            },
            {
                "name": "EUI_APP",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/layout/eui-app-v2/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiApp,\n    \n    EuiAppSidebar,\n    EuiAppSidebarHeader,\n    EuiAppSidebarBody,\n    EuiAppSidebarFooter,\n    EuiAppSidebarMenu,\n\n    EuiAppToolbar,\n    EuiAppToolbarAppname,\n    EuiAppToolbarAppNameLabel,\n    EuiAppToolbarAppNameSublabel,\n    EuiAppToolbarEnvironment,\n    EuiAppToolbarLogo,\n    EuiAppToolbarItems,\n    EuiAppToolbarItem,\n    EuiAppToolbarSelector,\n    EuiAppToolbarSearch,\n    EuiAppToolbarSidebarToggle,\n    EuiAppToolbarNavbar,\n    EuiAppToolbarNavbarItem,\n    EuiAppToolbarMegaMenu,\n\n    EuiAppHeader,\n    EuiAppHeaderAppName,\n    EuiAppHeaderAppNameLabel,\n    EuiAppHeaderAppNameSublabel,\n    EuiAppHeaderEnvironment,\n    EuiAppHeaderLogo,\n    EuiAppHeaderRightContent,\n    EuiAppHeaderSearch,\n\n    EuiAppTopMessage,\n] as const"
            },
            {
                "name": "EUI_AUTOCOMPLETE",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-autocomplete/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiAutocompleteComponent,\n    EuiAutocompleteOptionComponent,\n    EuiAutocompleteOptionGroupComponent,\n] as const"
            },
            {
                "name": "EUI_AVATAR",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-avatar/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n        EuiAvatarComponent,\n        EuiAvatarIconComponent,\n        EuiAvatarTextComponent,\n        EuiAvatarImageComponent,\n        EuiAvatarBadgeComponent,\n        EuiAvatarListComponent,\n        EuiAvatarContentComponent,\n        EuiAvatarContentLabelComponent,\n        EuiAvatarContentSublabelComponent,\n] as const"
            },
            {
                "name": "EUI_BADGE",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-badge/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiBadgeComponent,\n] as const"
            },
            {
                "name": "EUI_BANNER",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-banner/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiBannerComponent,\n    EuiBannerTitleComponent,\n    EuiBannerDescriptionComponent,\n    EuiBannerCtaComponent,\n    EuiBannerVideoComponent,\n] as const"
            },
            {
                "name": "EUI_BLOCK_CONTENT",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-block-content/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiBlockContentComponent,\n] as const"
            },
            {
                "name": "EUI_BLOCK_DOCUMENT",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-block-document/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiBlockDocumentComponent,\n] as const"
            },
            {
                "name": "EUI_BREADCRUMB",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-breadcrumb/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiBreadcrumbComponent,\n    EuiBreadcrumbItemComponent,\n] as const"
            },
            {
                "name": "EUI_BUTTON",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-button/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiButtonComponent,\n] as const"
            },
            {
                "name": "EUI_BUTTON_GROUP",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-button-group/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiButtonGroupComponent,\n] as const"
            },
            {
                "name": "EUI_CALENDAR",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-calendar/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n\tEuiCalendarMonthlyComponent,\n\tEuiCalendarDayComponent,\n\tEuiCalendarComponent,\n\tEuiCalendarHeaderComponent,\n\tEuiCalendarWeeklyComponent,\n\tEuiCalendarWeeklyDayContentComponent,\n\tEuiCalendarWeeklyDayHeaderActionComponent,\n\tEuiCalendarWeeklyDayHeaderComponent,\n] as const"
            },
            {
                "name": "EUI_CARD",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-card/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiCardComponent,\n    EuiCardHeaderComponent,\n    EuiCardHeaderTitleComponent,\n    EuiCardContentComponent,\n    EuiCardHeaderLeftContentComponent,\n    EuiCardHeaderRightContentComponent,\n    EuiCardHeaderSubtitleComponent,\n    EuiCardHeaderBodyComponent,\n    EuiCardFooterActionButtonsComponent,\n    EuiCardFooterActionIconsComponent,\n    EuiCardMediaComponent,\n    EuiCardFooterComponent,\n    EuiCardFooterMenuContentComponent,\n    EuiCardFooterMenuComponent,\n] as const"
            },
            {
                "name": "EUI_CHARTS",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/externals/charts/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiApexChartComponent,\n] as const"
            },
            {
                "name": "EUI_CHIP",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-chip/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiChipComponent,\n] as const"
            },
            {
                "name": "EUI_CHIP_BUTTON",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-chip-button/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiChipButtonComponent,\n] as const"
            },
            {
                "name": "EUI_CHIP_GROUP",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-chip-group/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiChipGroupComponent,\n] as const"
            },
            {
                "name": "EUI_CHIP_LIST",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-chip-list/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiChipListComponent,\n    EuiChipListAppendContentDirective,\n    EuiChipListAdditionalContentDirective,\n] as const"
            },
            {
                "name": "EUI_COMMENT_THREAD",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-comment-thread/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiCommentThreadComponent,\n    EuiCommentItemComponent,\n    EuiCommentTextareaComponent,\n    EuiCommentItemRightActionsComponent,\n] as const"
            },
            {
                "name": "EUI_CONTENT_CARD",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-content-card/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiContentCardComponent,\n    EuiContentCardBodyTopComponent,\n    EuiContentCardBodyComponent,\n    EuiContentCardFooterComponent,\n    EuiContentCardHeaderComponent,\n    EuiContentCardHeaderEndComponent,\n    EuiContentCardHeaderMetadataComponent,\n    EuiContentCardHeaderStartComponent,\n    EuiContentCardHeaderSubmetadataComponent,\n    EuiContentCardHeaderSubtitleComponent,\n    EuiContentCardHeaderTitleComponent,\n    EuiContentCardMediaComponent,\n] as const"
            },
            {
                "name": "EUI_DASHBOARD_CARD",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-dashboard-card/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiDashboardCardComponent,\n    EuiDashboardCardContentComponent,\n    EuiDashboardCardContentHeaderComponent,\n    EuiDashboardCardContentHeaderIconComponent,\n    EuiDashboardCardContentHeaderTitleComponent,\n    EuiDashboardCardContentHeaderActionComponent,\n    EuiDashboardCardContentBodyComponent,\n    EuiDashboardCardContentFooterComponent,\n    EuiDashboardCardStatusContentComponent,\n] as const"
            },
            {
                "name": "EUI_DATE_BLOCK",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-date-block/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiDateBlockComponent,\n] as const"
            },
            {
                "name": "EUI_DATE_RANGE_SELECTOR",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-date-range-selector/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiTimeRangepickerComponent, \n    EuiDateRangeSelectorComponent,\n] as const"
            },
            {
                "name": "EUI_DATEPICKER",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-datepicker/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n        EuiDatepickerComponent,\n        EuiLetterFormatDirective,\n        EuiYearFormatDirective,\n        EuiMonthYearFormatDirective,\n        EuiActionButtonsDirective,\n] as const"
            },
            {
                "name": "EUI_DIALOG",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-dialog/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiDialogComponent,\n    EuiDialogHeaderDirective,\n    EuiDialogFooterDirective,\n    EuiDialogContainerComponent,\n] as const"
            },
            {
                "name": "EUI_DIMMER",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-dimmer/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiDimmerComponent,\n] as const"
            },
            {
                "name": "EUI_DISABLE_CONTENT",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-disable-content/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiDisableContentComponent,\n] as const"
            },
            {
                "name": "EUI_DISCUSSION_THREAD",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-discussion-thread/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiDiscussionThreadComponent, \n    EuiDiscussionThreadItemComponent,\n] as const"
            },
            {
                "name": "EUI_DROPDOWN",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-dropdown/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiDropdownComponent,\n    EuiDropdownItemComponent,\n    EuiDropdownContentDirective,\n] as const"
            },
            {
                "name": "EUI_FEEDBACK_MESSAGE",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-feedback-message/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiFeedbackMessageComponent,\n] as const"
            },
            {
                "name": "EUI_FIELDSET",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-fieldset/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiFieldsetComponent,\n    EuiFieldsetLabelExtraContentTagDirective,\n    EuiFieldsetLabelRightContentTagDirective,\n] as const"
            },
            {
                "name": "EUI_FILE_UPLOAD",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-file-upload/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiFileUploadComponent,\n    EuiFileUploadProgressComponent,\n    EuiFilePreviewComponent,\n    EuiFileSizePipe,\n] as const"
            },
            {
                "name": "EUI_GROWL",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-growl/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[ EuiGrowlComponent ] as const"
            },
            {
                "name": "EUI_HELPER_TEXT",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-helper-text/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiHelperTextComponent,\n] as const"
            },
            {
                "name": "EUI_ICON",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-icon/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiIconSvgComponent,\n] as const"
            },
            {
                "name": "EUI_ICON_BUTTON",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-icon-button/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiIconButtonComponent,\n] as const"
            },
            {
                "name": "EUI_ICON_BUTTON_EXPANDER",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-icon-button-expander/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiIconButtonExpanderComponent,\n] as const"
            },
            {
                "name": "EUI_ICON_COLOR",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-icon-color/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiIconColorComponent,\n] as const"
            },
            {
                "name": "EUI_ICON_INPUT",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-icon-input/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiIconInputComponent,\n] as const"
            },
            {
                "name": "EUI_ICON_STATE",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-icon-state/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiIconStateComponent,\n] as const"
            },
            {
                "name": "EUI_ICON_TOGGLE",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-icon-toggle/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiIconToggleComponent,\n] as const"
            },
            {
                "name": "EUI_INPUT_BUTTON",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-input-button/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiInputButtonComponent,\n] as const"
            },
            {
                "name": "EUI_INPUT_CHECKBOX",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-input-checkbox/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiInputCheckboxComponent,\n] as const"
            },
            {
                "name": "EUI_INPUT_GROUP",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-input-group/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n        EuiInputGroupComponent,\n        EuiInputGroupAddOnComponent,\n        EuiInputGroupAddOnItemComponent,\n] as const"
            },
            {
                "name": "EUI_INPUT_NUMBER",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-input-number/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiInputNumberComponent,\n    EuiInputNumberDirective,\n] as const"
            },
            {
                "name": "EUI_INPUT_RADIO",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-input-radio/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiInputRadioComponent,\n] as const"
            },
            {
                "name": "EUI_INPUT_TEXT",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-input-text/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiInputTextComponent,\n] as const"
            },
            {
                "name": "EUI_LABEL",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-label/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiLabelComponent,\n] as const"
            },
            {
                "name": "EUI_LANGUAGE_SELECTOR",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-language-selector/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiLanguageSelectorComponent, \n    EuiModalSelectorComponent,\n] as const"
            },
            {
                "name": "EUI_LAYOUT",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/layout/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiAppComponent,\n    EuiAppBreadcrumbComponent,\n    EuiAppFooterComponent,\n    EuiAppHeaderComponent,\n    EuiAppPageWrapperDirective,\n    EuiAppSidebarBodyComponent,\n    EuiAppSidebarComponent,\n    EuiAppSidebarDrawerComponent,\n    EuiAppSidebarFooterComponent,\n    EuiAppSidebarHeaderComponent,\n    EuiAppSidebarHeaderUserProfileComponent,\n    EuiAppSidebarMenuComponent,\n    EuiAppToolbarComponent,\n    EuiAppToolbarItemsMobileComponent,\n    EuiAppTopMessageComponent,   \n    EuiAppSideContainerComponent,\n\n    EuiFooterComponent,\n\n    EuiHeaderAppComponent,\n    EuiHeaderAppNameComponent,\n    EuiHeaderAppNameLogoComponent,\n    EuiHeaderAppSubtitleComponent,\n    EuiHeaderComponent,\n    EuiHeaderEnvironmentComponent,\n    EuiHeaderLogoComponent,\n    EuiHeaderRightContentComponent,\n    EuiHeaderSearchComponent,\n    EuiHeaderUserProfileComponent,\n\n    EuiNotificationItemComponent,\n    EuiNotificationsComponent,\n\n    EuiNotificationItemV2Component,\n    EuiNotificationsV2Component,    \n\n    EuiSidebarToggleComponent,\n\n    EuiToolbarAppComponent,\n    EuiToolbarCenterComponent,\n    EuiToolbarComponent,\n    EuiToolbarEnvironmentComponent,\n    EuiToolbarItemComponent,\n    EuiToolbarItemsComponent,\n    EuiToolbarLogoComponent,\n    EuiToolbarMegaMenuComponent,\n    EuiToolbarNavbarComponent,\n    EuiToolbarNavbarItemComponent,\n    EuiToolbarSearchComponent,\n    EuiToolbarSelectorComponent,    \n] as const"
            },
            {
                "name": "EUI_LIST",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-list/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiListComponent,\n    EuiListItemComponent,\n] as const"
            },
            {
                "name": "EUI_MENU",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-menu/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiMenuComponent,\n    EuiMenuItemComponent,\n] as const"
            },
            {
                "name": "EUI_MESSAGE_BOX",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-message-box/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiMessageBoxComponent,\n    EuiMessageBoxFooterDirective,\n] as const"
            },
            {
                "name": "EUI_NAVBAR",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-navbar/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiNavbarComponent,\n    EuiNavbarItemComponent,\n] as const"
            },
            {
                "name": "EUI_OVERLAY",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-overlay/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiOverlayHeaderComponent,\n    EuiOverlayHeaderTitleComponent,\n    EuiOverlayBodyComponent,\n    EuiOverlayContentComponent,\n    EuiOverlayFooterComponent,\n    EuiOverlayComponent,\n] as const"
            },
            {
                "name": "EUI_PAGE",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-page/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiPageComponent,\n    EuiPageColumnComponent,\n    EuiPageColumnHeaderBodyContentDirective,\n    EuiPageColumnHeaderLeftContentDirective,\n    EuiPageColumnHeaderRightContentDirective,\n    EuiPageColumnHeaderCollapsedContentDirective,\n    EuiPageColumnBodyContentDirective,\n    EuiPageColumnFooterContentDirective,\n    EuiPageColumnsComponent,\n    EuiPageContentComponent,\n    EuiPageHeaderComponent,\n    EuiPageHeaderSubLabelComponent,\n    EuiPageHeaderBodyComponent,\n    EuiPageHeaderActionItemsComponent,\n    EuiPageHeroHeaderComponent,\n    EuiPageFooterComponent,\n    EuiPageBreadcrumbComponent,\n    EuiPageTopContentComponent,\n] as const"
            },
            {
                "name": "EUI_PAGE",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-page-v2/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiPage,\n    EuiPageContent,\n    EuiPageHeader,\n    EuiPageHeaderLabel,\n    EuiPageHeaderSubLabel,\n    EuiPageHeaderBody,\n    EuiPageHeaderActionItems,\n\n    EuiPageColumns,\n\n    EuiPageColumn,\n    EuiPageColumnHeader,\n    EuiPageColumnHeaderStart,\n    EuiPageColumnHeaderEnd,\n    EuiPageColumnHeaderLabel,\n    EuiPageColumnHeaderSubLabel,\n    EuiPageColumnHeaderBody,\n    EuiPageColumnFooter,\n\n    EuiPageColumnBody,\n\n    EuiPageFooter,\n\n    EuiPageBreadcrumb,\n    EuiPageTopContent,\n] as const"
            },
            {
                "name": "EUI_PAGINATOR",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-paginator/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[ EuiPaginatorComponent ] as const"
            },
            {
                "name": "EUI_POPOVER",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-popover/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiPopoverComponent,\n] as const"
            },
            {
                "name": "EUI_PROGRESS_BAR",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-progress-bar/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiProgressBarComponent,\n] as const"
            },
            {
                "name": "EUI_PROGRESS_CIRCLE",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-progress-circle/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiProgressCircleComponent,\n] as const"
            },
            {
                "name": "EUI_RATING",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-rating/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiRatingComponent,\n] as const"
            },
            {
                "name": "EUI_SECTION_HEADER",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-section-header/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiSectionHeaderComponent,\n    EuiSectionHeaderTitleComponent,\n    EuiSectionHeaderIconComponent,\n    EuiSectionHeaderActionComponent,\n    EuiSectionHeaderDescriptionComponent,\n] as const"
            },
            {
                "name": "EUI_SELECT",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-select/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiSelectComponent,\n    EuiNgSelectOptionDirective,\n    EuiSelectControlValueAccessor,\n    EuiSelectMultipleControlValueAccessor,\n    EuiSelectMultipleOption,\n] as const"
            },
            {
                "name": "EUI_SIDEBAR_MENU",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-sidebar-menu/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiSidebarMenuComponent,\n] as const"
            },
            {
                "name": "EUI_SKELETON",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-skeleton/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiSkeletonComponent,\n] as const"
            },
            {
                "name": "EUI_SLIDE_TOGGLE",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-slide-toggle/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiSlideToggleComponent,\n] as const"
            },
            {
                "name": "EUI_SLIDER",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-slider/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiSliderComponent,\n] as const"
            },
            {
                "name": "EUI_SNC",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-snc/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[EuiSncComponent] as const"
            },
            {
                "name": "EUI_SPLIT_BUTTON",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-split-button/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiSplitButtonComponent,\n] as const"
            },
            {
                "name": "EUI_STATUS_BADGE",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-status-badge/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiStatusBadgeComponent,\n] as const"
            },
            {
                "name": "EUI_TABLE",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-table/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiTableComponent,\n    EuiTableSelectableHeaderComponent,\n    EuiTableSelectableRowComponent,\n    EuiTableStickyColDirective,\n    EuiTableFilterComponent,\n    EuiTableHighlightPipe,\n    EuiTableSortableColComponent,\n    EuiTableExpandableRowDirective,\n    EuiTemplateDirective,\n] as const"
            },
            {
                "name": "EUI_TABS",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-tabs/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiTabsComponent,\n    EuiTabsRightContentComponent,\n    EuiTabBodyComponent,\n    EuiTabHeaderComponent,\n    EuiTabHeaderLabelComponent,\n    EuiTabHeaderSublabelComponent,\n    EuiTabHeaderRightContentComponent,\n    EuiTabHeaderLeftContentComponent,\n    EuiTabComponent,\n] as const"
            },
            {
                "name": "EUI_TEXTAREA",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-textarea/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiTextareaComponent,\n    AutoResizeDirective,\n] as const"
            },
            {
                "name": "EUI_TIMELINE",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-timeline/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiTimelineComponent, \n    EuiTimelineItemComponent,\n] as const"
            },
            {
                "name": "EUI_TIMEPICKER",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-timepicker/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiTimepickerComponent,\n] as const"
            },
            {
                "name": "EUI_TOGGLE_GROUP",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-toggle-group/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiToggleGroupComponent,\n    EuiToggleGroupItemComponent,\n] as const"
            },
            {
                "name": "EUI_TREE",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-tree/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiTreeComponent,\n] as const"
            },
            {
                "name": "EUI_TREE_LIST",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-tree-list/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n        EuiTreeListComponent,\n        EuiTreeListItemComponent,\n        EuiTreeListItemLabelTagDirective,\n        EuiTreeListItemDetailsContentTagDirective,\n        EuiTreeListItemSubContainerContentTagDirective,\n        EuiTreeListItemContentComponent,\n        EuiTreeListToolbarComponent,\n] as const"
            },
            {
                "name": "EUI_USER_PROFILE",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-user-profile/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n        EuiUserProfileComponent,\n        EuiUserProfileMenuComponent,\n        EuiUserProfileMenuItemComponent,\n        EuiUserProfileCardComponent,\n] as const"
            },
            {
                "name": "EUI_WIZARD",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-wizard/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiWizardStepComponent, \n    EuiWizardComponent,\n] as const"
            },
            {
                "name": "EUI_WIZARD_V2",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-wizard-v2/index.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "[\n    EuiWizardStepComponent, \n    EuiWizardComponent,\n] as const"
            },
            {
                "name": "euiAnimationCollapse",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/shared/animations/collapse.animation.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "trigger('euiAnimationCollapse', [\n    state('false', style({ height: AUTO_STYLE, visibility: AUTO_STYLE })),\n    state('true', style({ height: '0', visibility: 'hidden', paddingTop: '0', paddingBottom: '0' })),\n    transition('false => true', animate(100 + 'ms ease-in')),\n    transition('true => false', animate(200 + 'ms ease-out')),\n])"
            },
            {
                "name": "euiAutocompleteForceSelectionFromData",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-autocomplete/validators/force-selection-from-data.validator.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(control: AbstractControl<EuiAutoCompleteItem | EuiAutoCompleteItem[]>):\n    { isInData: { isInData: boolean; invalidValues: EuiAutoCompleteItem | EuiAutoCompleteItem[] } } | null => {\n    if (control.value) {\n        const isInData = Array.isArray(control.value) ? control.value.every(obj => 'id' in obj) : control.value.id !== undefined;\n        const invalidValues = Array.isArray(control.value) ? control.value.filter(v => v.id === undefined) : control.value;\n\n        return !isInData ? { isInData: { isInData, invalidValues } } : null;\n    }\n\n    return null;\n}"
            },
            {
                "name": "EuiCalendarDayOfWeek",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-calendar/models.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "object",
                "defaultValue": "{\n\tMONDAY: 0,\n\tTUESDAY: 1,\n\tWEDNESDAY: 2,\n\tTHURSDAY: 3,\n\tFRIDAY: 4,\n\tSATURDAY: 5,\n\tSUNDAY: 6,\n}",
                "rawdescription": "Enum for days of the week",
                "description": "<p>Enum for days of the week</p>\n"
            },
            {
                "name": "euiEditorMaxBytes",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/externals/eui-editor/validators/eui-editor.validators.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(maxBytes: number): ValidatorFn =>\n    (control: AbstractControl): { maxBytes: { maxBytes: number; actual: number } } | null => {\n        if (control.value) {\n            let actual = 0;\n            if (isJson(control.value)) {\n                actual = byteLength(control.value);\n            } else {\n                const m = encodeURIComponent(control.value).match(/%[89ABab]/g);\n                actual = control.value.length + (m ? m.length : 0);\n            }\n\n            return actual > maxBytes ? { maxBytes: { maxBytes, actual } } : null;\n        }\n    }"
            },
            {
                "name": "euiEditorMaxLength",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/externals/eui-editor/validators/eui-editor.validators.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(maxLength: number): ValidatorFn =>\n    (control: AbstractControl): { maxLength: { maxLength: number; actual: number } } | null => {\n        if (control.value) {\n            let actual = 0;\n            if (isJson(control.value)) {\n                const content = JSON.parse(control.value)\n                    .ops.filter((c: { attributes: string; insert: string }) => typeof c.insert === 'string')\n                    .map((c: { attributes: string; insert: string }) => c.insert.replace(/\\n/g, ''));\n\n                const jsonStrippedContent = content.join('');\n                actual = jsonStrippedContent.length;\n            } else {\n                const regex = /(<([^>]+)>)/gi;\n                const tagsStrippedContent = control.value.replace(regex, '');\n                actual = tagsStrippedContent.length;\n            }\n\n            return actual > maxLength ? { maxLength: { maxLength, actual } } : null;\n        }\n    }"
            },
            {
                "name": "euiEditorMaxWords",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/externals/eui-editor/validators/eui-editor.validators.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(maxWords: number): ValidatorFn =>\n    (control: AbstractControl<string>): { maxWords: { maxWords: number; actual: number } } | null => {\n        const regex = /[\\s\\n]+/;\n        if (control.value) {\n            let actual = 0;\n            if (isJson(control.value)) {\n                const content = JSON.parse(control.value)\n                    .ops.filter((c: { insert: string }) => typeof c.insert === 'string')\n                    .map((c: { insert: string }) => c.insert);\n\n                const jsonStrippedContent = content.join('');\n                actual = jsonStrippedContent.replace(/\\n/g, ' ').split(/\\s+/).filter(t => t !== '').length;\n            } else {\n                const text = control.value.replace(/[\\u200B-\\u200D\\uFEFF]/g, '').replace(/<\\/(p|div|br|li|h[1-6])>/gi, ' ').replace(/<[^>]+>/g, '');\n                actual = !text ? 0 : text.trim().split(regex).filter(t => t !== '').length;\n            }\n\n            return actual > maxWords ? { maxWords: { maxWords, actual } } : null;\n        }\n    }"
            },
            {
                "name": "euiEditorMinBytes",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/externals/eui-editor/validators/eui-editor.validators.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(minBytes: number): ValidatorFn =>\n    (control: AbstractControl): { minBytes: { minBytes: number; actual: number } } | null => {\n        if (control.value) {\n            let actual = 0;\n            const m = encodeURIComponent(control.value).match(/%[89ABab]/g);\n            actual = control.value.length + (m ? m.length : 0);\n\n            return actual < minBytes ? { minBytes: { minBytes, actual } } : null;\n        }\n    }"
            },
            {
                "name": "euiEditorMinLength",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/externals/eui-editor/validators/eui-editor.validators.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(minLength: number): ValidatorFn =>\n    (control: AbstractControl): { minLength: { minLength: number; actual: number } } | null => {\n        if (control.value) {\n            let actual = 0;\n            if (isJson(control.value)) {\n                const content = JSON.parse(control.value)\n                    .ops.filter((c: { attributes: string; insert: string }) => typeof c.insert === 'string')\n                    .map((c: { attributes: string; insert: string }) => c.insert.replace(/\\n/g, ''));\n\n                const jsonStrippedContent = content.join('');\n                actual = jsonStrippedContent.length;\n            } else {\n                const regex = /(<([^>]+)>)/gi;\n                const tagsStrippedContent = control.value.replace(regex, '');\n                actual = tagsStrippedContent.length;\n            }\n\n            return actual < minLength ? { minLength: { minLength, actual } } : null;\n        }\n    }"
            },
            {
                "name": "euiEditorMinWords",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/externals/eui-editor/validators/eui-editor.validators.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(minWords: number): ValidatorFn =>\n    (control: AbstractControl<string>): { minWords: { minWords: number; actual: number } } | null => {\n        const regex = /[\\s\\n]+/;\n        if (control.value) {\n            let actual = 0;\n            if (isJson(control.value)) {\n                const content = JSON.parse(control.value)\n                    .ops.filter((c: { insert: string }) => typeof c.insert === 'string')\n                    .map((c: { insert: string }) => c.insert);\n\n                const jsonStrippedContent = content.join('');\n                actual = jsonStrippedContent.replace(/\\n/g, ' ').split(/\\s+/).filter(t => t !== '').length;\n            } else {\n                const text = control.value.replace(/[\\u200B-\\u200D\\uFEFF]/g, '').replace(/<\\/(p|div|br|li|h[1-6])>/gi, ' ').replace(/<[^>]+>/g, '');\n                actual = !text ? 0 : text.trim().split(regex).filter(t => t !== '').length;\n            }\n\n            return actual < minWords ? { minWords: { minWords, actual } } : null;\n        }\n    }"
            },
            {
                "name": "euiStartEndDateValidator",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-date-range-selector/eui-date-range-selector.validators.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(adapter: DateAdapter<any>): ValidatorFn =>\n    (control: AbstractControl): ValidationErrors | null => {\n        const start = moment(adapter.getValidDateOrNull(adapter.deserialize(control.value?.startRange)));\n        const end = moment(control.value?.endRange);\n        return !start || !end || adapter.compareDate(start, end) <= 0 ? null : { euiDateRangeInvalid: { end, actual: start } };\n    }"
            },
            {
                "name": "extractZipFileList",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-file-upload/utils/mime-types.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(data: Uint8Array): string[] => {\n\t// Simplified ZIP parsing - looks for central directory entries\n\tconst files: string[] = [];\n\tlet offset = 0;\n\n\twhile (offset < data.length - 4) {\n\t\t// Look for local file header signature (0x04034b50)\n\t\tif (data[offset] === 0x50 && data[offset + 1] === 0x4b &&\n\t\t\tdata[offset + 2] === 0x03 && data[offset + 3] === 0x04) {\n\n\t\t\tconst filenameLength = data[offset + 26] | (data[offset + 27] << 8);\n\t\t\tconst extraFieldLength = data[offset + 28] | (data[offset + 29] << 8);\n\n\t\t\tif (filenameLength > 0 && offset + 30 + filenameLength <= data.length) {\n\t\t\t\tconst filename = new TextDecoder().decode(data.slice(offset + 30, offset + 30 + filenameLength));\n\t\t\t\tfiles.push(filename);\n\t\t\t}\n\n\t\t\toffset += 30 + filenameLength + extraFieldLength;\n\t\t} else {\n\t\t\toffset++;\n\t\t}\n\t}\n\n\treturn files;\n}"
            },
            {
                "name": "getFormat",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/externals/quill/quill-editor.component.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(format?: QuillFormat, configFormat?: QuillFormat): QuillFormat => {\n    const passedFormat = format || configFormat;\n    return passedFormat || 'html';\n}"
            },
            {
                "name": "getMimeType",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-file-upload/utils/mime-types.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(header: Uint8Array): MimeType => {\n    // convert Uint8Array to hex string\n    const hex = uint8ArrayToHexString(header);\n\n    // map hex string to mime type\n    if (hex.startsWith('ffd8ff')) return 'image/jpeg';\n    if (hex.startsWith('89504e47')) return 'image/png';\n    if (hex.startsWith('464c4946')) return 'image/flif';\n    if (hex.startsWith('67696d7020786366')) return 'image/x-xcf';\n    if (hex.startsWith('49492a00')) return 'image/x-canon-cr2';\n    if (hex.startsWith('49492a00')) return 'image/x-canon-cr3';\n    if (hex.startsWith('49492a00')) return 'image/tiff';\n    if (hex.startsWith('424d')) return 'image/bmp';\n    if (hex.startsWith('69636e73')) return 'image/icns';\n    if (hex.startsWith('49491a0000004845415050')) return 'image/vnd.ms-photo';\n    if (hex.startsWith('38425053')) return 'image/vnd.adobe.photoshop';\n    if (hex.startsWith('06054b50')) return 'application/x-indesign';\n\t// Handle ZIP-based formats by examining content\n\tif (hex.startsWith('504b0304')) {\n\t\treturn identifyZipBasedFormat(header);\n\t}\n    if (hex.startsWith('7b2274797065223a226a736f6e227d')) return 'application/json';\n    if (hex.startsWith('7573746172')) return 'application/x-tar';\n    if (hex.startsWith('526172211a0700')) return 'application/x-rar-compressed';\n    if (hex.startsWith('1f8b08')) return 'application/gzip';\n    if (hex.startsWith('425a68')) return 'application/x-bzip2';\n    if (hex.startsWith('377abcaf271c')) return 'application/x-7z-compressed';\n    if (hex.startsWith('78da')) return 'application/x-apple-diskimage';\n    if (hex.startsWith('00000020667479706d70')) return 'video/mp4';\n    if (hex.startsWith('4d546864')) return 'audio/midi';\n    if (hex.startsWith('1a45dfa393428288')) return 'video/x-matroska';\n    if (hex.startsWith('1a45dfa3')) return 'video/webm';\n    if (hex.startsWith('00000014667479707174')) return 'video/quicktime';\n    if (hex.startsWith('52494646')) return 'video/vnd.avi';\n    if (hex.startsWith('52494646')) return 'audio/vnd.wave';\n    if (hex.startsWith('0a010301')) return 'audio/qcelp';\n    if (hex.startsWith('3026b2758e66cf11')) return identifyAsfFormat(header);\n    if (hex.startsWith('000001ba')) return 'video/mpeg';\n    if (hex.startsWith('00000020667479703367')) return 'video/3gpp';\n    if (hex.startsWith('494433')) return 'audio/mpeg';\n    if (hex.startsWith('00000020667479704d344120')) return 'audio/mp4';\n    if (hex.startsWith('4f707573')) return 'audio/opus';\n    if (hex.startsWith('4f676753')) return identifyOggFormat(header);\n    if (hex.startsWith('664c6143')) return 'audio/x-flac';\n    if (hex.startsWith('4d414320')) return 'audio/ape';\n    if (hex.startsWith('7776706b')) return 'audio/wavpack';\n    if (hex.startsWith('2321414d520a')) return 'audio/amr';\n    if (hex.startsWith('255044462d312e')) return 'application/pdf';\n    if (hex.startsWith('7f454c46')) return 'application/x-elf';\n    if (hex.startsWith('4d5a')) return 'application/x-msdownload';\n    if (hex.startsWith('435753')) return 'application/x-shockwave-flash';\n    if (hex.startsWith('7b5c72746631')) return 'application/rtf';\n    if (hex.startsWith('0061736d')) return 'application/wasm';\n    if (hex.startsWith('774f4646')) return 'font/woff';\n    if (hex.startsWith('774f4632')) return 'font/woff2';\n    if (hex.startsWith('000100000008')) return 'application/vnd.ms-fontobject';\n    if (hex.startsWith('0001000000')) return 'font/ttf';\n    if (hex.startsWith('4f54544f00')) return 'font/otf';\n    if (hex.startsWith('000001000100')) return 'image/x-icon';\n    if (hex.startsWith('464c560105')) return 'video/x-flv';\n    if (hex.startsWith('25215053')) return 'application/postscript';\n    if (hex.startsWith('25215053')) return 'application/eps';\n    if (hex.startsWith('fd377a585a00')) return 'application/x-xz';\n    if (hex.startsWith('53514c69746520666f726d6174203300')) return 'application/x-sqlite3';\n    if (hex.startsWith('4e45531a00000001')) return 'application/x-nintendo-nes-rom';\n    if (hex.startsWith('4d534346')) return 'application/vnd.ms-cab-compressed';\n    if (hex.startsWith('213c617263683e0a')) return 'application/x-deb';\n    if (hex.startsWith('1f8b08')) return 'application/x-unix-archive';\n    if (hex.startsWith('edabeedb')) return 'application/x-rpm';\n    if (hex.startsWith('1f9d90')) return 'application/x-compress';\n    if (hex.startsWith('4c5a4950')) return 'application/x-lzip';\n    if (hex.startsWith('d0cf11e0a1b11ae1')) return 'application/x-cfb';\n    if (hex.startsWith('4d49455f')) return 'application/x-mie';\n    if (hex.startsWith('4141523146')) return 'application/x-apache-arrow';\n    if (hex.startsWith('060e2b3402050101')) return 'application/mxf';\n    if (hex.startsWith('47')) return 'video/mp2t';\n    if (hex.startsWith('4250e4')) return 'application/x-blender';\n    if (hex.startsWith('425047fb')) return 'image/bpg';\n    if (hex.startsWith('ff4fff51')) return 'image/j2c';\n    if (hex.startsWith('0000000c6a5020200d0a')) return 'image/jp2';\n    if (hex.startsWith('6a5020200d0a870a')) return 'image/jpx';\n    if (hex.startsWith('6a5020200d0a870a')) return 'image/jpm';\n    if (hex.startsWith('0000000c6a5020200d0a')) return 'image/mj2';\n    if (hex.startsWith('464f524d')) return 'audio/aiff';\n    if (hex.startsWith('3c3f786d6c20')) return 'application/xml';\n    if (hex.startsWith('424f4f4b4d4f4249')) return 'application/x-mobipocket-ebook';\n    if (hex.startsWith('667479706174')) return identifyHeifFormat(header);\n    if (hex.startsWith('4b545820')) return 'image/ktx';\n    if (hex.startsWith('4449434d')) return 'application/dicom';\n    if (hex.startsWith('4d50434b')) return 'audio/x-musepack';\n    if (hex.startsWith('56656e64')) return 'text/calendar';\n    if (hex.startsWith('424547494e3a5643415244')) return 'text/vcard';\n    if (hex.startsWith('676c5458')) return 'model/gltf-binary';\n    if (hex.startsWith('d4c3b2a1')) return 'application/vnd.tcpdump.pcap';\n    if (hex.startsWith('464f524d')) return 'audio/x-voc';\n    if (hex.startsWith('64646f6c')) return 'audio/vnd.dolby.dd-raw';\n\n    return null;\n}"
            },
            {
                "name": "getPosition",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-popover/models/eui-popover-position.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "({ connectionPair }: ConnectedOverlayPositionChange): EuiPopoverPosition => {\n    switch (connectionPair) {\n        case TOP:\n            return 'top';\n        case BOTTOM:\n            return 'bottom';\n        case LEFT:\n            return 'left';\n        case RIGHT:\n            return 'right';\n    }\n}",
                "rawdescription": "Converts a ConnectedOverlayPositionChange object to an EuiPopoverPosition string.\nUsed to determine which predefined position the overlay has settled on.",
                "description": "<p>Converts a ConnectedOverlayPositionChange object to an EuiPopoverPosition string.\nUsed to determine which predefined position the overlay has settled on.</p>\n"
            },
            {
                "name": "getViewElement",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/externals/helpers/get-view-element.helper.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(fixture, componentClass, klass?) => {\n    let el;\n    let domElement;\n    const de = fixture.debugElement.query(By.css(componentClass));\n    if (de) {\n        el = de.nativeElement;\n\n        if (el && klass) {\n            domElement = el.querySelectorAll(klass);\n\n            if (domElement.length <= 1) {\n                domElement = el.querySelector(klass);\n            }\n        }\n    }\n\n    return { de, el, domElement };\n}"
            },
            {
                "name": "Handlebars",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/dist/docs/template-playground/hbs-render.service.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "any"
            },
            {
                "name": "identifyAsfFormat",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-file-upload/utils/mime-types.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(data: Uint8Array): MimeType => {\n\t// ASF files all start with the same GUID: 3026b2758e66cf11a6d900aa0062ce6c\n\t// To distinguish between audio, video, and application ASF, we need to examine\n\t// the stream properties in the ASF header\n\n\ttry {\n\t\t// Look for stream properties object GUID starting at offset 30\n\t\t// Audio stream properties: b7dc0791a9b711cf8ee600c00c205365\n\t\t// Video stream properties: bc19efc05b4d11cf9b1100aa00bbcb8b\n\n\t\tif (data.length < 100) {\n\t\t\t// Not enough data to analyze, default to application\n\t\t\treturn 'application/vnd.ms-asf';\n\t\t}\n\n\t\tconst hex = uint8ArrayToHexString(data);\n\n\t\t// Look for video stream properties GUID (indicates video content)\n\t\tif (hex.includes('bc19efc05b4d11cf9b1100aa00bbcb8b')) {\n\t\t\treturn 'video/x-ms-asf';\n\t\t}\n\n\t\t// Look for audio stream properties GUID (indicates audio content)\n\t\tif (hex.includes('b7dc0791a9b711cf8ee600c00c205365')) {\n\t\t\treturn 'audio/x-ms-asf';\n\t\t}\n\n\t\t// Check for Windows Media Audio/Video codec identifiers\n\t\t// WMA codec: 161 (0xa1) or 162 (0xa2) or 163 (0xa3)\n\t\t// WMV codec: Common values include various Windows Media Video identifiers\n\n\t\t// Scan through the header for codec information\n\t\tfor (let i = 0; i < Math.min(data.length - 4, 1000); i++) {\n\t\t\t// Look for audio codec indicators\n\t\t\tif (data[i] === 0xa1 || data[i] === 0xa2 || data[i] === 0xa3) {\n\t\t\t\t// Found WMA codec indicator\n\t\t\t\treturn 'audio/x-ms-asf';\n\t\t\t}\n\t\t}\n\n\t\t// Look for common video indicators in the first 1KB\n\t\tconst textContent = new TextDecoder('utf-8', { fatal: false }).decode(data.slice(0, Math.min(1000, data.length)));\n\n\t\t// Check for video-related strings\n\t\tif (textContent.toLowerCase().includes('video') ||\n\t\t    textContent.toLowerCase().includes('wmv') ||\n\t\t    textContent.toLowerCase().includes('mpeg')) {\n\t\t\treturn 'video/x-ms-asf';\n\t\t}\n\n\t\t// Check for audio-related strings\n\t\tif (textContent.toLowerCase().includes('audio') ||\n\t\t    textContent.toLowerCase().includes('wma') ||\n\t\t    textContent.toLowerCase().includes('music')) {\n\t\t\treturn 'audio/x-ms-asf';\n\t\t}\n\n\t\t// Default to application/vnd.ms-asf if we can't determine the specific type\n\t\treturn 'application/vnd.ms-asf';\n\n\t} catch {\n\t\t// If any error occurs during analysis, default to application type\n\t\treturn 'application/vnd.ms-asf';\n\t}\n}"
            },
            {
                "name": "identifyHeifFormat",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-file-upload/utils/mime-types.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(data: Uint8Array): MimeType => {\n\t// HEIF/HEIC files all start with the same ftyp box signature: 667479706174\n\t// To distinguish between formats, we need to examine the brand and compatible brands\n\t// in the ftyp (file type) box\n\n\ttry {\n\t\tif (data.length < 20) {\n\t\t\t// Not enough data to analyze, default to HEIF\n\t\t\treturn 'image/heif';\n\t\t}\n\n\t\tconst hex = uint8ArrayToHexString(data);\n\n\t\t// The ftyp box structure:\n\t\t// Bytes 0-3: Box size (4 bytes)\n\t\t// Bytes 4-7: Box type \"ftyp\" (4 bytes) - 667479706174\n\t\t// Bytes 8-11: Major brand (4 bytes)\n\t\t// Bytes 12-15: Minor version (4 bytes)\n\t\t// Bytes 16+: Compatible brands (4 bytes each)\n\n\t\t// Extract major brand (4 bytes starting at offset 8)\n\t\t// Convert to ASCII string for easier comparison\n\t\tconst majorBrand = String.fromCharCode(\n\t\t\tdata[8], data[9], data[10], data[11],\n\t\t);\n\n\t\t// Look for compatible brands in the first 100 bytes\n\t\tconst compatibleBrandsHex = hex.substring(32, Math.min(200, hex.length)); // Start after major brand + minor version\n\n\t\t// HEIC brands: 'heic', 'heix', 'hevc', 'hevx'\n\t\tif (majorBrand === 'heic' ||\n\t\t    compatibleBrandsHex.includes('68656963') || // 'heic'\n\t\t    compatibleBrandsHex.includes('68656978') || // 'heix'\n\t\t    compatibleBrandsHex.includes('68657663') || // 'hevc'\n\t\t    compatibleBrandsHex.includes('68657678')) { // 'hevx'\n\n\t\t\t// Check for sequence/animation indicators\n\t\t\tif (compatibleBrandsHex.includes('68657673') || // 'hevs' - HEIC sequence\n\t\t\t    compatibleBrandsHex.includes('6d736631') || // 'msf1' - sequence\n\t\t\t    majorBrand === 'hevs') {\n\t\t\t\treturn 'image/heic-sequence';\n\t\t\t}\n\n\t\t\treturn 'image/heic';\n\t\t}\n\n\t\t// HEIF brands: 'mif1', 'msf1'\n\t\tif (majorBrand === 'mif1' || majorBrand === 'msf1' ||\n\t\t    compatibleBrandsHex.includes('6d696631') || // 'mif1'\n\t\t    compatibleBrandsHex.includes('6d736631')) { // 'msf1'\n\n\t\t\t// Check for sequence/animation indicators\n\t\t\tif (majorBrand === 'msf1' ||\n\t\t\t    compatibleBrandsHex.includes('6d736631')) { // 'msf1' - sequence\n\t\t\t\treturn 'image/heif-sequence';\n\t\t\t}\n\n\t\t\treturn 'image/heif';\n\t\t}\n\n\t\t// Check for specific sequence indicators in the data\n\t\tif (hex.includes('6d736631') || // 'msf1' - multi-image sequence\n\t\t    hex.includes('68657673')) { // 'hevs' - HEIC sequence\n\n\t\t\t// If we find HEIC-related brands, it's HEIC sequence\n\t\t\tif (hex.includes('68656963') || hex.includes('68657663')) {\n\t\t\t\treturn 'image/heic-sequence';\n\t\t\t}\n\n\t\t\treturn 'image/heif-sequence';\n\t\t}\n\n\t\t// If we find HEIC indicators but no sequence, it's single HEIC\n\t\tif (hex.includes('68656963') || // 'heic'\n\t\t    hex.includes('68657663') || // 'hevc'\n\t\t    hex.includes('68656978') || // 'heix'\n\t\t    hex.includes('68657678')) { // 'hevx'\n\t\t\treturn 'image/heic';\n\t\t}\n\n\t\t// Default to HEIF for any other case\n\t\treturn 'image/heif';\n\n\t} catch {\n\t\t// If any error occurs during analysis, default to HEIF\n\t\treturn 'image/heif';\n\t}\n}"
            },
            {
                "name": "identifyOggFormat",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-file-upload/utils/mime-types.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(data: Uint8Array): MimeType => {\n\t// OGG files all start with \"OggS\" (4f676753) but can contain different codecs\n\t// To distinguish between audio, video, and application OGG, we need to examine\n\t// the codec information in the OGG page headers\n\n\ttry {\n\t\tif (data.length < 64) {\n\t\t\t// Not enough data to analyze, default to audio\n\t\t\treturn 'audio/ogg';\n\t\t}\n\n\t\tconst hex = uint8ArrayToHexString(data);\n\n\t\t// Look for codec identification patterns in the first few hundred bytes\n\t\t// Common video codecs in OGG:\n\t\t// - Theora: \"theora\" or \"\\x80theora\"\n\t\t// - VP8/VP9: various signatures\n\t\t// - Dirac: \"BBCD\"\n\n\t\t// Common audio codecs in OGG:\n\t\t// - Vorbis: \"vorbis\" or \"\\x01vorbis\"\n\t\t// - Opus: \"OpusHead\"\n\t\t// - FLAC: \"fLaC\"\n\t\t// - Speex: \"Speex\"\n\n\t\t// Convert some bytes to text for string matching\n\t\tconst textContent = new TextDecoder('utf-8', { fatal: false }).decode(data.slice(0, Math.min(512, data.length)));\n\t\tconst lowerContent = textContent.toLowerCase();\n\n\t\t// Check for video codec indicators first (as they're more specific)\n\t\tif (lowerContent.includes('theora') ||\n\t\t    hex.includes('8074686f726120') || // \"\\x80theora \"\n\t\t    hex.includes('7468656f7261') ||   // \"theora\"\n\t\t    lowerContent.includes('dirac') ||\n\t\t    hex.includes('42424344') ||       // \"BBCD\" - Dirac\n\t\t    lowerContent.includes('vp8') ||\n\t\t    lowerContent.includes('vp9')) {\n\t\t\treturn 'video/ogg';\n\t\t}\n\n\t\t// Check for audio codec indicators\n\t\tif (lowerContent.includes('vorbis') ||\n\t\t    hex.includes('01766f72626973') || // \"\\x01vorbis\"\n\t\t    hex.includes('766f72626973') ||   // \"vorbis\"\n\t\t    lowerContent.includes('opushead') ||\n\t\t    hex.includes('4f7075734865616420') || // \"OpusHead \"\n\t\t    lowerContent.includes('speex') ||\n\t\t    hex.includes('53706565782020') || // \"Speex  \"\n\t\t    lowerContent.includes('flac') ||\n\t\t    hex.includes('664c6143')) {      // \"fLaC\"\n\t\t\treturn 'audio/ogg';\n\t\t}\n\n\t\t// Look for OGG stream structure patterns\n\t\t// OGG pages have a specific structure, look for multiple \"OggS\" signatures\n\t\t// which might indicate a complex multimedia container\n\t\tlet oggSCount = 0;\n\t\tfor (let i = 0; i < Math.min(data.length - 4, 1000); i += 4) {\n\t\t\tif (data[i] === 0x4f && data[i + 1] === 0x67 &&\n\t\t\t    data[i + 2] === 0x67 && data[i + 3] === 0x53) {\n\t\t\t\toggSCount++;\n\t\t\t}\n\t\t}\n\n\t\t// Multiple OGG pages might indicate a more complex application format\n\t\tif (oggSCount > 3) {\n\t\t\t// Check if it's likely a multimedia container vs pure audio/video\n\t\t\tif (lowerContent.includes('application') ||\n\t\t\t    lowerContent.includes('metadata') ||\n\t\t\t    lowerContent.includes('index') ||\n\t\t\t    (!lowerContent.includes('audio') && !lowerContent.includes('video') &&\n\t\t\t     !lowerContent.includes('vorbis') && !lowerContent.includes('theora'))) {\n\t\t\t\treturn 'application/ogg';\n\t\t\t}\n\t\t}\n\n\t\t// Look for file extension hints in metadata (if present)\n\t\tif (lowerContent.includes('.ogv') || lowerContent.includes('video')) {\n\t\t\treturn 'video/ogg';\n\t\t}\n\n\t\tif (lowerContent.includes('.oga') || lowerContent.includes('audio') || lowerContent.includes('music')) {\n\t\t\treturn 'audio/ogg';\n\t\t}\n\n\t\t// Check the OGG page header flags\n\t\t// Byte 5 in OGG page header contains flags\n\t\t// If we have enough data, check the stream type\n\t\tif (data.length > 26) {\n\t\t\tconst pageHeaderType = data[5];\n\t\t\t// Fresh packet start (0x02) often indicates beginning of codec data\n\t\t\tif ((pageHeaderType & 0x02) === 0x02) {\n\t\t\t\t// Look at the packet data starting around byte 27\n\t\t\t\tconst packetStart = data.slice(27, Math.min(data.length, 50));\n\t\t\t\tconst packetHex = uint8ArrayToHexString(packetStart);\n\n\t\t\t\t// Check for Vorbis identification header\n\t\t\t\tif (packetHex.startsWith('01766f72626973')) {\n\t\t\t\t\treturn 'audio/ogg';\n\t\t\t\t}\n\n\t\t\t\t// Check for Theora identification header\n\t\t\t\tif (packetHex.startsWith('8074686f726120')) {\n\t\t\t\t\treturn 'video/ogg';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Default to audio/ogg as it's the most common OGG format\n\t\treturn 'audio/ogg';\n\n\t} catch {\n\t\t// If any error occurs during analysis, default to audio\n\t\treturn 'audio/ogg';\n\t}\n}"
            },
            {
                "name": "identifyZipBasedFormat",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-file-upload/utils/mime-types.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(data: Uint8Array): MimeType => {\n\ttry {\n\t\tconst fileEntries = extractZipFileList(data);\n\n\t\t// Chrome extension\n\t\tif (fileEntries.includes('manifest.json')) {\n\t\t\treturn 'application/x-google-chrome-extension';\n\t\t}\n\n\t\t// EPUB\n\t\tif (fileEntries.includes('META-INF/container.xml') || fileEntries.includes('mimetype')) {\n\t\t\treturn 'application/epub+zip';\n\t\t}\n\n\t\t// OpenDocument formats\n\t\tif (fileEntries.includes('META-INF/manifest.xml')) {\n\t\t\tif (fileEntries.some(f => f.endsWith('.odp'))) return 'application/vnd.oasis.opendocument.presentation';\n\t\t\tif (fileEntries.some(f => f.endsWith('.ods'))) return 'application/vnd.oasis.opendocument.spreadsheet';\n\t\t\tif (fileEntries.some(f => f.endsWith('.odt'))) return 'application/vnd.oasis.opendocument.text';\n\t\t}\n\n\t\t// Microsoft Office formats\n\t\tif (fileEntries.includes('[Content_Types].xml')) {\n\t\t\tif (fileEntries.includes('ppt/presentation.xml')) return 'application/vnd.openxmlformats-officedocument.presentationml.presentation';\n\t\t\tif (fileEntries.includes('xl/workbook.xml')) return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\n\t\t\tif (fileEntries.includes('word/document.xml')) return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';\n\t\t}\n\n\t\t// Default to generic ZIP\n\t\treturn 'application/zip';\n\n\t} catch {\n\t\treturn 'application/zip';\n\t}\n}"
            },
            {
                "name": "initialState",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-card/services/ui-state.service.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "UIState",
                "defaultValue": "{\n    isCollapsible: false,\n    isCollapsed: false,\n    isUrgent: false,\n    hasLeftExpander: false,\n}"
            },
            {
                "name": "isJson",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/externals/eui-editor/validators/eui-editor.validators.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(value: string): boolean => {\n    try {\n        JSON.parse(value);\n    } catch (e) {\n        return false;\n    }\n    return true;\n}"
            },
            {
                "name": "JSZip",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/dist/docs/template-playground/zip-export.service.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "any"
            },
            {
                "name": "LEFT",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-popover/models/eui-popover-position.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new ConnectionPositionPair(\n    { originX: 'start', originY: 'center' },\n    { overlayX: 'end', overlayY: 'center' },\n    0, 0,\n    ['eui-popover-position', 'eui-popover-position--left'],\n)",
                "rawdescription": "Position configuration for a popover appearing to the left of its origin element.\nCenters the popover vertically relative to the origin.",
                "description": "<p>Position configuration for a popover appearing to the left of its origin element.\nCenters the popover vertically relative to the origin.</p>\n"
            },
            {
                "name": "LETTER_FORMAT",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-datepicker/eui-datepicker.component.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "object",
                "defaultValue": "{\n    parse: {\n        dateInput: 'LL',\n    },\n    display: {\n        dateInput: 'LL',\n        monthYearLabel: 'LL',\n    },\n}"
            },
            {
                "name": "maxFileSizeValidator",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-file-upload/utils/eui-file-upload.validators.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(maxFileSize: number): ValidatorFn =>\n    (control: AbstractControl): { maxFileSize: number, indexes: Array<number> } | null => {\n        const fileIndexes =[];\n        let maxFileExceeded = false;\n        if (control.value) {\n            control.value.forEach((file: File, index: number) => {\n                if (file.size > maxFileSize) {\n                    fileIndexes.push(index);\n                    maxFileExceeded = true;\n                }\n            });\n        }\n\n        return control.value && maxFileExceeded ? { maxFileSize, indexes: fileIndexes } : null;\n    }"
            },
            {
                "name": "maxFilesValidator",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-file-upload/utils/eui-file-upload.validators.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(maxFiles: number): ValidatorFn =>\n    (control: AbstractControl): { maxFiles: number } | null =>\n        control.value && control.value.length > maxFiles ? { maxFiles } : null"
            },
            {
                "name": "maxLengthBytes",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/validators/max-length-bytes.validator.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(bytes: number): ValidatorFn => {\n    return (control: AbstractControl): ValidationErrors | null => {\n        const length: number = new TextEncoder().encode(control.value).length;\n        if (length > bytes) {\n            return {\n                maxLengthBytes: {\n                    required: bytes,\n                    actual: length,\n                },\n            };\n        }\n        return null;\n    };\n}"
            },
            {
                "name": "maxSizeValidator",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-file-upload/utils/eui-file-upload.validators.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(maxSize: number): ValidatorFn =>\n    (control: AbstractControl): { maxSize: number } | null => {\n        let totalSize = 0;\n        if (control.value) {\n            control.value.forEach((file: File) => {\n                totalSize += file.size;\n            });\n        }\n\n        return control.value && totalSize > maxSize ? { maxSize } : null;\n    }"
            },
            {
                "name": "mimeTypeExtensionValidator",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-file-upload/utils/eui-file-upload.validators.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(mimeTypes: string[]): ValidatorFn =>\n    (control: AbstractControl): { invalidFileExtension: string[] } | null => {\n        const invalidFileExtension: string[] = [];\n        if (control.value) {\n            control.value.forEach((file: File) => {\n                if (mimeTypes.indexOf(file.type) === -1) {\n                    invalidFileExtension.push(file.name);\n                }\n            });\n        }\n\n        return control.value && invalidFileExtension.length > 0 ? { invalidFileExtension } : null;\n    }"
            },
            {
                "name": "moment",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-datepicker/eui-datepicker.component.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "_rollupMoment || _moment"
            },
            {
                "name": "monaco",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/dist/docs/template-playground/template-editor.service.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "any"
            },
            {
                "name": "MONTH_YEAR_FORMAT",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-datepicker/eui-datepicker.component.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "object",
                "defaultValue": "{\n    parse: {\n        dateInput: 'MM/YYYY',\n    },\n    display: {\n        dateInput: 'MM/YYYY',\n        monthYearLabel: 'MMM YYYY',\n        dateA11yLabel: 'LL',\n        monthYearA11yLabel: 'MMMM YYYY',\n    },\n}"
            },
            {
                "name": "multilevel",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-tree/testing/multilevel.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "[]",
                "defaultValue": "[\n    {\n        node: {\n            treeContentBlock: {\n                id: '1',\n                label: 'DIGIT A',\n            },\n            isSelected: true,\n        },\n    },\n    {\n        node: {\n            treeContentBlock: {\n                id: '2',\n                label: 'DIGIT B',\n            },\n        },\n        children: [\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '3',\n                        label: 'DIGIT B.1',\n                    },\n                },\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '4',\n                        label: 'DIGIT B.2',\n                    },\n                },\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '5',\n                        label: 'DIGIT B.3',\n                    },\n                },\n                children: [\n                    {\n                        node: {\n                            treeContentBlock: {\n                                id: '6',\n                                label: 'DIGIT B.3.1',\n                            },\n                            isSelected: true,\n                        },\n                    },\n                    {\n                        node: {\n                            treeContentBlock: {\n                                id: '7',\n                                label: 'DIGIT B.3.2',\n                            },\n                            isSelected: true,\n                        },\n                    },\n                ],\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '8',\n                        label: 'DIGIT B.4',\n                    },\n                },\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '9',\n                        label: 'DIGIT B.5',\n                    },\n                },\n            },\n        ],\n    },\n    {\n        node: {\n            treeContentBlock: {\n                id: '10',\n                label: 'DIGIT C',\n            },\n        },\n        children: [\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '11',\n                        label: 'DIGIT C.1',\n                    },\n                },\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '12',\n                        label: 'DIGIT C.2',\n                    },\n                },\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '13',\n                        label: 'DIGIT C.3',\n                    },\n                },\n                children: [\n                    {\n                        node: {\n                            treeContentBlock: {\n                                id: '14',\n                                label: 'DIGIT C.3.1',\n                            },\n                        },\n                    },\n                    {\n                        node: {\n                            treeContentBlock: {\n                                id: '15',\n                                label: 'DIGIT C.3.2',\n                            },\n                        },\n                    },\n                ],\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '16',\n                        label: 'DIGIT C.4',\n                    },\n                },\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '17',\n                        label: 'DIGIT C.5',\n                    },\n                },\n            },\n        ],\n    },\n    {\n        node: {\n            treeContentBlock: {\n                id: '18',\n                label: 'DIGIT D',\n            },\n        },\n        children: [\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '19',\n                        label: 'DIGIT D.1',\n                    },\n                },\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '20',\n                        label: 'DIGIT D.2',\n                    },\n                },\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '21',\n                        label: 'DIGIT D.3',\n                    },\n                },\n                children: [\n                    {\n                        node: {\n                            treeContentBlock: {\n                                id: '22',\n                                label: 'DIGIT D.3.1',\n                            },\n                        },\n                    },\n                    {\n                        node: {\n                            treeContentBlock: {\n                                id: '23',\n                                label: 'DIGIT D.3.2',\n                            },\n                        },\n                    },\n                ],\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '24',\n                        label: 'DIGIT D.4',\n                    },\n                },\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '25',\n                        label: 'DIGIT D.5',\n                    },\n                },\n            },\n        ],\n    },\n]"
            },
            {
                "name": "onOff",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-slide-toggle/animations/on-off.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "trigger('onOff', [\n    state(\n        'off',\n        style({\n            left: 0,\n        }),\n    ),\n    state(\n        'on',\n        style({\n            left: '1rem',\n        }),\n    ),\n    transition('off => on', [animate('0ms 100ms linear')]),\n    transition('on => off', [animate('0ms 100ms linear')]),\n])"
            },
            {
                "name": "openClose",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-dropdown/animations/open-close.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "trigger('openClose', [\n    state(\n        'open',\n        style({\n            opacity: 1,\n            transform: 'scale(1)',\n        }),\n    ),\n    state(\n        'closed',\n        style({\n            opacity: 0,\n            transform: 'scale(0.9)',\n        }),\n    ),\n    transition('closed => open', [animate('50ms 25ms linear')]),\n])"
            },
            {
                "name": "panelAnimation",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-autocomplete/animations/animations.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "AnimationTriggerMetadata",
                "defaultValue": "trigger('panelAnimation', [\n    state(\n        'void, hidden',\n        style({\n            opacity: 0,\n            transform: 'scaleY(0.8)',\n        }),\n    ),\n    transition(':enter, hidden => visible', [\n        group([\n            animate('0.03s linear', style({ opacity: 1 })),\n            animate('0.12s cubic-bezier(0, 0, 0.2, 1)', style({ transform: 'scaleY(1)' })),\n        ]),\n    ]),\n    transition(':leave, visible => hidden', [animate('0.05s linear', style({ opacity: 0 }))]),\n])"
            },
            {
                "name": "pixelTransform",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/directives/eui-resizable/eui-resizable.directive.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(value: string | number): number => {\n\tvalue = numberAttribute(value, 0);\n\treturn Math.max(0, value);\n}",
                "rawdescription": "Ensures the value is a non-negative pixel number.",
                "description": "<p>Ensures the value is a non-negative pixel number.</p>\n"
            },
            {
                "name": "progressAttribute",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-progress-bar/eui-progress-bar.component.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(value: NumberInput): number => Math.min(numberAttribute(value), 100)",
                "rawdescription": "Transform function that ensures progress value doesn't exceed 100",
                "description": "<p>Transform function that ensures progress value doesn&#39;t exceed 100</p>\n"
            },
            {
                "name": "Quill",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/externals/quill/quill-editor.component.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "any"
            },
            {
                "name": "QUILL_CONFIG_TOKEN",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/externals/quill/quill-editor.interfaces.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new InjectionToken<QuillConfig>('config')"
            },
            {
                "name": "QUILL_DYNAMIC_CONFIG_TOKEN",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/externals/quill/quill-editor.interfaces.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new InjectionToken<QuillDynamicConfig>('Dynamic loading config')"
            },
            {
                "name": "QuillBetterTable",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/externals/eui-editor/eui-editor.component.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "window['quillBetterTable']"
            },
            {
                "name": "QuillBetterTable",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/externals/eui-editor/eui-editor.module.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "window['quillBetterTable']"
            },
            {
                "name": "quillConfig",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/externals/eui-editor/eui-editor.module.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "QuillConfig",
                "defaultValue": "{\n    modules: {\n        table: false,\n        'better-table': {\n            operationMenu: {\n                items: {\n                    unmergeCells: {\n                        text: 'Another unmerge cells name',\n                    },\n                },\n                color: {\n                    colors: [\n                        '#000000',\n                        '#e60000',\n                        '#ff9900',\n                        '#ffff00',\n                        '#008a00',\n                        '#0066cc',\n                        '#9933ff',\n                        '#ffffff',\n                        '#facccc',\n                        '#ffebcc',\n                        '#ffffcc',\n                        '#cce8cc',\n                        '#cce0f5',\n                        '#ebd6ff',\n                        '#bbbbbb',\n                        '#f06666',\n                        '#ffc266',\n                        '#ffff66',\n                        '#66b966',\n                        '#66a3e0',\n                        '#c285ff',\n                        '#888888',\n                        '#a10000',\n                        '#b26b00',\n                        '#b2b200',\n                        '#006100',\n                        '#0047b2',\n                        '#6b24b2',\n                        '#444444',\n                        '#5c0000',\n                        '#663d00',\n                        '#666600',\n                        '#003700',\n                        '#002966',\n                        '#3d1466',\n                    ],\n                    text: 'Background Colors',\n                },\n            },\n        },\n    },\n}"
            },
            {
                "name": "QuillType",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/externals/eui-editor/eui-editor.component.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "any",
                "defaultValue": "window['Quill']"
            },
            {
                "name": "QuillType",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/externals/eui-editor/json-view/eui-editor-json-view.component.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "any",
                "defaultValue": "window['Quill']"
            },
            {
                "name": "require",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/testing/test.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "any"
            },
            {
                "name": "require",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/externals/quill/quill-editor.component.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "any"
            },
            {
                "name": "ResizeObserver",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-page-v2/eui-page-columns/eui-page-columns.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": ""
            },
            {
                "name": "ResizeObserver",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-page/components/eui-page-columns/eui-page-columns.component.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": ""
            },
            {
                "name": "RIGHT",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-popover/models/eui-popover-position.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new ConnectionPositionPair(\n    { originX: 'end', originY: 'center' },\n    { overlayX: 'start', overlayY: 'center' },\n    0, 0,\n    ['eui-popover-position', 'eui-popover-position--right'],\n)",
                "rawdescription": "Position configuration for a popover appearing to the right of its origin element.\nCenters the popover vertically relative to the origin.",
                "description": "<p>Position configuration for a popover appearing to the right of its origin element.\nCenters the popover vertically relative to the origin.</p>\n"
            },
            {
                "name": "SELECT_MULTIPLE_VALUE_ACCESSOR",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-select/eui-select-multiple.directive.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "Provider",
                "defaultValue": "{\n    provide: NG_VALUE_ACCESSOR,\n    useExisting: forwardRef(() => EuiSelectMultipleControlValueAccessor),\n    multi: true,\n}"
            },
            {
                "name": "showHide",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/directives/eui-tooltip/animations/show-hide.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "trigger('showHide', [\n    state('initial, void, hidden', style({ opacity: 0, transform: 'scale(0)' })),\n    state('visible', style({ transform: 'scale(1)' })),\n    transition(\n        '* => visible',\n        animate(\n            '200ms cubic-bezier(0, 0, 0.2, 1)',\n            keyframes([\n                style({ opacity: 0, transform: 'scale(0)', offset: 0 }),\n                style({ opacity: 0.5, transform: 'scale(0.99)', offset: 0.5 }),\n                style({ opacity: 1, transform: 'scale(1)', offset: 1 }),\n            ]),\n        ),\n    ),\n    transition('* => hidden', animate('100ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 0 }))),\n])",
                "rawdescription": "Tooltip display animation.",
                "description": "<p>Tooltip display animation.</p>\n"
            },
            {
                "name": "testBed",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/test-setup.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "getTestBed()"
            },
            {
                "name": "TOP",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-popover/models/eui-popover-position.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "new ConnectionPositionPair(\n    { originX: 'center', originY: 'top' },\n    { overlayX: 'center', overlayY: 'bottom' },\n    0, 0,\n    ['eui-popover-position', 'eui-popover-position--top'],\n)",
                "rawdescription": "Position configuration for a popover appearing above its origin element.\nCenters the popover horizontally relative to the origin.",
                "description": "<p>Position configuration for a popover appearing above its origin element.\nCenters the popover horizontally relative to the origin.</p>\n"
            },
            {
                "name": "transformNumberInRange",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-progress-circle/eui-progress-circle.component.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(value: string | number): number => {\n    const num = Number(value);\n    return isNaN(num) ? 0 : Math.max(0, Math.min(num, 100));\n}"
            },
            {
                "name": "TRANSLATED_STRING",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/testing/mocks/translate.module.mock.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "string",
                "defaultValue": "'i18n'"
            },
            {
                "name": "uint8ArrayToHexString",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-file-upload/utils/mime-types.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(uint8Array): string => {\n    return Array.prototype.map.call(uint8Array, (byte) => ('00' + byte.toString(16)).slice(-2)).join('');\n}"
            },
            {
                "name": "urlValidator",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/externals/eui-editor/image-url-dialog/image-url-dialog.component.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(control: AbstractControl): { isUrlValid: false } | null => {\n    const isHttp = control.value.substr(0, 7) === 'http://';\n    const isHttps = control.value.substr(0, 8) === 'https://';\n\n    return !isHttp && !isHttps ? { isUrlValid: false } : null;\n}"
            },
            {
                "name": "validateFileMimeType",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-file-upload/utils/eui-file-upload.validators.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "unknown",
                "defaultValue": "(file: File, mimeTypes: MimeType[]): Observable<{ [key: string]: MimeType } | null> => {\n    return new Observable<{ [p: string]: MimeType }>((subscriber) => {\n        const reader = new FileReader();\n        reader.onloadend = (): void => {\n            const buffer = reader.result as ArrayBuffer;\n            // Read more bytes to support complex MIME type detection (e.g., ASF format analysis)\n            const headerBytes = new Uint8Array(buffer).slice(0, Math.min(1024, buffer.byteLength));\n            const mime = getMimeType(headerBytes);\n            if (mimeTypes.includes(mime)) {\n                subscriber.next(null);\n            } else {\n                subscriber.next({ [file.name]: mime });\n            }\n            subscriber.complete();\n        };\n        reader.readAsArrayBuffer(file);\n    });\n}",
                "rawdescription": "Validates the MIME type of a file against a list of allowed MIME types.",
                "description": "<p>Validates the MIME type of a file against a list of allowed MIME types.</p>\n"
            },
            {
                "name": "window",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/externals/quill/loader.service.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "literal type"
            },
            {
                "name": "YEAR_FORMAT",
                "ctype": "miscellaneous",
                "subtype": "variable",
                "file": "packages/components/eui-datepicker/eui-datepicker.component.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "type": "object",
                "defaultValue": "{\n    parse: {\n        dateInput: 'YYYY',\n    },\n    display: {\n        dateInput: 'YYYY',\n        monthYearLabel: 'YYYY',\n        dateA11yLabel: 'YYYY',\n        monthYearA11yLabel: 'YYYY',\n    },\n}"
            }
        ],
        "functions": [
            {
                "name": "_buildValueString",
                "file": "packages/components/eui-select/eui-select-option.directive.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "id",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "value",
                        "type": "any",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "id",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "value",
                        "type": "any",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "_buildValueString",
                "file": "packages/components/eui-select/utils.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "id",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    },
                    {
                        "name": "value",
                        "type": "any",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "id",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "name": "value",
                        "type": "any",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "_extractId",
                "file": "packages/components/eui-select/utils.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "valueString",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": "valueString",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            },
            {
                "name": "getDecimal",
                "file": "packages/components/eui-input-number/eui-input-number.component.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Get the decimal separator based on the locale</p>\n",
                "args": [
                    {
                        "name": "locale",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": {
                            "pos": 1804,
                            "end": 1810,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "locale"
                        },
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "pos": 1798,
                            "end": 1803,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "param"
                        },
                        "comment": "<p>value of the locale based on ISO 639-1</p>\n"
                    }
                ]
            },
            {
                "name": "getGroup",
                "file": "packages/components/eui-input-number/eui-input-number.component.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Get the group separator based on the locale</p>\n",
                "args": [
                    {
                        "name": "locale",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "string",
                "jsdoctags": [
                    {
                        "name": {
                            "pos": 2011,
                            "end": 2017,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "locale"
                        },
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "pos": 2005,
                            "end": 2010,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "param"
                        },
                        "comment": "<p>value of the locale based on ISO 639-1</p>\n"
                    }
                ]
            },
            {
                "name": "getLocaleConfig",
                "file": "packages/components/eui-input-number/eui-input-number.component.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Returns the decimal and group separators for a given locale</p>\n",
                "args": [
                    {
                        "name": "locale",
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "literal type",
                "jsdoctags": [
                    {
                        "name": {
                            "pos": 2230,
                            "end": 2236,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "locale"
                        },
                        "type": "string",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "pos": 2224,
                            "end": 2229,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "param"
                        },
                        "comment": "<p>value of the locale based on ISO 639-1</p>\n"
                    }
                ]
            },
            {
                "name": "sliderValidator",
                "file": "packages/components/eui-slider/validators/eui-slider.validator.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "config",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "ValidatorFn",
                "jsdoctags": [
                    {
                        "name": "config",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    },
                    {
                        "tagName": {
                            "pos": 1396,
                            "end": 1403,
                            "kind": 80,
                            "id": 0,
                            "flags": 16777216,
                            "transformFlags": 0,
                            "escapedText": "returns"
                        },
                        "comment": "<p>A validator function that returns an error map with <code>startMin</code> /  <code>startMax</code> /  <code>endMin</code> /  <code>endMax</code> if the validation check fails, otherwise <code>null</code>.</p>\n"
                    }
                ]
            },
            {
                "name": "uxTreeNodesMetaDataMapper",
                "file": "packages/components/eui-tree/eui-tree.model.ts",
                "ctype": "miscellaneous",
                "subtype": "function",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "args": [
                    {
                        "name": "oldTree",
                        "type": "Array",
                        "deprecated": false,
                        "deprecationMessage": ""
                    }
                ],
                "returnType": "TreeDataModel",
                "jsdoctags": [
                    {
                        "name": "oldTree",
                        "type": "Array",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "tagName": {
                            "text": "param"
                        }
                    }
                ]
            }
        ],
        "typealiases": [
            {
                "name": "ApexAxisChartSeries",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "literal type[]",
                "file": "packages/components/externals/charts/model/apex-types.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Chart Series options.\nUse ApexNonAxisChartSeries for Pie and Donut charts.\nSee <a href=\"https://apexcharts.com/docs/options/series/\">https://apexcharts.com/docs/options/series/</a></p>\n",
                "kind": 189
            },
            {
                "name": "ApexCharts",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "unknown",
                "file": "packages/components/externals/charts/chart/chart.component.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 206
            },
            {
                "name": "ApexColorStop",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "literal type",
                "file": "packages/components/externals/charts/model/apex-types.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 188
            },
            {
                "name": "ApexMarkerShape",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "MarkerShapeOptions | MarkerShapeOptions[]",
                "file": "packages/components/externals/charts/model/apex-types.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 193
            },
            {
                "name": "ApexNonAxisChartSeries",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "number[]",
                "file": "packages/components/externals/charts/model/apex-types.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 189
            },
            {
                "name": "ApexTooltipY",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "literal type",
                "file": "packages/components/externals/charts/model/apex-types.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 188
            },
            {
                "name": "ArrayElement",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "unknown",
                "file": "packages/components/eui-breadcrumb/item/breadcrumb-item.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 195
            },
            {
                "name": "Cast",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "unknown",
                "file": "packages/components/eui-breadcrumb/item/breadcrumb-item.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 195
            },
            {
                "name": "ChartType",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "\"line\" | \"area\" | \"bar\" | \"pie\" | \"donut\" | \"radialBar\" | \"scatter\" | \"bubble\" | \"heatmap\" | \"candlestick\" | \"boxPlot\" | \"radar\" | \"polarArea\" | \"rangeBar\" | \"rangeArea\" | \"treemap\"",
                "file": "packages/components/externals/charts/model/apex-types.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 193
            },
            {
                "name": "ColorType",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "\"info\" | \"success\" | \"warning\" | \"danger\"",
                "file": "packages/components/eui-progress-circle/eui-progress-circle.component.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 193
            },
            {
                "name": "CustomNodeSelectFn",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "function",
                "file": "packages/components/eui-tree/eui-tree.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 185
            },
            {
                "name": "DeepWriteable",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "unknown",
                "file": "packages/components/eui-breadcrumb/item/breadcrumb-item.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 201
            },
            {
                "name": "EditorChangeContent",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "unknown",
                "file": "packages/components/externals/quill/models/editor.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 194
            },
            {
                "name": "EditorChangeSelection",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "unknown",
                "file": "packages/components/externals/quill/models/editor.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 194
            },
            {
                "name": "EuiDialogVerticalPosition",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "unknown",
                "file": "packages/components/eui-dialog/models/eui-dialog-alignment.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 202
            },
            {
                "name": "EuiPopoverPosition",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "\"top\" | \"right\" | \"bottom\" | \"left\"",
                "file": "packages/components/eui-popover/models/eui-popover-position.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Represents the four possible positions for a popover element.</p>\n",
                "kind": 193
            },
            {
                "name": "EuiResizablePosition",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "\"left\" | \"right\"",
                "file": "packages/components/directives/eui-resizable/eui-resizable.component.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Defines the position of the resizable handle relative to the component.\n&#39;left&#39; places the handle on the left edge for left-side resizing.\n&#39;right&#39; places the handle on the right edge for right-side resizing.</p>\n",
                "kind": 193
            },
            {
                "name": "EuiResizablePosition",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "\"left\" | \"right\"",
                "file": "packages/components/directives/eui-resizable/eui-resizable.directive.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Defines the placement of the resizable handle and determines the direction of resizing behavior.\n&#39;left&#39; positions the handle on the left edge and resizes by adjusting from the left boundary.\n&#39;right&#39; positions the handle on the right edge and resizes by adjusting from the right boundary.</p>\n",
                "kind": 193
            },
            {
                "name": "EuiTreeSelectionChanges",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "literal type",
                "file": "packages/components/eui-tree/eui-tree.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 188
            },
            {
                "name": "ExpandModel",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "literal type",
                "file": "packages/components/eui-tree/eui-tree.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 188
            },
            {
                "name": "FromEntries",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "unknown",
                "file": "packages/components/eui-breadcrumb/item/breadcrumb-item.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 195
            },
            {
                "name": "FromEntriesWithReadOnly",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "FromEntries<DeepWriteable<T>>",
                "file": "packages/components/eui-breadcrumb/item/breadcrumb-item.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 184
            },
            {
                "name": "MarkerShapeOptions",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "\"circle\" | \"square\" | \"rect\" | \"line\" | \"cross\" | \"plus\" | \"star\" | \"sparkle\" | \"diamond\" | \"triangle\"",
                "file": "packages/components/externals/charts/model/apex-types.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 193
            },
            {
                "name": "MimeType",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "\"image/jpeg\" | \"image/png\" | \"image/gif\" | \"image/webp\" | \"image/flif\" | \"image/x-xcf\" | \"image/x-canon-cr2\" | \"image/x-canon-cr3\" | \"image/tiff\" | \"image/bmp\" | \"image/icns\" | \"image/vnd.ms-photo\" | \"image/vnd.adobe.photoshop\" | \"application/x-indesign\" | \"application/epub+zip\" | \"application/x-xpinstall\" | \"application/vnd.oasis.opendocument.text\" | \"application/vnd.oasis.opendocument.spreadsheet\" | \"application/vnd.oasis.opendocument.presentation\" | \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\" | \"application/vnd.openxmlformats-officedocument.presentationml.presentation\" | \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\" | \"application/zip\" | \"application/json\" | \"application/x-tar\" | \"application/x-rar-compressed\" | \"application/gzip\" | \"application/x-bzip2\" | \"application/x-7z-compressed\" | \"application/x-apple-diskimage\" | \"video/mp4\" | \"audio/midi\" | \"video/x-matroska\" | \"video/webm\" | \"video/quicktime\" | \"video/vnd.avi\" | \"audio/vnd.wave\" | \"audio/qcelp\" | \"audio/x-ms-asf\" | \"video/x-ms-asf\" | \"application/vnd.ms-asf\" | \"video/mpeg\" | \"video/3gpp\" | \"audio/mpeg\" | \"audio/mp4\" | \"audio/opus\" | \"video/ogg\" | \"audio/ogg\" | \"application/ogg\" | \"audio/x-flac\" | \"audio/ape\" | \"audio/wavpack\" | \"audio/amr\" | \"application/pdf\" | \"application/x-elf\" | \"application/x-msdownload\" | \"application/x-shockwave-flash\" | \"application/rtf\" | \"application/wasm\" | \"font/woff\" | \"font/woff2\" | \"application/vnd.ms-fontobject\" | \"font/ttf\" | \"font/otf\" | \"image/x-icon\" | \"video/x-flv\" | \"application/postscript\" | \"application/eps\" | \"application/x-xz\" | \"application/x-sqlite3\" | \"application/x-nintendo-nes-rom\" | \"application/x-google-chrome-extension\" | \"application/vnd.ms-cab-compressed\" | \"application/x-deb\" | \"application/x-unix-archive\" | \"application/x-rpm\" | \"application/x-compress\" | \"application/x-lzip\" | \"application/x-cfb\" | \"application/x-mie\" | \"application/x-apache-arrow\" | \"application/mxf\" | \"video/mp2t\" | \"application/x-blender\" | \"image/bpg\" | \"image/j2c\" | \"image/jp2\" | \"image/jpx\" | \"image/jpm\" | \"image/mj2\" | \"audio/aiff\" | \"application/xml\" | \"application/x-mobipocket-ebook\" | \"image/heif\" | \"image/heif-sequence\" | \"image/heic\" | \"image/heic-sequence\" | \"image/ktx\" | \"application/dicom\" | \"audio/x-musepack\" | \"text/calendar\" | \"text/vcard\" | \"model/gltf-binary\" | \"application/vnd.tcpdump.pcap\" | \"audio/x-voc\" | \"audio/vnd.dolby.dd-raw\" | \"audio/x-m4a\" | \"image/apng\" | \"image/x-olympus-orf\" | \"image/x-sony-arw\" | \"image/x-adobe-dng\" | \"image/x-nikon-nef\" | \"image/x-panasonic-rw2\" | \"image/x-fujifilm-raf\" | \"video/x-m4v\" | \"video/3gpp2\" | \"application/x-esri-shape\" | \"audio/aac\" | \"audio/x-it\" | \"audio/x-s3m\" | \"audio/x-xm\" | \"video/MP1S\" | \"video/MP2P\" | \"application/vnd.sketchup.skp\" | \"image/avif\" | \"application/x-lzh-compressed\" | \"application/pgp-encrypted\" | \"application/x-asar\" | \"model/stl\" | \"application/vnd.ms-htmlhelp\" | \"model/3mf\" | \"image/jxl\" | \"application/zstd\" | \"image/jls\" | \"application/vnd.ms-outlook\" | \"image/vnd.dwg\" | \"application/x-parquet\" | \"application/java-vm\" | \"application/x-arj\" | \"application/x-cpio\" | \"application/x-ace-compressed\" | \"application/avro\" | \"application/vnd.iccprofile\"",
                "file": "packages/components/eui-file-upload/utils/mime-types.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 193
            },
            {
                "name": "QuillFormat",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "\"object\" | \"json\" | \"html\" | \"text\"",
                "file": "packages/components/externals/quill/quill-editor.interfaces.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 193
            },
            {
                "name": "QuillToolbarConfig",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "Array<Array<string | literal type>>",
                "file": "packages/components/externals/quill/quill-editor.interfaces.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 184
            },
            {
                "name": "SelectionModel",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "literal type",
                "file": "packages/components/eui-tree/eui-tree.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 188
            },
            {
                "name": "SelectionRecursiveState",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "\"indeterminate\" | \"allSelected\" | \"allNotSelected\"",
                "file": "packages/components/eui-tree/eui-tree.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 193
            },
            {
                "name": "SliderHandler",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "\"start\" | \"end\"",
                "file": "packages/components/eui-slider/eui-slider.component.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 193
            },
            {
                "name": "SortOrder",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "\"asc\" | \"desc\" | \"none\"",
                "file": "packages/components/eui-table/models/sort.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 193
            },
            {
                "name": "TreeDataModel",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "Array<TreeItemModel>",
                "file": "packages/components/eui-tree/eui-tree.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 184
            },
            {
                "name": "TreeDataRunTimeModel",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "Array<TreeItemRunTimeModel>",
                "file": "packages/components/eui-tree/eui-tree.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 184
            },
            {
                "name": "TreeItemModel",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "literal type",
                "file": "packages/components/eui-tree/eui-tree.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 188
            },
            {
                "name": "TreeItemRunTimeModel",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "literal type",
                "file": "packages/components/eui-tree/eui-tree.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 188
            },
            {
                "name": "TreeItemSelectionRecursiveModel",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "literal type",
                "file": "packages/components/eui-tree/eui-tree.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 188
            },
            {
                "name": "TreeNode",
                "ctype": "miscellaneous",
                "subtype": "typealias",
                "rawtype": "unknown",
                "file": "packages/components/eui-tree/eui-tree.model.ts",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "kind": 194
            }
        ],
        "enumerations": [
            {
                "name": "ConditionOperator",
                "childs": [
                    {
                        "name": "AND",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "AND"
                    },
                    {
                        "name": "OR",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "OR"
                    }
                ],
                "ctype": "miscellaneous",
                "subtype": "enum",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "file": "packages/components/directives/eui-has-permission.directive.ts"
            },
            {
                "name": "EuiCalendarEventType",
                "childs": [
                    {
                        "name": "primary",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "primary"
                    },
                    {
                        "name": "success",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "success"
                    },
                    {
                        "name": "warning",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "warning"
                    },
                    {
                        "name": "danger",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "danger"
                    },
                    {
                        "name": "info",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "info"
                    }
                ],
                "ctype": "miscellaneous",
                "subtype": "enum",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "file": "packages/components/eui-calendar/models.ts"
            },
            {
                "name": "EuiCalendarMode",
                "childs": [
                    {
                        "name": "Monthly",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "monthly"
                    },
                    {
                        "name": "Weekly",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "weekly"
                    },
                    {
                        "name": "Daily",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "daily"
                    }
                ],
                "ctype": "miscellaneous",
                "subtype": "enum",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Defines the mode of the calendar header.</p>\n",
                "file": "packages/components/eui-calendar/models.ts"
            },
            {
                "name": "EuiCalendarNavigationDirection",
                "childs": [
                    {
                        "name": "Previous",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "previous"
                    },
                    {
                        "name": "Next",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "next"
                    }
                ],
                "ctype": "miscellaneous",
                "subtype": "enum",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "<p>Defines the direction of calendar navigation.</p>\n",
                "file": "packages/components/eui-calendar/models.ts"
            },
            {
                "name": "ScrollinDirection",
                "childs": [
                    {
                        "name": "UP",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "UP"
                    },
                    {
                        "name": "DOWN",
                        "deprecated": false,
                        "deprecationMessage": "",
                        "value": "DOWN"
                    }
                ],
                "ctype": "miscellaneous",
                "subtype": "enum",
                "deprecated": false,
                "deprecationMessage": "",
                "description": "",
                "file": "packages/components/eui-table/eui-table.component.ts"
            }
        ],
        "groupedVariables": {
            "packages/components/eui-file-upload/utils/eui-file-upload.validators.ts": [
                {
                    "name": "asyncMimeTypeExtensionValidator",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-file-upload/utils/eui-file-upload.validators.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(mimeTypes: MimeType[]): AsyncValidatorFn =>\n    (control: AbstractControl): Promise<ValidationErrors | null> | Observable<ValidationErrors | null> => {\n        if (control.value) {\n            const fileErrorObservables: Observable<ValidationErrors | null>[] = [];\n            // iterate over files\n            control.value.forEach((file: File) => {\n                // push observable which will check the mime validation type\n                fileErrorObservables.push(validateFileMimeType(file, mimeTypes));\n            });\n            return zip(...fileErrorObservables).pipe(\n                map((fileErrors) => {\n                    const errors = fileErrors.filter((fileError) => fileError !== null);\n                    // Error should be { fileName: FileType }\n\n                    if (errors.length === 0) {\n                        return null;\n                    }\n\n                    return { invalidMimeFileType: errors };\n                }),\n            );\n        }\n        return of(null);\n    }"
                },
                {
                    "name": "maxFileSizeValidator",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-file-upload/utils/eui-file-upload.validators.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(maxFileSize: number): ValidatorFn =>\n    (control: AbstractControl): { maxFileSize: number, indexes: Array<number> } | null => {\n        const fileIndexes =[];\n        let maxFileExceeded = false;\n        if (control.value) {\n            control.value.forEach((file: File, index: number) => {\n                if (file.size > maxFileSize) {\n                    fileIndexes.push(index);\n                    maxFileExceeded = true;\n                }\n            });\n        }\n\n        return control.value && maxFileExceeded ? { maxFileSize, indexes: fileIndexes } : null;\n    }"
                },
                {
                    "name": "maxFilesValidator",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-file-upload/utils/eui-file-upload.validators.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(maxFiles: number): ValidatorFn =>\n    (control: AbstractControl): { maxFiles: number } | null =>\n        control.value && control.value.length > maxFiles ? { maxFiles } : null"
                },
                {
                    "name": "maxSizeValidator",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-file-upload/utils/eui-file-upload.validators.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(maxSize: number): ValidatorFn =>\n    (control: AbstractControl): { maxSize: number } | null => {\n        let totalSize = 0;\n        if (control.value) {\n            control.value.forEach((file: File) => {\n                totalSize += file.size;\n            });\n        }\n\n        return control.value && totalSize > maxSize ? { maxSize } : null;\n    }"
                },
                {
                    "name": "mimeTypeExtensionValidator",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-file-upload/utils/eui-file-upload.validators.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(mimeTypes: string[]): ValidatorFn =>\n    (control: AbstractControl): { invalidFileExtension: string[] } | null => {\n        const invalidFileExtension: string[] = [];\n        if (control.value) {\n            control.value.forEach((file: File) => {\n                if (mimeTypes.indexOf(file.type) === -1) {\n                    invalidFileExtension.push(file.name);\n                }\n            });\n        }\n\n        return control.value && invalidFileExtension.length > 0 ? { invalidFileExtension } : null;\n    }"
                },
                {
                    "name": "validateFileMimeType",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-file-upload/utils/eui-file-upload.validators.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(file: File, mimeTypes: MimeType[]): Observable<{ [key: string]: MimeType } | null> => {\n    return new Observable<{ [p: string]: MimeType }>((subscriber) => {\n        const reader = new FileReader();\n        reader.onloadend = (): void => {\n            const buffer = reader.result as ArrayBuffer;\n            // Read more bytes to support complex MIME type detection (e.g., ASF format analysis)\n            const headerBytes = new Uint8Array(buffer).slice(0, Math.min(1024, buffer.byteLength));\n            const mime = getMimeType(headerBytes);\n            if (mimeTypes.includes(mime)) {\n                subscriber.next(null);\n            } else {\n                subscriber.next({ [file.name]: mime });\n            }\n            subscriber.complete();\n        };\n        reader.readAsArrayBuffer(file);\n    });\n}",
                    "rawdescription": "Validates the MIME type of a file against a list of allowed MIME types.",
                    "description": "<p>Validates the MIME type of a file against a list of allowed MIME types.</p>\n"
                }
            ],
            "packages/components/eui-popover/models/eui-popover-position.model.ts": [
                {
                    "name": "BOTTOM",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-popover/models/eui-popover-position.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new ConnectionPositionPair(\n    { originX: 'center', originY: 'bottom' },\n    { overlayX: 'center', overlayY: 'top' },\n    0, 0,\n    ['eui-popover-position', 'eui-popover-position--bottom'],\n)",
                    "rawdescription": "Position configuration for a popover appearing below its origin element.\nCenters the popover horizontally relative to the origin.",
                    "description": "<p>Position configuration for a popover appearing below its origin element.\nCenters the popover horizontally relative to the origin.</p>\n"
                },
                {
                    "name": "getPosition",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-popover/models/eui-popover-position.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "({ connectionPair }: ConnectedOverlayPositionChange): EuiPopoverPosition => {\n    switch (connectionPair) {\n        case TOP:\n            return 'top';\n        case BOTTOM:\n            return 'bottom';\n        case LEFT:\n            return 'left';\n        case RIGHT:\n            return 'right';\n    }\n}",
                    "rawdescription": "Converts a ConnectedOverlayPositionChange object to an EuiPopoverPosition string.\nUsed to determine which predefined position the overlay has settled on.",
                    "description": "<p>Converts a ConnectedOverlayPositionChange object to an EuiPopoverPosition string.\nUsed to determine which predefined position the overlay has settled on.</p>\n"
                },
                {
                    "name": "LEFT",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-popover/models/eui-popover-position.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new ConnectionPositionPair(\n    { originX: 'start', originY: 'center' },\n    { overlayX: 'end', overlayY: 'center' },\n    0, 0,\n    ['eui-popover-position', 'eui-popover-position--left'],\n)",
                    "rawdescription": "Position configuration for a popover appearing to the left of its origin element.\nCenters the popover vertically relative to the origin.",
                    "description": "<p>Position configuration for a popover appearing to the left of its origin element.\nCenters the popover vertically relative to the origin.</p>\n"
                },
                {
                    "name": "RIGHT",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-popover/models/eui-popover-position.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new ConnectionPositionPair(\n    { originX: 'end', originY: 'center' },\n    { overlayX: 'start', overlayY: 'center' },\n    0, 0,\n    ['eui-popover-position', 'eui-popover-position--right'],\n)",
                    "rawdescription": "Position configuration for a popover appearing to the right of its origin element.\nCenters the popover vertically relative to the origin.",
                    "description": "<p>Position configuration for a popover appearing to the right of its origin element.\nCenters the popover vertically relative to the origin.</p>\n"
                },
                {
                    "name": "TOP",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-popover/models/eui-popover-position.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new ConnectionPositionPair(\n    { originX: 'center', originY: 'top' },\n    { overlayX: 'center', overlayY: 'bottom' },\n    0, 0,\n    ['eui-popover-position', 'eui-popover-position--top'],\n)",
                    "rawdescription": "Position configuration for a popover appearing above its origin element.\nCenters the popover horizontally relative to the origin.",
                    "description": "<p>Position configuration for a popover appearing above its origin element.\nCenters the popover horizontally relative to the origin.</p>\n"
                }
            ],
            "packages/components/externals/eui-editor/validators/eui-editor.validators.ts": [
                {
                    "name": "byteLength",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/externals/eui-editor/validators/eui-editor.validators.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(value: string): number => {\n    // returns the byte length of an utf8 string\n    let s = value.length;\n    for (let i = value.length - 1; i >= 0; i--) {\n        const code = value.charCodeAt(i);\n        if (code > 0x7f && code <= 0x7ff) {\n            s++;\n        } else if (code > 0x7ff && code <= 0xffff) {\n            s += 2;\n        }\n        if (code >= 0xdc00 && code <= 0xdfff) {\n            i--;\n        }\n    }\n    return s;\n}"
                },
                {
                    "name": "euiEditorMaxBytes",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/externals/eui-editor/validators/eui-editor.validators.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(maxBytes: number): ValidatorFn =>\n    (control: AbstractControl): { maxBytes: { maxBytes: number; actual: number } } | null => {\n        if (control.value) {\n            let actual = 0;\n            if (isJson(control.value)) {\n                actual = byteLength(control.value);\n            } else {\n                const m = encodeURIComponent(control.value).match(/%[89ABab]/g);\n                actual = control.value.length + (m ? m.length : 0);\n            }\n\n            return actual > maxBytes ? { maxBytes: { maxBytes, actual } } : null;\n        }\n    }"
                },
                {
                    "name": "euiEditorMaxLength",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/externals/eui-editor/validators/eui-editor.validators.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(maxLength: number): ValidatorFn =>\n    (control: AbstractControl): { maxLength: { maxLength: number; actual: number } } | null => {\n        if (control.value) {\n            let actual = 0;\n            if (isJson(control.value)) {\n                const content = JSON.parse(control.value)\n                    .ops.filter((c: { attributes: string; insert: string }) => typeof c.insert === 'string')\n                    .map((c: { attributes: string; insert: string }) => c.insert.replace(/\\n/g, ''));\n\n                const jsonStrippedContent = content.join('');\n                actual = jsonStrippedContent.length;\n            } else {\n                const regex = /(<([^>]+)>)/gi;\n                const tagsStrippedContent = control.value.replace(regex, '');\n                actual = tagsStrippedContent.length;\n            }\n\n            return actual > maxLength ? { maxLength: { maxLength, actual } } : null;\n        }\n    }"
                },
                {
                    "name": "euiEditorMaxWords",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/externals/eui-editor/validators/eui-editor.validators.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(maxWords: number): ValidatorFn =>\n    (control: AbstractControl<string>): { maxWords: { maxWords: number; actual: number } } | null => {\n        const regex = /[\\s\\n]+/;\n        if (control.value) {\n            let actual = 0;\n            if (isJson(control.value)) {\n                const content = JSON.parse(control.value)\n                    .ops.filter((c: { insert: string }) => typeof c.insert === 'string')\n                    .map((c: { insert: string }) => c.insert);\n\n                const jsonStrippedContent = content.join('');\n                actual = jsonStrippedContent.replace(/\\n/g, ' ').split(/\\s+/).filter(t => t !== '').length;\n            } else {\n                const text = control.value.replace(/[\\u200B-\\u200D\\uFEFF]/g, '').replace(/<\\/(p|div|br|li|h[1-6])>/gi, ' ').replace(/<[^>]+>/g, '');\n                actual = !text ? 0 : text.trim().split(regex).filter(t => t !== '').length;\n            }\n\n            return actual > maxWords ? { maxWords: { maxWords, actual } } : null;\n        }\n    }"
                },
                {
                    "name": "euiEditorMinBytes",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/externals/eui-editor/validators/eui-editor.validators.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(minBytes: number): ValidatorFn =>\n    (control: AbstractControl): { minBytes: { minBytes: number; actual: number } } | null => {\n        if (control.value) {\n            let actual = 0;\n            const m = encodeURIComponent(control.value).match(/%[89ABab]/g);\n            actual = control.value.length + (m ? m.length : 0);\n\n            return actual < minBytes ? { minBytes: { minBytes, actual } } : null;\n        }\n    }"
                },
                {
                    "name": "euiEditorMinLength",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/externals/eui-editor/validators/eui-editor.validators.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(minLength: number): ValidatorFn =>\n    (control: AbstractControl): { minLength: { minLength: number; actual: number } } | null => {\n        if (control.value) {\n            let actual = 0;\n            if (isJson(control.value)) {\n                const content = JSON.parse(control.value)\n                    .ops.filter((c: { attributes: string; insert: string }) => typeof c.insert === 'string')\n                    .map((c: { attributes: string; insert: string }) => c.insert.replace(/\\n/g, ''));\n\n                const jsonStrippedContent = content.join('');\n                actual = jsonStrippedContent.length;\n            } else {\n                const regex = /(<([^>]+)>)/gi;\n                const tagsStrippedContent = control.value.replace(regex, '');\n                actual = tagsStrippedContent.length;\n            }\n\n            return actual < minLength ? { minLength: { minLength, actual } } : null;\n        }\n    }"
                },
                {
                    "name": "euiEditorMinWords",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/externals/eui-editor/validators/eui-editor.validators.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(minWords: number): ValidatorFn =>\n    (control: AbstractControl<string>): { minWords: { minWords: number; actual: number } } | null => {\n        const regex = /[\\s\\n]+/;\n        if (control.value) {\n            let actual = 0;\n            if (isJson(control.value)) {\n                const content = JSON.parse(control.value)\n                    .ops.filter((c: { insert: string }) => typeof c.insert === 'string')\n                    .map((c: { insert: string }) => c.insert);\n\n                const jsonStrippedContent = content.join('');\n                actual = jsonStrippedContent.replace(/\\n/g, ' ').split(/\\s+/).filter(t => t !== '').length;\n            } else {\n                const text = control.value.replace(/[\\u200B-\\u200D\\uFEFF]/g, '').replace(/<\\/(p|div|br|li|h[1-6])>/gi, ' ').replace(/<[^>]+>/g, '');\n                actual = !text ? 0 : text.trim().split(regex).filter(t => t !== '').length;\n            }\n\n            return actual < minWords ? { minWords: { minWords, actual } } : null;\n        }\n    }"
                },
                {
                    "name": "isJson",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/externals/eui-editor/validators/eui-editor.validators.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(value: string): boolean => {\n    try {\n        JSON.parse(value);\n    } catch (e) {\n        return false;\n    }\n    return true;\n}"
                }
            ],
            "packages/components/eui-progress-circle/eui-progress-circle.component.ts": [
                {
                    "name": "colorTypeTransform",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-progress-circle/eui-progress-circle.component.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(value: string | ColorType): ColorType => {\n    const types = ['info', 'success', 'warning', 'danger'];\n    return types.includes(value) ? value as ColorType : 'info';\n}"
                },
                {
                    "name": "transformNumberInRange",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-progress-circle/eui-progress-circle.component.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(value: string | number): number => {\n    const num = Number(value);\n    return isNaN(num) ? 0 : Math.max(0, Math.min(num, 100));\n}"
                }
            ],
            "packages/components/testing/test.ts": [
                {
                    "name": "context",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/testing/test.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "require.context('../', true, /\\.spec\\.ts$/)"
                },
                {
                    "name": "require",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/testing/test.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any"
                }
            ],
            "packages/components/eui-table/testing/virtual-scroll-async.component.ts": [
                {
                    "name": "DATA",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-table/testing/virtual-scroll-async.component.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "[]",
                    "defaultValue": "[\n    { id: 1, country: 'Austria', year: 1995, iso: 'AT', population: 8504850, capital: 'Vienna' },\n    { id: 2, country: 'Belgium', year: 1958, iso: 'BE', population: 11198638, capital: 'Brussels' },\n    { id: 3, country: 'Bulgaria', year: 2007, iso: 'BG', population: 7364570, capital: 'Sofia' },\n    { id: 4, country: 'Croatia', year: 2013, iso: 'HR', population: 4284889, capital: 'Zagreb' },\n    { id: 5, country: 'Cyprus', year: 2004, iso: 'CY', population: 1117000, capital: 'Nicosia' },\n    { id: 6, country: 'Czechia', year: 2004, iso: 'CZ', population: 10513209, capital: 'Prague' },\n    { id: 7, country: 'Denmark', year: 1973, iso: 'DK', population: 5655750, capital: 'Copenhagen' },\n    { id: 8, country: 'Estonia', year: 2004, iso: 'EE', population: 1315819, capital: 'Tallinn' },\n    { id: 9, country: 'Finland', year: 1995, iso: 'FI', population: 5470820, capital: 'Helsinki' },\n    { id: 10, country: 'France', year: 1958, iso: 'FR', population: 67210000, capital: 'Paris' },\n    { id: 11, country: 'Germany', year: 1958, iso: 'DE', population: 80716000, capital: 'Berlin' },\n    { id: 12, country: 'Greece', year: 1981, iso: 'GR', population: 10816286, capital: 'Athens' },\n    { id: 13, country: 'Hungary', year: 2004, iso: 'HU', population: 9877365, capital: 'Budapest' },\n    { id: 14, country: 'Ireland', year: 1973, iso: 'IE', population: 4609600, capital: 'Dublin' },\n    { id: 15, country: 'Italy', year: 1958, iso: 'IT', population: 60782668, capital: 'Rome' },\n    { id: 16, country: 'Latvia', year: 2004, iso: 'LV', population: 1990300, capital: 'Riga' },\n    { id: 17, country: 'Lithuania', year: 2004, iso: 'LT', population: 2944459, capital: 'Vilnius' },\n    { id: 18, country: 'Luxembourg', year: 1958, iso: 'LU', population: 549680, capital: 'Luxembourg' },\n    { id: 19, country: 'Malta', year: 2004, iso: 'MT', population: 446547, capital: 'Valletta' },\n    { id: 20, country: 'Netherlands', year: 1958, iso: 'NL', population: 16856620, capital: 'Amsterdam' },\n    { id: 21, country: 'Poland', year: 2004, iso: 'PL', population: 38483957, capital: 'Warsaw' },\n    { id: 22, country: 'Portugal', year: 1986, iso: 'PT', population: 10427301, capital: 'Lisbon' },\n    { id: 23, country: 'Romania', year: 2007, iso: 'RO', population: 19942642, capital: 'Bucharest' },\n    { id: 24, country: 'Slovakia', year: 2004, iso: 'SK', population: 5415949, capital: 'Bratislava' },\n    { id: 25, country: 'Slovenia', year: 2004, iso: 'SI', population: 2061085, capital: 'Ljubljana' },\n    { id: 26, country: 'Spain', year: 1986, iso: 'ES', population: 46704314, capital: 'Madrid' },\n    { id: 27, country: 'Sweden', year: 1995, iso: 'SE', population: 10004962, capital: 'Stockholm' },\n    { id: 28, country: 'United Kingdom', year: 1973, iso: 'GB', population: 64100000, capital: 'London' },\n]"
                }
            ],
            "packages/components/eui-datepicker/eui-datepicker.validators.ts": [
                {
                    "name": "dateInputValidator",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-datepicker/eui-datepicker.validators.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "ValidatorFn",
                    "defaultValue": "(control: AbstractControl): ValidationErrors | null => {\n    // Access the stored input reference from the control\n    // eslint-disable-next-line\n    const inputElement = (control as any)._inputRef?.nativeElement;\n    if (inputElement) {\n        const rawValue = inputElement.value || '';\n        // if the control value is null(malformed date) but the raw input value is not empty, return an error\n        return control.value === null && rawValue.trim() !== '' ? { invalidDate: true } : null;\n    }\n    // return null if no input reference is found\n    return null;\n}"
                }
            ],
            "packages/components/eui-datepicker/eui-datepicker.component.ts": [
                {
                    "name": "DEFAULT_FORMATS",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-datepicker/eui-datepicker.component.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "object",
                    "defaultValue": "{\n    parse: {\n        dateInput: 'L',\n    },\n    display: {\n        dateInput: 'L',\n        monthYearLabel: 'MM/YYYY',\n        dateA11yLabel: 'LL',\n        monthYearA11yLabel: 'LL',\n    },\n}"
                },
                {
                    "name": "LETTER_FORMAT",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-datepicker/eui-datepicker.component.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "object",
                    "defaultValue": "{\n    parse: {\n        dateInput: 'LL',\n    },\n    display: {\n        dateInput: 'LL',\n        monthYearLabel: 'LL',\n    },\n}"
                },
                {
                    "name": "moment",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-datepicker/eui-datepicker.component.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "_rollupMoment || _moment"
                },
                {
                    "name": "MONTH_YEAR_FORMAT",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-datepicker/eui-datepicker.component.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "object",
                    "defaultValue": "{\n    parse: {\n        dateInput: 'MM/YYYY',\n    },\n    display: {\n        dateInput: 'MM/YYYY',\n        monthYearLabel: 'MMM YYYY',\n        dateA11yLabel: 'LL',\n        monthYearA11yLabel: 'MMMM YYYY',\n    },\n}"
                },
                {
                    "name": "YEAR_FORMAT",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-datepicker/eui-datepicker.component.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "object",
                    "defaultValue": "{\n    parse: {\n        dateInput: 'YYYY',\n    },\n    display: {\n        dateInput: 'YYYY',\n        monthYearLabel: 'YYYY',\n        dateA11yLabel: 'YYYY',\n        monthYearA11yLabel: 'YYYY',\n    },\n}"
                }
            ],
            "packages/components/externals/quill/quill-defaults.ts": [
                {
                    "name": "defaultModules",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/externals/quill/quill-defaults.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "object",
                    "defaultValue": "{\n    toolbar: [\n        ['bold', 'italic', 'underline', 'strike'], // toggled buttons\n        ['blockquote', 'code-block'],\n\n        [{ header: 1 }, { header: 2 }], // custom button values\n        [{ list: 'ordered' }, { list: 'bullet' }],\n        [{ script: 'sub' }, { script: 'super' }], // superscript/subscript\n        [{ indent: '-1' }, { indent: '+1' }], // outdent/indent\n        [{ direction: 'rtl' }], // text direction\n\n        [{ size: ['small', false, 'large', 'huge'] }], // custom dropdown\n        [{ header: [1, 2, 3, 4, 5, 6, false] }],\n\n        [{ color: [] }, { background: [] }], // dropdown with defaults from theme\n        [{ font: [] }],\n        [{ align: [] }],\n\n        ['clean'], // remove formatting button\n        ['table'], // adds the insert table button\n        ['link', 'image', 'video'], // link and image, video\n    ],\n}"
                }
            ],
            "packages/components/eui-dialog/services/eui-dialog.token.ts": [
                {
                    "name": "DIALOG_COMPONENT_CONFIG",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-dialog/services/eui-dialog.token.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new InjectionToken<any>('DIALOG_COMPONENT_CONFIG')"
                },
                {
                    "name": "DIALOG_CONTAINER_CONFIG",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-dialog/services/eui-dialog.token.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new InjectionToken<any>('DIALOG_CONTAINER_CONFIG')"
                }
            ],
            "packages/components/eui-accordion/index.ts": [
                {
                    "name": "EUI_ACCORDION",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-accordion/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiAccordionComponent,\n    EuiAccordionItemComponent,\n    EuiAccordionItemHeaderDirective,\n] as const"
                }
            ],
            "packages/components/eui-alert/index.ts": [
                {
                    "name": "EUI_ALERT",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-alert/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiAlertComponent,\n    EuiAlertTitleComponent,\n] as const"
                }
            ],
            "packages/components/layout/eui-app-v2/index.ts": [
                {
                    "name": "EUI_APP",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/layout/eui-app-v2/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiApp,\n    \n    EuiAppSidebar,\n    EuiAppSidebarHeader,\n    EuiAppSidebarBody,\n    EuiAppSidebarFooter,\n    EuiAppSidebarMenu,\n\n    EuiAppToolbar,\n    EuiAppToolbarAppname,\n    EuiAppToolbarAppNameLabel,\n    EuiAppToolbarAppNameSublabel,\n    EuiAppToolbarEnvironment,\n    EuiAppToolbarLogo,\n    EuiAppToolbarItems,\n    EuiAppToolbarItem,\n    EuiAppToolbarSelector,\n    EuiAppToolbarSearch,\n    EuiAppToolbarSidebarToggle,\n    EuiAppToolbarNavbar,\n    EuiAppToolbarNavbarItem,\n    EuiAppToolbarMegaMenu,\n\n    EuiAppHeader,\n    EuiAppHeaderAppName,\n    EuiAppHeaderAppNameLabel,\n    EuiAppHeaderAppNameSublabel,\n    EuiAppHeaderEnvironment,\n    EuiAppHeaderLogo,\n    EuiAppHeaderRightContent,\n    EuiAppHeaderSearch,\n\n    EuiAppTopMessage,\n] as const"
                }
            ],
            "packages/components/eui-autocomplete/index.ts": [
                {
                    "name": "EUI_AUTOCOMPLETE",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-autocomplete/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiAutocompleteComponent,\n    EuiAutocompleteOptionComponent,\n    EuiAutocompleteOptionGroupComponent,\n] as const"
                }
            ],
            "packages/components/eui-avatar/index.ts": [
                {
                    "name": "EUI_AVATAR",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-avatar/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n        EuiAvatarComponent,\n        EuiAvatarIconComponent,\n        EuiAvatarTextComponent,\n        EuiAvatarImageComponent,\n        EuiAvatarBadgeComponent,\n        EuiAvatarListComponent,\n        EuiAvatarContentComponent,\n        EuiAvatarContentLabelComponent,\n        EuiAvatarContentSublabelComponent,\n] as const"
                }
            ],
            "packages/components/eui-badge/index.ts": [
                {
                    "name": "EUI_BADGE",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-badge/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiBadgeComponent,\n] as const"
                }
            ],
            "packages/components/eui-banner/index.ts": [
                {
                    "name": "EUI_BANNER",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-banner/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiBannerComponent,\n    EuiBannerTitleComponent,\n    EuiBannerDescriptionComponent,\n    EuiBannerCtaComponent,\n    EuiBannerVideoComponent,\n] as const"
                }
            ],
            "packages/components/eui-block-content/index.ts": [
                {
                    "name": "EUI_BLOCK_CONTENT",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-block-content/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiBlockContentComponent,\n] as const"
                }
            ],
            "packages/components/eui-block-document/index.ts": [
                {
                    "name": "EUI_BLOCK_DOCUMENT",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-block-document/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiBlockDocumentComponent,\n] as const"
                }
            ],
            "packages/components/eui-breadcrumb/index.ts": [
                {
                    "name": "EUI_BREADCRUMB",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-breadcrumb/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiBreadcrumbComponent,\n    EuiBreadcrumbItemComponent,\n] as const"
                }
            ],
            "packages/components/eui-button/index.ts": [
                {
                    "name": "EUI_BUTTON",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-button/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiButtonComponent,\n] as const"
                }
            ],
            "packages/components/eui-button-group/index.ts": [
                {
                    "name": "EUI_BUTTON_GROUP",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-button-group/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiButtonGroupComponent,\n] as const"
                }
            ],
            "packages/components/eui-calendar/index.ts": [
                {
                    "name": "EUI_CALENDAR",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-calendar/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n\tEuiCalendarMonthlyComponent,\n\tEuiCalendarDayComponent,\n\tEuiCalendarComponent,\n\tEuiCalendarHeaderComponent,\n\tEuiCalendarWeeklyComponent,\n\tEuiCalendarWeeklyDayContentComponent,\n\tEuiCalendarWeeklyDayHeaderActionComponent,\n\tEuiCalendarWeeklyDayHeaderComponent,\n] as const"
                }
            ],
            "packages/components/eui-card/index.ts": [
                {
                    "name": "EUI_CARD",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-card/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiCardComponent,\n    EuiCardHeaderComponent,\n    EuiCardHeaderTitleComponent,\n    EuiCardContentComponent,\n    EuiCardHeaderLeftContentComponent,\n    EuiCardHeaderRightContentComponent,\n    EuiCardHeaderSubtitleComponent,\n    EuiCardHeaderBodyComponent,\n    EuiCardFooterActionButtonsComponent,\n    EuiCardFooterActionIconsComponent,\n    EuiCardMediaComponent,\n    EuiCardFooterComponent,\n    EuiCardFooterMenuContentComponent,\n    EuiCardFooterMenuComponent,\n] as const"
                }
            ],
            "packages/components/externals/charts/index.ts": [
                {
                    "name": "EUI_CHARTS",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/externals/charts/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiApexChartComponent,\n] as const"
                }
            ],
            "packages/components/eui-chip/index.ts": [
                {
                    "name": "EUI_CHIP",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-chip/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiChipComponent,\n] as const"
                }
            ],
            "packages/components/eui-chip-button/index.ts": [
                {
                    "name": "EUI_CHIP_BUTTON",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-chip-button/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiChipButtonComponent,\n] as const"
                }
            ],
            "packages/components/eui-chip-group/index.ts": [
                {
                    "name": "EUI_CHIP_GROUP",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-chip-group/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiChipGroupComponent,\n] as const"
                }
            ],
            "packages/components/eui-chip-list/index.ts": [
                {
                    "name": "EUI_CHIP_LIST",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-chip-list/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiChipListComponent,\n    EuiChipListAppendContentDirective,\n    EuiChipListAdditionalContentDirective,\n] as const"
                }
            ],
            "packages/components/eui-comment-thread/index.ts": [
                {
                    "name": "EUI_COMMENT_THREAD",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-comment-thread/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiCommentThreadComponent,\n    EuiCommentItemComponent,\n    EuiCommentTextareaComponent,\n    EuiCommentItemRightActionsComponent,\n] as const"
                }
            ],
            "packages/components/eui-content-card/index.ts": [
                {
                    "name": "EUI_CONTENT_CARD",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-content-card/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiContentCardComponent,\n    EuiContentCardBodyTopComponent,\n    EuiContentCardBodyComponent,\n    EuiContentCardFooterComponent,\n    EuiContentCardHeaderComponent,\n    EuiContentCardHeaderEndComponent,\n    EuiContentCardHeaderMetadataComponent,\n    EuiContentCardHeaderStartComponent,\n    EuiContentCardHeaderSubmetadataComponent,\n    EuiContentCardHeaderSubtitleComponent,\n    EuiContentCardHeaderTitleComponent,\n    EuiContentCardMediaComponent,\n] as const"
                }
            ],
            "packages/components/eui-dashboard-card/index.ts": [
                {
                    "name": "EUI_DASHBOARD_CARD",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-dashboard-card/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiDashboardCardComponent,\n    EuiDashboardCardContentComponent,\n    EuiDashboardCardContentHeaderComponent,\n    EuiDashboardCardContentHeaderIconComponent,\n    EuiDashboardCardContentHeaderTitleComponent,\n    EuiDashboardCardContentHeaderActionComponent,\n    EuiDashboardCardContentBodyComponent,\n    EuiDashboardCardContentFooterComponent,\n    EuiDashboardCardStatusContentComponent,\n] as const"
                }
            ],
            "packages/components/eui-date-block/index.ts": [
                {
                    "name": "EUI_DATE_BLOCK",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-date-block/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiDateBlockComponent,\n] as const"
                }
            ],
            "packages/components/eui-date-range-selector/index.ts": [
                {
                    "name": "EUI_DATE_RANGE_SELECTOR",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-date-range-selector/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiTimeRangepickerComponent, \n    EuiDateRangeSelectorComponent,\n] as const"
                }
            ],
            "packages/components/eui-datepicker/index.ts": [
                {
                    "name": "EUI_DATEPICKER",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-datepicker/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n        EuiDatepickerComponent,\n        EuiLetterFormatDirective,\n        EuiYearFormatDirective,\n        EuiMonthYearFormatDirective,\n        EuiActionButtonsDirective,\n] as const"
                }
            ],
            "packages/components/eui-dialog/index.ts": [
                {
                    "name": "EUI_DIALOG",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-dialog/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiDialogComponent,\n    EuiDialogHeaderDirective,\n    EuiDialogFooterDirective,\n    EuiDialogContainerComponent,\n] as const"
                }
            ],
            "packages/components/eui-dimmer/index.ts": [
                {
                    "name": "EUI_DIMMER",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-dimmer/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiDimmerComponent,\n] as const"
                }
            ],
            "packages/components/eui-disable-content/index.ts": [
                {
                    "name": "EUI_DISABLE_CONTENT",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-disable-content/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiDisableContentComponent,\n] as const"
                }
            ],
            "packages/components/eui-discussion-thread/index.ts": [
                {
                    "name": "EUI_DISCUSSION_THREAD",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-discussion-thread/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiDiscussionThreadComponent, \n    EuiDiscussionThreadItemComponent,\n] as const"
                }
            ],
            "packages/components/eui-dropdown/index.ts": [
                {
                    "name": "EUI_DROPDOWN",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-dropdown/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiDropdownComponent,\n    EuiDropdownItemComponent,\n    EuiDropdownContentDirective,\n] as const"
                }
            ],
            "packages/components/eui-feedback-message/index.ts": [
                {
                    "name": "EUI_FEEDBACK_MESSAGE",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-feedback-message/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiFeedbackMessageComponent,\n] as const"
                }
            ],
            "packages/components/eui-fieldset/index.ts": [
                {
                    "name": "EUI_FIELDSET",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-fieldset/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiFieldsetComponent,\n    EuiFieldsetLabelExtraContentTagDirective,\n    EuiFieldsetLabelRightContentTagDirective,\n] as const"
                }
            ],
            "packages/components/eui-file-upload/index.ts": [
                {
                    "name": "EUI_FILE_UPLOAD",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-file-upload/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiFileUploadComponent,\n    EuiFileUploadProgressComponent,\n    EuiFilePreviewComponent,\n    EuiFileSizePipe,\n] as const"
                }
            ],
            "packages/components/eui-growl/index.ts": [
                {
                    "name": "EUI_GROWL",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-growl/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[ EuiGrowlComponent ] as const"
                }
            ],
            "packages/components/eui-helper-text/index.ts": [
                {
                    "name": "EUI_HELPER_TEXT",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-helper-text/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiHelperTextComponent,\n] as const"
                }
            ],
            "packages/components/eui-icon/index.ts": [
                {
                    "name": "EUI_ICON",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-icon/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiIconSvgComponent,\n] as const"
                }
            ],
            "packages/components/eui-icon-button/index.ts": [
                {
                    "name": "EUI_ICON_BUTTON",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-icon-button/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiIconButtonComponent,\n] as const"
                }
            ],
            "packages/components/eui-icon-button-expander/index.ts": [
                {
                    "name": "EUI_ICON_BUTTON_EXPANDER",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-icon-button-expander/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiIconButtonExpanderComponent,\n] as const"
                }
            ],
            "packages/components/eui-icon-color/index.ts": [
                {
                    "name": "EUI_ICON_COLOR",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-icon-color/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiIconColorComponent,\n] as const"
                }
            ],
            "packages/components/eui-icon-input/index.ts": [
                {
                    "name": "EUI_ICON_INPUT",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-icon-input/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiIconInputComponent,\n] as const"
                }
            ],
            "packages/components/eui-icon-state/index.ts": [
                {
                    "name": "EUI_ICON_STATE",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-icon-state/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiIconStateComponent,\n] as const"
                }
            ],
            "packages/components/eui-icon-toggle/index.ts": [
                {
                    "name": "EUI_ICON_TOGGLE",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-icon-toggle/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiIconToggleComponent,\n] as const"
                }
            ],
            "packages/components/eui-input-button/index.ts": [
                {
                    "name": "EUI_INPUT_BUTTON",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-input-button/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiInputButtonComponent,\n] as const"
                }
            ],
            "packages/components/eui-input-checkbox/index.ts": [
                {
                    "name": "EUI_INPUT_CHECKBOX",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-input-checkbox/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiInputCheckboxComponent,\n] as const"
                }
            ],
            "packages/components/eui-input-group/index.ts": [
                {
                    "name": "EUI_INPUT_GROUP",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-input-group/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n        EuiInputGroupComponent,\n        EuiInputGroupAddOnComponent,\n        EuiInputGroupAddOnItemComponent,\n] as const"
                }
            ],
            "packages/components/eui-input-number/index.ts": [
                {
                    "name": "EUI_INPUT_NUMBER",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-input-number/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiInputNumberComponent,\n    EuiInputNumberDirective,\n] as const"
                }
            ],
            "packages/components/eui-input-radio/index.ts": [
                {
                    "name": "EUI_INPUT_RADIO",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-input-radio/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiInputRadioComponent,\n] as const"
                }
            ],
            "packages/components/eui-input-text/index.ts": [
                {
                    "name": "EUI_INPUT_TEXT",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-input-text/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiInputTextComponent,\n] as const"
                }
            ],
            "packages/components/eui-label/index.ts": [
                {
                    "name": "EUI_LABEL",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-label/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiLabelComponent,\n] as const"
                }
            ],
            "packages/components/eui-language-selector/index.ts": [
                {
                    "name": "EUI_LANGUAGE_SELECTOR",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-language-selector/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiLanguageSelectorComponent, \n    EuiModalSelectorComponent,\n] as const"
                }
            ],
            "packages/components/layout/index.ts": [
                {
                    "name": "EUI_LAYOUT",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/layout/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiAppComponent,\n    EuiAppBreadcrumbComponent,\n    EuiAppFooterComponent,\n    EuiAppHeaderComponent,\n    EuiAppPageWrapperDirective,\n    EuiAppSidebarBodyComponent,\n    EuiAppSidebarComponent,\n    EuiAppSidebarDrawerComponent,\n    EuiAppSidebarFooterComponent,\n    EuiAppSidebarHeaderComponent,\n    EuiAppSidebarHeaderUserProfileComponent,\n    EuiAppSidebarMenuComponent,\n    EuiAppToolbarComponent,\n    EuiAppToolbarItemsMobileComponent,\n    EuiAppTopMessageComponent,   \n    EuiAppSideContainerComponent,\n\n    EuiFooterComponent,\n\n    EuiHeaderAppComponent,\n    EuiHeaderAppNameComponent,\n    EuiHeaderAppNameLogoComponent,\n    EuiHeaderAppSubtitleComponent,\n    EuiHeaderComponent,\n    EuiHeaderEnvironmentComponent,\n    EuiHeaderLogoComponent,\n    EuiHeaderRightContentComponent,\n    EuiHeaderSearchComponent,\n    EuiHeaderUserProfileComponent,\n\n    EuiNotificationItemComponent,\n    EuiNotificationsComponent,\n\n    EuiNotificationItemV2Component,\n    EuiNotificationsV2Component,    \n\n    EuiSidebarToggleComponent,\n\n    EuiToolbarAppComponent,\n    EuiToolbarCenterComponent,\n    EuiToolbarComponent,\n    EuiToolbarEnvironmentComponent,\n    EuiToolbarItemComponent,\n    EuiToolbarItemsComponent,\n    EuiToolbarLogoComponent,\n    EuiToolbarMegaMenuComponent,\n    EuiToolbarNavbarComponent,\n    EuiToolbarNavbarItemComponent,\n    EuiToolbarSearchComponent,\n    EuiToolbarSelectorComponent,    \n] as const"
                }
            ],
            "packages/components/eui-list/index.ts": [
                {
                    "name": "EUI_LIST",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-list/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiListComponent,\n    EuiListItemComponent,\n] as const"
                }
            ],
            "packages/components/eui-menu/index.ts": [
                {
                    "name": "EUI_MENU",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-menu/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiMenuComponent,\n    EuiMenuItemComponent,\n] as const"
                }
            ],
            "packages/components/eui-message-box/index.ts": [
                {
                    "name": "EUI_MESSAGE_BOX",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-message-box/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiMessageBoxComponent,\n    EuiMessageBoxFooterDirective,\n] as const"
                }
            ],
            "packages/components/eui-navbar/index.ts": [
                {
                    "name": "EUI_NAVBAR",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-navbar/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiNavbarComponent,\n    EuiNavbarItemComponent,\n] as const"
                }
            ],
            "packages/components/eui-overlay/index.ts": [
                {
                    "name": "EUI_OVERLAY",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-overlay/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiOverlayHeaderComponent,\n    EuiOverlayHeaderTitleComponent,\n    EuiOverlayBodyComponent,\n    EuiOverlayContentComponent,\n    EuiOverlayFooterComponent,\n    EuiOverlayComponent,\n] as const"
                }
            ],
            "packages/components/eui-page/index.ts": [
                {
                    "name": "EUI_PAGE",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-page/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiPageComponent,\n    EuiPageColumnComponent,\n    EuiPageColumnHeaderBodyContentDirective,\n    EuiPageColumnHeaderLeftContentDirective,\n    EuiPageColumnHeaderRightContentDirective,\n    EuiPageColumnHeaderCollapsedContentDirective,\n    EuiPageColumnBodyContentDirective,\n    EuiPageColumnFooterContentDirective,\n    EuiPageColumnsComponent,\n    EuiPageContentComponent,\n    EuiPageHeaderComponent,\n    EuiPageHeaderSubLabelComponent,\n    EuiPageHeaderBodyComponent,\n    EuiPageHeaderActionItemsComponent,\n    EuiPageHeroHeaderComponent,\n    EuiPageFooterComponent,\n    EuiPageBreadcrumbComponent,\n    EuiPageTopContentComponent,\n] as const"
                }
            ],
            "packages/components/eui-page-v2/index.ts": [
                {
                    "name": "EUI_PAGE",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-page-v2/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiPage,\n    EuiPageContent,\n    EuiPageHeader,\n    EuiPageHeaderLabel,\n    EuiPageHeaderSubLabel,\n    EuiPageHeaderBody,\n    EuiPageHeaderActionItems,\n\n    EuiPageColumns,\n\n    EuiPageColumn,\n    EuiPageColumnHeader,\n    EuiPageColumnHeaderStart,\n    EuiPageColumnHeaderEnd,\n    EuiPageColumnHeaderLabel,\n    EuiPageColumnHeaderSubLabel,\n    EuiPageColumnHeaderBody,\n    EuiPageColumnFooter,\n\n    EuiPageColumnBody,\n\n    EuiPageFooter,\n\n    EuiPageBreadcrumb,\n    EuiPageTopContent,\n] as const"
                }
            ],
            "packages/components/eui-paginator/index.ts": [
                {
                    "name": "EUI_PAGINATOR",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-paginator/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[ EuiPaginatorComponent ] as const"
                }
            ],
            "packages/components/eui-popover/index.ts": [
                {
                    "name": "EUI_POPOVER",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-popover/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiPopoverComponent,\n] as const"
                }
            ],
            "packages/components/eui-progress-bar/index.ts": [
                {
                    "name": "EUI_PROGRESS_BAR",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-progress-bar/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiProgressBarComponent,\n] as const"
                }
            ],
            "packages/components/eui-progress-circle/index.ts": [
                {
                    "name": "EUI_PROGRESS_CIRCLE",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-progress-circle/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiProgressCircleComponent,\n] as const"
                }
            ],
            "packages/components/eui-rating/index.ts": [
                {
                    "name": "EUI_RATING",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-rating/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiRatingComponent,\n] as const"
                }
            ],
            "packages/components/eui-section-header/index.ts": [
                {
                    "name": "EUI_SECTION_HEADER",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-section-header/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiSectionHeaderComponent,\n    EuiSectionHeaderTitleComponent,\n    EuiSectionHeaderIconComponent,\n    EuiSectionHeaderActionComponent,\n    EuiSectionHeaderDescriptionComponent,\n] as const"
                }
            ],
            "packages/components/eui-select/index.ts": [
                {
                    "name": "EUI_SELECT",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-select/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiSelectComponent,\n    EuiNgSelectOptionDirective,\n    EuiSelectControlValueAccessor,\n    EuiSelectMultipleControlValueAccessor,\n    EuiSelectMultipleOption,\n] as const"
                }
            ],
            "packages/components/eui-sidebar-menu/index.ts": [
                {
                    "name": "EUI_SIDEBAR_MENU",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-sidebar-menu/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiSidebarMenuComponent,\n] as const"
                }
            ],
            "packages/components/eui-skeleton/index.ts": [
                {
                    "name": "EUI_SKELETON",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-skeleton/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiSkeletonComponent,\n] as const"
                }
            ],
            "packages/components/eui-slide-toggle/index.ts": [
                {
                    "name": "EUI_SLIDE_TOGGLE",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-slide-toggle/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiSlideToggleComponent,\n] as const"
                }
            ],
            "packages/components/eui-slider/index.ts": [
                {
                    "name": "EUI_SLIDER",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-slider/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiSliderComponent,\n] as const"
                }
            ],
            "packages/components/eui-snc/index.ts": [
                {
                    "name": "EUI_SNC",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-snc/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[EuiSncComponent] as const"
                }
            ],
            "packages/components/eui-split-button/index.ts": [
                {
                    "name": "EUI_SPLIT_BUTTON",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-split-button/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiSplitButtonComponent,\n] as const"
                }
            ],
            "packages/components/eui-status-badge/index.ts": [
                {
                    "name": "EUI_STATUS_BADGE",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-status-badge/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiStatusBadgeComponent,\n] as const"
                }
            ],
            "packages/components/eui-table/index.ts": [
                {
                    "name": "EUI_TABLE",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-table/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiTableComponent,\n    EuiTableSelectableHeaderComponent,\n    EuiTableSelectableRowComponent,\n    EuiTableStickyColDirective,\n    EuiTableFilterComponent,\n    EuiTableHighlightPipe,\n    EuiTableSortableColComponent,\n    EuiTableExpandableRowDirective,\n    EuiTemplateDirective,\n] as const"
                }
            ],
            "packages/components/eui-tabs/index.ts": [
                {
                    "name": "EUI_TABS",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-tabs/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiTabsComponent,\n    EuiTabsRightContentComponent,\n    EuiTabBodyComponent,\n    EuiTabHeaderComponent,\n    EuiTabHeaderLabelComponent,\n    EuiTabHeaderSublabelComponent,\n    EuiTabHeaderRightContentComponent,\n    EuiTabHeaderLeftContentComponent,\n    EuiTabComponent,\n] as const"
                }
            ],
            "packages/components/eui-textarea/index.ts": [
                {
                    "name": "EUI_TEXTAREA",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-textarea/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiTextareaComponent,\n    AutoResizeDirective,\n] as const"
                }
            ],
            "packages/components/eui-timeline/index.ts": [
                {
                    "name": "EUI_TIMELINE",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-timeline/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiTimelineComponent, \n    EuiTimelineItemComponent,\n] as const"
                }
            ],
            "packages/components/eui-timepicker/index.ts": [
                {
                    "name": "EUI_TIMEPICKER",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-timepicker/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiTimepickerComponent,\n] as const"
                }
            ],
            "packages/components/eui-toggle-group/index.ts": [
                {
                    "name": "EUI_TOGGLE_GROUP",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-toggle-group/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiToggleGroupComponent,\n    EuiToggleGroupItemComponent,\n] as const"
                }
            ],
            "packages/components/eui-tree/index.ts": [
                {
                    "name": "EUI_TREE",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-tree/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiTreeComponent,\n] as const"
                }
            ],
            "packages/components/eui-tree-list/index.ts": [
                {
                    "name": "EUI_TREE_LIST",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-tree-list/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n        EuiTreeListComponent,\n        EuiTreeListItemComponent,\n        EuiTreeListItemLabelTagDirective,\n        EuiTreeListItemDetailsContentTagDirective,\n        EuiTreeListItemSubContainerContentTagDirective,\n        EuiTreeListItemContentComponent,\n        EuiTreeListToolbarComponent,\n] as const"
                }
            ],
            "packages/components/eui-user-profile/index.ts": [
                {
                    "name": "EUI_USER_PROFILE",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-user-profile/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n        EuiUserProfileComponent,\n        EuiUserProfileMenuComponent,\n        EuiUserProfileMenuItemComponent,\n        EuiUserProfileCardComponent,\n] as const"
                }
            ],
            "packages/components/eui-wizard/index.ts": [
                {
                    "name": "EUI_WIZARD",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-wizard/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiWizardStepComponent, \n    EuiWizardComponent,\n] as const"
                }
            ],
            "packages/components/eui-wizard-v2/index.ts": [
                {
                    "name": "EUI_WIZARD_V2",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-wizard-v2/index.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "[\n    EuiWizardStepComponent, \n    EuiWizardComponent,\n] as const"
                }
            ],
            "packages/components/shared/animations/collapse.animation.ts": [
                {
                    "name": "euiAnimationCollapse",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/shared/animations/collapse.animation.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "trigger('euiAnimationCollapse', [\n    state('false', style({ height: AUTO_STYLE, visibility: AUTO_STYLE })),\n    state('true', style({ height: '0', visibility: 'hidden', paddingTop: '0', paddingBottom: '0' })),\n    transition('false => true', animate(100 + 'ms ease-in')),\n    transition('true => false', animate(200 + 'ms ease-out')),\n])"
                }
            ],
            "packages/components/eui-autocomplete/validators/force-selection-from-data.validator.ts": [
                {
                    "name": "euiAutocompleteForceSelectionFromData",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-autocomplete/validators/force-selection-from-data.validator.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(control: AbstractControl<EuiAutoCompleteItem | EuiAutoCompleteItem[]>):\n    { isInData: { isInData: boolean; invalidValues: EuiAutoCompleteItem | EuiAutoCompleteItem[] } } | null => {\n    if (control.value) {\n        const isInData = Array.isArray(control.value) ? control.value.every(obj => 'id' in obj) : control.value.id !== undefined;\n        const invalidValues = Array.isArray(control.value) ? control.value.filter(v => v.id === undefined) : control.value;\n\n        return !isInData ? { isInData: { isInData, invalidValues } } : null;\n    }\n\n    return null;\n}"
                }
            ],
            "packages/components/eui-calendar/models.ts": [
                {
                    "name": "EuiCalendarDayOfWeek",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-calendar/models.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "object",
                    "defaultValue": "{\n\tMONDAY: 0,\n\tTUESDAY: 1,\n\tWEDNESDAY: 2,\n\tTHURSDAY: 3,\n\tFRIDAY: 4,\n\tSATURDAY: 5,\n\tSUNDAY: 6,\n}",
                    "rawdescription": "Enum for days of the week",
                    "description": "<p>Enum for days of the week</p>\n"
                }
            ],
            "packages/components/eui-date-range-selector/eui-date-range-selector.validators.ts": [
                {
                    "name": "euiStartEndDateValidator",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-date-range-selector/eui-date-range-selector.validators.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(adapter: DateAdapter<any>): ValidatorFn =>\n    (control: AbstractControl): ValidationErrors | null => {\n        const start = moment(adapter.getValidDateOrNull(adapter.deserialize(control.value?.startRange)));\n        const end = moment(control.value?.endRange);\n        return !start || !end || adapter.compareDate(start, end) <= 0 ? null : { euiDateRangeInvalid: { end, actual: start } };\n    }"
                }
            ],
            "packages/components/eui-file-upload/utils/mime-types.ts": [
                {
                    "name": "extractZipFileList",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-file-upload/utils/mime-types.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(data: Uint8Array): string[] => {\n\t// Simplified ZIP parsing - looks for central directory entries\n\tconst files: string[] = [];\n\tlet offset = 0;\n\n\twhile (offset < data.length - 4) {\n\t\t// Look for local file header signature (0x04034b50)\n\t\tif (data[offset] === 0x50 && data[offset + 1] === 0x4b &&\n\t\t\tdata[offset + 2] === 0x03 && data[offset + 3] === 0x04) {\n\n\t\t\tconst filenameLength = data[offset + 26] | (data[offset + 27] << 8);\n\t\t\tconst extraFieldLength = data[offset + 28] | (data[offset + 29] << 8);\n\n\t\t\tif (filenameLength > 0 && offset + 30 + filenameLength <= data.length) {\n\t\t\t\tconst filename = new TextDecoder().decode(data.slice(offset + 30, offset + 30 + filenameLength));\n\t\t\t\tfiles.push(filename);\n\t\t\t}\n\n\t\t\toffset += 30 + filenameLength + extraFieldLength;\n\t\t} else {\n\t\t\toffset++;\n\t\t}\n\t}\n\n\treturn files;\n}"
                },
                {
                    "name": "getMimeType",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-file-upload/utils/mime-types.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(header: Uint8Array): MimeType => {\n    // convert Uint8Array to hex string\n    const hex = uint8ArrayToHexString(header);\n\n    // map hex string to mime type\n    if (hex.startsWith('ffd8ff')) return 'image/jpeg';\n    if (hex.startsWith('89504e47')) return 'image/png';\n    if (hex.startsWith('464c4946')) return 'image/flif';\n    if (hex.startsWith('67696d7020786366')) return 'image/x-xcf';\n    if (hex.startsWith('49492a00')) return 'image/x-canon-cr2';\n    if (hex.startsWith('49492a00')) return 'image/x-canon-cr3';\n    if (hex.startsWith('49492a00')) return 'image/tiff';\n    if (hex.startsWith('424d')) return 'image/bmp';\n    if (hex.startsWith('69636e73')) return 'image/icns';\n    if (hex.startsWith('49491a0000004845415050')) return 'image/vnd.ms-photo';\n    if (hex.startsWith('38425053')) return 'image/vnd.adobe.photoshop';\n    if (hex.startsWith('06054b50')) return 'application/x-indesign';\n\t// Handle ZIP-based formats by examining content\n\tif (hex.startsWith('504b0304')) {\n\t\treturn identifyZipBasedFormat(header);\n\t}\n    if (hex.startsWith('7b2274797065223a226a736f6e227d')) return 'application/json';\n    if (hex.startsWith('7573746172')) return 'application/x-tar';\n    if (hex.startsWith('526172211a0700')) return 'application/x-rar-compressed';\n    if (hex.startsWith('1f8b08')) return 'application/gzip';\n    if (hex.startsWith('425a68')) return 'application/x-bzip2';\n    if (hex.startsWith('377abcaf271c')) return 'application/x-7z-compressed';\n    if (hex.startsWith('78da')) return 'application/x-apple-diskimage';\n    if (hex.startsWith('00000020667479706d70')) return 'video/mp4';\n    if (hex.startsWith('4d546864')) return 'audio/midi';\n    if (hex.startsWith('1a45dfa393428288')) return 'video/x-matroska';\n    if (hex.startsWith('1a45dfa3')) return 'video/webm';\n    if (hex.startsWith('00000014667479707174')) return 'video/quicktime';\n    if (hex.startsWith('52494646')) return 'video/vnd.avi';\n    if (hex.startsWith('52494646')) return 'audio/vnd.wave';\n    if (hex.startsWith('0a010301')) return 'audio/qcelp';\n    if (hex.startsWith('3026b2758e66cf11')) return identifyAsfFormat(header);\n    if (hex.startsWith('000001ba')) return 'video/mpeg';\n    if (hex.startsWith('00000020667479703367')) return 'video/3gpp';\n    if (hex.startsWith('494433')) return 'audio/mpeg';\n    if (hex.startsWith('00000020667479704d344120')) return 'audio/mp4';\n    if (hex.startsWith('4f707573')) return 'audio/opus';\n    if (hex.startsWith('4f676753')) return identifyOggFormat(header);\n    if (hex.startsWith('664c6143')) return 'audio/x-flac';\n    if (hex.startsWith('4d414320')) return 'audio/ape';\n    if (hex.startsWith('7776706b')) return 'audio/wavpack';\n    if (hex.startsWith('2321414d520a')) return 'audio/amr';\n    if (hex.startsWith('255044462d312e')) return 'application/pdf';\n    if (hex.startsWith('7f454c46')) return 'application/x-elf';\n    if (hex.startsWith('4d5a')) return 'application/x-msdownload';\n    if (hex.startsWith('435753')) return 'application/x-shockwave-flash';\n    if (hex.startsWith('7b5c72746631')) return 'application/rtf';\n    if (hex.startsWith('0061736d')) return 'application/wasm';\n    if (hex.startsWith('774f4646')) return 'font/woff';\n    if (hex.startsWith('774f4632')) return 'font/woff2';\n    if (hex.startsWith('000100000008')) return 'application/vnd.ms-fontobject';\n    if (hex.startsWith('0001000000')) return 'font/ttf';\n    if (hex.startsWith('4f54544f00')) return 'font/otf';\n    if (hex.startsWith('000001000100')) return 'image/x-icon';\n    if (hex.startsWith('464c560105')) return 'video/x-flv';\n    if (hex.startsWith('25215053')) return 'application/postscript';\n    if (hex.startsWith('25215053')) return 'application/eps';\n    if (hex.startsWith('fd377a585a00')) return 'application/x-xz';\n    if (hex.startsWith('53514c69746520666f726d6174203300')) return 'application/x-sqlite3';\n    if (hex.startsWith('4e45531a00000001')) return 'application/x-nintendo-nes-rom';\n    if (hex.startsWith('4d534346')) return 'application/vnd.ms-cab-compressed';\n    if (hex.startsWith('213c617263683e0a')) return 'application/x-deb';\n    if (hex.startsWith('1f8b08')) return 'application/x-unix-archive';\n    if (hex.startsWith('edabeedb')) return 'application/x-rpm';\n    if (hex.startsWith('1f9d90')) return 'application/x-compress';\n    if (hex.startsWith('4c5a4950')) return 'application/x-lzip';\n    if (hex.startsWith('d0cf11e0a1b11ae1')) return 'application/x-cfb';\n    if (hex.startsWith('4d49455f')) return 'application/x-mie';\n    if (hex.startsWith('4141523146')) return 'application/x-apache-arrow';\n    if (hex.startsWith('060e2b3402050101')) return 'application/mxf';\n    if (hex.startsWith('47')) return 'video/mp2t';\n    if (hex.startsWith('4250e4')) return 'application/x-blender';\n    if (hex.startsWith('425047fb')) return 'image/bpg';\n    if (hex.startsWith('ff4fff51')) return 'image/j2c';\n    if (hex.startsWith('0000000c6a5020200d0a')) return 'image/jp2';\n    if (hex.startsWith('6a5020200d0a870a')) return 'image/jpx';\n    if (hex.startsWith('6a5020200d0a870a')) return 'image/jpm';\n    if (hex.startsWith('0000000c6a5020200d0a')) return 'image/mj2';\n    if (hex.startsWith('464f524d')) return 'audio/aiff';\n    if (hex.startsWith('3c3f786d6c20')) return 'application/xml';\n    if (hex.startsWith('424f4f4b4d4f4249')) return 'application/x-mobipocket-ebook';\n    if (hex.startsWith('667479706174')) return identifyHeifFormat(header);\n    if (hex.startsWith('4b545820')) return 'image/ktx';\n    if (hex.startsWith('4449434d')) return 'application/dicom';\n    if (hex.startsWith('4d50434b')) return 'audio/x-musepack';\n    if (hex.startsWith('56656e64')) return 'text/calendar';\n    if (hex.startsWith('424547494e3a5643415244')) return 'text/vcard';\n    if (hex.startsWith('676c5458')) return 'model/gltf-binary';\n    if (hex.startsWith('d4c3b2a1')) return 'application/vnd.tcpdump.pcap';\n    if (hex.startsWith('464f524d')) return 'audio/x-voc';\n    if (hex.startsWith('64646f6c')) return 'audio/vnd.dolby.dd-raw';\n\n    return null;\n}"
                },
                {
                    "name": "identifyAsfFormat",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-file-upload/utils/mime-types.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(data: Uint8Array): MimeType => {\n\t// ASF files all start with the same GUID: 3026b2758e66cf11a6d900aa0062ce6c\n\t// To distinguish between audio, video, and application ASF, we need to examine\n\t// the stream properties in the ASF header\n\n\ttry {\n\t\t// Look for stream properties object GUID starting at offset 30\n\t\t// Audio stream properties: b7dc0791a9b711cf8ee600c00c205365\n\t\t// Video stream properties: bc19efc05b4d11cf9b1100aa00bbcb8b\n\n\t\tif (data.length < 100) {\n\t\t\t// Not enough data to analyze, default to application\n\t\t\treturn 'application/vnd.ms-asf';\n\t\t}\n\n\t\tconst hex = uint8ArrayToHexString(data);\n\n\t\t// Look for video stream properties GUID (indicates video content)\n\t\tif (hex.includes('bc19efc05b4d11cf9b1100aa00bbcb8b')) {\n\t\t\treturn 'video/x-ms-asf';\n\t\t}\n\n\t\t// Look for audio stream properties GUID (indicates audio content)\n\t\tif (hex.includes('b7dc0791a9b711cf8ee600c00c205365')) {\n\t\t\treturn 'audio/x-ms-asf';\n\t\t}\n\n\t\t// Check for Windows Media Audio/Video codec identifiers\n\t\t// WMA codec: 161 (0xa1) or 162 (0xa2) or 163 (0xa3)\n\t\t// WMV codec: Common values include various Windows Media Video identifiers\n\n\t\t// Scan through the header for codec information\n\t\tfor (let i = 0; i < Math.min(data.length - 4, 1000); i++) {\n\t\t\t// Look for audio codec indicators\n\t\t\tif (data[i] === 0xa1 || data[i] === 0xa2 || data[i] === 0xa3) {\n\t\t\t\t// Found WMA codec indicator\n\t\t\t\treturn 'audio/x-ms-asf';\n\t\t\t}\n\t\t}\n\n\t\t// Look for common video indicators in the first 1KB\n\t\tconst textContent = new TextDecoder('utf-8', { fatal: false }).decode(data.slice(0, Math.min(1000, data.length)));\n\n\t\t// Check for video-related strings\n\t\tif (textContent.toLowerCase().includes('video') ||\n\t\t    textContent.toLowerCase().includes('wmv') ||\n\t\t    textContent.toLowerCase().includes('mpeg')) {\n\t\t\treturn 'video/x-ms-asf';\n\t\t}\n\n\t\t// Check for audio-related strings\n\t\tif (textContent.toLowerCase().includes('audio') ||\n\t\t    textContent.toLowerCase().includes('wma') ||\n\t\t    textContent.toLowerCase().includes('music')) {\n\t\t\treturn 'audio/x-ms-asf';\n\t\t}\n\n\t\t// Default to application/vnd.ms-asf if we can't determine the specific type\n\t\treturn 'application/vnd.ms-asf';\n\n\t} catch {\n\t\t// If any error occurs during analysis, default to application type\n\t\treturn 'application/vnd.ms-asf';\n\t}\n}"
                },
                {
                    "name": "identifyHeifFormat",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-file-upload/utils/mime-types.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(data: Uint8Array): MimeType => {\n\t// HEIF/HEIC files all start with the same ftyp box signature: 667479706174\n\t// To distinguish between formats, we need to examine the brand and compatible brands\n\t// in the ftyp (file type) box\n\n\ttry {\n\t\tif (data.length < 20) {\n\t\t\t// Not enough data to analyze, default to HEIF\n\t\t\treturn 'image/heif';\n\t\t}\n\n\t\tconst hex = uint8ArrayToHexString(data);\n\n\t\t// The ftyp box structure:\n\t\t// Bytes 0-3: Box size (4 bytes)\n\t\t// Bytes 4-7: Box type \"ftyp\" (4 bytes) - 667479706174\n\t\t// Bytes 8-11: Major brand (4 bytes)\n\t\t// Bytes 12-15: Minor version (4 bytes)\n\t\t// Bytes 16+: Compatible brands (4 bytes each)\n\n\t\t// Extract major brand (4 bytes starting at offset 8)\n\t\t// Convert to ASCII string for easier comparison\n\t\tconst majorBrand = String.fromCharCode(\n\t\t\tdata[8], data[9], data[10], data[11],\n\t\t);\n\n\t\t// Look for compatible brands in the first 100 bytes\n\t\tconst compatibleBrandsHex = hex.substring(32, Math.min(200, hex.length)); // Start after major brand + minor version\n\n\t\t// HEIC brands: 'heic', 'heix', 'hevc', 'hevx'\n\t\tif (majorBrand === 'heic' ||\n\t\t    compatibleBrandsHex.includes('68656963') || // 'heic'\n\t\t    compatibleBrandsHex.includes('68656978') || // 'heix'\n\t\t    compatibleBrandsHex.includes('68657663') || // 'hevc'\n\t\t    compatibleBrandsHex.includes('68657678')) { // 'hevx'\n\n\t\t\t// Check for sequence/animation indicators\n\t\t\tif (compatibleBrandsHex.includes('68657673') || // 'hevs' - HEIC sequence\n\t\t\t    compatibleBrandsHex.includes('6d736631') || // 'msf1' - sequence\n\t\t\t    majorBrand === 'hevs') {\n\t\t\t\treturn 'image/heic-sequence';\n\t\t\t}\n\n\t\t\treturn 'image/heic';\n\t\t}\n\n\t\t// HEIF brands: 'mif1', 'msf1'\n\t\tif (majorBrand === 'mif1' || majorBrand === 'msf1' ||\n\t\t    compatibleBrandsHex.includes('6d696631') || // 'mif1'\n\t\t    compatibleBrandsHex.includes('6d736631')) { // 'msf1'\n\n\t\t\t// Check for sequence/animation indicators\n\t\t\tif (majorBrand === 'msf1' ||\n\t\t\t    compatibleBrandsHex.includes('6d736631')) { // 'msf1' - sequence\n\t\t\t\treturn 'image/heif-sequence';\n\t\t\t}\n\n\t\t\treturn 'image/heif';\n\t\t}\n\n\t\t// Check for specific sequence indicators in the data\n\t\tif (hex.includes('6d736631') || // 'msf1' - multi-image sequence\n\t\t    hex.includes('68657673')) { // 'hevs' - HEIC sequence\n\n\t\t\t// If we find HEIC-related brands, it's HEIC sequence\n\t\t\tif (hex.includes('68656963') || hex.includes('68657663')) {\n\t\t\t\treturn 'image/heic-sequence';\n\t\t\t}\n\n\t\t\treturn 'image/heif-sequence';\n\t\t}\n\n\t\t// If we find HEIC indicators but no sequence, it's single HEIC\n\t\tif (hex.includes('68656963') || // 'heic'\n\t\t    hex.includes('68657663') || // 'hevc'\n\t\t    hex.includes('68656978') || // 'heix'\n\t\t    hex.includes('68657678')) { // 'hevx'\n\t\t\treturn 'image/heic';\n\t\t}\n\n\t\t// Default to HEIF for any other case\n\t\treturn 'image/heif';\n\n\t} catch {\n\t\t// If any error occurs during analysis, default to HEIF\n\t\treturn 'image/heif';\n\t}\n}"
                },
                {
                    "name": "identifyOggFormat",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-file-upload/utils/mime-types.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(data: Uint8Array): MimeType => {\n\t// OGG files all start with \"OggS\" (4f676753) but can contain different codecs\n\t// To distinguish between audio, video, and application OGG, we need to examine\n\t// the codec information in the OGG page headers\n\n\ttry {\n\t\tif (data.length < 64) {\n\t\t\t// Not enough data to analyze, default to audio\n\t\t\treturn 'audio/ogg';\n\t\t}\n\n\t\tconst hex = uint8ArrayToHexString(data);\n\n\t\t// Look for codec identification patterns in the first few hundred bytes\n\t\t// Common video codecs in OGG:\n\t\t// - Theora: \"theora\" or \"\\x80theora\"\n\t\t// - VP8/VP9: various signatures\n\t\t// - Dirac: \"BBCD\"\n\n\t\t// Common audio codecs in OGG:\n\t\t// - Vorbis: \"vorbis\" or \"\\x01vorbis\"\n\t\t// - Opus: \"OpusHead\"\n\t\t// - FLAC: \"fLaC\"\n\t\t// - Speex: \"Speex\"\n\n\t\t// Convert some bytes to text for string matching\n\t\tconst textContent = new TextDecoder('utf-8', { fatal: false }).decode(data.slice(0, Math.min(512, data.length)));\n\t\tconst lowerContent = textContent.toLowerCase();\n\n\t\t// Check for video codec indicators first (as they're more specific)\n\t\tif (lowerContent.includes('theora') ||\n\t\t    hex.includes('8074686f726120') || // \"\\x80theora \"\n\t\t    hex.includes('7468656f7261') ||   // \"theora\"\n\t\t    lowerContent.includes('dirac') ||\n\t\t    hex.includes('42424344') ||       // \"BBCD\" - Dirac\n\t\t    lowerContent.includes('vp8') ||\n\t\t    lowerContent.includes('vp9')) {\n\t\t\treturn 'video/ogg';\n\t\t}\n\n\t\t// Check for audio codec indicators\n\t\tif (lowerContent.includes('vorbis') ||\n\t\t    hex.includes('01766f72626973') || // \"\\x01vorbis\"\n\t\t    hex.includes('766f72626973') ||   // \"vorbis\"\n\t\t    lowerContent.includes('opushead') ||\n\t\t    hex.includes('4f7075734865616420') || // \"OpusHead \"\n\t\t    lowerContent.includes('speex') ||\n\t\t    hex.includes('53706565782020') || // \"Speex  \"\n\t\t    lowerContent.includes('flac') ||\n\t\t    hex.includes('664c6143')) {      // \"fLaC\"\n\t\t\treturn 'audio/ogg';\n\t\t}\n\n\t\t// Look for OGG stream structure patterns\n\t\t// OGG pages have a specific structure, look for multiple \"OggS\" signatures\n\t\t// which might indicate a complex multimedia container\n\t\tlet oggSCount = 0;\n\t\tfor (let i = 0; i < Math.min(data.length - 4, 1000); i += 4) {\n\t\t\tif (data[i] === 0x4f && data[i + 1] === 0x67 &&\n\t\t\t    data[i + 2] === 0x67 && data[i + 3] === 0x53) {\n\t\t\t\toggSCount++;\n\t\t\t}\n\t\t}\n\n\t\t// Multiple OGG pages might indicate a more complex application format\n\t\tif (oggSCount > 3) {\n\t\t\t// Check if it's likely a multimedia container vs pure audio/video\n\t\t\tif (lowerContent.includes('application') ||\n\t\t\t    lowerContent.includes('metadata') ||\n\t\t\t    lowerContent.includes('index') ||\n\t\t\t    (!lowerContent.includes('audio') && !lowerContent.includes('video') &&\n\t\t\t     !lowerContent.includes('vorbis') && !lowerContent.includes('theora'))) {\n\t\t\t\treturn 'application/ogg';\n\t\t\t}\n\t\t}\n\n\t\t// Look for file extension hints in metadata (if present)\n\t\tif (lowerContent.includes('.ogv') || lowerContent.includes('video')) {\n\t\t\treturn 'video/ogg';\n\t\t}\n\n\t\tif (lowerContent.includes('.oga') || lowerContent.includes('audio') || lowerContent.includes('music')) {\n\t\t\treturn 'audio/ogg';\n\t\t}\n\n\t\t// Check the OGG page header flags\n\t\t// Byte 5 in OGG page header contains flags\n\t\t// If we have enough data, check the stream type\n\t\tif (data.length > 26) {\n\t\t\tconst pageHeaderType = data[5];\n\t\t\t// Fresh packet start (0x02) often indicates beginning of codec data\n\t\t\tif ((pageHeaderType & 0x02) === 0x02) {\n\t\t\t\t// Look at the packet data starting around byte 27\n\t\t\t\tconst packetStart = data.slice(27, Math.min(data.length, 50));\n\t\t\t\tconst packetHex = uint8ArrayToHexString(packetStart);\n\n\t\t\t\t// Check for Vorbis identification header\n\t\t\t\tif (packetHex.startsWith('01766f72626973')) {\n\t\t\t\t\treturn 'audio/ogg';\n\t\t\t\t}\n\n\t\t\t\t// Check for Theora identification header\n\t\t\t\tif (packetHex.startsWith('8074686f726120')) {\n\t\t\t\t\treturn 'video/ogg';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Default to audio/ogg as it's the most common OGG format\n\t\treturn 'audio/ogg';\n\n\t} catch {\n\t\t// If any error occurs during analysis, default to audio\n\t\treturn 'audio/ogg';\n\t}\n}"
                },
                {
                    "name": "identifyZipBasedFormat",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-file-upload/utils/mime-types.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(data: Uint8Array): MimeType => {\n\ttry {\n\t\tconst fileEntries = extractZipFileList(data);\n\n\t\t// Chrome extension\n\t\tif (fileEntries.includes('manifest.json')) {\n\t\t\treturn 'application/x-google-chrome-extension';\n\t\t}\n\n\t\t// EPUB\n\t\tif (fileEntries.includes('META-INF/container.xml') || fileEntries.includes('mimetype')) {\n\t\t\treturn 'application/epub+zip';\n\t\t}\n\n\t\t// OpenDocument formats\n\t\tif (fileEntries.includes('META-INF/manifest.xml')) {\n\t\t\tif (fileEntries.some(f => f.endsWith('.odp'))) return 'application/vnd.oasis.opendocument.presentation';\n\t\t\tif (fileEntries.some(f => f.endsWith('.ods'))) return 'application/vnd.oasis.opendocument.spreadsheet';\n\t\t\tif (fileEntries.some(f => f.endsWith('.odt'))) return 'application/vnd.oasis.opendocument.text';\n\t\t}\n\n\t\t// Microsoft Office formats\n\t\tif (fileEntries.includes('[Content_Types].xml')) {\n\t\t\tif (fileEntries.includes('ppt/presentation.xml')) return 'application/vnd.openxmlformats-officedocument.presentationml.presentation';\n\t\t\tif (fileEntries.includes('xl/workbook.xml')) return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\n\t\t\tif (fileEntries.includes('word/document.xml')) return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';\n\t\t}\n\n\t\t// Default to generic ZIP\n\t\treturn 'application/zip';\n\n\t} catch {\n\t\treturn 'application/zip';\n\t}\n}"
                },
                {
                    "name": "uint8ArrayToHexString",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-file-upload/utils/mime-types.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(uint8Array): string => {\n    return Array.prototype.map.call(uint8Array, (byte) => ('00' + byte.toString(16)).slice(-2)).join('');\n}"
                }
            ],
            "packages/components/externals/quill/quill-editor.component.ts": [
                {
                    "name": "getFormat",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/externals/quill/quill-editor.component.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(format?: QuillFormat, configFormat?: QuillFormat): QuillFormat => {\n    const passedFormat = format || configFormat;\n    return passedFormat || 'html';\n}"
                },
                {
                    "name": "Quill",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/externals/quill/quill-editor.component.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any"
                },
                {
                    "name": "require",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/externals/quill/quill-editor.component.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any"
                }
            ],
            "packages/components/externals/helpers/get-view-element.helper.ts": [
                {
                    "name": "getViewElement",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/externals/helpers/get-view-element.helper.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(fixture, componentClass, klass?) => {\n    let el;\n    let domElement;\n    const de = fixture.debugElement.query(By.css(componentClass));\n    if (de) {\n        el = de.nativeElement;\n\n        if (el && klass) {\n            domElement = el.querySelectorAll(klass);\n\n            if (domElement.length <= 1) {\n                domElement = el.querySelector(klass);\n            }\n        }\n    }\n\n    return { de, el, domElement };\n}"
                }
            ],
            "packages/components/dist/docs/template-playground/hbs-render.service.ts": [
                {
                    "name": "Handlebars",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/dist/docs/template-playground/hbs-render.service.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any"
                }
            ],
            "packages/components/eui-card/services/ui-state.service.ts": [
                {
                    "name": "initialState",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-card/services/ui-state.service.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "UIState",
                    "defaultValue": "{\n    isCollapsible: false,\n    isCollapsed: false,\n    isUrgent: false,\n    hasLeftExpander: false,\n}"
                }
            ],
            "packages/components/dist/docs/template-playground/zip-export.service.ts": [
                {
                    "name": "JSZip",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/dist/docs/template-playground/zip-export.service.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any"
                }
            ],
            "packages/components/validators/max-length-bytes.validator.ts": [
                {
                    "name": "maxLengthBytes",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/validators/max-length-bytes.validator.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(bytes: number): ValidatorFn => {\n    return (control: AbstractControl): ValidationErrors | null => {\n        const length: number = new TextEncoder().encode(control.value).length;\n        if (length > bytes) {\n            return {\n                maxLengthBytes: {\n                    required: bytes,\n                    actual: length,\n                },\n            };\n        }\n        return null;\n    };\n}"
                }
            ],
            "packages/components/dist/docs/template-playground/template-editor.service.ts": [
                {
                    "name": "monaco",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/dist/docs/template-playground/template-editor.service.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any"
                }
            ],
            "packages/components/eui-tree/testing/multilevel.ts": [
                {
                    "name": "multilevel",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-tree/testing/multilevel.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "[]",
                    "defaultValue": "[\n    {\n        node: {\n            treeContentBlock: {\n                id: '1',\n                label: 'DIGIT A',\n            },\n            isSelected: true,\n        },\n    },\n    {\n        node: {\n            treeContentBlock: {\n                id: '2',\n                label: 'DIGIT B',\n            },\n        },\n        children: [\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '3',\n                        label: 'DIGIT B.1',\n                    },\n                },\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '4',\n                        label: 'DIGIT B.2',\n                    },\n                },\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '5',\n                        label: 'DIGIT B.3',\n                    },\n                },\n                children: [\n                    {\n                        node: {\n                            treeContentBlock: {\n                                id: '6',\n                                label: 'DIGIT B.3.1',\n                            },\n                            isSelected: true,\n                        },\n                    },\n                    {\n                        node: {\n                            treeContentBlock: {\n                                id: '7',\n                                label: 'DIGIT B.3.2',\n                            },\n                            isSelected: true,\n                        },\n                    },\n                ],\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '8',\n                        label: 'DIGIT B.4',\n                    },\n                },\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '9',\n                        label: 'DIGIT B.5',\n                    },\n                },\n            },\n        ],\n    },\n    {\n        node: {\n            treeContentBlock: {\n                id: '10',\n                label: 'DIGIT C',\n            },\n        },\n        children: [\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '11',\n                        label: 'DIGIT C.1',\n                    },\n                },\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '12',\n                        label: 'DIGIT C.2',\n                    },\n                },\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '13',\n                        label: 'DIGIT C.3',\n                    },\n                },\n                children: [\n                    {\n                        node: {\n                            treeContentBlock: {\n                                id: '14',\n                                label: 'DIGIT C.3.1',\n                            },\n                        },\n                    },\n                    {\n                        node: {\n                            treeContentBlock: {\n                                id: '15',\n                                label: 'DIGIT C.3.2',\n                            },\n                        },\n                    },\n                ],\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '16',\n                        label: 'DIGIT C.4',\n                    },\n                },\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '17',\n                        label: 'DIGIT C.5',\n                    },\n                },\n            },\n        ],\n    },\n    {\n        node: {\n            treeContentBlock: {\n                id: '18',\n                label: 'DIGIT D',\n            },\n        },\n        children: [\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '19',\n                        label: 'DIGIT D.1',\n                    },\n                },\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '20',\n                        label: 'DIGIT D.2',\n                    },\n                },\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '21',\n                        label: 'DIGIT D.3',\n                    },\n                },\n                children: [\n                    {\n                        node: {\n                            treeContentBlock: {\n                                id: '22',\n                                label: 'DIGIT D.3.1',\n                            },\n                        },\n                    },\n                    {\n                        node: {\n                            treeContentBlock: {\n                                id: '23',\n                                label: 'DIGIT D.3.2',\n                            },\n                        },\n                    },\n                ],\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '24',\n                        label: 'DIGIT D.4',\n                    },\n                },\n            },\n            {\n                node: {\n                    treeContentBlock: {\n                        id: '25',\n                        label: 'DIGIT D.5',\n                    },\n                },\n            },\n        ],\n    },\n]"
                }
            ],
            "packages/components/eui-slide-toggle/animations/on-off.ts": [
                {
                    "name": "onOff",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-slide-toggle/animations/on-off.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "trigger('onOff', [\n    state(\n        'off',\n        style({\n            left: 0,\n        }),\n    ),\n    state(\n        'on',\n        style({\n            left: '1rem',\n        }),\n    ),\n    transition('off => on', [animate('0ms 100ms linear')]),\n    transition('on => off', [animate('0ms 100ms linear')]),\n])"
                }
            ],
            "packages/components/eui-dropdown/animations/open-close.ts": [
                {
                    "name": "openClose",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-dropdown/animations/open-close.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "trigger('openClose', [\n    state(\n        'open',\n        style({\n            opacity: 1,\n            transform: 'scale(1)',\n        }),\n    ),\n    state(\n        'closed',\n        style({\n            opacity: 0,\n            transform: 'scale(0.9)',\n        }),\n    ),\n    transition('closed => open', [animate('50ms 25ms linear')]),\n])"
                }
            ],
            "packages/components/eui-autocomplete/animations/animations.ts": [
                {
                    "name": "panelAnimation",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-autocomplete/animations/animations.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "AnimationTriggerMetadata",
                    "defaultValue": "trigger('panelAnimation', [\n    state(\n        'void, hidden',\n        style({\n            opacity: 0,\n            transform: 'scaleY(0.8)',\n        }),\n    ),\n    transition(':enter, hidden => visible', [\n        group([\n            animate('0.03s linear', style({ opacity: 1 })),\n            animate('0.12s cubic-bezier(0, 0, 0.2, 1)', style({ transform: 'scaleY(1)' })),\n        ]),\n    ]),\n    transition(':leave, visible => hidden', [animate('0.05s linear', style({ opacity: 0 }))]),\n])"
                }
            ],
            "packages/components/directives/eui-resizable/eui-resizable.directive.ts": [
                {
                    "name": "pixelTransform",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/directives/eui-resizable/eui-resizable.directive.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(value: string | number): number => {\n\tvalue = numberAttribute(value, 0);\n\treturn Math.max(0, value);\n}",
                    "rawdescription": "Ensures the value is a non-negative pixel number.",
                    "description": "<p>Ensures the value is a non-negative pixel number.</p>\n"
                }
            ],
            "packages/components/eui-progress-bar/eui-progress-bar.component.ts": [
                {
                    "name": "progressAttribute",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-progress-bar/eui-progress-bar.component.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(value: NumberInput): number => Math.min(numberAttribute(value), 100)",
                    "rawdescription": "Transform function that ensures progress value doesn't exceed 100",
                    "description": "<p>Transform function that ensures progress value doesn&#39;t exceed 100</p>\n"
                }
            ],
            "packages/components/externals/quill/quill-editor.interfaces.ts": [
                {
                    "name": "QUILL_CONFIG_TOKEN",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/externals/quill/quill-editor.interfaces.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new InjectionToken<QuillConfig>('config')"
                },
                {
                    "name": "QUILL_DYNAMIC_CONFIG_TOKEN",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/externals/quill/quill-editor.interfaces.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "new InjectionToken<QuillDynamicConfig>('Dynamic loading config')"
                }
            ],
            "packages/components/externals/eui-editor/eui-editor.component.ts": [
                {
                    "name": "QuillBetterTable",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/externals/eui-editor/eui-editor.component.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "window['quillBetterTable']"
                },
                {
                    "name": "QuillType",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/externals/eui-editor/eui-editor.component.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "defaultValue": "window['Quill']"
                }
            ],
            "packages/components/externals/eui-editor/eui-editor.module.ts": [
                {
                    "name": "QuillBetterTable",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/externals/eui-editor/eui-editor.module.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "window['quillBetterTable']"
                },
                {
                    "name": "quillConfig",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/externals/eui-editor/eui-editor.module.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "QuillConfig",
                    "defaultValue": "{\n    modules: {\n        table: false,\n        'better-table': {\n            operationMenu: {\n                items: {\n                    unmergeCells: {\n                        text: 'Another unmerge cells name',\n                    },\n                },\n                color: {\n                    colors: [\n                        '#000000',\n                        '#e60000',\n                        '#ff9900',\n                        '#ffff00',\n                        '#008a00',\n                        '#0066cc',\n                        '#9933ff',\n                        '#ffffff',\n                        '#facccc',\n                        '#ffebcc',\n                        '#ffffcc',\n                        '#cce8cc',\n                        '#cce0f5',\n                        '#ebd6ff',\n                        '#bbbbbb',\n                        '#f06666',\n                        '#ffc266',\n                        '#ffff66',\n                        '#66b966',\n                        '#66a3e0',\n                        '#c285ff',\n                        '#888888',\n                        '#a10000',\n                        '#b26b00',\n                        '#b2b200',\n                        '#006100',\n                        '#0047b2',\n                        '#6b24b2',\n                        '#444444',\n                        '#5c0000',\n                        '#663d00',\n                        '#666600',\n                        '#003700',\n                        '#002966',\n                        '#3d1466',\n                    ],\n                    text: 'Background Colors',\n                },\n            },\n        },\n    },\n}"
                }
            ],
            "packages/components/externals/eui-editor/json-view/eui-editor-json-view.component.ts": [
                {
                    "name": "QuillType",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/externals/eui-editor/json-view/eui-editor-json-view.component.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "any",
                    "defaultValue": "window['Quill']"
                }
            ],
            "packages/components/eui-page-v2/eui-page-columns/eui-page-columns.ts": [
                {
                    "name": "ResizeObserver",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-page-v2/eui-page-columns/eui-page-columns.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": ""
                }
            ],
            "packages/components/eui-page/components/eui-page-columns/eui-page-columns.component.ts": [
                {
                    "name": "ResizeObserver",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-page/components/eui-page-columns/eui-page-columns.component.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": ""
                }
            ],
            "packages/components/eui-select/eui-select-multiple.directive.ts": [
                {
                    "name": "SELECT_MULTIPLE_VALUE_ACCESSOR",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/eui-select/eui-select-multiple.directive.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "Provider",
                    "defaultValue": "{\n    provide: NG_VALUE_ACCESSOR,\n    useExisting: forwardRef(() => EuiSelectMultipleControlValueAccessor),\n    multi: true,\n}"
                }
            ],
            "packages/components/directives/eui-tooltip/animations/show-hide.ts": [
                {
                    "name": "showHide",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/directives/eui-tooltip/animations/show-hide.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "trigger('showHide', [\n    state('initial, void, hidden', style({ opacity: 0, transform: 'scale(0)' })),\n    state('visible', style({ transform: 'scale(1)' })),\n    transition(\n        '* => visible',\n        animate(\n            '200ms cubic-bezier(0, 0, 0.2, 1)',\n            keyframes([\n                style({ opacity: 0, transform: 'scale(0)', offset: 0 }),\n                style({ opacity: 0.5, transform: 'scale(0.99)', offset: 0.5 }),\n                style({ opacity: 1, transform: 'scale(1)', offset: 1 }),\n            ]),\n        ),\n    ),\n    transition('* => hidden', animate('100ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 0 }))),\n])",
                    "rawdescription": "Tooltip display animation.",
                    "description": "<p>Tooltip display animation.</p>\n"
                }
            ],
            "packages/components/test-setup.ts": [
                {
                    "name": "testBed",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/test-setup.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "getTestBed()"
                }
            ],
            "packages/components/testing/mocks/translate.module.mock.ts": [
                {
                    "name": "TRANSLATED_STRING",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/testing/mocks/translate.module.mock.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "string",
                    "defaultValue": "'i18n'"
                }
            ],
            "packages/components/externals/eui-editor/image-url-dialog/image-url-dialog.component.ts": [
                {
                    "name": "urlValidator",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/externals/eui-editor/image-url-dialog/image-url-dialog.component.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "unknown",
                    "defaultValue": "(control: AbstractControl): { isUrlValid: false } | null => {\n    const isHttp = control.value.substr(0, 7) === 'http://';\n    const isHttps = control.value.substr(0, 8) === 'https://';\n\n    return !isHttp && !isHttps ? { isUrlValid: false } : null;\n}"
                }
            ],
            "packages/components/externals/quill/loader.service.ts": [
                {
                    "name": "window",
                    "ctype": "miscellaneous",
                    "subtype": "variable",
                    "file": "packages/components/externals/quill/loader.service.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "type": "literal type"
                }
            ]
        },
        "groupedFunctions": {
            "packages/components/eui-select/eui-select-option.directive.ts": [
                {
                    "name": "_buildValueString",
                    "file": "packages/components/eui-select/eui-select-option.directive.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "id",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "value",
                            "type": "any",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "id",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "value",
                            "type": "any",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/components/eui-select/utils.ts": [
                {
                    "name": "_buildValueString",
                    "file": "packages/components/eui-select/utils.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "id",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        },
                        {
                            "name": "value",
                            "type": "any",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "id",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "name": "value",
                            "type": "any",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                },
                {
                    "name": "_extractId",
                    "file": "packages/components/eui-select/utils.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "valueString",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": "valueString",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ],
            "packages/components/eui-input-number/eui-input-number.component.ts": [
                {
                    "name": "getDecimal",
                    "file": "packages/components/eui-input-number/eui-input-number.component.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Get the decimal separator based on the locale</p>\n",
                    "args": [
                        {
                            "name": "locale",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 1804,
                                "end": 1810,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "locale"
                            },
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 1798,
                                "end": 1803,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>value of the locale based on ISO 639-1</p>\n"
                        }
                    ]
                },
                {
                    "name": "getGroup",
                    "file": "packages/components/eui-input-number/eui-input-number.component.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Get the group separator based on the locale</p>\n",
                    "args": [
                        {
                            "name": "locale",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "string",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2011,
                                "end": 2017,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "locale"
                            },
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2005,
                                "end": 2010,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>value of the locale based on ISO 639-1</p>\n"
                        }
                    ]
                },
                {
                    "name": "getLocaleConfig",
                    "file": "packages/components/eui-input-number/eui-input-number.component.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Returns the decimal and group separators for a given locale</p>\n",
                    "args": [
                        {
                            "name": "locale",
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "literal type",
                    "jsdoctags": [
                        {
                            "name": {
                                "pos": 2230,
                                "end": 2236,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "locale"
                            },
                            "type": "string",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "pos": 2224,
                                "end": 2229,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "param"
                            },
                            "comment": "<p>value of the locale based on ISO 639-1</p>\n"
                        }
                    ]
                }
            ],
            "packages/components/eui-slider/validators/eui-slider.validator.ts": [
                {
                    "name": "sliderValidator",
                    "file": "packages/components/eui-slider/validators/eui-slider.validator.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "config",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "ValidatorFn",
                    "jsdoctags": [
                        {
                            "name": "config",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        },
                        {
                            "tagName": {
                                "pos": 1396,
                                "end": 1403,
                                "kind": 80,
                                "id": 0,
                                "flags": 16777216,
                                "transformFlags": 0,
                                "escapedText": "returns"
                            },
                            "comment": "<p>A validator function that returns an error map with <code>startMin</code> /  <code>startMax</code> /  <code>endMin</code> /  <code>endMax</code> if the validation check fails, otherwise <code>null</code>.</p>\n"
                        }
                    ]
                }
            ],
            "packages/components/eui-tree/eui-tree.model.ts": [
                {
                    "name": "uxTreeNodesMetaDataMapper",
                    "file": "packages/components/eui-tree/eui-tree.model.ts",
                    "ctype": "miscellaneous",
                    "subtype": "function",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "args": [
                        {
                            "name": "oldTree",
                            "type": "Array",
                            "deprecated": false,
                            "deprecationMessage": ""
                        }
                    ],
                    "returnType": "TreeDataModel",
                    "jsdoctags": [
                        {
                            "name": "oldTree",
                            "type": "Array",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "tagName": {
                                "text": "param"
                            }
                        }
                    ]
                }
            ]
        },
        "groupedEnumerations": {
            "packages/components/directives/eui-has-permission.directive.ts": [
                {
                    "name": "ConditionOperator",
                    "childs": [
                        {
                            "name": "AND",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "AND"
                        },
                        {
                            "name": "OR",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "OR"
                        }
                    ],
                    "ctype": "miscellaneous",
                    "subtype": "enum",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "file": "packages/components/directives/eui-has-permission.directive.ts"
                }
            ],
            "packages/components/eui-calendar/models.ts": [
                {
                    "name": "EuiCalendarEventType",
                    "childs": [
                        {
                            "name": "primary",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "primary"
                        },
                        {
                            "name": "success",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "success"
                        },
                        {
                            "name": "warning",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "warning"
                        },
                        {
                            "name": "danger",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "danger"
                        },
                        {
                            "name": "info",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "info"
                        }
                    ],
                    "ctype": "miscellaneous",
                    "subtype": "enum",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "file": "packages/components/eui-calendar/models.ts"
                },
                {
                    "name": "EuiCalendarMode",
                    "childs": [
                        {
                            "name": "Monthly",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "monthly"
                        },
                        {
                            "name": "Weekly",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "weekly"
                        },
                        {
                            "name": "Daily",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "daily"
                        }
                    ],
                    "ctype": "miscellaneous",
                    "subtype": "enum",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Defines the mode of the calendar header.</p>\n",
                    "file": "packages/components/eui-calendar/models.ts"
                },
                {
                    "name": "EuiCalendarNavigationDirection",
                    "childs": [
                        {
                            "name": "Previous",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "previous"
                        },
                        {
                            "name": "Next",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "next"
                        }
                    ],
                    "ctype": "miscellaneous",
                    "subtype": "enum",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Defines the direction of calendar navigation.</p>\n",
                    "file": "packages/components/eui-calendar/models.ts"
                }
            ],
            "packages/components/eui-table/eui-table.component.ts": [
                {
                    "name": "ScrollinDirection",
                    "childs": [
                        {
                            "name": "UP",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "UP"
                        },
                        {
                            "name": "DOWN",
                            "deprecated": false,
                            "deprecationMessage": "",
                            "value": "DOWN"
                        }
                    ],
                    "ctype": "miscellaneous",
                    "subtype": "enum",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "file": "packages/components/eui-table/eui-table.component.ts"
                }
            ]
        },
        "groupedTypeAliases": {
            "packages/components/externals/charts/model/apex-types.ts": [
                {
                    "name": "ApexAxisChartSeries",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "literal type[]",
                    "file": "packages/components/externals/charts/model/apex-types.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Chart Series options.\nUse ApexNonAxisChartSeries for Pie and Donut charts.\nSee <a href=\"https://apexcharts.com/docs/options/series/\">https://apexcharts.com/docs/options/series/</a></p>\n",
                    "kind": 189
                },
                {
                    "name": "ApexColorStop",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "literal type",
                    "file": "packages/components/externals/charts/model/apex-types.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 188
                },
                {
                    "name": "ApexMarkerShape",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "MarkerShapeOptions | MarkerShapeOptions[]",
                    "file": "packages/components/externals/charts/model/apex-types.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 193
                },
                {
                    "name": "ApexNonAxisChartSeries",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "number[]",
                    "file": "packages/components/externals/charts/model/apex-types.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 189
                },
                {
                    "name": "ApexTooltipY",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "literal type",
                    "file": "packages/components/externals/charts/model/apex-types.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 188
                },
                {
                    "name": "ChartType",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "\"line\" | \"area\" | \"bar\" | \"pie\" | \"donut\" | \"radialBar\" | \"scatter\" | \"bubble\" | \"heatmap\" | \"candlestick\" | \"boxPlot\" | \"radar\" | \"polarArea\" | \"rangeBar\" | \"rangeArea\" | \"treemap\"",
                    "file": "packages/components/externals/charts/model/apex-types.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 193
                },
                {
                    "name": "MarkerShapeOptions",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "\"circle\" | \"square\" | \"rect\" | \"line\" | \"cross\" | \"plus\" | \"star\" | \"sparkle\" | \"diamond\" | \"triangle\"",
                    "file": "packages/components/externals/charts/model/apex-types.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 193
                }
            ],
            "packages/components/externals/charts/chart/chart.component.ts": [
                {
                    "name": "ApexCharts",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "unknown",
                    "file": "packages/components/externals/charts/chart/chart.component.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 206
                }
            ],
            "packages/components/eui-breadcrumb/item/breadcrumb-item.model.ts": [
                {
                    "name": "ArrayElement",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "unknown",
                    "file": "packages/components/eui-breadcrumb/item/breadcrumb-item.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 195
                },
                {
                    "name": "Cast",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "unknown",
                    "file": "packages/components/eui-breadcrumb/item/breadcrumb-item.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 195
                },
                {
                    "name": "DeepWriteable",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "unknown",
                    "file": "packages/components/eui-breadcrumb/item/breadcrumb-item.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 201
                },
                {
                    "name": "FromEntries",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "unknown",
                    "file": "packages/components/eui-breadcrumb/item/breadcrumb-item.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 195
                },
                {
                    "name": "FromEntriesWithReadOnly",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "FromEntries<DeepWriteable<T>>",
                    "file": "packages/components/eui-breadcrumb/item/breadcrumb-item.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 184
                }
            ],
            "packages/components/eui-progress-circle/eui-progress-circle.component.ts": [
                {
                    "name": "ColorType",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "\"info\" | \"success\" | \"warning\" | \"danger\"",
                    "file": "packages/components/eui-progress-circle/eui-progress-circle.component.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 193
                }
            ],
            "packages/components/eui-tree/eui-tree.model.ts": [
                {
                    "name": "CustomNodeSelectFn",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "function",
                    "file": "packages/components/eui-tree/eui-tree.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 185
                },
                {
                    "name": "EuiTreeSelectionChanges",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "literal type",
                    "file": "packages/components/eui-tree/eui-tree.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 188
                },
                {
                    "name": "ExpandModel",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "literal type",
                    "file": "packages/components/eui-tree/eui-tree.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 188
                },
                {
                    "name": "SelectionModel",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "literal type",
                    "file": "packages/components/eui-tree/eui-tree.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 188
                },
                {
                    "name": "SelectionRecursiveState",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "\"indeterminate\" | \"allSelected\" | \"allNotSelected\"",
                    "file": "packages/components/eui-tree/eui-tree.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 193
                },
                {
                    "name": "TreeDataModel",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "Array<TreeItemModel>",
                    "file": "packages/components/eui-tree/eui-tree.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 184
                },
                {
                    "name": "TreeDataRunTimeModel",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "Array<TreeItemRunTimeModel>",
                    "file": "packages/components/eui-tree/eui-tree.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 184
                },
                {
                    "name": "TreeItemModel",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "literal type",
                    "file": "packages/components/eui-tree/eui-tree.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 188
                },
                {
                    "name": "TreeItemRunTimeModel",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "literal type",
                    "file": "packages/components/eui-tree/eui-tree.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 188
                },
                {
                    "name": "TreeItemSelectionRecursiveModel",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "literal type",
                    "file": "packages/components/eui-tree/eui-tree.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 188
                },
                {
                    "name": "TreeNode",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "unknown",
                    "file": "packages/components/eui-tree/eui-tree.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 194
                }
            ],
            "packages/components/externals/quill/models/editor.model.ts": [
                {
                    "name": "EditorChangeContent",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "unknown",
                    "file": "packages/components/externals/quill/models/editor.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 194
                },
                {
                    "name": "EditorChangeSelection",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "unknown",
                    "file": "packages/components/externals/quill/models/editor.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 194
                }
            ],
            "packages/components/eui-dialog/models/eui-dialog-alignment.ts": [
                {
                    "name": "EuiDialogVerticalPosition",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "unknown",
                    "file": "packages/components/eui-dialog/models/eui-dialog-alignment.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 202
                }
            ],
            "packages/components/eui-popover/models/eui-popover-position.model.ts": [
                {
                    "name": "EuiPopoverPosition",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "\"top\" | \"right\" | \"bottom\" | \"left\"",
                    "file": "packages/components/eui-popover/models/eui-popover-position.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Represents the four possible positions for a popover element.</p>\n",
                    "kind": 193
                }
            ],
            "packages/components/directives/eui-resizable/eui-resizable.component.ts": [
                {
                    "name": "EuiResizablePosition",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "\"left\" | \"right\"",
                    "file": "packages/components/directives/eui-resizable/eui-resizable.component.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Defines the position of the resizable handle relative to the component.\n&#39;left&#39; places the handle on the left edge for left-side resizing.\n&#39;right&#39; places the handle on the right edge for right-side resizing.</p>\n",
                    "kind": 193
                }
            ],
            "packages/components/directives/eui-resizable/eui-resizable.directive.ts": [
                {
                    "name": "EuiResizablePosition",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "\"left\" | \"right\"",
                    "file": "packages/components/directives/eui-resizable/eui-resizable.directive.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "<p>Defines the placement of the resizable handle and determines the direction of resizing behavior.\n&#39;left&#39; positions the handle on the left edge and resizes by adjusting from the left boundary.\n&#39;right&#39; positions the handle on the right edge and resizes by adjusting from the right boundary.</p>\n",
                    "kind": 193
                }
            ],
            "packages/components/eui-file-upload/utils/mime-types.ts": [
                {
                    "name": "MimeType",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "\"image/jpeg\" | \"image/png\" | \"image/gif\" | \"image/webp\" | \"image/flif\" | \"image/x-xcf\" | \"image/x-canon-cr2\" | \"image/x-canon-cr3\" | \"image/tiff\" | \"image/bmp\" | \"image/icns\" | \"image/vnd.ms-photo\" | \"image/vnd.adobe.photoshop\" | \"application/x-indesign\" | \"application/epub+zip\" | \"application/x-xpinstall\" | \"application/vnd.oasis.opendocument.text\" | \"application/vnd.oasis.opendocument.spreadsheet\" | \"application/vnd.oasis.opendocument.presentation\" | \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\" | \"application/vnd.openxmlformats-officedocument.presentationml.presentation\" | \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\" | \"application/zip\" | \"application/json\" | \"application/x-tar\" | \"application/x-rar-compressed\" | \"application/gzip\" | \"application/x-bzip2\" | \"application/x-7z-compressed\" | \"application/x-apple-diskimage\" | \"video/mp4\" | \"audio/midi\" | \"video/x-matroska\" | \"video/webm\" | \"video/quicktime\" | \"video/vnd.avi\" | \"audio/vnd.wave\" | \"audio/qcelp\" | \"audio/x-ms-asf\" | \"video/x-ms-asf\" | \"application/vnd.ms-asf\" | \"video/mpeg\" | \"video/3gpp\" | \"audio/mpeg\" | \"audio/mp4\" | \"audio/opus\" | \"video/ogg\" | \"audio/ogg\" | \"application/ogg\" | \"audio/x-flac\" | \"audio/ape\" | \"audio/wavpack\" | \"audio/amr\" | \"application/pdf\" | \"application/x-elf\" | \"application/x-msdownload\" | \"application/x-shockwave-flash\" | \"application/rtf\" | \"application/wasm\" | \"font/woff\" | \"font/woff2\" | \"application/vnd.ms-fontobject\" | \"font/ttf\" | \"font/otf\" | \"image/x-icon\" | \"video/x-flv\" | \"application/postscript\" | \"application/eps\" | \"application/x-xz\" | \"application/x-sqlite3\" | \"application/x-nintendo-nes-rom\" | \"application/x-google-chrome-extension\" | \"application/vnd.ms-cab-compressed\" | \"application/x-deb\" | \"application/x-unix-archive\" | \"application/x-rpm\" | \"application/x-compress\" | \"application/x-lzip\" | \"application/x-cfb\" | \"application/x-mie\" | \"application/x-apache-arrow\" | \"application/mxf\" | \"video/mp2t\" | \"application/x-blender\" | \"image/bpg\" | \"image/j2c\" | \"image/jp2\" | \"image/jpx\" | \"image/jpm\" | \"image/mj2\" | \"audio/aiff\" | \"application/xml\" | \"application/x-mobipocket-ebook\" | \"image/heif\" | \"image/heif-sequence\" | \"image/heic\" | \"image/heic-sequence\" | \"image/ktx\" | \"application/dicom\" | \"audio/x-musepack\" | \"text/calendar\" | \"text/vcard\" | \"model/gltf-binary\" | \"application/vnd.tcpdump.pcap\" | \"audio/x-voc\" | \"audio/vnd.dolby.dd-raw\" | \"audio/x-m4a\" | \"image/apng\" | \"image/x-olympus-orf\" | \"image/x-sony-arw\" | \"image/x-adobe-dng\" | \"image/x-nikon-nef\" | \"image/x-panasonic-rw2\" | \"image/x-fujifilm-raf\" | \"video/x-m4v\" | \"video/3gpp2\" | \"application/x-esri-shape\" | \"audio/aac\" | \"audio/x-it\" | \"audio/x-s3m\" | \"audio/x-xm\" | \"video/MP1S\" | \"video/MP2P\" | \"application/vnd.sketchup.skp\" | \"image/avif\" | \"application/x-lzh-compressed\" | \"application/pgp-encrypted\" | \"application/x-asar\" | \"model/stl\" | \"application/vnd.ms-htmlhelp\" | \"model/3mf\" | \"image/jxl\" | \"application/zstd\" | \"image/jls\" | \"application/vnd.ms-outlook\" | \"image/vnd.dwg\" | \"application/x-parquet\" | \"application/java-vm\" | \"application/x-arj\" | \"application/x-cpio\" | \"application/x-ace-compressed\" | \"application/avro\" | \"application/vnd.iccprofile\"",
                    "file": "packages/components/eui-file-upload/utils/mime-types.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 193
                }
            ],
            "packages/components/externals/quill/quill-editor.interfaces.ts": [
                {
                    "name": "QuillFormat",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "\"object\" | \"json\" | \"html\" | \"text\"",
                    "file": "packages/components/externals/quill/quill-editor.interfaces.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 193
                },
                {
                    "name": "QuillToolbarConfig",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "Array<Array<string | literal type>>",
                    "file": "packages/components/externals/quill/quill-editor.interfaces.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 184
                }
            ],
            "packages/components/eui-slider/eui-slider.component.ts": [
                {
                    "name": "SliderHandler",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "\"start\" | \"end\"",
                    "file": "packages/components/eui-slider/eui-slider.component.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 193
                }
            ],
            "packages/components/eui-table/models/sort.model.ts": [
                {
                    "name": "SortOrder",
                    "ctype": "miscellaneous",
                    "subtype": "typealias",
                    "rawtype": "\"asc\" | \"desc\" | \"none\"",
                    "file": "packages/components/eui-table/models/sort.model.ts",
                    "deprecated": false,
                    "deprecationMessage": "",
                    "description": "",
                    "kind": 193
                }
            ]
        }
    },
    "routes": {
        "name": "<root>",
        "kind": "module",
        "className": "TemplatePlaygroundModule",
        "children": []
    }
}